Hello 自訂訓練:訓練自訂圖片分類模型

本頁說明如何在 Vertex AI 上執行 TensorFlow Keras 訓練應用程式。這個特定模型會訓練圖片分類模型,以便依花朵類型分類。

本教學課程包含多個頁面:

  1. 設定專案和環境。

  2. 訓練自訂圖片分類模型。

  3. 透過自訂圖片分類模型提供預測結果。

  4. 清除專案所用資源。

每個頁面都假設您已執行教學課程先前頁面中的操作說明。

本文件的其餘部分假設您使用的是按照本教學課程第一頁的說明建立的 Cloud Shell 環境。如果原始的 Cloud Shell 工作階段已關閉,您可以執行下列操作返回該環境:

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

  2. 在 Cloud Shell 工作階段中,執行下列指令:

    cd hello-custom-sample

執行自訂訓練管道

本節說明如何使用上傳至 Cloud Storage 的訓練套件,執行 Vertex AI 自訂訓練管道。

  1. 在 Google Cloud 控制台的 Vertex AI 專區中,前往「Training pipelines」頁面。

    前往訓練管道

  2. 按一下「建立」圖示 ,開啟「訓練新模型」窗格。

  3. 在「選擇訓練方法」步驟中,執行下列操作:

    1. 在「Dataset」下拉式清單中,選取「No managed dataset」。這個特定訓練應用程式會從 TensorFlow Datasets 程式庫載入資料,而不是從受管理的 Vertex AI 資料集載入資料。

    2. 確認已選取「Custom training (advanced)」(自訂訓練 (進階))

    按一下「繼續」

  4. 在「Model details」步驟的「Name」欄位中輸入 hello_custom。按一下「繼續」

  5. 在「Training container」步驟中,請向 Vertex AI 提供所需資訊,以便使用您上傳至 Cloud Storage 的訓練套件:

    1. 選取「Pre-built container」(預先建構的容器)

    2. 在「Model framework」(模型架構) 下拉式清單中,選取「TensorFlow」

    3. 在「Model framework version」(模型架構版本) 下拉式清單中選取「2.3」

    4. 在「Package location」欄位中輸入 cloud-samples-data/ai-platform/hello-custom/hello-custom-sample-v1.tar.gz

    5. 在「Python module」欄位中輸入 trainer.tasktrainer 是 tarball 中 Python 套件的名稱,而 task.py 則包含訓練程式碼。因此,trainer.task 是您要讓 Vertex AI 執行的模組名稱。

    6. 在「Model output directory」(模型輸出目錄) 欄位中,按一下「Browse」(瀏覽)。在「選取資料夾」窗格中執行下列操作:

      1. 前往 Cloud Storage 值區。

      2. 按一下「建立新資料夾」圖示

      3. 將新資料夾命名為 output。然後按一下「建立」

      4. 按一下 [選取]。

      確認該欄位有 gs://BUCKET_NAME/output 值,其中 BUCKET_NAME 是 Cloud Storage 值區的名稱。

      這個值會在 baseOutputDirectory API 欄位中傳遞至 Vertex AI,該欄位會設定訓練應用程式在執行時可存取的多個環境變數。

      舉例來說,如果您將這個欄位設為 gs://BUCKET_NAME/output,Vertex AI 就會將 AIP_MODEL_DIR 環境變數設為 gs://BUCKET_NAME/output/model。在訓練結束時,Vertex AI 會使用 AIP_MODEL_DIR 目錄中的任何構件,建立模型資源。

      進一步瞭解這個欄位設定的環境變數

    按一下「繼續」

  6. 在選用的「超參數」步驟中,確認已清除「啟用超參數微調」核取方塊。本教學課程不會使用超參數調整功能。然後點按「繼續」

  7. 在「運算和定價」步驟中,為自訂訓練工作分配資源:

    1. 在「Region」(區域) 下拉式清單中,選取「us-central1 (Iowa)」(us-central1 (愛荷華州))

    2. 在「Machine type」下拉式清單中,從「Standard」部分選取「n1-standard-4」

    請勿為本教學課程新增任何加速器或工作站集區。按一下「Continue」(繼續)

  8. 在「預測容器」步驟中,為 Vertex AI 提供提供預測結果所需的資訊:

    1. 選取「Pre-built container」(預先建構的容器)

    2. 在「預先建構的容器設定」部分,執行下列操作:

      1. 在「Model framework」(模型架構) 下拉式清單中,選取「TensorFlow」

      2. 在「Model framework version」(模型架構版本) 下拉式清單中選取「2.3」

      3. 在「Accelerator type」(加速器類型) 下拉式清單中,選取「None」(無)

      4. 確認「模型目錄」欄位有 gs://BUCKET_NAME/output 值,其中 BUCKET_NAME 是 Cloud Storage 值區的名稱。這會與您在上一個步驟中提供的 模型輸出目錄值相符。

    3. 將「Predict schemata」部分的欄位留空。

  9. 按一下「開始訓練」,啟動自訂訓練管道。

您現在可以在「訓練」頁面中,查看名為 hello_custom 的新訓練管道。(您可能需要重新整理頁面)。訓練管道主要會執行以下兩項作業:

  1. 訓練管道會建立名為 hello_custom-custom-job自訂工作資源。片刻之後,您就可以在「訓練」專區的「自訂工作」頁面中查看這項資源:

    前往「自訂工作」

    自訂工作會使用您在本節中指定的運算資源執行訓練應用程式。

  2. 自訂工作完成後,訓練管道會在 Cloud Storage 值區的 output/model/ 目錄中,找到訓練應用程式建立的成果。它會使用這些構件建立 model 資源。

監控訓練

如要查看訓練記錄,請按照下列步驟操作:

  1. 在 Google Cloud 控制台的 Vertex AI 專區中,前往「自訂工作」頁面。

    前往「自訂工作」

  2. 如要查看剛才建立的 CustomJob 詳細資料,請在清單中按一下 hello_custom-custom-job

  3. 在工作詳細資料頁面中,按一下「查看記錄檔」

查看經過訓練的模型

自訂訓練管道完成後,您可以在 Google Cloud 控制台的 Vertex AI 專區,以及「Models」頁面中,找到已訓練好的模型。

前往「模型」

模型的名稱為 hello_custom

後續步驟

請參閱本教學課程的下一頁,瞭解如何透過已訓練的機器學習模型提供預測結果。