ディープ ラーニング モデルのトレーニング (Train Deep Learning Model) (Image Analyst)

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

サマリー

[ディープ ラーニング用のトレーニング データをエクスポート (Export Training Data For Deep Learning)] ツールからの出力を使用してディープ ラーニング モデルをトレーニングします。

使用法

  • このツールは、ディープ ラーニング フレームワークを使用するディープ ラーニング モデルです。

  • ArcGIS AllSource のディープ ラーニング フレームワークを使用するようにコンピューターを設定するには、「ArcGIS 用のディープ ラーニング フレームワークのインストール」をご参照ください。

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

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

  • GPU を使用してこのツールを実行するには、プロセッサー タイプ環境を [GPU] に設定します。 複数の GPU がある場合は、代わりに GPU ID 環境を指定します。

  • デフォルトでは、このツールでは、[モデル タイプ] パラメーターが以下のいずれかに設定された場合、使用可能なすべての GPU が使用されます。

    • ConnectNet
    • フィーチャ分類器
    • MaskRCNN
    • Multi Task Road Extractor
    • シングル ショット検出器
    • U-Net

    特定の GPU を使用するには、GPU ID 環境を使用します。

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

  • トレーニング データと同じフォルダーに格納されている transforms.json ファイルを使用して、トレーニング データセットと検証データセットのデータ拡張のための fastai の変換を指定します。 以下は、transforms.json ファイルの例です。

    カスタム拡張パラメーター

    
    {
        "Training": {
            "rotate": {
                "degrees": 30,
                "p": 0.5
            },
            "crop": {
                "size": 224,
                "p": 1,
                "row_pct": "0, 1",
                "col_pct": "0, 1"
            },
            "brightness": {
                "change": "0.4, 0.6"
            },
            "contrast": {
                "scale": "1.0, 1.5"
            },
            "rand_zoom": {
                "scale": "1, 1.2"
            }
        },
        "Validation": {
            "crop": {
                "size": 224,
                "p": 1.0,
                "row_pct": 0.5,
                "col_pct": 0.5
            }
        }
    }

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

  • ディープ ラーニングの詳細については、「ArcGIS AllSource のディープ ラーニング」をご参照ください。

パラメーター

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

モデルのトレーニングに必要な画像チップ、ラベル、統計情報を含むフォルダー。 [ディープ ラーニング用のトレーニング データをエクスポート (Export Training Data For Deep Learning)] ツールからの出力です。

次の条件を満たしている場合は複数の入力フォルダーがサポートされます。

  • メタデータの形式タイプは、分類済みタイル、ラベル付きタイル、複数ラベル付きタイル、Pascal Visual Object Classes、または RCNN マスクである必要があります。
  • すべてのトレーニング データのメタデータ形式が同じになっている必要があります。
  • すべてのトレーニング データでバンドの数が同じになっている必要があります。
  • すべてのトレーニング データでタイル サイズが同じになっている必要があります。

Folder
出力フォルダー

トレーニング済みモデルが格納される出力フォルダーの場所。

Folder
最大エポック
(オプション)

モデルをトレーニングする場合の対象となるエポックの最大数。 最大エポックを 1 に設定すると、データセットがニューラル ネットワークを通って前後に 1 回渡されます。 デフォルト値は 20 です。

Long
モデル タイプ
(オプション)

ディープ ラーニング モデルのトレーニングに使用されるモデル タイプを指定します。

  • BDCN Edge Detector (ピクセル分類)BDCN (Bi-Directional Cascade Network) アーキテクチャがモデルのトレーニングに使用されます。 BDCN Edge Detector の使用目的はピクセル分類です。 この手法は、さまざまな縮尺でオブジェクトのエッジ検出を改善するのに便利です。
  • 変化検出器 (ピクセル分類)変化検出器アーキテクチャがモデルのトレーニングに使用されます。 変化検出器の使用目的はピクセル分類です。 この手法は、2 つの空間的、時間的な画像を使用して変化の分類ラスターを作成するモデル オブジェクトを作成します。 このモデル タイプの入力トレーニング データは、Classified Tiles メタデータ形式を使用します。
  • ConnectNet (ピクセル分類)ConnectNet アーキテクチャがモデルのトレーニングに使用されます。 ConnectNet の使用目的はピクセル分類です。 この手法は、衛星画像から道路網を抽出するのに便利です。
  • CycleGAN (画像変換)CycleGAN アーキテクチャがモデルのトレーニングに使用されます。 CycleGAN は画像間変換に使用されます。 この手法は、あるタイプの画像から別のタイプの画像を生成するモデル オブジェクトを作成します。 この手法は、トレーニングする画像が重なっている必要がない点で独特です。 このモデル タイプの入力トレーニング データは、CycleGAN メタデータ形式を使用します。
  • DeepLabV3 (ピクセル分類)DeepLabV3 アーキテクチャがモデルのトレーニングに使用されます。 DeepLab の使用目的はピクセル分類です。
  • Deep Sort (オブジェクト追跡)Deep Sort アーキテクチャがモデルのトレーニングに使用されます。 動画のオブジェクト検出には Deep Sort が使用されます。 動画のフレームを使用してモデルのトレーニングが行われ、各フレームのオブジェクトのクラスと境界四角形が検出されます。 このモデル タイプの入力トレーニング データは、Imagenet メタデータ形式を使用します。 Siam Mask はオブジェクトを追跡するときに便利です。一方、Deep Sort は複数のオブジェクトを追跡するモデルをトレーニングするのに便利です。
  • DETReg (オブジェクト検出)DETReg アーキテクチャがモデルのトレーニングに使用されます。 DETReg はオブジェクト検出に使用されます。 このモデル タイプの入力トレーニング データは、Pascal Visual Object Classes を使用します。 このモデル タイプは GPU の負荷が高くなります。正しく動作させるには、専用 GPU と 16 GB 以上のメモリが必要です。
  • FasterRCNN (オブジェクト検出)FasterRCNN アーキテクチャがモデルのトレーニングに使用されます。 FasterRCNN の使用目的はオブジェクト検出です。
  • フィーチャ分類器 (オブジェクト分類)フィーチャ分類器アーキテクチャがモデルのトレーニングに使用されます。 フィーチャ分類器がオブジェクトまたは画像の分類に使用されます。
  • HED Edge Detector (ピクセル分類)HED (Holistically-Nested Edge Detection) アーキテクチャがモデルのトレーニングに使用されます。 HED Edge Detector の使用目的はピクセル分類です。 この方法は、エッジとオブジェクト境界の検出に便利です。
  • 画像キャプショナー (画像変換)画像キャプショナー アーキテクチャがモデルのトレーニングに使用されます。 画像キャプショナーの使用目的は画像からテキストへの変換です。 この手法は、ある画像のテキスト キャプションを生成するモデルを作成します。
  • MaskRCNN (オブジェクト検出)MaskRCNN アーキテクチャがモデルのトレーニングに使用されます。 MaskRCNN の使用目的はオブジェクト検出です。 この手法は、インスタンス セグメンテーション (つまり、画像内のオブジェクトの正確な描写) に使用できます。 このモデル タイプを使用して、建物フットプリントを検出することができます。 トレーニング データを入力データにする場合は、MaskRCNN メタ形式を使用します。 入力トレーニング データのクラス値は、1 で始める必要があります。 このモデル タイプは、CUDA 対応 GPU を使用する場合にのみトレーニングできます。
  • MaX-DeepLab (パノプティック セグメンテーション)MaX-DeepLab アーキテクチャがモデルのトレーニングに使用されます。 MaX-DeepLab はパノプティック セグメンテーションで使用されます。 この手法は、画像とフィーチャを生成するモデル オブジェクトを作成します。 このモデル タイプの入力トレーニング データではパノプティック セグメンテーション メタデータ形式を使用します。
  • MMDetection (オブジェクト検出)MMDetection アーキテクチャがモデルのトレーニングに使用されます。 MMDetection がオブジェクト検出に使用されます。 サポートされているメタデータ形式は Pascal Visual Object Class と KITTI の四角形です。
  • MMSegmentation (ピクセル分類)MMSegmentation アーキテクチャがモデルのトレーニングに使用されます。 MMSegmentation の使用目的はピクセル分類です。 サポートされているメタデータ形式は分類済みタイルです。
  • Multi Task Road Extractor (ピクセル分類)Multi Task Road Extractor アーキテクチャがモデルのトレーニングに使用されます。 Multi Task Road Extractor の使用目的はピクセル分類です。 この手法は、衛星画像から道路網を抽出するのに便利です。
  • Pix2Pix (画像変換)Pix2Pix アーキテクチャがモデルのトレーニングに使用されます。 Pix2Pix は、画像間変換に使用されます。 この手法は、あるタイプの画像から別のタイプの画像を生成するモデル オブジェクトを作成します。 このモデル タイプの入力トレーニング データは、Export Tiles メタデータ形式を使用します。
  • Pix2PixHD (画像変換)Pix2PixHD アーキテクチャがモデルのトレーニングに使用されます。 Pix2PixHD が画像間変換に使用されます。 この手法は、あるタイプの画像から別のタイプの画像を生成するモデル オブジェクトを作成します。 このモデル タイプの入力トレーニング データは、Export Tiles メタデータ形式を使用します。
  • PSETAE (ピクセル分類)Pixel-Set Encoders and Temporal Self-Attentionn (PSETAE) アーキテクチャが時系列分類用モデルのトレーニングに使用されます。 PSETAE の使用目的はピクセル分類です。 この手法で使用される事前データは多次元データです。
  • ピラミッド型解析ネットワーク (ピクセル分類)ピラミッド型解析ネットワーク (PSPNET) アーキテクチャがモデルのトレーニングに使用されます。 PSPNET の使用目的はピクセル分類です。
  • RetinaNet (オブジェクト検出)RetinaNet アーキテクチャがモデルのトレーニングに使用されます。 RetinaNet の使用目的はオブジェクト検出です。 このモデル タイプの入力トレーニング データは、Pascal Visual Object Classes メタデータ形式を使用します。
  • SAMLoRA (ピクセル分類)Low Rank Adaption (LoRA) による Segment Anything Model (SAM) は、モデルのトレーニングに使用されます。 このモデル タイプは、Segment Anything Model (SAM) を基礎モデルとして使用し、比較的低い演算要件と小さなデータセットの特定のタスクに合わせて微調整します。
  • Siam Mask (オブジェクト追跡)Siam Mask アーキテクチャがモデルのトレーニングに使用されます。 動画のオブジェクト検出には Siam Mask が使用されます。 動画のフレームを使用してモデルのトレーニングが行われ、各フレームのオブジェクトのクラスと境界四角形が検出されます。 このモデル タイプの入力トレーニング データでは MaskRCNN メタデータ形式を使用します。
  • シングル ショット検出器 (オブジェクト検出)シングル ショット検出器 (SSD) アーキテクチャがモデルのトレーニングに使用されます。 SSD の使用目的はオブジェクト検出です。 このモデル タイプの入力トレーニング データは、Pascal Visual Object Classes メタデータ形式を使用します。
  • 超解像 (画像変換)超解像アーキテクチャがモデルのトレーニングに使用されます。 超解像は画像間変換に使用されます。 この手法は、解像度を上げて画像の品質を高めるモデル オブジェクトを作成します。 このモデル タイプの入力トレーニング データは、Export Tiles メタデータ形式を使用します。
  • U-Net (ピクセル分類)U-Net アーキテクチャがモデルのトレーニングに使用されます。 U-Net の使用目的はピクセル分類です。
  • YOLOv3 (オブジェクト検出)YOLOv3 アーキテクチャがモデルのトレーニングに使用されます。 YOLOv3 の使用目的はオブジェクト検出です。
