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

本頁面說明如何在 Agent Platform 上執行 TensorFlow Keras 訓練應用程式。這個模型會訓練圖片分類模型,依類型分類花卉。

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

  1. 設定專案和環境。

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

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

  4. 清理專案。

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

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

  1. 在 Google Cloud 控制台啟用 Cloud Shell。

    啟用 Cloud Shell

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

    cd hello-custom-sample

執行自訂訓練管道

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

  1. 前往 Google Cloud 控制台「Agent Platform」部分的「Training pipelines」(訓練管道) 頁面。

    前往「Training pipelines」(訓練管道)

  2. 按一下 「Create」(建立),開啟「Train new model」(訓練新模型) 窗格。

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

    1. 在「Dataset」(資料集) 下拉式選單中,選取「No managed dataset」(沒有代管資料集)。這個訓練應用程式會從 TensorFlow Datasets 程式庫載入資料,而非代管的 Agent Platform 資料集。

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

    按一下「繼續」。

  4. 在「Model details」(模型詳細資料) 步驟中,在「Name」(名稱) 欄位中輸入 hello_custom。接著點按「Continue」。

  5. 在「Training container」(訓練容器) 步驟中,提供 Agent Platform 所需的資訊,以便使用您上傳到 Cloud Storage 的訓練套件:

    1. 選取「Prebuilt 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」(Python 模組) 欄位中輸入 trainer.task。trainer 是 tarball 中的 Python 套件名稱,task.py 則包含訓練程式碼。因此,trainer.task 是您要 Agent Platform 執行的模組名稱。

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

      1. 前往 Cloud Storage bucket。

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

      3. 將新資料夾命名為 output。接著點選「建立」。

      4. 按一下「選取」。

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

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

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

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

    按一下「繼續」。

  6. 在選用的「Hyperparameters」(超參數) 步驟中,確認已取消勾選「Enable hyperparameter tuning」(啟用超參數調整) 核取方塊。本教學課程不會使用超參數調整功能。然後點按「繼續」。

  7. 在「Compute and pricing」(運算與定價) 步驟中,為自訂訓練工作分配資源:

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

    2. 在「Machine type」(機型) 下拉式選單中,選取「Standard」(標準版) 區段中的「n1-standard-4」。

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

  8. 在「Prediction container」(預測容器) 步驟中,提供 Agent Platform 執行預測所需的資訊:

    1. 選取「Prebuilt container」(預先建構的容器)。

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

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

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

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

      4. 確認「Model directory」(模型目錄) 欄位的值為 gs://BUCKET_NAME/output,其中 BUCKET_NAME 是 Cloud Storage bucket 的名稱。這與您在先前步驟中提供的「Model output directory」(模型輸出目錄) 值相符。

    3. 將「Predict schemata」(預測結構定義) 區段中的欄位留空。

  9. 點選「Start training」(開始訓練),啟動自訂訓練管道。

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

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

    前往「Custom jobs」(自訂工作) 頁面

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

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

監控訓練

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

  1. 在 Google Cloud 控制台,依序前往「Agent Platform」專區和「Custom jobs」(自訂工作) 頁面。

    前往「Custom jobs」(自訂工作) 頁面

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

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

查看訓練完成的模型

自訂訓練 pipeline 完成後,您可以在 Google Cloud 控制台的「Agent Platform」部分,前往「Models」(模型) 頁面找到訓練好的模型。

前往「Models」(模型)

模型名稱為 hello_custom。

後續步驟

請按照本教學課程的下一頁,使用訓練好的機器學習模型提供預測。