このページでは、Vertex AI で TensorFlow Keras トレーニング アプリケーションを実行する方法について説明します。このモデルは、花の画像を種類別に分類できる画像分類モデルをトレーニングします。
このチュートリアルには複数のページが含まれます。
- カスタム画像分類モデルのトレーニング 
各ページは、前のページのチュートリアルの手順をすでに実施していることを前提としています。
このドキュメントの以降の内容は、このチュートリアルの最初のページの手順を実施したときに作成したものと同じ Cloud Shell 環境を使用していることを前提としています。元の Cloud Shell セッションが開かれていない場合は、次の手順で環境に戻ることができます。- 
  
    In the Google Cloud console, activate Cloud Shell. 
- 
    Cloud Shell セッションで次のコマンドを実行します。 cd hello-custom-sample 
- Google Cloud コンソールの [Vertex AI] セクションで、[トレーニング パイプライン] ページに移動します。 
- [作成] をクリックして、[新しいモデルのトレーニング] ペインを開きます。 
- トレーニング方法の選択ステップで、次の手順を行います。 - [データセット] プルダウン リストで、[管理されているデータセットなし] を選択します。この特定のトレーニング アプリケーションは、マネージド Vertex AI データセットではなく TensorFlow データセット ライブラリからデータを読み込みます。 
- [カスタム トレーニング(上級者向け)] が選択されていることを確認します。 
 - [続行] をクリックします。 
- [モデルの詳細] ステップの [名前] フィールドに「 - hello_custom」と入力します。[続行] をクリックします。
- [トレーニング コンテナ] ステップで、Cloud Storage にアップロードしたトレーニング パッケージを使用するために必要な情報を Vertex AI に提供します。 - [Prebuilt container] を選択します。 
- [モデル フレームワーク] プルダウン リストで [TensorFlow] を選択します。 
- [モデル フレームワークのバージョン] プルダウン リストで、[2.3] を選択します。 
- [パッケージの場所] フィールドに「 - cloud-samples-data/ai-platform/hello-custom/hello-custom-sample-v1.tar.gz」と入力します。
- [Python モジュール] フィールドに「 - trainer.task」と入力します。- trainerは tarball の Python パッケージの名前です。- task.pyにはトレーニング コードが含まれています。- trainer.taskは、Vertex AI を実行するモジュールの名前です。
- [Model output directory] フィールドで、[Browse] をクリックします。[フォルダの選択] ペインで次の手順を行います。 - Cloud Storage バケットに移動します。 
- [新しいフォルダを作成] をクリックします。 
- 新しいフォルダの名前を - outputとします。次に [作成] をクリックします。
- [選択] をクリックします。 
 - フィールドの値が - gs://BUCKET_NAME/outputであることを確認します。ここで、BUCKET_NAME は Cloud Storage バケットの名前です。- この値は、Vertex AI の - baseOutputDirectoryAPI フィールドに渡されます。この値に基づいて、トレーニング アプリケーションが実行時にアクセスする複数の環境変数が設定されます。- たとえば、このフィールドを - gs://BUCKET_NAME/outputに設定すると、- AIP_MODEL_DIR環境変数は- gs://BUCKET_NAME/output/modelに設定されます。トレーニングが終了すると、Vertex AI は- AIP_MODEL_DIRディレクトリのアーティファクトを使用してモデルリソースを作成します。- 詳しくは、このフィールドで設定される環境変数をご覧ください。 
 - [続行] をクリックします。 
- オプションの [ハイパーパラメータ] ステップで、[Enable hyperparameter tuning] チェックボックスがオフになっていることを確認します。このチュートリアルでは、ハイパーパラメータ調整は使用しません。[続行] をクリックします。 
- [コンピューティングと料金] ステップで、カスタム トレーニング ジョブのリソースを割り当てます。 - [リージョン] プルダウン リストで、[us-central1(アイオワ)] を選択します。 
- [マシンタイプ] プルダウン リストで、[標準] セクションから [n1-standard-4] を選択します。 
 - このチュートリアルでは、アクセラレータやワーカープールを追加しないでください。[続行] をクリックします。 
- [予測コンテナ] ステップで、Vertex AI が予測を行うために必要な情報を提供します。 - [Prebuilt container] を選択します。 
- [Prebuilt container settings] セクションで、次の操作を行います。 - [モデル フレームワーク] プルダウン リストで [TensorFlow] を選択します。 
- [モデル フレームワークのバージョン] プルダウン リストで、[2.3] を選択します。 
- [アクセラレータ タイプ] プルダウン リストで、[なし] を選択します。 
- [モデル ディレクトリ] フィールドの値が - gs://BUCKET_NAME/outputになっていることを確認します。ここで、BUCKET_NAME は Cloud Storage バケットの名前です。これは、前のステップで指定した [Model output directory] の値と一致します。
 
- [予測 schemata] セクションのフィールドは空白のままにします。 
 
- [トレーニングを開始] をクリックして、カスタム トレーニング パイプラインを開始します。 
- トレーニング パイプラインが、 - hello_custom-custom-jobという名前のカスタムジョブ リソースを作成します。しばらくすると、[トレーニング] セクションの [CUSTOM JOB] ページにこのリソースが表示されます。- カスタムジョブは、このセクションで指定されたコンピューティング リソースを使用してトレーニング アプリケーションを実行します。 
- カスタムジョブが完了すると、トレーニング パイプラインにより、トレーニング アプリケーションが作成したアーティファクトが検出されます。このアーティファクトは Cloud Storage バケットの - output/model/ディレクトリに作成されます。これらのアーティファクトを使用してモデルリソースを作成します。
- Google Cloud コンソールの Vertex AI セクションで、[カスタムジョブ] ページに移動します。 
- 作成した - CustomJobの詳細を表示するには、リスト内の- hello_custom-custom-jobをクリックします。
- ジョブの詳細ページで、[ログを表示] をクリックします。 
カスタム トレーニング パイプラインを実行する
このセクションでは、Cloud Storage にアップロードしたトレーニング パッケージを使用して Vertex AI カスタム トレーニング パイプラインを実行する方法について説明します。
[トレーニング] ページに、hello_custom という名前の新しいトレーニング パイプラインが表示されます(ページの更新が必要になる場合があります)。トレーニング パイプラインは、次の 2 つの主要な処理を行います。
トレーニングをモニタリングする
トレーニング ログを表示する方法は次のとおりです。
トレーニング済みのモデルを表示する
カスタム トレーニング パイプラインが完了すると、 Google Cloud コンソールの Vertex AI セクションの [モデル] ページにトレーニング済みモデルが表示されます。
モデルの名前は hello_custom です。
次のステップ
このチュートリアルの次のページの説明に沿って、トレーニング済みの ML モデルから予測を行います。