Vertex AI のワークフローの例

このページの例では、Earth Engine での Vertex AI の使用方法を示しています。詳細については、ホスト型モデルのページをご覧ください。これらの例では、Colab Notebooks で実行される Earth Engine Python API を使用します。

料金

AutoML

ローコードの農作物の分類

AutoML を使用すると、最小限の技術的な作業でモデルを作成してトレーニングできます。この例では、Vertex AI Python SDK を使用して AutoML 表形式モデルをトレーニングしてデプロイし、Earth Engine からそのモデルに接続して、National Agriculture Imagery Program(NAIP)航空画像から作物の種類を分類します。

PyTorch

CNN を使用した土地被覆の分類

この例では、複数のスペクトル ベクトルを入力(一度に 1 ピクセル)として受け取り、ピクセルごとに単一のクラスラベルを出力する単純な CNN を示します。Colab ノートブックでは、CNN の作成、Earth Engine のデータによるトレーニング、Vertex AI へのモデルのデプロイ、Earth Engine でのモデルからの予測の取得を示しています。

TensorFlow

DNN を使用してゼロからマルチクラス予測を行う

「ディープ」ニューラル ネットワーク(DNN)は、1 つ以上の隠れ層を持つ人工ニューラル ネットワーク(ANN)です。この例は、単一の隠れ層を持つ単純な DNN を示しています。DNN はスペクトル ベクトルを入力(一度に 1 ピクセル)として受け取り、ピクセルあたり 1 つのクラスラベルとクラス確率を出力します。Colab ノートブックでは、DNN の作成、Earth Engine のデータによるトレーニング、エクスポートされた画像の予測、予測の Earth Engine へのインポートを示します。

Vertex AI でホストされている DNN を使用したマルチクラス予測

Vertex AI でホストされているモデルから予測を直接取得できます(コードエディタなど)。このガイドでは、TensorFlow モデルをトレーニング、保存、準備してホストし、モデルを Vertex AI エンドポイントにデプロイし、Earth Engine からインタラクティブなモデル予測のマップを取得する方法について説明します。

Vertex AI でトレーニングされ、ホストされている FCNN を使用したセマンティック セグメンテーション

このガイドでは、土地被覆マッピングのセマンティック セグメンテーションについて説明します。入力データまたはトレーニング データの詳細については、2022 Geo for Good セッションをご覧ください。このガイドでは、Earth Engine のデータを使用して、カスタムマシンを使用して Vertex AI でモデルをトレーニングし、ホスティング用にモデルを準備し、モデルをエンドポイントにデプロイし、Earth Engine からインタラクティブなモデル予測のマップを取得する方法について説明します。

事前トレーニング済みの樹冠セグメンテーション モデルをホストする

事前トレーニング済みモデルをホストして、Earth Engine でインタラクティブな予測を取得できます。たとえば、Li et al.(2023) は、TensorFlow で実装されたいくつかの樹冠セグメンテーション モデルを公開しています。入力と出力の形状が適切に設定されている場合、これらのモデルは直接ホストして、入力画像がある場所で Earth Engine で予測を取得するために使用できます。このガイドでは、事前トレーニング済みモデルをダウンロードし、Vertex AI でのホスト用に準備し、Earth Engine のパブリック カタログ内の画像に関する予測を取得する方法について説明します。

Yggdrasil デシジョン フォレスト(YDF)

Yggdrasil デシジョン フォレスト(YDF)は、TensorFlow と互換性のある一般的なツリーベースの ML モデルの実装です。これらのモデルは、ニューラル ネットワークと同様に Vertex AI でトレーニング、保存、ホストできます。このノートブックでは、YDF をインストールし、シンプルなモデルをトレーニングし、Vertex AI でモデルをホストし、Earth Engine でインタラクティブな予測を取得する方法を示します。

非推奨

TensorFlow デシジョン フォレスト

TensorFlow デシジョン フォレスト(TF-DF)は、一般的な木ベースの ML モデルを TensorFlow で実装したものです。これらのモデルは、TensorFlow ニューラル ネットワークと同様に、Vertex AI でトレーニング、保存、ホストできます。このノートブックでは、TF-DF をインストールし、ランダム フォレストをトレーニングし、Vertex AI でモデルをホストし、Earth Engine でインタラクティブな予測を取得する方法を示します。

FCNN を使用した回帰

「畳み込み」ニューラル ネットワーク(CNN)には、1 つ以上の畳み込みレイヤが含まれています。入力はピクセルの近傍であり、完全接続ではないネットワークになりますが、空間パターンの特定に適しています。完全畳み込みニューラル ネットワーク(FCNN)には、出力として全結合層が含まれていません。つまり、グローバル出力(画像あたり 1 つの出力)ではなく、ローカライズされた出力(ピクセル単位)を学習します。

この Colab ノートブックでは、医用画像セグメンテーション用に開発された FCNN である UNET モデルを使用して、256 x 256 ピクセルの近傍から各ピクセルの連続した [0,1] 出力を予測する方法を示します。具体的には、この例では、ネットワークをトレーニングするためにデータのパッチをエクスポートする方法と、推論のために画像パッチをオーバータイルしてタイル境界アーティファクトを排除する方法を示します。

AI Platform でのトレーニング

比較的大きなモデル(FCNN の例など)の場合、Colab ノートブックを実行する無料の仮想マシンの存続期間が、長時間実行されるトレーニング ジョブに十分でない可能性があります。具体的には、評価データセットで予測される予測誤差が最小化されていない場合は、トレーニングの反復処理を増やすことを検討してください。Cloud で大規模なトレーニング ジョブを実行するために、この Colab ノートブックでは、トレーニング コードをパッケージ化する方法、トレーニング ジョブを開始する方法、earthengine model prepare コマンドを使用して SavedModel を準備する方法、ee.Model.fromAiPlatformPredictor を使用して Earth Engine でインタラクティブに予測を取得する方法について説明します。