String
バッチ サイズ
(オプション)

1 回のトレーニングで処理されるトレーニング サンプルの数。

バッチ サイズを大きくすると、ツールのパフォーマンスが向上しますが、バッチ サイズが増加するにつれて、使用されるメモリ量が増加します。

設定されたバッチ サイズに対して GPU メモリが足りない場合、ツールが最適なバッチ サイズを計算して使用するよう試みます。 メモリ不足エラーが発生した場合は、より小さなバッチ サイズを使用してください。

Long
モデル引数
(オプション)

[モデル タイプ] パラメーターの情報は、このパラメーターに値を取り込むために使用されます。 これらの引数はモデル アーキテクチャによって異なります。 ArcGIS でトレーニングされるモデルのサポート対象モデル引数を以下で説明します。 ArcGIS 事前トレーニング済みモデルとカスタム ディープ ラーニング モデルでは、このツールでサポートされている追加の引数を利用できることがあります。

各モデル タイプで使用できる引数の詳細については、「ディープ ラーニングの引数」をご参照ください。

  • [attention_type] - モジュール タイプを指定します。 モジュール オプションは [PAM] (Pyramid Attention Module) または [BAM] (Basic Attention Module) です。 デフォルトは [PAM] です。
  • [attn_res] - 残差ブロック内のアテンションの数。 これはオプションの整数値です。 デフォルトは 16 です。 この引数は、[バックボーン モデル] パラメーター値が [SR3] の場合のみサポートされます。
  • [channel_mults] - U-Net での後続の解像度のためのオプションの深度乗数。 デフォルトは 1、2、4、4、8、8 です。 この引数は、[バックボーン モデル] パラメーター値が [SR3] の場合のみサポートされます。
  • [class_balancing] - クラスあたりのピクセルの頻度に逆比例する交差エントロピー誤差のバランスを調整するかどうかを指定します。 デフォルトは [False] です。
  • [decode_params] - 画像キャプショナーの実行方法を制御するディクショナリです。 デフォルト値は {'embed_size':100, 'hidden_size':100, 'attention_size':100, 'teacher_forcing':1, 'dropout':0.1, 'pretrained_emb':False} です。 [decode_params] 引数は、以下のパラメーターで構成されています。
    • [embed_size] - 埋め込みサイズ。 ニューラル ネットワークにおけるデフォルトは 100 レイヤーです。
    • [hidden_size] - 非表示レイヤーのサイズ。 ニューラル ネットワークにおけるデフォルトは 100 レイヤーです。
    • [attention_size] - 中間アテンション レイヤーのサイズ。 ニューラル ネットワークにおけるデフォルトは 100 レイヤーです。
    • [teacher_forcing] - 教師あり強制の確率。 Teacher Forcing はリカレント ニューラル ネットワークのトレーニング戦略です。 バック プロパゲーション時に、前の出力ではなく、前の時間ステップから出力されたモデルを入力として使用します。 有効な範囲は 0.0 ~ 1.0 です。 デフォルトは 1 です。
    • [dropout] - ドロップアウト率。 有効な範囲は 0.0 ~ 1.0 です。 デフォルトは 0.1 です。
    • [pretrained_emb] - 事前トレーニング済みの埋め込みフラグを指定します。 [True] の場合、高速のテキスト埋め込みを使用します。 [False] の場合、事前トレーニング済みのテキスト埋め込みを使用しません。 デフォルトは [False] です。
  • [dropout] - ドロップアウトのオプションの浮動小数点値。 デフォルトは 0 です。 この引数は、[バックボーン モデル] パラメーター値が [SR3] の場合のみサポートされます。
  • [focal_loss] - 焦点損失を使用するかどうかを指定します。 デフォルトは [False] です。
  • [gaussian_thresh] - 必要な道幅を設定するガウス閾値。 有効な範囲は 0.0 ~ 1.0 です。 デフォルト値は 0.76 です。
  • [grids] - 処理中に画像が分割されるグリッドの数です。 たとえば、この引数を 4 に設定すると、画像が 4 x 4、つまり 16 個のグリッド セルに分割されます。 値が指定されない場合は、入力イメージに基づいて最適なグリッド値が計算されます。
  • [ignore_classes] - モデルで損失が発生しないクラス値のリスト。
  • [inner_channel] - inner_channel 値は、最初の U-net レイヤーのディメンションです。 これはオプションの整数値です。 デフォルトは 64 です。 この引数は、[バックボーン モデル] パラメーター値が [SR3] の場合のみサポートされます。
  • [linear_start] - 開始をスケジュール設定するためのオプションの整数。 デフォルトは 1e-02 です。 この引数は、[バックボーン モデル] パラメーター値が [SR3] の場合のみサポートされます。
  • [linear_end] - 終了をスケジュール設定するためのオプションの整数。 デフォルトは 1e-06 です。 この引数は、[バックボーン モデル] パラメーター値が [SR3] の場合のみサポートされます。
  • [model] - モデルのトレーニングに使用されるバックボーン モデル。 どのバックボーンを使用できるかは、[モデル タイプ] パラメーターの値によります。 MMDetection のデフォルトは cascade_rcnn です。 MMSegmentation のデフォルトは deeplabv3 です。
  • [model_weight] - 事前トレーニング済みモデルの加重を使用するかどうかを指定します。 デフォルトは [False] です。 この値は、モデルのウェイトを含む構成ファイルへの、MMDetection リポジトリまたは MMSegmentation リポジトリからのパスにすることもできます。
  • [monitor] - チェックポイントでのチェックと早期停止の最中にモニタリングするメトリックを指定します。 どの指標を使用できるかは、[モデル タイプ] パラメーターの値によります。 デフォルトは [valid_loss] です。
  • [mtl_model] - モデルの作成に使用されるアーキテクチャ タイプを指定します。 選択肢は LinkNet ベースのニューラル アーキテクチャを示す [linknet] と Hourglass ベースのニューラル アーキテクチャを示す [hourglass] です。 デフォルトは [hourglass] です。
  • [n_timestep] - 拡散時間ステップ数のオプションの値。 デフォルトは 1000 です。 この引数は、[バックボーン モデル] パラメーター値が [SR3] の場合のみサポートされます。
  • [norm_groups] - グループ正規化のグループ数。 これはオプションの整数値です。 デフォルトは 32 です。 この引数は、[バックボーン モデル] パラメーター値が [SR3] の場合のみサポートされます。
  • [orient_bin_size] - 方位角のビン サイズ。 デフォルトは 20 です。
  • [orient_theta] - 方位マスクの幅。 デフォルトは 8 です。
  • [pyramid_sizes] - それぞれの小区域に適用される畳み込みレイヤーの数とサイズです。 デフォルト値は [1,2,3,6] です。 この引数は、ピラミッド型解析ネットワーク モデルに固有のものです。
  • [ratios] - アンカー ボックスで使用する縦横比のリストです。 オブジェクト検出を行う場合、アンカー ボックスは予測対象のオブジェクトに最適な位置、形状、サイズを表します。 たとえば、この引数を [1.0, 1.0]、[1.0, 0.5] に設定すると、アンカー ボックスが正方形 (1:1) になるか、水平側が鉛直側の半分の長方形 (1:0.5) になります。 RetinaNet のデフォルトは [0.5,1,2] です。 シングル ショット検出器のデフォルトは [1.0, 1.0] です。
  • [res_blocks] - 残差ブロックの数。 これはオプションの整数値です。 デフォルトは 3 です。 この引数は、[バックボーン モデル] パラメーター値が [SR3] の場合のみサポートされます。
  • [scales] - 各セルが拡大/縮小される縮尺レベルの数です。 デフォルト値は [1, 0.8, 0.63] です。
  • [schedule] - 必要に応じて、使用するスケジュールのタイプを設定します。 使用可能なオプションは、[リニア][warmup10][warmup50][定数][jsd][余弦] です。 デフォルトは [リニア] です。 この引数は、[バックボーン モデル] パラメーター値が [SR3] の場合のみサポートされます。
  • [use_net] - U-Net デコーダーを使用して、ピラミッド プーリングが完了した時点でデータを復旧するかどうかを指定します。 デフォルトは [True] です。 この引数は、ピラミッド型解析ネットワーク モデルに固有のものです。
  • [zooms] - 各グリッド セルが拡大/縮小されるズーム レベルの数です。 この引数を 1 に設定すると、すべてのグリッド セルが同じサイズまたはズーム レベルで維持されます。 ズーム レベルが 2 の場合は、すべてのグリッド セルが 2 倍の大きさになります (100 パーセントでズームされる)。 ズーム レベルのリストを指定すると、そのリスト内のすべての数値を使用して、すべてのグリッド セルが拡大/縮小されます。 デフォルトは 1 です。
