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

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

サマリー

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

AutoDL の仕組みの詳細

使用法

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

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

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

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

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

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

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

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

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

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

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

パラメーター

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

モデルのトレーニングに必要な画像チップ、ラベル、統計情報を含むフォルダー。 [ディープ ラーニング用のトレーニング データをエクスポート (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 の使用目的はピクセル分類です。
  • DeepLabV3PlusDeepLabV3Plus アーキテクチャがモデルのトレーニングに使用されます。 DeepLabV3Plus の使用目的はピクセル分類です。
  • PSPNetClassifierPSPNetClassifier アーキテクチャがモデルのトレーニングに使用されます。 PSPNetClassifier の使用目的はピクセル分類です。
  • ANNANN アーキテクチャがモデルのトレーニングに使用されます。 ANN の使用目的はピクセル分類です。
  • APCNetAPCNet アーキテクチャがモデルのトレーニングに使用されます。 APCNet の使用目的はピクセル分類です。
  • CCNetCCNet アーキテクチャがモデルのトレーニングに使用されます。 CCNet の使用目的はピクセル分類です。
  • CGNetCGNet アーキテクチャがモデルのトレーニングに使用されます。 CGNet の使用目的はピクセル分類です。
  • DETRegDETReg アーキテクチャがモデルのトレーニングに使用されます。 DETReg はオブジェクト検出に使用されます。
  • DynamicRCNNDynamicRCNN アーキテクチャがモデルのトレーニングに使用されます。 DynamicRCNN の使用目的はオブジェクト検出です。
  • EmpiricalAttentionEmpiricalAttention アーキテクチャがモデルのトレーニングに使用されます。 EmpiricalAttention の使用目的はオブジェクト検出です。
  • FCOSFCOS アーキテクチャがモデルのトレーニングに使用されます。 FCOS の使用目的はオブジェクト検出です。
  • FoveaBoxFoveaBox アーキテクチャがモデルのトレーニングに使用されます。 FoveaBox の使用目的はオブジェクト検出です。
  • FSAFFSAF アーキテクチャがモデルのトレーニングに使用されます。 FSAF の使用目的はオブジェクト検出です。
  • GHMGHM アーキテクチャがモデルのトレーニングに使用されます。 GHM の使用目的はオブジェクト検出です。
  • LibraRCNNLibraRCNN アーキテクチャがモデルのトレーニングに使用されます。 LibraRCNN の使用目的はオブジェクト検出です。
  • PaFPNPaFPN アーキテクチャがモデルのトレーニングに使用されます。 PaFPN の使用目的はオブジェクト検出です。
  • Res2NetRes2Net アーキテクチャがモデルのトレーニングに使用されます。 Res2Net の使用目的はオブジェクト検出です。
  • SABLSABL アーキテクチャがモデルのトレーニングに使用されます。 SABL の使用目的はオブジェクト検出です。
  • VFNetVFNet アーキテクチャがモデルのトレーニングに使用されます。 VFNet の使用目的はオブジェクト検出です。
  • DMNetDMNet アーキテクチャがモデルのトレーニングに使用されます。 DMNet の使用目的はピクセル分類です。
  • DNLNetDNLNet アーキテクチャがモデルのトレーニングに使用されます。 DNLNet の使用目的はピクセル分類です。
  • FastSCNNFastSCNN アーキテクチャがモデルのトレーニングに使用されます。 FastSCNN の使用目的はピクセル分類です。
  • FCNFCN アーキテクチャがモデルのトレーニングに使用されます。 FCN の使用目的はピクセル分類です。
  • GCNetGCNet アーキテクチャがモデルのトレーニングに使用されます。 GCNet の使用目的はピクセル分類です。
  • MobileNetV2MobileNetV2 アーキテクチャがモデルのトレーニングに使用されます。 MobileNetV2 の使用目的はピクセル分類です。
  • NonLocalNetNonLocalNet アーキテクチャがモデルのトレーニングに使用されます。 NonLocalNet の使用目的はピクセル分類です。
  • OCRNetMask2Former アーキテクチャがモデルのトレーニングに使用されます。 Mask2Former の使用目的はピクセル分類です。
  • PSANetPSANet アーキテクチャがモデルのトレーニングに使用されます。 PSANet の使用目的はピクセル分類です。
  • SemFPNSemFPN アーキテクチャがモデルのトレーニングに使用されます。 SemFPN の使用目的はピクセル分類です。
  • UperNetUperNet アーキテクチャがモデルのトレーニングに使用されます。 UperNet の使用目的はピクセル分類です。
  • MaskRCNNMaskRCNN アーキテクチャがモデルのトレーニングに使用されます。 MaskRCNN の使用目的はオブジェクト検出です。
  • SamLoRASamLoRA アーキテクチャがモデルのトレーニングに使用されます。 SamLoRA の使用目的はピクセル分類です。
  • RTDetrV2RTDetrV2 アーキテクチャがモデルのトレーニングに使用されます。 RTDetrV2 の使用目的はオブジェクト検出です。
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 の使用目的はピクセル分類です。
  • DeepLabV3PlusDeepLabV3Plus アーキテクチャがモデルのトレーニングに使用されます。 DeepLabV3Plus の使用目的はピクセル分類です。
  • PSPNetClassifierPSPNetClassifier アーキテクチャがモデルのトレーニングに使用されます。 PSPNetClassifier の使用目的はピクセル分類です。
  • ANNANN アーキテクチャがモデルのトレーニングに使用されます。 ANN の使用目的はピクセル分類です。
  • APCNetAPCNet アーキテクチャがモデルのトレーニングに使用されます。 APCNet の使用目的はピクセル分類です。
  • CCNetCCNet アーキテクチャがモデルのトレーニングに使用されます。 CCNet の使用目的はピクセル分類です。
  • CGNetCGNet アーキテクチャがモデルのトレーニングに使用されます。 CGNet の使用目的はピクセル分類です。
  • DETRegDETReg アーキテクチャがモデルのトレーニングに使用されます。 DETReg はオブジェクト検出に使用されます。
  • DynamicRCNNDynamicRCNN アーキテクチャがモデルのトレーニングに使用されます。 DynamicRCNN の使用目的はオブジェクト検出です。
  • EmpiricalAttentionEmpiricalAttention アーキテクチャがモデルのトレーニングに使用されます。 EmpiricalAttention の使用目的はオブジェクト検出です。
  • FCOSFCOS アーキテクチャがモデルのトレーニングに使用されます。 FCOS の使用目的はオブジェクト検出です。
  • FoveaBoxFoveaBox アーキテクチャがモデルのトレーニングに使用されます。 FoveaBox の使用目的はオブジェクト検出です。
  • FSAFFSAF アーキテクチャがモデルのトレーニングに使用されます。 FSAF の使用目的はオブジェクト検出です。
  • GHMGHM アーキテクチャがモデルのトレーニングに使用されます。 GHM の使用目的はオブジェクト検出です。
  • LibraRCNNLibraRCNN アーキテクチャがモデルのトレーニングに使用されます。 LibraRCNN の使用目的はオブジェクト検出です。
  • PaFPNPaFPN アーキテクチャがモデルのトレーニングに使用されます。 PaFPN の使用目的はオブジェクト検出です。
  • Res2NetRes2Net アーキテクチャがモデルのトレーニングに使用されます。 Res2Net の使用目的はオブジェクト検出です。
  • SABLSABL アーキテクチャがモデルのトレーニングに使用されます。 SABL の使用目的はオブジェクト検出です。
  • VFNetVFNet アーキテクチャがモデルのトレーニングに使用されます。 VFNet の使用目的はオブジェクト検出です。
  • DMNetDMNet アーキテクチャがモデルのトレーニングに使用されます。 DMNet の使用目的はピクセル分類です。
  • DNLNetDNLNet アーキテクチャがモデルのトレーニングに使用されます。 DNLNet の使用目的はピクセル分類です。
  • FastSCNNFastSCNN アーキテクチャがモデルのトレーニングに使用されます。 FastSCNN の使用目的はピクセル分類です。
  • FCNFCN アーキテクチャがモデルのトレーニングに使用されます。 FCN の使用目的はピクセル分類です。
  • GCNetGCNet アーキテクチャがモデルのトレーニングに使用されます。 GCNet の使用目的はピクセル分類です。
  • MobileNetV2MobileNetV2 アーキテクチャがモデルのトレーニングに使用されます。 MobileNetV2 の使用目的はピクセル分類です。
  • NonLocalNetNonLocalNet アーキテクチャがモデルのトレーニングに使用されます。 NonLocalNet の使用目的はピクセル分類です。
  • Mask2FormerMask2Former アーキテクチャがモデルのトレーニングに使用されます。 Mask2Former の使用目的はピクセル分類です。
  • PSANetPSANet アーキテクチャがモデルのトレーニングに使用されます。 PSANet の使用目的はピクセル分類です。
  • SemFPNSemFPN アーキテクチャがモデルのトレーニングに使用されます。 SemFPN の使用目的はピクセル分類です。
  • UperNetUperNet アーキテクチャがモデルのトレーニングに使用されます。 UperNet の使用目的はピクセル分類です。
  • MaskRCNNMaskRCNN アーキテクチャがモデルのトレーニングに使用されます。 MaskRCNN の使用目的はオブジェクト検出です。
  • SamLoRASamLoRA アーキテクチャがモデルのトレーニングに使用されます。 SamLoRA の使用目的はピクセル分類です。
  • RTDetrV2RTDetrV2 アーキテクチャがモデルのトレーニングに使用されます。 RTDetrV2 の使用目的はオブジェクト検出です。

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

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 AutoDL Model
arcpy.geoai.TrainUsingAutoDL(
    datapath, out_model, None, 2, "BASIC", 
    ["ATSS", "DCN", "FasterRCNN", "RetinaNet", "SingleShotDetector", "YOLOv3"], 
    "SAVE_BEST_MODEL")

環境