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] セクションで、 [トレーニング パイプライン] ページに移動します。

    [トレーニング パイプライン] に移動

  2. [作成] をクリックして、[新しいモデルのトレーニング] ペインを開きます。

  3. トレーニング方法の選択ステップで、次の手順を行います。

    1. [データセット] プルダウン リストで、[管理されているデータセットなし] を選択します。この 特定のトレーニング アプリケーションは、マネージド Agent Platform データセットではなく TensorFlow Datasets ライブラリからデータを読み込みます。

    2. [カスタム トレーニング(上級者向け)] が選択されていることを確認します。

    [続行] をクリックします。

  4. [モデルの詳細] ステップの [名前] フィールドに「hello_custom」と入力します。[続行] をクリックします。

  5. [トレーニング コンテナ] ステップで、Cloud Storage にアップロードしたトレーニング パッケージを使用するために必要な情報を Agent Platform に提供します。

    1. [Prebuilt container] を選択します。

    2. [モデル フレームワーク] プルダウン リストで [TensorFlow] を選択します。

    3. [モデル フレームワークのバージョン] プルダウン リストで、[2.3] を選択します。

    4. [パッケージの場所] フィールドに「cloud-samples-data/ai-platform/hello-custom/hello-custom-sample-v1.tar.gz」と入力します。

    5. [Python モジュール] フィールドに「trainer.task」と入力します。trainer は tarball の Python パッケージの名前です。task.py にはトレーニング コードが含まれています。trainer.task は、Agent Platform で実行するモジュールの名前です。

    6. [モデル出力ディレクトリ] フィールドで、[Browse] をクリックします。[フォルダの選択] ペインで次の手順を行います。

      1. Cloud Storage バケットに移動します。

      2. [新しいフォルダを作成] をクリックします。

      3. 新しいフォルダの名前を output とします。次に [作成] をクリックします。

      4. [選択] をクリックします。

      フィールドの値が gs://BUCKET_NAME/outputであることを確認します。ここで、BUCKET_NAME は Cloud Storage バケットの名前です。

      この値は、Agent Platform の baseOutputDirectory API フィールドに渡されます。この値に基づいて、トレーニング アプリケーションが実行時にアクセスする 複数の環境変数が設定されます。

      たとえば、このフィールドを gs://BUCKET_NAME/output に設定すると、Agent Platform は AIP_MODEL_DIR環境変数を gs://BUCKET_NAME/output/model に設定します。トレーニングが終了すると、Agent Platform は AIP_MODEL_DIR ディレクトリのアーティファクトを使用してモデルリソースを作成します。

      詳しくは、この フィールドで設定される環境変数をご覧ください。

    [続行] をクリックします。

  6. オプションの [ハイパーパラメータ] ステップで、[Enable hyperparameter tuning] チェックボックスがオフになっていることを確認します。このチュートリアルでは、ハイパーパラメータ調整は使用しません。[続行] をクリックします。

  7. [コンピューティングと料金] ステップで、カスタム トレーニング ジョブのリソースを割り当てます。

    1. [リージョン] プルダウン リストで、[us-central1(アイオワ)] を選択します。

    2. [マシンタイプ] プルダウン リストで、[標準] セクションから [n1-standard-4] を選択します。

    このチュートリアルでは、アクセラレータやワーカープールを追加しないでください。[続行] をクリックします。

  8. [予測コンテナ] ステップで、Agent Platform が予測を行うために必要な情報を提供します。

    1. [Prebuilt container] を選択します。

    2. [Prebuilt container settings] セクションで、次の操作を行います。

      1. [モデル フレームワーク] プルダウン リストで [TensorFlow] を選択します。

      2. [モデル フレームワークのバージョン] プルダウン リストで、[2.3] を選択します。

      3. [アクセラレータ タイプ] プルダウン リストで、[なし] を選択します。

      4. [モデル ディレクトリ] フィールドの値が gs://BUCKET_NAME/output になっていることを確認します。ここで、BUCKET_NAME は Cloud Storage バケットの名前です。これは、前のステップで指定した [Model output directory] の値と一致します。

    3. [予測 schemata] セクションのフィールドは空白のままにします。

  9. [トレーニングを開始] をクリックして、カスタム トレーニング パイプラインを開始します。

[トレーニング] ページに、hello_custom という名前の新しいトレーニング パイプラインが表示されます(ページの更新が必要になる場合があります)。トレーニング パイプラインは、次の 2 つの主要な処理を行います。

  1. トレーニング パイプラインが、hello_custom-custom-job という名前のカスタムジョブ リソースを作成します。しばらくすると、[トレーニング] セクションの [CUSTOM JOB] ページにこのリソースが表示されます。

    [CUSTOM JOB] に移動

    カスタムジョブは、このセクションで指定されたコンピューティング リソースを使用してトレーニング アプリケーションを実行します。

  2. カスタムジョブが完了すると、トレーニング パイプラインにより、トレーニング アプリケーションが作成したアーティファクトが検出されます。このアーティファクトは Cloud Storage バケットの output/model/ ディレクトリに作成されます。これらのアーティファクトを使用してモデルリソースを作成します。

トレーニングをモニタリングする

トレーニング ログを表示する方法は次のとおりです。

  1. コンソールの Google Cloud [Agent Platform] セクションで、 [**カスタムジョブ**] ページに移動します。

    [カスタムジョブ] に移動

  2. 作成した CustomJob の詳細を表示するには、リスト内の hello_custom-custom-job をクリックします。

  3. ジョブの詳細ページで、[ログを表示] をクリックします。

トレーニング済みのモデルを表示する

カスタム トレーニング パイプラインが完了すると、 コンソール Google Cloud の Agent Platform セクションの [モデル] ページにトレーニング済みモデルが表示されます。

[モデル] に移動

モデルの名前は hello_custom です。

次のステップ

このチュートリアルの次のページの説明に沿って、トレーニング済みの ML モデルから予測を行います。