Value Table
学習率
(オプション)

トレーニング処理全体で、既存の情報を新たに取得した情報に上書きする割合。 値を指定しないと、トレーニング プロセス中に最適な学習率が学習曲線から抽出されます。

Double
バックボーン モデル
(オプション)

新しいモデルをトレーニングするアーキテクチャとして使用する、事前構成済みのニューラル ネットワークを指定します。 この方法は「転移学習」と呼ばれます。

また、たとえば timm:resnet31、timm:inception_v4、timm:efficientnet_b3 などのように timm を接頭辞として使用することで、PyTorch Image Models (timm) でサポートされている畳み込みニューラル ネットワークを指定できます。

  • DenseNet-121構成済みモデルは、100 万を超える画像が含まれており、深さが 121 個のレイヤーである Imagenet データセット上でトレーニングされた高密度のネットワークになります。 加算を使用してレイヤーを結合する ResNET とは異なり、DenseNet は連結を使用してレイヤーを結合します。
  • DenseNet-161構成済みモデルは、100 万を超える画像が含まれており、深さが 161 個のレイヤーである Imagenet データセット上でトレーニングされた高密度のネットワークになります。 加算を使用してレイヤーを結合する ResNET とは異なり、DenseNet は連結を使用してレイヤーを結合します。
  • DenseNet-169構成済みモデルは、100 万を超える画像が含まれており、深さが 169 個のレイヤーである Imagenet データセット上でトレーニングされた高密度のネットワークになります。 加算を使用してレイヤーを結合する ResNET とは異なり、DenseNet は連結を使用してレイヤーを結合します。
  • DenseNet-201構成済みモデルは、100 万を超える画像が含まれており、深さが 201 個のレイヤーである Imagenet データセット上でトレーニングされた高密度のネットワークになります。 加算を使用してレイヤーを結合する ResNET とは異なり、DenseNet は連結を使用してレイヤーを結合します。
  • MobileNet バージョン 2事前構成済みモデルは、Imagenet データベースでトレーニングされます。深さは 54 層で、メモリの使用量が少ないのでエッジ デバイス コンピューティングに適しています。
  • ResNet-18事前構成済みのモデルは、Imagenet データセットでトレーニングされる残留ネットワークです。このネットワークには 100 万以上の画像が含まれ、18 層の深さがあります。
  • ResNet-34事前構成済みのモデルは、Imagenet データセットでトレーニングされる残留ネットワークです。このネットワークには 100 万以上の画像が含まれ、34 層の深さがあります。 これがデフォルトです。
  • ResNet-50事前構成済みのモデルは、Imagenet データセットでトレーニングされる残留ネットワークです。このネットワークには 100 万以上の画像が含まれ、50 層の深さがあります。
  • ResNet-101事前構成済みのモデルは、Imagenet データセットでトレーニングされる残留ネットワークです。このネットワークには 100 万以上の画像が含まれ、101 層の深さがあります。
  • ResNet-152事前構成済みのモデルは、Imagenet データセットでトレーニングされる残留ネットワークです。このネットワークには 100 万以上の画像が含まれ、152 層の深さがあります。
  • VGG-11事前構成済みのモデルは、Imagenet データセットでトレーニングされるたたみ込みニューラル ネットワークです。このネットワークには 100 万以上の画像が含まれ、画像を 1,000 のオブジェクト カテゴリに分類し、11 層の深さがあります。
  • VGG-11 (バッチ正規化あり)事前構成済みモデルは VGG ネットワークに基づきますが、バッチ正規化が使用されているため、ネットワークの各層が正規化されています。 Imagenet データセットでトレーニングされ、11 層の深さがあります。
  • VGG-13事前構成済みのモデルは、Imagenet データセットでトレーニングされるたたみ込みニューラル ネットワークです。このネットワークには 100 万以上の画像が含まれ、画像を 1,000 のオブジェクト カテゴリに分類し、13 層の深さがあります。
  • VGG-13 (バッチ正規化あり)事前構成済みモデルは VGG ネットワークに基づきますが、バッチ正規化が使用されているため、ネットワークの各層が正規化されています。 Imagenet データセットでトレーニングされ、13 層の深さがあります。
  • VGG-16事前構成済みのモデルは、Imagenet データセットでトレーニングされるたたみ込みニューラル ネットワークです。このネットワークには 100 万以上の画像が含まれ、画像を 1,000 のオブジェクト カテゴリに分類し、16 層の深さがあります。
  • VGG-16 (バッチ正規化あり)事前構成済みモデルは VGG ネットワークに基づきますが、バッチ正規化が使用されているため、ネットワークの各層が正規化されています。 Imagenet データセットでトレーニングされ、16 層の深さがあります。
  • VGG-19事前構成済みのモデルは、Imagenet データセットでトレーニングされるたたみ込みニューラル ネットワークです。このネットワークには 100 万以上の画像が含まれ、画像を 1,000 のオブジェクト カテゴリに分類し、19 層の深さがあります。
  • VGG-19 (バッチ正規化あり)事前構成済みモデルは VGG ネットワークに基づきますが、バッチ正規化が使用されているため、ネットワークの各層が正規化されています。 Imagenet データセットでトレーニングされ、19 層の深さがあります。
  • DarkNet-53構成済みモデルは、100 万を超える画像が含まれており、深さが 53 個のレイヤーである Imagenet データセット上でトレーニングされた畳み込みニューラル ネットワークになります。
  • Reid_v1事前構成済みモデルは、Imagenet データセット上でトレーニングされる畳み込みニューラル ネットワークであり、オブジェクトの追跡に使用されます。
  • Reid_v2事前構成済みモデルは、Imagenet データセット上でトレーニングされる畳み込みニューラル ネットワークであり、オブジェクトの追跡に使用されます。
  • ResNeXt-50事前構成済みモデルは、Imagenet データセット上でトレーニングされる畳み込みニューラル ネットワークであり、深さは 50 層です。 これは同質のニューラル ネットワークであり、従来の ResNet により求められるハイパーパラメーターの数が削減されます。
  • Wide ResNet-50事前構成済みモデルは、Imagenet データセット上でトレーニングされる畳み込みニューラル ネットワークであり、深さは 50 層です。 アーキテクチャは ResNet と同じですが、より多くのチャンネルがあります。
  • SR3事前構成済みモデルは、Super Resolution via Repeated Refinement (SR3) モデルを使用します。 SR3 は、ノイズ除去拡散確率論的モデルを条件付き画像生成に適応させ、確率論的ノイズ除去プロセスを通じて超解像度を実行します。 詳細については、「Image Super-Resolution via Iterative Refinement」をご参照ください。
  • ViT-B事前構成済みの Segment Anything Model (SAM) は、基本のニューラル ネットワーク サイズで使用されます。 これが最小のサイズです。 詳細については、「Segment Anything」をご参照ください。
  • ViT-L事前構成済みの Segment Anything Model (SAM) は、大きなニューラル ネットワーク サイズで使用されます。 詳細については、「Segment Anything」をご参照ください。
  • ViT-H事前構成済みの Segment Anything Model (SAM) は、非常に大きなニューラル ネットワーク サイズで使用されます。 これが最大のサイズです。 詳細については、「Segment Anything」をご参照ください。
