Hello カスタム トレーニング: カスタム画像分類モデルのトレーニング

このページでは、Agent Platform で TensorFlow Keras トレーニング アプリケーションを実行する方法について説明します。このモデルは、花の画像を種類別に分類できる画像分類モデルをトレーニングします。

このチュートリアルには複数のページが含まれます。

  1. プロジェクトと環境の設定

  2. カスタム画像分類モデルのトレーニング

  3. カスタム画像分類モデルから取得した予測情報の提供

  4. プロジェクトのクリーンアップ

各ページは、前のページのチュートリアルの手順を実施済みであることを前提としています。

以降の内容は、チュートリアルの最初のページで作成した Cloud Shell 環境を使用していることを前提としています。元の Cloud Shell セッションをすでに閉じてしまった場合は、次の手順でその環境に戻ることができます。

  1. コンソールで Cloud Shell をアクティブにします。 Google Cloud

    Cloud Shell をアクティブにする

  2. Cloud Shell セッションで次のコマンドを実行します。

    cd hello-custom-sample

カスタム トレーニング パイプラインを実行する

このセクションでは、Cloud Storage にアップロードしたトレーニング パッケージを使用して Agent Platform カスタム トレーニング パイプラインを実行する方法について説明します。

  1. コンソールの [Agent Platform] セクションで、 [トレーニング パイプライン] ページに移動します。 Google Cloud

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

  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 は 環境変数を gs://BUCKET_NAME/output/model に設定します。AIP_MODEL_DIRトレーニングが終了すると、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. コンソールの [Agent Platform] セクションで、 [**カスタムジョブ**] ページに移動します。 Google Cloud

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

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

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

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

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

[モデル] に移動

モデルの名前は hello_custom です。

次のステップ

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