AutoDL を使用したトレーニング (Train Using AutoDL) (GeoAI)

Image Analyst ライセンスで利用できます。

サマリー

トレーニング パイプラインを構築し、トレーニング プロセスの多くを自動化することで、ディープ ラーニング モデルをトレーニングします。 これには、データ拡大、モデルの選択、ハイパーパラメーターの調整、およびバッチ サイズ推論が含まれます。 その出力には、トレーニング データの最適モデルのパフォーマンス指標と、[AI モデルを使用したフィーチャの抽出 (Extract Features Using AI Models)] ツールの入力として使用し、新しい画像を予測できるトレーニング済みのディープ ラーニング モデル パッケージ (.dlpk ファイル) が含まれます。

AutoDL の仕組みの詳細

使用法

  • AllSourcePython の適切なディープ ラーニング フレームワーク パッケージをインストールする必要があります。

    ArcGIS 用のディープ ラーニング フレームワークのインストール方法の詳細

  • 非接続環境でモデルをトレーニングする場合は、詳細について「非接続環境での追加インストール」をご参照ください。

  • ツールがトレーニング済みモデルを作成するのにかかる時間は、以下に応じて異なります。

    • トレーニング中に入力されるデータの量
    • [AutoDL モード] パラメーター値
    • [合計制限時間 (時間)] パラメーター値

    デフォルトで、すべてのモードのタイマーは 2 時間に設定されています。 [基本] モードは、指定された時間内にデフォルトのバックボーンで、選択されたネットワークをトレーニングします。 [高度な設定] モードは合計時間を半分に分けて、前半にモデルの評価を実行し、後半に他のバックボーンで評価するための上位 2 つの最善モデルを選択します。 トレーニングされるデータの量が多いと、選択したすべてのモデルを 2 時間以内に評価できない場合があります。 そのような場合、2 時間以内に特定された最高パフォーマンスのモデルが、最適なモデルと見なされます。 続いて、このモデルを使用するか、[合計制限時間 (時間)] パラメーターの値を大きくしてツールを再実行できます。

  • このツールは、既存のトレーニング済みモデルの微調整にも使用できます。 たとえば、車に関してトレーニングされた既存のモデルを微調整して、トラックを識別するモデルをトレーニングすることができます。

  • このツールを実行するには、GPU を装備したコンピューターが必要です。 複数の GPU がある場合は、GPU ID 環境を使用します。

  • このツールの入力トレーニング データには、[ディープ ラーニング用のトレーニング データをエクスポート (Export Training Data For Deep Learning)] ツールから生成された画像フォルダーとラベル フォルダーを含める必要があります。

  • このツールの考えられる使用例には、建物フットプリント、プール、ソーラー パネル、土地被覆分類などのフィーチャを抽出するためのオブジェクト検出モデルおよびピクセル分類モデルのトレーニングがあります。

  • このツールの実行要件および発生する可能性のある問題の詳細については、「ディープ ラーニングに関するよくあるご質問 (FAQ)」をご参照ください。

パラメーター

ラベル説明データ タイプ
入力トレーニング データ

モデルのトレーニングに必要な画像チップ、ラベル、統計情報を含むフォルダー。 [ディープ ラーニング用のトレーニング データをエクスポート (Export Training Data For Deep Learning)] ツールからの出力です。 エクスポートされるデータのメタデータ形式は、Classified_Tiles、PASCAL_VOC_rectangles、または KITTI_rectangles のいずれかである必要があります。

Folder
出力モデル

ディープ ラーニング パッケージとして保存される出力トレーニング済みモデル (.dlpk ファイル)。

File
事前トレーニング済みモデル
(オプション)

新しいモデルの微調整に使用される事前トレーニング済みモデル。 入力は Esri モデル定義ファイル (.emd) またはディープ ラーニング パッケージ ファイル (.dlpk) です。

類似したクラスを持つ事前トレーニング済みモデルは、新しいモデルに合わせて微調整することができます。 事前トレーニング済みモデルは、新しいモデルのトレーニングに使用される同じモデル タイプおよびバックボーン モデルでトレーニングされている必要があります。

File
合計制限時間 (時間)
(オプション)

AutoDL モデル トレーニングに使用する合計時間の制限を時間で示した値。 デフォルトは 2 時間です。

Double
AutoDL モード
(オプション)