String
事前トレーニング済みモデル
(オプション)

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

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

File
検証 %
(オプション)

モデルの検証に使用するトレーニング サンプルの割合。 デフォルト値は 10 です。

Double
モデルの改善が見込めなくなった時点で停止
(オプション)

早期停止を実施するかどうかを指定します。

  • オン - 早期停止が実施され、指定した [最大エポック] パラメーター値にかかわらず、モデルの改善がなくなった時点でモデルのトレーニングを停止します。 これがデフォルトです。
  • オフ - 早期停止は実施されず、[最大エポック] パラメーター値に到達するまで、モデルのトレーニングが続行されます。
Boolean
モデルの固定
(オプション)

事前トレーニング済みモデルのバックボーン レイヤーを固定するかどうかを指定します。これにより、加重とバイアスが本来の設計どおりになります。

  • オン - バックボーン レイヤーが固定され、事前定義済みの加重とバイアスを [バックボーン モデル] パラメーターで変更しません。 これがデフォルトです。
  • オフ - バックボーン レイヤーは固定されず、[バックボーン モデル] パラメーターの加重とバイアスを、トレーニング サンプルに合わせて変更できます。 この処理には時間がかかりますが、通常は優れた結果が得られます。

Boolean
データ拡張
(オプション)

使用されるデータ拡張のタイプを指定します。

データ拡張は、既存のデータを使用してデータセットの変更済みコピーを作成することで人為的にトレーニング セットを増やす手法です。

  • デフォルトデフォルトのデータ拡張手法とデフォルト値が使用されます。デフォルトのデータ拡張手法は、cropdihedral_affinebrightnesscontrastzoom です。 これらのデフォルト値は通常、衛星画像に適しています。
  • なしデータ拡張は使用されません。
  • カスタムデータ拡張値は、[拡張パラメーター] パラメーターを使用して指定されます。
  • ファイルトレーニング データセットと検証データセットのデータ拡張のための fastai の変換は、トレーニング データと同じフォルダーに格納されている transforms.json ファイルを使用して指定されます。さまざまな変換に関する詳細については、fastai の Web サイトの視覚変換をご参照ください。
String
拡張パラメーター
(オプション)

拡張パラメーター内の各変換の値を指定します。

  • rotate - 画像は、確率 (p) の分だけ無作為に (角度単位で) 回転します。 角度が範囲 (a,b) の場合、値は、a から b の範囲で均等に割り当てられます。 デフォルト値は 30.0; 0.5 です。
  • brightness - 画像の明るさは、確率 (p) を適用して、変化の値に応じて無作為に調整されます。 変化が 0 の場合は画像が最も暗くなり、変化が 1 の場合は画像が最も明るくなります。 変化が 0.5 の場合は、明るさは調整されません。 変化が範囲 (a,b) の場合、拡張によって a から b の範囲の値が均等に割り当てられます。 デフォルト値は (0.4,0.6); 1.0 です。
  • contrast - 画像のコントラストは、確率 (p) を適用して、スケールの値に応じて無作為に調整されます。 スケールが 0 の場合は画像がグレー スケールになり、スケールが 1 より大きい場合は画像がスーパーコントラストになります。 スケールが 1 の場合は、コントラストが調整されません。 スケールが範囲 (a,b) の場合、拡張によって a から b の範囲の値が均等に割り当てられます。 デフォルト値は (0.75, 1.5); 1.0 です。
  • zoom - 画像がスケールの値に応じて無作為にズーム インされます。 ズームの値は、scale(a,b); p の形式を取ります。 デフォルト値は (1.0, 1.2); 1.0 で、p は確率です。 スケールが 1.0 を超える場合のみ、画像のズーム インが行われます。 スケールが範囲 (a,b) の場合は、a から b の範囲の値が均等に割り当てられます。
  • crop - 画像が無作為にトリミングされます。 トリミングの値は、size;p;row_pct;col_pct の形式を取り、p は確率を表します。 位置は (col_pct, row_pct), によって与えられ、col_pctrow_pct は 0 ~ 1 に正規化されます。 col_pct または row_pct が範囲 (a,b) の場合は、a から b の範囲の値が均等に割り当てられます。 デフォルト値は chip_size;1.0; (0, 1); (0, 1) で、224 がデフォルトのチップ サイズとなります。

Value Table
チップ サイズ
(オプション)

モデルのトレーニングに使用される画像のサイズ。 画像は、指定のチップ サイズにトリミングされます。 画像サイズがパラメーター値より小さい場合は、画像サイズが適用されます。

デフォルトのチップ サイズは、トレーニング データのタイル サイズと同じになります。 x および y のタイル サイズが同じでない場合、大きい方の値が使用されます。

Long
サイズ変更
(オプション)

画像のチップのサイズを変更します。 チップのサイズを変更したら、チップ サイズのピクセル ブロックがトリミングされ、トレーニングに使用されます。 このパラメーターは、オブジェクト検出 (PASCAL VOC)、オブジェクト分類 (ラベル付きタイル)、super-resolution データにのみ適用されます。

サイズ変更の値は、多くの場合、チップ サイズの半分です。 このサイズ変更の値がチップ サイズの値より小さい場合、サイズ変更の値は、トレーニング用ピクセル ブロックの作成に使用されます。

String
Weight Initialization Scheme
(オプション)

レイヤーの重みが初期化される Scheme を指定します。

マルチスペクトル データを使用してモデルをトレーニングするには、モデルが使用可能なさまざまなタイプのバンドに対応する必要があります。 これは、モデルの第 1 レイヤーを再度初期化することで行われます。

このパラメーターは、マルチスペクトル画像がモデルで使用される場合のみ適用されます。

  • ランダム非 RGB バンドでは、ランダムな重みが初期化され、RGB バンドでは、事前トレーニング済みの重みが維持されます。 これがデフォルトです。
  • Red band非 RGB バンドでは、事前トレーニング済みモデルのレイヤーの Red バンドに対応する重みのクローンが作成され、RGB バンドでは、事前トレーニング済みの重みが維持されます。
  • すべてランダムRGB バンドと非 RGB バンドで、ランダムな重みが初期化されます。 このオプションは、マルチスペクトル画像にのみ適用されます。
String
監視指標
(オプション)

チェックポイントおよび早期停止中に監視する指標を指定します。

  • 検証ロス検証ロスが監視されます。 検証ロスが大きく変更されなくなると、モデルが停止します。 これがデフォルトです。
  • 平均精度各閾値の加重平均精度が監視されます。 この値が大きく変更されなくなると、モデルが停止します。
  • 正確度正しい予測の数と予測の合計数の比が監視されます。 この値が大きく変更されなくなると、モデルが停止します。
  • F1 スコアモデルの精度スコアと再現率スコアの組み合わせが監視されます。 この値が大きく変更されなくなると、モデルが停止します。
  • MIoUテスト データセットのすべての画像上のセグメント化されたオブジェクトの Intersection over Union (IoU) 間の平均値が監視されます。 この値が大きく変更されなくなると、モデルが停止します。
  • フィーチャの分割 (Dice)Dice 指標を使用して、モデルのパフォーマンスが監視されます。 この値が大きく変更されなくなると、モデルが停止します。この値の範囲は 0 〜 1 です。 値 1 は、検証データとトレーニング データ間でピクセルが完全一致していることを示します。
  • 精度サンプルを分類する際のモデルの正確性を示す正の値である精度が監視されます。 この値が大きく変更されなくなると、モデルが停止します。精度は、正確に分類された正のサンプルの数と (正確か不正確かを問わず) 分類されたサンプルの総数の比です。
  • 再現率モデルが正のサンプルを検出できる能力の指標である再現率が監視されます。 この値が大きく変更されなくなると、モデルが停止します。再現率が高いほど、正のサンプルがより多く検出されます。 再現率の値は、正確に分類された正のサンプルの数と正のサンプルの合計数の比です。
  • Corpus BLEUCorpus BLUE スコアが監視されます。 この値が大きく変更されなくなると、モデルが停止します。このスコアは、段落やドキュメントなどの複数の文の正確性を計算するために使用されます。
  • マルチ ラベル F-beta加重調和平均精度と加重調和平均再現率が監視されます。 この値が大きく変更されなくなると、モデルが停止します。これは、多くの場合、F-beta スコアと呼ばれます。
