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 の使用目的はピクセル分類です。
  • OCRNetOCRNet アーキテクチャがモデルのトレーニングに使用されます。 OCRNet の使用目的はピクセル分類です。
  • PSANetPSANet アーキテクチャがモデルのトレーニングに使用されます。 PSANet の使用目的はピクセル分類です。
  • SemFPNSemFPN アーキテクチャがモデルのトレーニングに使用されます。 SemFPN の使用目的はピクセル分類です。
  • UperNetUperNet アーキテクチャがモデルのトレーニングに使用されます。 UperNet の使用目的はピクセル分類です。
  • MaskRCNNMaskRCNN アーキテクチャがモデルのトレーニングに使用されます。 MaskRCNN の使用目的はオブジェクト検出です。
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 の使用目的はピクセル分類です。
  • OCRNetOCRNet アーキテクチャがモデルのトレーニングに使用されます。 OCRNet の使用目的はピクセル分類です。
  • PSANetPSANet アーキテクチャがモデルのトレーニングに使用されます。 PSANet の使用目的はピクセル分類です。
  • SemFPNSemFPN アーキテクチャがモデルのトレーニングに使用されます。 SemFPN の使用目的はピクセル分類です。
  • UperNetUperNet アーキテクチャがモデルのトレーニングに使用されます。 UperNet の使用目的はピクセル分類です。
  • MaskRCNNMaskRCNN アーキテクチャがモデルのトレーニングに使用されます。 MaskRCNN の使用目的はオブジェクト検出です。

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

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")

環境