Google Cloud AutoML 运算符

警告

AutoML API 已弃用。计划移除日期为 2025 年 9 月 30 日,但根据文档和弃用警告,某些运算符可能会提前删除!替换建议可在弃用警告或以下文档中找到。请注意,AutoML 翻译 API 功能已移至高级翻译服务,相关运算符可在 airflow.providers.google.cloud.operators.translate 模块中找到。

Google Cloud AutoML 即使您对机器学习了解有限,也能让您利用机器学习的强大功能。您可以使用 AutoML 基于 Google 的机器学习能力创建针对您的业务需求量身定制的自定义机器学习模型,然后将这些模型集成到您的应用程序和网站中。

先决任务

要使用这些运算符,您必须执行一些操作

创建数据集

要创建 Google AutoML 数据集,您可以使用 AutoMLCreateDatasetOperator。该运算符在 XCom 中以 dataset_id 键返回数据集 ID。

该运算符在运行文本、视频和图像预测时已弃用,并将于 2025 年 9 月 30 日之后移除。传统 AutoML 自然语言、图像、视频智能的所有功能以及新功能均已在 Vertex AI 平台中提供。请使用 CreateDatasetOperator TranslateCreateDatasetOperator

创建数据集后,您可以使用 AutoMLImportDataOperator 导入一些数据。

要更新数据集,您可以使用 AutoMLTablesUpdateDatasetOperator

警告

该运算符在运行文本、视频和图像预测时已弃用,并将很快移除。传统 AutoML 自然语言、图像、视频智能的所有功能以及新功能均已在 Vertex AI 平台中提供。请使用 UpdateDatasetOperator

tests/system/google/cloud/vertex_ai/example_vertex_ai_dataset.py

update_dataset_job = UpdateDatasetOperator(
    task_id="update_dataset",
    project_id=PROJECT_ID,
    region=REGION,
    dataset_id=create_video_dataset_job.output["dataset_id"],
    dataset=DATASET_TO_UPDATE,
    update_mask=TEST_UPDATE_MASK,
)

列出表格和列规范

要列出表格规范,您可以使用 AutoMLTablesListTableSpecsOperator

要列出列规范,您可以使用 AutoMLTablesListColumnSpecsOperator

与 AutoML Tables 相关的运算符已弃用。请使用相关的 Vertex AI Tabular 运算符。

模型操作

要创建 Google AutoML 模型,您可以使用 AutoMLTrainModelOperator。该运算符将等待操作完成。此外,该运算符在 XCom 中以 model_id 键返回模型 ID。

警告

该运算符在运行文本、视频和图像预测时已弃用,并将于 2025 年 9 月 30 日之后移除。传统 AutoML 自然语言、图像、视频智能的所有功能以及新功能均已在 Vertex AI 平台中提供。请使用 CreateAutoMLTabularTrainingJobOperator, CreateAutoMLVideoTrainingJobOperator, CreateAutoMLImageTrainingJobOperator, SupervisedFineTuningTrainOperator, TranslateCreateModelOperator

运行用于训练数据的 Vertex AI 运算符时,请确保您的数据正确存储在 Vertex AI 数据集中。要创建数据集并导入数据,请使用 CreateDatasetOperatorImportDataOperator

对于 AutoML 翻译,请使用 TranslateTextOperatorTranslateTextBatchOperator

要获取现有模型,可以使用 AutoMLGetModelOperator

该运算符已弃用,适用于表格、视频智能、图像和自然语言,将于 2024 年 3 月 31 日之后移除。请改用 GetModelOperator。您可以在此处找到如何使用 VertexAI 运算符的示例

tests/system/google/cloud/vertex_ai/example_vertex_ai_model_service.py

get_model = GetModelOperator(
    task_id="get_model", region=REGION, project_id=PROJECT_ID, model_id=model_id_v1
)

模型创建后,可以使用 AutoMLDeployModelOperator 进行部署。

该运算符已弃用,适用于表格、视频智能、图像和自然语言,将于 2024 年 3 月 31 日之后移除。请改用 airflow.providers.google.cloud.operators.vertex_ai.endpoint_service.DeployModelOperator。您可以在此处找到如何使用 VertexAI 运算符的示例

tests/system/google/cloud/vertex_ai/example_vertex_ai_endpoint.py

deploy_model = DeployModelOperator(
    task_id="deploy_model",
    endpoint_id=create_endpoint.output["endpoint_id"],
    deployed_model=DEPLOYED_MODEL,
    traffic_split={"0": 100},
    region=REGION,
    project_id=PROJECT_ID,
)