String

派生した出力

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

出力トレーニング済みモデル ファイル

File

TrainDeepLearningModel(in_folder, out_folder, {max_epochs}, {model_type}, {batch_size}, {arguments}, {learning_rate}, {backbone_model}, {pretrained_model}, {validation_percentage}, {stop_training}, {freeze}, {augmentation}, {augmentation_parameters}, {chip_size}, {resize_to}, {weight_init_scheme}, {monitor})
名前説明データ タイプ
in_folder
[in_folder,...]

モデルのトレーニングに必要な画像チップ、ラベル、統計情報を含むフォルダー。 [ディープ ラーニング用のトレーニング データをエクスポート (Export Training Data For Deep Learning)] ツールからの出力です。

次の条件を満たしている場合は複数の入力フォルダーがサポートされます。

  • メタデータの形式タイプは、分類済みタイル、ラベル付きタイル、複数ラベル付きタイル、Pascal Visual Object Classes、または RCNN マスクである必要があります。
  • すべてのトレーニング データのメタデータ形式が同じになっている必要があります。
  • すべてのトレーニング データでバンドの数が同じになっている必要があります。
  • すべてのトレーニング データでタイル サイズが同じになっている必要があります。

Folder
out_folder

トレーニング済みモデルが格納される出力フォルダーの場所。

Folder
max_epochs
(オプション)

モデルをトレーニングする場合の対象となるエポックの最大数。 最大エポックを 1 に設定すると、データセットがニューラル ネットワークを通って前後に 1 回渡されます。 デフォルト値は 20 です。

Long
model_type
(オプション)

ディープ ラーニング モデルのトレーニングに使用されるモデル タイプを指定します。

  • BDCN_EDGEDETECTORBDCN (Bi-Directional Cascade Network) アーキテクチャがモデルのトレーニングに使用されます。 BDCN Edge Detector の使用目的はピクセル分類です。 この手法は、さまざまな縮尺でオブジェクトのエッジ検出を改善するのに便利です。
  • CHANGEDETECTOR変化検出器アーキテクチャがモデルのトレーニングに使用されます。 変化検出器の使用目的はピクセル分類です。 この手法は、2 つの空間的、時間的な画像を使用して変化の分類ラスターを作成するモデル オブジェクトを作成します。 このモデル タイプの入力トレーニング データは、Classified Tiles メタデータ形式を使用します。
  • CONNECTNETConnectNet アーキテクチャがモデルのトレーニングに使用されます。 ConnectNet の使用目的はピクセル分類です。 この手法は、衛星画像から道路網を抽出するのに便利です。
  • CYCLEGANCycleGAN アーキテクチャがモデルのトレーニングに使用されます。 CycleGAN は画像間変換に使用されます。 この手法は、あるタイプの画像から別のタイプの画像を生成するモデル オブジェクトを作成します。 この手法は、トレーニングする画像が重なっている必要がない点で独特です。 このモデル タイプの入力トレーニング データは、CycleGAN メタデータ形式を使用します。
  • DEEPLABDeepLabV3 アーキテクチャがモデルのトレーニングに使用されます。 DeepLab の使用目的はピクセル分類です。
  • DEEPSORTDeep Sort アーキテクチャがモデルのトレーニングに使用されます。 動画のオブジェクト検出には Deep Sort が使用されます。 動画のフレームを使用してモデルのトレーニングが行われ、各フレームのオブジェクトのクラスと境界四角形が検出されます。 このモデル タイプの入力トレーニング データは、Imagenet メタデータ形式を使用します。 Siam Mask はオブジェクトを追跡するときに便利です。一方、Deep Sort は複数のオブジェクトを追跡するモデルをトレーニングするのに便利です。
  • DETREGDETReg アーキテクチャがモデルのトレーニングに使用されます。 DETReg はオブジェクト検出に使用されます。 このモデル タイプの入力トレーニング データは、Pascal Visual Object Classes を使用します。 このモデル タイプは GPU の負荷が高くなります。正しく動作させるには、専用 GPU と 16 GB 以上のメモリが必要です。
  • FASTERRCNNFasterRCNN アーキテクチャがモデルのトレーニングに使用されます。 FasterRCNN の使用目的はオブジェクト検出です。
  • FEATURE_CLASSIFIERフィーチャ分類器アーキテクチャがモデルのトレーニングに使用されます。 フィーチャ分類器がオブジェクトまたは画像の分類に使用されます。
  • HED_EDGEDETECTORHED (Holistically-Nested Edge Detection) アーキテクチャがモデルのトレーニングに使用されます。 HED Edge Detector の使用目的はピクセル分類です。 この方法は、エッジとオブジェクト境界の検出に便利です。
  • IMAGECAPTIONER画像キャプショナー アーキテクチャがモデルのトレーニングに使用されます。 画像キャプショナーの使用目的は画像からテキストへの変換です。 この手法は、ある画像のテキスト キャプションを生成するモデルを作成します。
  • MASKRCNNMaskRCNN アーキテクチャがモデルのトレーニングに使用されます。 MaskRCNN の使用目的はオブジェクト検出です。 この手法は、インスタンス セグメンテーション (つまり、画像内のオブジェクトの正確な描写) に使用できます。 このモデル タイプを使用して、建物フットプリントを検出することができます。 トレーニング データを入力データにする場合は、MaskRCNN メタ形式を使用します。 入力トレーニング データのクラス値は、1 で始める必要があります。 このモデル タイプは、CUDA 対応 GPU を使用する場合にのみトレーニングできます。
  • MAXDEEPLABMaX-DeepLab アーキテクチャがモデルのトレーニングに使用されます。 MaX-DeepLab はパノプティック セグメンテーションで使用されます。 この手法は、画像とフィーチャを生成するモデル オブジェクトを作成します。 このモデル タイプの入力トレーニング データではパノプティック セグメンテーション メタデータ形式を使用します。
  • MMDETECTIONMMDetection アーキテクチャがモデルのトレーニングに使用されます。 MMDetection がオブジェクト検出に使用されます。 サポートされているメタデータ形式は Pascal Visual Object Class と KITTI の四角形です。
  • MMSEGMENTATIONMMSegmentation アーキテクチャがモデルのトレーニングに使用されます。 MMSegmentation の使用目的はピクセル分類です。 サポートされているメタデータ形式は分類済みタイルです。
  • MULTITASK_ROADEXTRACTORMulti Task Road Extractor アーキテクチャがモデルのトレーニングに使用されます。 Multi Task Road Extractor の使用目的はピクセル分類です。 この手法は、衛星画像から道路網を抽出するのに便利です。
  • PIX2PIXPix2Pix アーキテクチャがモデルのトレーニングに使用されます。 Pix2Pix は、画像間変換に使用されます。 この手法は、あるタイプの画像から別のタイプの画像を生成するモデル オブジェクトを作成します。 このモデル タイプの入力トレーニング データは、Export Tiles メタデータ形式を使用します。
  • PIX2PIXHDPix2PixHD アーキテクチャがモデルのトレーニングに使用されます。 Pix2PixHD が画像間変換に使用されます。 この手法は、あるタイプの画像から別のタイプの画像を生成するモデル オブジェクトを作成します。 このモデル タイプの入力トレーニング データは、Export Tiles メタデータ形式を使用します。
  • PSETAEPixel-Set Encoders and Temporal Self-Attentionn (PSETAE) アーキテクチャが時系列分類用モデルのトレーニングに使用されます。 PSETAE の使用目的はピクセル分類です。 この手法で使用される事前データは多次元データです。
  • PSPNETピラミッド型解析ネットワーク (PSPNET) アーキテクチャがモデルのトレーニングに使用されます。 PSPNET の使用目的はピクセル分類です。
  • RETINANETRetinaNet アーキテクチャがモデルのトレーニングに使用されます。 RetinaNet の使用目的はオブジェクト検出です。 このモデル タイプの入力トレーニング データは、Pascal Visual Object Classes メタデータ形式を使用します。
  • SAMLORALow Rank Adaption (LoRA) による Segment Anything Model (SAM) は、モデルのトレーニングに使用されます。 このモデル タイプは、Segment Anything Model (SAM) を基礎モデルとして使用し、比較的低い演算要件と小さなデータセットの特定のタスクに合わせて微調整します。
  • SIAMMASKSiam Mask アーキテクチャがモデルのトレーニングに使用されます。 動画のオブジェクト検出には Siam Mask が使用されます。 動画のフレームを使用してモデルのトレーニングが行われ、各フレームのオブジェクトのクラスと境界四角形が検出されます。 このモデル タイプの入力トレーニング データでは MaskRCNN メタデータ形式を使用します。
  • SSDシングル ショット検出器 (SSD) アーキテクチャがモデルのトレーニングに使用されます。 SSD の使用目的はオブジェクト検出です。 このモデル タイプの入力トレーニング データは、Pascal Visual Object Classes メタデータ形式を使用します。
  • SUPERRESOLUTION超解像アーキテクチャがモデルのトレーニングに使用されます。 超解像は画像間変換に使用されます。 この手法は、解像度を上げて画像の品質を高めるモデル オブジェクトを作成します。 このモデル タイプの入力トレーニング データは、Export Tiles メタデータ形式を使用します。
  • UNETU-Net アーキテクチャがモデルのトレーニングに使用されます。 U-Net の使用目的はピクセル分類です。
  • YOLOV3YOLOv3 アーキテクチャがモデルのトレーニングに使用されます。 YOLOv3 の使用目的はオブジェクト検出です。