使用される AutoDL モードおよび AutoDL の検索がどの程度徹底的に行われるかを指定します。

  • 基本基本モードが使用されます。 このモードは、ハイパーパラメーターの調整なしで選択したすべてのネットワークをトレーニングするために使用されます。
  • 高度な設定高度な設定モードが使用されます。 このモードは、上位 2 つの最善モデルでハイパーパラメーターの調整を実行するために使用されます。
String
ニューラル ネットワーク
(オプション)

モデルのトレーニングに使用するアーキテクチャを指定します。

デフォルトでは、すべてのネットワークが使用されます。

  • SingleShotDetectorSingleShotDetector アーキテクチャがモデルのトレーニングに使用されます。 SingleShotDetector の使用目的はオブジェクト検出です。
  • RetinaNetRetinaNet アーキテクチャがモデルのトレーニングに使用されます。 RetinaNet の使用目的はオブジェクト検出です。
  • FasterRCNNFasterRCNN アーキテクチャがモデルのトレーニングに使用されます。 FasterRCNN の使用目的はオブジェクト検出です。
  • YOLOv3YOLOv3 アーキテクチャがモデルのトレーニングに使用されます。 YOLOv3 の使用目的はオブジェクト検出です。
  • HRNetHRNet アーキテクチャがモデルのトレーニングに使用されます。 HRNet の使用目的はピクセル分類です。
  • ATSSATSS アーキテクチャがモデルのトレーニングに使用されます。 ATSS の使用目的はオブジェクト検出です。
  • CARAFECARAFE アーキテクチャがモデルのトレーニングに使用されます。 CARAFE の使用目的はオブジェクト検出です。
  • CascadeRCNNCascadeRCNN アーキテクチャがモデルのトレーニングに使用されます。 CascadeRCNN の使用目的はオブジェクト検出です。
  • CascadeRPNCascadeRPN アーキテクチャがモデルのトレーニングに使用されます。 CascadeRPN の使用目的はオブジェクト検出です。
  • DCNDCN アーキテクチャがモデルのトレーニングに使用されます。 DCN の使用目的はオブジェクト検出です。
  • DeepLabDeepLab アーキテクチャがモデルのトレーニングに使用されます。 DeepLab の使用目的はピクセル分類です。
  • UnetClassifierUnetClassifier アーキテクチャがモデルのトレーニングに使用されます。 UnetClassifier の使用目的はピクセル分類です。
  • PSPNetClassifierPSPNetClassifier アーキテクチャがモデルのトレーニングに使用されます。 PSPNetClassifier の使用目的はピクセル分類です。
  • ANNANN アーキテクチャがモデルのトレーニングに使用されます。 ANN の使用目的はピクセル分類です。
  • APCNetAPCNet アーキテクチャがモデルのトレーニングに使用されます。 APCNet の使用目的はピクセル分類です。
  • CCNetCCNet アーキテクチャがモデルのトレーニングに使用されます。 CCNet の使用目的はピクセル分類です。
  • CGNetCGNet アーキテクチャがモデルのトレーニングに使用されます。 CGNet の使用目的はピクセル分類です。
String
評価済みモデルの保存
(オプション)

すべての評価済みモデルを保存するかどうかを指定します。

  • オン - すべての評価済みモデルを保存します。
  • オフ - 最善モデルのみを保存します。 これがデフォルトです。
Boolean

派生した出力

ラベル説明データ タイプ
出力モデル ファイル

出力モデル ファイル。

File

arcpy.geoai.TrainUsingAutoDL(in_data, out_model, {pretrained_model}, {total_time_limit}, {autodl_mode}, {networks}, {save_evaluated_models})
名前説明データ タイプ
in_data

モデルのトレーニングに必要な画像チップ、ラベル、統計情報を含むフォルダー。 [ディープ ラーニング用のトレーニング データをエクスポート (Export Training Data For Deep Learning)] ツールからの出力です。 エクスポートされるデータのメタデータ形式は、Classified_Tiles、PASCAL_VOC_rectangles、または KITTI_rectangles のいずれかである必要があります。

Folder
out_model

ディープ ラーニング パッケージとして保存される出力トレーニング済みモデル (.dlpk ファイル)。

File
pretrained_model
(オプション)

新しいモデルの微調整に使用される事前トレーニング済みモデル。 入力は Esri モデル定義ファイル (.emd) またはディープ ラーニング パッケージ ファイル (.dlpk) です。

類似したクラスを持つ事前トレーニング済みモデルは、新しいモデルに合わせて微調整することができます。 事前トレーニング済みモデルは、新しいモデルのトレーニングに使用される同じモデル タイプおよびバックボーン モデルでトレーニングされている必要があります。

