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

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

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

  1. 設定專案和環境。

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

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

  4. 清理專案。

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

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

  1. 在 Cloud de Confiance 控制台啟用 Cloud Shell。

    啟用 Cloud Shell

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

    cd hello-custom-sample

執行自訂訓練管道

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

  1. 前往 Cloud de Confiance 控制台「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. 在 Cloud de Confiance 控制台,依序前往「Agent Platform」專區和「Custom jobs」(自訂工作) 頁面。

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

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

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

查看訓練完成的模型

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

前往「Models」(模型)

模型名稱為 hello_custom。

後續步驟

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