Google Cloud AutoML 運算子

即使您對機器學習的知識有限,Google Cloud AutoML 也能讓您輕鬆運用機器學習的強大功能。您可以使用 AutoML 建立在 Google 機器學習能力之上的自訂機器學習模型,以滿足您的業務需求,然後將這些模型整合到您的應用程式和網站中。

先決條件任務

若要使用這些運算子,您必須完成以下幾件事

建立資料集

若要建立 Google AutoML 資料集,您可以使用 AutoMLCreateDatasetOperator。此運算子會在 XCom 中傳回資料集 ID,金鑰為 dataset_id

警告

當針對文字、影片和視覺預測執行時,此運算子已被棄用,並將很快移除。舊版 AutoML Natural Language、Vision、Video Intelligence 的所有功能和新功能都可在 Vertex AI 平台上使用。請改用 CreateDatasetOperator

tests/system/google/cloud/automl/example_automl_dataset.py[原始碼]

create_dataset = AutoMLCreateDatasetOperator(
    task_id="create_dataset",
    dataset=DATASET,
    location=GCP_AUTOML_LOCATION,
    project_id=GCP_PROJECT_ID,
)
dataset_id = create_dataset.output["dataset_id"]

建立資料集後,您可以使用 AutoMLImportDataOperator 匯入一些資料。

tests/system/google/cloud/automl/example_automl_dataset.py[原始碼]

import_dataset = AutoMLImportDataOperator(
    task_id="import_dataset",
    dataset_id=dataset_id,
    location=GCP_AUTOML_LOCATION,
    input_config=IMPORT_INPUT_CONFIG,
)

若要更新資料集,您可以使用 AutoMLTablesUpdateDatasetOperator

警告

當針對文字、影片和視覺預測執行時,此運算子已被棄用,並將很快移除。舊版 AutoML Natural Language、Vision、Video Intelligence 的所有功能和新功能都可在 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 中傳回模型 ID,金鑰為 model_id

警告

當針對文字、影片和視覺預測執行時,此運算子已被棄用,並將很快移除。舊版 AutoML Natural Language、Vision、Video Intelligence 的所有功能和新功能都可在 Vertex AI 平台上使用。請改用 SupervisedFineTuningTrainOperatorCreateAutoMLImageTrainingJobOperatorCreateAutoMLVideoTrainingJobOperator

您可以在這裡找到如何使用 VertexAI 運算子進行 AutoML Vision 分類的範例

tests/system/google/cloud/automl/example_automl_vision_classification.py[原始碼]

create_auto_ml_image_training_job = CreateAutoMLImageTrainingJobOperator(
    task_id="auto_ml_image_task",
    display_name=IMAGE_DISPLAY_NAME,
    dataset_id=image_dataset_id,
    prediction_type="classification",
    multi_label=False,
    model_type="CLOUD",
    training_fraction_split=0.6,
    validation_fraction_split=0.2,
    test_fraction_split=0.2,
    budget_milli_node_hours=8000,
    model_display_name=MODEL_DISPLAY_NAME,
    disable_early_stopping=False,
    region=REGION,
    project_id=PROJECT_ID,
)

您可以在這裡找到如何使用 VertexAI 運算子進行 AutoML Video Intelligence 分類的範例

tests/system/google/cloud/automl/example_automl_video_classification.py[原始碼]

create_auto_ml_video_training_job = CreateAutoMLVideoTrainingJobOperator(
    task_id="auto_ml_video_task",
    display_name=VIDEO_DISPLAY_NAME,
    prediction_type="classification",
    model_type="CLOUD",
    dataset_id=video_dataset_id,
    model_display_name=MODEL_DISPLAY_NAME,
    region=REGION,
    project_id=PROJECT_ID,
)

當為訓練資料執行 Vertex AI 運算子時,請確保您的資料已正確儲存在 Vertex AI 資料集中。若要建立資料並匯入資料集,請使用 CreateDatasetOperatorImportDataOperator

tests/system/google/cloud/automl/example_automl_translation.py[原始碼]

create_model = AutoMLTrainModelOperator(task_id="create_model", model=MODEL, location=GCP_AUTOML_LOCATION)

若要取得現有模型,可以使用 AutoMLGetModelOperator

此運算子已針對表格、影片智慧、視覺和自然語言棄用,並將於 2024 年 3 月 31 日之後移除。請改用 airflow.providers.google.cloud.operators.vertex_ai.model_service.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 模型取得預測,您可以使用 AutoMLPredictOperatorAutoMLBatchPredictOperator。在第一種情況下,模型必須已部署。

tests/system/google/cloud/automl/example_automl_translation.py[原始碼]

TRANSLATION_STR = "A Dog walks down the street"
predict_task = AutoMLPredictOperator(
    task_id="predict_task",
    model_id=model_id,
    payload={"text_snippet": {"content": TRANSLATION_STR}},
    location=GCP_AUTOML_LOCATION,
    project_id=GCP_PROJECT_ID,
)

AutoMLBatchPredictOperator 已針對表格、影片智慧、視覺和自然語言棄用,並將於 2024 年 3 月 31 日之後移除。請改用 airflow.providers.google.cloud.operators.vertex_ai.batch_prediction_job.CreateBatchPredictionJobOperatorairflow.providers.google.cloud.operators.vertex_ai.batch_prediction_job.GetBatchPredictionJobOperatorairflow.providers.google.cloud.operators.vertex_ai.batch_prediction_job.ListBatchPredictionJobsOperatorairflow.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 中傳回資料集 ID 清單,金鑰為 dataset_id_list

此運算子已針對表格、影片智慧、視覺和自然語言棄用,並將於 2024 年 3 月 31 日之後移除。請改用 airflow.providers.google.cloud.operators.vertex_ai.dataset.ListDatasetsOperator。您可以在這裡找到如何使用 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,
)

參考文獻

如需更多資訊,請參閱

這篇文章是否有幫助?