Google Cloud AutoML 运算符¶
警告
AutoML API 已弃用。计划移除日期为 2025 年 9 月 30 日,但根据文档和弃用警告,某些运算符可能会提前删除!替换建议可在弃用警告或以下文档中找到。请注意,AutoML 翻译 API 功能已移至高级翻译服务,相关运算符可在 airflow.providers.google.cloud.operators.translate
模块中找到。
Google Cloud AutoML 即使您对机器学习了解有限,也能让您利用机器学习的强大功能。您可以使用 AutoML 基于 Google 的机器学习能力创建针对您的业务需求量身定制的自定义机器学习模型,然后将这些模型集成到您的应用程序和网站中。
先决任务¶
要使用这些运算符,您必须执行一些操作
使用 Cloud Console 选择或创建 Cloud Platform 项目。
为您的项目启用结算功能,如Google Cloud 文档中所述。
启用 API,如Cloud Console 文档中所述。
通过 pip 安装 API 库。
pip install 'apache-airflow[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 数据集中。要创建数据集并导入数据,请使用 CreateDatasetOperator
和 ImportDataOperator
对于 AutoML 翻译,请使用 TranslateTextOperator
或 TranslateTextBatchOperator
。
要获取现有模型,可以使用 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,
)
参考¶
有关更多信息,请查阅