String
batch_size
(オプション)

1 回のトレーニングで処理されるトレーニング サンプルの数。

バッチ サイズを大きくすると、ツールのパフォーマンスが向上しますが、バッチ サイズが増加するにつれて、使用されるメモリ量が増加します。

設定されたバッチ サイズに対して GPU メモリが足りない場合、ツールが最適なバッチ サイズを計算して使用するよう試みます。 メモリ不足エラーが発生した場合は、より小さなバッチ サイズを使用してください。

Long
arguments
[arguments,...]
(オプション)

model_type パラメーターの情報は、このパラメーターのデフォルト値を設定するために使用されます。 これらの引数はモデル アーキテクチャによって異なります。 ArcGIS でトレーニングされるモデルのサポート対象モデル引数を以下で説明します。 ArcGIS 事前トレーニング済みモデルとカスタム ディープ ラーニング モデルでは、このツールでサポートされている追加の引数を利用できることがあります。

各モデル タイプで使用できる引数の詳細については、「ディープ ラーニングの引数」をご参照ください。

  • attention_type - モジュール タイプを指定します。 モジュール オプションは PAM (Pyramid Attention Module) または BAM (Basic Attention Module) です。 デフォルトは、PAM です。
  • attn_res - 残差ブロック内のアテンションの数。 これはオプションの整数値です。 デフォルトは 16 です。 この引数は、backbone_model パラメーター値が SR3 の場合のみサポートされます。
  • channel_mults - U-Net での後続の解像度のためのオプションの深度乗数。 デフォルトは 1、2、4、4、8、8 です。 この引数は、backbone_model パラメーター値が SR3 の場合のみサポートされます。
  • CLASS_BALANCING - クラスあたりのピクセルの頻度に逆比例する交差エントロピー誤差のバランスを調整するかどうかを指定します。 デフォルトは、False です。
  • decode_params - 画像キャプショナーの実行方法を制御するディクショナリです。 デフォルト値は {'embed_size':100, 'hidden_size':100, 'attention_size':100, 'teacher_forcing':1, 'dropout':0.1, 'pretrained_emb':False}. です。decode_params 引数は、以下のパラメーターで構成されています。
    • embed_size - 埋め込みサイズ。 ニューラル ネットワークにおけるデフォルトは 100 レイヤーです。
    • hidden_size - 非表示レイヤーのサイズ。 ニューラル ネットワークにおけるデフォルトは 100 レイヤーです。
    • attention_size - 中間アテンション レイヤーのサイズ。 ニューラル ネットワークにおけるデフォルトは 100 レイヤーです。
    • teacher_forcing - 教師強制の確率。 Teacher Forcing はリカレント ニューラル ネットワークのトレーニング戦略です。 バック プロパゲーション時に、前の出力ではなく、前の時間ステップから出力されたモデルを入力として使用します。 有効な範囲は 0.0 ~ 1.0 です。 デフォルトは 1 です。
    • dropout - ドロップアウト率。 有効な範囲は 0.0 ~ 1.0 です。 デフォルトは 0.1 です。
    • pretrained_emb - 事前トレーニング済みテキスト埋め込みを使用するかどうかを指定します。 True の場合、高速のテキスト埋め込みを使用します。 False の場合、事前トレーニング済みテキスト埋め込みは使用されません。 デフォルトは、False です。
  • dropout - ドロップアウトのオプションの浮動小数点値。 デフォルトは 0 です。 この引数は、backbone_model パラメーター値が SR3 の場合のみサポートされます。
  • FOCAL_LOSS - 焦点損失を使用するかどうかを指定します。 デフォルトは、False です。
  • gaussian_thresh - 必要な道幅を設定するガウス閾値。 有効な範囲は 0.0 ~ 1.0 です。 デフォルト値は 0.76 です。
  • grids - 処理中に画像が分割されるグリッドの数です。 たとえば、この引数を 4 に設定すると、画像が 4 x 4、つまり 16 個のグリッド セルに分割されます。 値が指定されない場合は、入力イメージに基づいて最適なグリッド値が計算されます。
  • IGNORE_CLASSES - モデルで損失が発生しないクラス値のリスト。
  • inner_channel - inner_channel は、最初の U-net レイヤーのディメンションです。 これはオプションの整数値です。 デフォルトは 64 です。 この引数は、backbone_model パラメーター値が SR3 の場合のみサポートされます。
  • linear_start - 開始をスケジュール設定するためのオプションの整数。 デフォルトは 1e-02 です。 この引数は、backbone_model パラメーター値が SR3 の場合のみサポートされます。
  • linear_end - 終了をスケジュール設定するためのオプションの整数。 デフォルトは 1e-06 です。 この引数は、backbone_model パラメーター値が SR3 の場合のみサポートされます。
  • MIXUP - mixup 補強および mixup 損失を使用するかどうかを指定します。 デフォルトは、False です。
  • model - モデルのトレーニングに使用されるバックボーン モデル。 選択可能なオプションは、model_type パラメーターの値によって決まります。 MMDetection のデフォルトは cascade_rcnn です。 MMSegmentation のデフォルトは deeplabv3 です。
  • model_weight - 事前トレーニング済みモデルの加重を使用するかどうかを指定します。 デフォルトは、False です。 この値は、モデルのウェイトを含む構成ファイルへの、MMDetection リポジトリまたは MMSegmentation リポジトリからのパスにすることもできます。
  • monitor - チェックポイントでのチェックと早期停止の最中にモニタリングするメトリックを指定します。 選択可能なオプションは、model_type パラメーターの値によって決まります。 デフォルトは、valid_loss です。
  • mtl_model - モデルの作成に使用されるアーキテクチャ タイプを指定します。 選択肢は LinkNet ベースのニューラル アーキテクチャを示す linknet と Hourglass ベースのニューラル アーキテクチャを示す hourglass です。 デフォルトは、hourglass です。
  • n_timestep - 拡散時間ステップ数のオプションの値。 デフォルトは 1000 です。 この引数は、backbone_model パラメーター値が SR3 の場合のみサポートされます。
  • norm_groups - グループ正規化のグループ数。 これはオプションの整数値です。 デフォルトは 32 です。 この引数は、backbone_model パラメーター値が SR3 の場合のみサポートされます。
  • orient_bin_size - 方位角のビン サイズ。 デフォルトは 20 です。
  • orient_theta - 方位マスクの幅。 デフォルトは 8 です。
  • PYRAMID_SIZES - それぞれの小区域に適用される畳み込みレイヤーの数とサイズです。 デフォルト値は [1,2,3,6] です。 この引数は、PSPNET モデルに固有のものです。
  • ratios - アンカー ボックスで使用する縦横比のリストです。 オブジェクト検出を行う場合、アンカー ボックスは予測対象のオブジェクトに最適な位置、形状、サイズを表します。 たとえば、この引数を [1.0, 1.0]、[1.0, 0.5] に設定すると、アンカー ボックスが正方形 (1:1) になるか、水平側が鉛直側の半分の長方形 (1:0.5) になります。 RetinaNet のデフォルトは [0.5,1,2] です。 SSD のデフォルトは [1.0, 1.0] です。
  • res_blocks - 残差ブロックの数。 これはオプションの整数値です。 デフォルトは 3 です。 この引数は、backbone_model パラメーター値が SR3 の場合のみサポートされます。
  • SCALES - 各セルが拡大/縮小される縮尺レベルの数です。 デフォルト値は [1, 0.8, 0.63] です。
  • schedule - 必要に応じて、使用するスケジュールのタイプを設定します。 使用可能なオプションは、linearwarmup10warmup50constjsdcosine です。 デフォルトは、linear です。 この引数は、backbone_model パラメーター値が SR3 の場合のみサポートされます。
  • USE_UNET - ピラミッド プーリングが完了した時点で U-Net デコーダーを使用してデータを復元するかどうかを指定します。 デフォルトは、True です。 この引数は、PSPNET モデルに固有のものです。
  • zooms - 各グリッド セルが拡大/縮小されるズーム レベルの数です。 この引数を 1 に設定すると、すべてのグリッド セルが同じサイズまたはズーム レベルで維持されます。 ズーム レベルが 2 の場合は、すべてのグリッド セルが 2 倍の大きさになります (100 パーセントでズームされる)。 ズーム レベルのリストを指定すると、そのリスト内のすべての数値を使用して、すべてのグリッド セルが拡大/縮小されます。 デフォルトは 1 です。
