このページでは、Vertex AI で TensorFlow Keras トレーニング アプリケーションを実行する方法について説明します。このモデルは、花の画像を種類別に分類できる画像分類モデルをトレーニングします。
このチュートリアルには複数のページが含まれます。カスタム画像分類モデルのトレーニング
各ページは、前のページのチュートリアルの手順をすでに実施していることを前提としています。
このドキュメントの以降の内容は、このチュートリアルの最初のページの手順を実施したときに作成したものと同じ Cloud Shell 環境を使用していることを前提としています。元の Cloud Shell セッションが開かれていない場合は、次の手順を行ってその環境に戻ることができます。-
In the Google Cloud console, activate Cloud Shell.
-
Cloud Shell セッションで次のコマンドを実行します。
cd hello-custom-sample
カスタム トレーニング パイプラインを実行する
このセクションでは、Cloud Storage にアップロードしたトレーニング パッケージを使用して Vertex AI カスタム トレーニング パイプラインを実行する方法について説明します。
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 の
baseOutputDirectory
API フィールドに渡されます。この値に基づいて、トレーニング アプリケーションが実行時にアクセスする複数の環境変数が設定されます。たとえば、このフィールドを
gs://BUCKET_NAME/output
に設定すると、AIP_MODEL_DIR
環境変数はgs://BUCKET_NAME/output/model
に設定されます。トレーニングが終了すると、Vertex AI はAIP_MODEL_DIR
ディレクトリのアーティファクトを使用してモデルリソースを作成します。詳しくは、このフィールドで設定される環境変数をご覧ください。
[続行] をクリックします。
オプションの [ハイパーパラメータ] ステップで、[Enable hyperparameter tuning] チェックボックスがオフになっていることを確認します。このチュートリアルでは、ハイパーパラメータ調整は使用しません。[続行] をクリックします。
[コンピューティングと料金] ステップで、カスタム トレーニング ジョブのリソースを割り当てます。
[リージョン] プルダウン リストで、[us-central1(アイオワ)] を選択します。
[Machine type] プルダウン リストで、[標準] セクションから [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
という名前の新しいトレーニング パイプラインが表示されます(ページの更新が必要になる場合があります)。トレーニング パイプラインは、次の 2 つの主要な処理を行います。
トレーニング パイプラインが、
hello_custom-custom-job
という名前のカスタムジョブ リソースを作成します。しばらくすると、[トレーニング] セクションの [CUSTOM JOB] ページにこのリソースが表示されます。カスタムジョブは、このセクションで指定されたコンピューティング リソースを使用してトレーニング アプリケーションを実行します。
カスタムジョブが完了すると、トレーニング パイプラインにより、トレーニング アプリケーションが作成したアーティファクトが検出されます。このアーティファクトは Cloud Storage バケットの
output/model/
ディレクトリに作成されます。これらのアーティファクトを使用してモデルリソースを作成します。
トレーニングをモニタリングする
トレーニング ログを表示する方法は次のとおりです。
Google Cloud コンソールの [Vertex AI] セクションで、[CUSTOM JOBS] ページに移動します。
作成した
CustomJob
の詳細を表示するには、リスト内のhello_custom-custom-job
をクリックします。ジョブの詳細ページで、[ログを表示] をクリックします。
トレーニング済みのモデルを表示する
カスタム トレーニング パイプラインが完了すると、Google Cloud コンソールの [Vertex AI] セクションの [モデル] ページにトレーニング済みモデルが表示されます。
モデルの名前は hello_custom
です。
次のステップ
このチュートリアルの次のページの説明に沿って、トレーニング済みの ML モデルから予測を行います。