File
total_time_limit
(オプション)

AutoDL モデル トレーニングに使用する合計時間の制限を時間で示した値。 デフォルトは 2 時間です。

Double
autodl_mode
(オプション)

使用される AutoDL モードおよび AutoDL の検索がどの程度徹底的に行われるかを指定します。

  • BASIC基本モードが使用されます。 このモードは、ハイパーパラメーターの調整なしで選択したすべてのネットワークをトレーニングするために使用されます。
  • ADVANCED高度な設定モードが使用されます。 このモードは、上位 2 つの最善モデルでハイパーパラメーターの調整を実行するために使用されます。
String
networks
[networks,...]
(オプション)

モデルのトレーニングに使用するアーキテクチャを指定します。

  • SingleShotDetectorSingleShotDetector アーキテクチャがモデルのトレーニングに使用されます。 SingleShotDetector の使用目的はオブジェクト検出です。
  • RetinaNetRetinaNet アーキテクチャがモデルのトレーニングに使用されます。 RetinaNet の使用目的はオブジェクト検出です。
  • FasterRCNNFasterRCNN アーキテクチャがモデルのトレーニングに使用されます。 FasterRCNN の使用目的はオブジェクト検出です。
  • YOLOv3YOLOv3 アーキテクチャがモデルのトレーニングに使用されます。 YOLOv3 の使用目的はオブジェクト検出です。
  • HRNetHRNet アーキテクチャがモデルのトレーニングに使用されます。 HRNet の使用目的はピクセル分類です。
  • ATSSATSS アーキテクチャがモデルのトレーニングに使用されます。 ATSS の使用目的はオブジェクト検出です。
  • CARAFECARAFE アーキテクチャがモデルのトレーニングに使用されます。 CARAFE の使用目的はオブジェクト検出です。
  • CascadeRCNNCascadeRCNN アーキテクチャがモデルのトレーニングに使用されます。 CascadeRCNN の使用目的はオブジェクト検出です。
  • CascadeRPNCascadeRPN アーキテクチャがモデルのトレーニングに使用されます。 CascadeRPN の使用目的はオブジェクト検出です。
  • DCNDCN アーキテクチャがモデルのトレーニングに使用されます。 DCN の使用目的はオブジェクト検出です。
  • DeepLabDeepLab アーキテクチャがモデルのトレーニングに使用されます。 DeepLab の使用目的はピクセル分類です。
  • UnetClassifierUnetClassifier アーキテクチャがモデルのトレーニングに使用されます。 UnetClassifier の使用目的はピクセル分類です。
  • PSPNetClassifierPSPNetClassifier アーキテクチャがモデルのトレーニングに使用されます。 PSPNetClassifier の使用目的はピクセル分類です。
  • ANNANN アーキテクチャがモデルのトレーニングに使用されます。 ANN の使用目的はピクセル分類です。
  • APCNetAPCNet アーキテクチャがモデルのトレーニングに使用されます。 APCNet の使用目的はピクセル分類です。
  • CCNetCCNet アーキテクチャがモデルのトレーニングに使用されます。 CCNet の使用目的はピクセル分類です。
  • CGNetCGNet アーキテクチャがモデルのトレーニングに使用されます。 CGNet の使用目的はピクセル分類です。

デフォルトでは、すべてのネットワークが使用されます。

String
save_evaluated_models
(オプション)

すべての評価済みモデルを保存するかどうかを指定します。

  • SAVE_ALL_MODELSすべての評価済みモデルを保存します。
  • SAVE_BEST_MODEL最善モデルのみを保存します。 これがデフォルトです。
Boolean

派生した出力

名前説明データ タイプ
output_model_file

出力モデル ファイル。

File

コードのサンプル

TrainUsingAutoDL (Python ウィンドウ)

この例では、TrainUsingAutoDL 関数を使用する方法を示します。


# Name: TrainUsingAutoDL.py
# Description: Train a deep learning model on imagery data with
# automatic hyperparameter selection.
  
# Import system modules
import arcpy
import os

# Set local variables

datapath = "path_to_training_data" 
out_path = "path_to_trained_model"

out_model = os.path.join(out_path, "mymodel")

# Run Train Using AutoML Model
arcpy.geoai.TrainUsingAutoDL(
    datapath, out_model, None, 2, "BASIC", 
    ["ATSS", "DCN", "FasterRCNN", "RetinaNet", "SingleShotDetector", "YOLOv3"], 
    "SAVE_BEST_MODEL")

環境