Value Table
learning_rate
(オプション)

トレーニング処理全体で、既存の情報を新たに取得した情報に上書きする割合。 値を指定しないと、トレーニング プロセス中に最適な学習率が学習曲線から抽出されます。

Double
backbone_model
(オプション)

新しいモデルをトレーニングするアーキテクチャとして使用する、事前構成済みのニューラル ネットワークを指定します。 この方法は「転移学習」と呼ばれます。

  • DENSENET121構成済みモデルは、100 万を超える画像が含まれており、深さが 121 個のレイヤーである Imagenet データセット上でトレーニングされた高密度のネットワークになります。 加算を使用してレイヤーを結合する ResNET とは異なり、DenseNet は連結を使用してレイヤーを結合します。
  • DENSENET161構成済みモデルは、100 万を超える画像が含まれており、深さが 161 個のレイヤーである Imagenet データセット上でトレーニングされた高密度のネットワークになります。 加算を使用してレイヤーを結合する ResNET とは異なり、DenseNet は連結を使用してレイヤーを結合します。
  • DENSENET169構成済みモデルは、100 万を超える画像が含まれており、深さが 169 個のレイヤーである Imagenet データセット上でトレーニングされた高密度のネットワークになります。 加算を使用してレイヤーを結合する ResNET とは異なり、DenseNet は連結を使用してレイヤーを結合します。
  • DENSENET201構成済みモデルは、100 万を超える画像が含まれており、深さが 201 個のレイヤーである Imagenet データセット上でトレーニングされた高密度のネットワークになります。 加算を使用してレイヤーを結合する ResNET とは異なり、DenseNet は連結を使用してレイヤーを結合します。
  • MOBILENET_V2事前構成済みモデルは、Imagenet データベースでトレーニングされます。深さは 54 層で、メモリの使用量が少ないのでエッジ デバイス コンピューティングに適しています。
  • RESNET18事前構成済みのモデルは、Imagenet データセットでトレーニングされる残留ネットワークです。このネットワークには 100 万以上の画像が含まれ、18 層の深さがあります。
  • RESNET34事前構成済みのモデルは、Imagenet データセットでトレーニングされる残留ネットワークです。このネットワークには 100 万以上の画像が含まれ、34 層の深さがあります。 これがデフォルトです。
  • RESNET50事前構成済みのモデルは、Imagenet データセットでトレーニングされる残留ネットワークです。このネットワークには 100 万以上の画像が含まれ、50 層の深さがあります。
  • RESNET101事前構成済みのモデルは、Imagenet データセットでトレーニングされる残留ネットワークです。このネットワークには 100 万以上の画像が含まれ、101 層の深さがあります。
  • RESNET152事前構成済みのモデルは、Imagenet データセットでトレーニングされる残留ネットワークです。このネットワークには 100 万以上の画像が含まれ、152 層の深さがあります。
  • VGG11事前構成済みのモデルは、Imagenet データセットでトレーニングされるたたみ込みニューラル ネットワークです。このネットワークには 100 万以上の画像が含まれ、画像を 1,000 のオブジェクト カテゴリに分類し、11 層の深さがあります。
  • VGG11_BN事前構成済みモデルは VGG ネットワークに基づきますが、バッチ正規化が使用されているため、ネットワークの各層が正規化されています。 Imagenet データセットでトレーニングされ、11 層の深さがあります。
  • VGG13事前構成済みのモデルは、Imagenet データセットでトレーニングされるたたみ込みニューラル ネットワークです。このネットワークには 100 万以上の画像が含まれ、画像を 1,000 のオブジェクト カテゴリに分類し、13 層の深さがあります。
  • VGG13_BN事前構成済みモデルは VGG ネットワークに基づきますが、バッチ正規化が使用されているため、ネットワークの各層が正規化されています。 Imagenet データセットでトレーニングされ、13 層の深さがあります。
  • VGG16事前構成済みのモデルは、Imagenet データセットでトレーニングされるたたみ込みニューラル ネットワークです。このネットワークには 100 万以上の画像が含まれ、画像を 1,000 のオブジェクト カテゴリに分類し、16 層の深さがあります。
  • VGG16_BN事前構成済みモデルは VGG ネットワークに基づきますが、バッチ正規化が使用されているため、ネットワークの各層が正規化されています。 Imagenet データセットでトレーニングされ、16 層の深さがあります。
  • VGG19事前構成済みのモデルは、Imagenet データセットでトレーニングされるたたみ込みニューラル ネットワークです。このネットワークには 100 万以上の画像が含まれ、画像を 1,000 のオブジェクト カテゴリに分類し、19 層の深さがあります。
  • VGG19_BN事前構成済みモデルは VGG ネットワークに基づきますが、バッチ正規化が使用されているため、ネットワークの各層が正規化されています。 Imagenet データセットでトレーニングされ、19 層の深さがあります。
  • DARKNET53構成済みモデルは、100 万を超える画像が含まれており、深さが 53 個のレイヤーである Imagenet データセット上でトレーニングされた畳み込みニューラル ネットワークになります。
  • REID_V1事前構成済みモデルは、Imagenet データセット上でトレーニングされる畳み込みニューラル ネットワークであり、オブジェクトの追跡に使用されます。
  • REID_V2事前構成済みモデルは、Imagenet データセット上でトレーニングされる畳み込みニューラル ネットワークであり、オブジェクトの追跡に使用されます。
  • RESNEXT50事前構成済みモデルは、Imagenet データセット上でトレーニングされる畳み込みニューラル ネットワークであり、深さは 50 層です。 これは同質のニューラル ネットワークであり、従来の ResNet により求められるハイパーパラメーターの数が削減されます。
  • WIDE_RESNET50事前構成済みモデルは、Imagenet データセット上でトレーニングされる畳み込みニューラル ネットワークであり、深さは 50 層です。 アーキテクチャは ResNet と同じですが、より多くのチャンネルがあります。
  • SR3事前構成済みモデルは、Super Resolution via Repeated Refinement (SR3) モデルを使用します。 SR3 は、ノイズ除去拡散確率論的モデルを条件付き画像生成に適応させ、確率論的ノイズ除去プロセスを通じて超解像度を実行します。 詳細については、「Image Super-Resolution via Iterative Refinement」をご参照ください。
  • VIT_B事前構成済みの Segment Anything Model (SAM) は、基本のニューラル ネットワーク サイズで使用されます。 これが最小のサイズです。 詳細については、「Segment Anything」をご参照ください。
  • VIT_L事前構成済みの Segment Anything Model (SAM) は、大きなニューラル ネットワーク サイズで使用されます。 詳細については、「Segment Anything」をご参照ください。
  • VIT_H事前構成済みの Segment Anything Model (SAM) は、非常に大きなニューラル ネットワーク サイズで使用されます。 これが最大のサイズです。 詳細については、「Segment Anything」をご参照ください。

また、たとえば timm:resnet31、timm:inception_v4、timm:efficientnet_b3 などのように timm を接頭辞として使用することで、PyTorch Image Models (timm) でサポートされている畳み込みニューラル ネットワークを指定できます。

String
pretrained_model
(オプション)

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

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

File
validation_percentage
(オプション)

モデルの検証に使用するトレーニング サンプルの割合。 デフォルト値は 10 です。

Double
stop_training
(オプション)

早期停止を実施するかどうかを指定します。

  • STOP_TRAINING早期停止が実施され、指定した max_epochs パラメーター値にかかわらず、モデルの改善がなくなった時点でモデルのトレーニングを停止します。 これがデフォルトです。
  • CONTINUE_TRAINING早期停止は実施されず、max_epochs パラメーター値に到達するまで、モデルのトレーニングが続行されます。
Boolean
freeze
(オプション)

事前トレーニング済みモデルのバックボーン レイヤーを固定するかどうかを指定します。これにより、加重とバイアスが本来の設計どおりになります。

  • FREEZE_MODELバックボーン レイヤーが固定され、事前定義済みの加重とバイアスを backbone_model パラメーターで変更しません。 これがデフォルトです。
  • UNFREEZE_MODELバックボーン レイヤーは固定されず、backbone_model パラメーターの加重とバイアスを、トレーニング サンプルに合わせて変更できます。 この処理には時間がかかりますが、通常は優れた結果が得られます。
Boolean
augmentation
(オプション)

使用されるデータ拡張のタイプを指定します。