如果您希望删除模型,可以使用 AutoMLDeleteModelOperator

该运算符已弃用,适用于表格、视频智能、图像和自然语言,将于 2024 年 3 月 31 日之后移除。请改用 airflow.providers.google.cloud.operators.vertex_ai.model_service.DeleteModelOperator。您可以在此处找到如何使用 VertexAI 运算符的示例

tests/system/google/cloud/vertex_ai/example_vertex_ai_model_service.py

delete_model = DeleteModelOperator(
    task_id="delete_model",
    project_id=PROJECT_ID,
    region=REGION,
    model_id=upload_model.output["model_id"],
    trigger_rule=TriggerRule.ALL_DONE,
)

进行预测

要从 Google Cloud AutoML 模型获取预测结果,您可以使用 AutoMLPredictOperator。首先,必须部署该模型。

对于表格、视频智能、图像和自然语言,您可以使用以下运算符

airflow.providers.google.cloud.operators.vertex_ai.batch_prediction_job.CreateBatchPredictionJobOperator, airflow.providers.google.cloud.operators.vertex_ai.batch_prediction_job.GetBatchPredictionJobOperator, airflow.providers.google.cloud.operators.vertex_ai.batch_prediction_job.ListBatchPredictionJobsOperator, airflow.providers.google.cloud.operators.vertex_ai.batch_prediction_job.DeleteBatchPredictionJobOperator。您可以在此处找到如何使用 VertexAI 运算符的示例

tests/system/google/cloud/vertex_ai/example_vertex_ai_batch_prediction_job.py

create_batch_prediction_job = CreateBatchPredictionJobOperator(
    task_id="create_batch_prediction_job",
    job_display_name=JOB_DISPLAY_NAME,
    model_name="{{ti.xcom_pull('auto_ml_forecasting_task')['name']}}",
    predictions_format="csv",
    bigquery_source=BIGQUERY_SOURCE,
    gcs_destination_prefix=GCS_DESTINATION_PREFIX,
    model_parameters=MODEL_PARAMETERS,
    region=REGION,
    project_id=PROJECT_ID,
)

tests/system/google/cloud/vertex_ai/example_vertex_ai_batch_prediction_job.py

list_batch_prediction_job = ListBatchPredictionJobsOperator(
    task_id="list_batch_prediction_jobs",
    region=REGION,
    project_id=PROJECT_ID,
)

tests/system/google/cloud/vertex_ai/example_vertex_ai_batch_prediction_job.py

delete_batch_prediction_job = DeleteBatchPredictionJobOperator(
    task_id="delete_batch_prediction_job",
    batch_prediction_job_id=create_batch_prediction_job.output["batch_prediction_job_id"],
    region=REGION,
    project_id=PROJECT_ID,
    trigger_rule=TriggerRule.ALL_DONE,
)

列出和删除数据集

您可以使用 AutoMLListDatasetOperator 获取 AutoML 数据集列表。该运算符在 XCom 中以 dataset_id_list 键返回数据集 ID 列表。

该运算符已弃用,适用于表格、视频智能、图像和自然语言,将于 2024 年 3 月 31 日之后移除。请改用 ListDatasetsOperator, TranslateDatasetsListOperator。您可以在此处找到如何使用 VertexAI 运算符的示例

tests/system/google/cloud/vertex_ai/example_vertex_ai_dataset.py

list_dataset_job = ListDatasetsOperator(
    task_id="list_dataset",
    region=REGION,
    project_id=PROJECT_ID,
)

要删除数据集,您可以使用 AutoMLDeleteDatasetOperator。该删除运算符还允许传递要删除的数据集 ID 列表或逗号分隔的字符串。

该运算符已弃用,适用于表格、视频智能、图像和自然语言,将于 2024 年 3 月 31 日之后移除。请改用 airflow.providers.google.cloud.operators.vertex_ai.dataset.DeleteDatasetOperator。您可以在此处找到如何使用 VertexAI 运算符的示例

tests/system/google/cloud/vertex_ai/example_vertex_ai_dataset.py

delete_dataset_job = DeleteDatasetOperator(
    task_id="delete_dataset",
    dataset_id=create_text_dataset_job.output["dataset_id"],
    region=REGION,
    project_id=PROJECT_ID,
)

参考

有关更多信息,请查阅

此条目是否有帮助?