データ拡張は、既存のデータを使用してデータセットの変更済みコピーを作成することで人為的にトレーニング セットを増やす手法です。

  • DEFAULTデフォルトのデータ拡張手法とデフォルト値が使用されます。デフォルトのデータ拡張手法は、cropdihedral_affinebrightnesscontrastzoom です。 これらのデフォルト値は通常、衛星画像に適しています。
  • NONEデータ拡張は使用されません。
  • CUSTOMデータ拡張値は、augmentation_parameters パラメーターを使用して指定されます。
  • FILEトレーニング データセットと検証データセットのデータ拡張のための fastai の変換は、トレーニング データと同じフォルダーに格納されている transforms.json ファイルを使用して指定されます。さまざまな変換に関する詳細については、fastai の Web サイトの視覚変換をご参照ください。
String
augmentation_parameters
[augmentation_parameters,...]
(オプション)

拡張パラメーター内の各変換の値を指定します。

  • rotate - 画像は、確率 (p) の分だけ無作為に (角度単位で) 回転します。 角度が範囲 (a,b) の場合、値は、a から b の範囲で均等に割り当てられます。 デフォルト値は 30.0; 0.5 です。
  • brightness - 画像の明るさは、確率 (p) を適用して、変化の値に応じて無作為に調整されます。 変化が 0 の場合は画像が最も暗くなり、変化が 1 の場合は画像が最も明るくなります。 変化が 0.5 の場合は、明るさは調整されません。 変化が範囲 (a,b) の場合、拡張によって a から b の範囲の値が均等に割り当てられます。 デフォルト値は (0.4,0.6); 1.0 です。
  • contrast - 画像のコントラストは、確率 (p) を適用して、スケールの値に応じて無作為に調整されます。 スケールが 0 の場合は画像がグレー スケールになり、スケールが 1 より大きい場合は画像がスーパーコントラストになります。 スケールが 1 の場合は、コントラストが調整されません。 スケールが範囲 (a,b) の場合、拡張によって a から b の範囲の値が均等に割り当てられます。 デフォルト値は (0.75, 1.5); 1.0 です。
  • zoom - 画像がスケールの値に応じて無作為にズーム インされます。 ズームの値は、scale(a,b); p の形式を取ります。 デフォルト値は (1.0, 1.2); 1.0 で、p は確率です。 スケールが 1.0 を超える場合のみ、画像のズーム インが行われます。 スケールが範囲 (a,b) の場合は、a から b の範囲の値が均等に割り当てられます。
  • crop - 画像が無作為にトリミングされます。 トリミングの値は、size;p;row_pct;col_pct の形式を取り、p は確率を表します。 位置は (col_pct, row_pct), によって与えられ、col_pctrow_pct は 0 ~ 1 に正規化されます。 col_pct または row_pct が範囲 (a,b) の場合は、a から b の範囲の値が均等に割り当てられます。 デフォルト値は chip_size;1.0; (0, 1); (0, 1) で、224 がデフォルトのチップ サイズとなります。

Value Table
chip_size
(オプション)

モデルのトレーニングに使用される画像のサイズ。 画像は、指定のチップ サイズにトリミングされます。 画像サイズがパラメーター値より小さい場合は、画像サイズが適用されます。

デフォルトのチップ サイズは、トレーニング データのタイル サイズと同じになります。 x および y のタイル サイズが同じでない場合、大きい方の値が使用されます。

Long
resize_to
(オプション)

画像のチップのサイズを変更します。 チップのサイズを変更したら、チップ サイズのピクセル ブロックがトリミングされ、トレーニングに使用されます。 このパラメーターは、オブジェクト検出 (PASCAL VOC)、オブジェクト分類 (ラベル付きタイル)、super-resolution データにのみ適用されます。

サイズ変更の値は、多くの場合、チップ サイズの半分です。 このサイズ変更の値がチップ サイズの値より小さい場合、サイズ変更の値は、トレーニング用ピクセル ブロックの作成に使用されます。

String
weight_init_scheme
(オプション)

レイヤーの重みが初期化される Scheme を指定します。

マルチスペクトル データを使用してモデルをトレーニングするには、モデルが使用可能なさまざまなタイプのバンドに対応する必要があります。 これは、モデルの第 1 レイヤーを再度初期化することで行われます。

  • RANDOM非 RGB バンドでは、ランダムな重みが初期化され、RGB バンドでは、事前トレーニング済みの重みが維持されます。 これがデフォルトです。
  • RED_BAND非 RGB バンドでは、事前トレーニング済みモデルのレイヤーの Red バンドに対応する重みのクローンが作成され、RGB バンドでは、事前トレーニング済みの重みが維持されます。
  • ALL_RANDOMRGB バンドと非 RGB バンドで、ランダムな重みが初期化されます。 このオプションは、マルチスペクトル画像にのみ適用されます。

このパラメーターは、マルチスペクトル画像がモデルで使用される場合のみ適用されます。

String
monitor
(オプション)

チェックポイントおよび早期停止中に監視する指標を指定します。

  • VALID_LOSS検証ロスが監視されます。 検証ロスが大きく変更されなくなると、モデルが停止します。 これがデフォルトです。
  • AVERAGE_PRECISION各閾値の加重平均精度が監視されます。 この値が大きく変更されなくなると、モデルが停止します。
  • ACCURACY正しい予測の数と予測の合計数の比が監視されます。 この値が大きく変更されなくなると、モデルが停止します。
  • F1_SCOREモデルの精度スコアと再現率スコアの組み合わせが監視されます。 この値が大きく変更されなくなると、モデルが停止します。
  • MIOUテスト データセットのすべての画像上のセグメント化されたオブジェクトの Intersection over Union (IoU) 間の平均値が監視されます。 この値が大きく変更されなくなると、モデルが停止します。
  • DICEDice 指標を使用して、モデルのパフォーマンスが監視されます。 この値が大きく変更されなくなると、モデルが停止します。この値の範囲は 0 〜 1 です。 値 1 は、検証データとトレーニング データ間でピクセルが完全一致していることを示します。
  • PRECISIONサンプルを分類する際のモデルの正確性を示す正の値である精度が監視されます。 この値が大きく変更されなくなると、モデルが停止します。精度は、正確に分類された正のサンプルの数と (正確か不正確かを問わず) 分類されたサンプルの総数の比です。
  • RECALLモデルが正のサンプルを検出できる能力の指標である再現率が監視されます。 この値が大きく変更されなくなると、モデルが停止します。再現率が高いほど、正のサンプルがより多く検出されます。 再現率の値は、正確に分類された正のサンプルの数と正のサンプルの合計数の比です。
  • CORPUS_BLEUCorpus BLUE スコアが監視されます。 この値が大きく変更されなくなると、モデルが停止します。このスコアは、段落やドキュメントなどの複数の文の正確性を計算するために使用されます。
  • MULTI_LABEL_FBETA加重調和平均精度と加重調和平均再現率が監視されます。 この値が大きく変更されなくなると、モデルが停止します。これは、多くの場合、F-beta スコアと呼ばれます。
String

派生した出力

名前説明データ タイプ
out_model_file

出力トレーニング済みモデル ファイル

File

コードのサンプル

TrainDeepLearningModel の例 1 (Python ウィンドウ)

この例では、U-Net 手法を使用してツリー分類モデルをトレーニングします。

# Import system modules  
import arcpy  
from arcpy.ia import *  
 
# Check out the ArcGIS Image Analyst extension license 
arcpy.CheckOutExtension("ImageAnalyst") 
 
# Execute 
TrainDeepLearningModel(r"C:\DeepLearning\TrainingData\Roads_FC", 
     r"C:\DeepLearning\Models\Fire", 40, "UNET", 16, "# #", None, 
     "RESNET34", None, 10, "STOP_TRAINING", "FREEZE_MODEL")
TrainDeepLearningModel の例 2 (スタンドアロン スクリプト)

この例では、SSD 手法を使用してオブジェクト検出モデルをトレーニングします。

# Import system modules  
import arcpy  
from arcpy.ia import *  
 
# Check out the ArcGIS Image Analyst extension license 
arcpy.CheckOutExtension("ImageAnalyst") 
 
#Define input parameters
in_folder = "C:\\DeepLearning\\TrainingData\\Cars" 
out_folder = "C:\\Models\\Cars"
max_epochs = 100
model_type = "SSD"
batch_size = 2
arg = "grids '[4, 2, 1]';zooms '[0.7, 1.0, 1.3]';ratios '[[1, 1], [1, 0.5], [0.5, 1]]'"
learning_rate = 0.003
backbone_model = "RESNET34" 
pretrained_model = "C:\\Models\\Pretrained\\vehicles.emd"
validation_percent = 10
stop_training = "STOP_TRAINING"
freeze = "FREEZE_MODEL"


# Execute
TrainDeepLearningModel(in_folder, out_folder, max_epochs, model_type, 
     batch_size, arg, learning_rate, backbone_model, pretrained_model, 
     validation_percent, stop_training, freeze)

関連トピック