ラベル | 説明 | データ タイプ |
入力テーブル | モデルの入力テキストを含むテキスト フィールドと、ターゲット クラス ラベルを含むラベル フィールドのある、フィーチャクラスまたはテーブル。 | Feature Layer; Table View |
テキスト フィールド | モデルによって分類されるテキストを含む、入力フィーチャクラスまたはテーブル内のテキスト フィールド。 | Field |
ラベル フィールド | モデルのトレーニングのためのターゲット クラス ラベルを含む、入力フィーチャクラスまたはテーブル内のテキスト フィールド。 複数ラベルのテキスト分類の場合は、複数のテキスト フィールドを指定します。 | Field |
出力モデル | トレーニング済みのモデルを保存する出力フォルダーの場所。 | Folder |
事前トレーニング済みモデル ファイル (オプション) | 新しいモデルの微調整に使用される事前トレーニング済みモデル。 入力には Esri モデル定義ファイル (.emd) またはディープ ラーニング パッケージ ファイル (.dlpk) を指定できます。 類似したクラスを持つ事前トレーニング済みモデルは、新しいモデルに合わせて微調整することができます。 事前トレーニング済みモデルは、新しいモデルのトレーニングに使用される同じモデル タイプおよびバックボーン モデルでトレーニングされている必要があります。 | File |
最大エポック (オプション) | モデルをトレーニングする場合の対象となるエポックの最大数。 最大エポックの値を 1 に設定すると、データセットがニューラル ネットワークを通って前後に 1 回渡されます。 デフォルト値は 5 です。 | Long |
モデル バックボーン (オプション) | モデルのエンコーダーとして機能し、固定長のベクトル形式で入力テキストのフィーチャ表現を抽出する、事前構成済みのニューラル ネットワークを指定します。 これらのベクトルは、モデルの分類ヘッドへの入力として渡されます。
| String |
バッチ サイズ (オプション) | 1 回に処理されるトレーニング サンプルの数。 デフォルト値は 2 です。 バッチ サイズを増やすと、ツールのパフォーマンスが向上します。ただし、バッチ サイズの増加に伴って、使用されるメモリ量も多くなります。 メモリ不足エラーが発生した場合は、より小さいバッチ サイズを使用します。 | Double |
モデル引数 (オプション) | トレーニング データの最大シーケンス長を表す seq_len など、モデルのトレーニングにおいて考慮される、モデルの初期化に使用される追加の引数。 使用可能な、サポートされるモデル引数のリストについては、TextClassifier ドキュメントのキーワード引数をご参照ください。 | Value Table |
学習率 (オプション) | トレーニング処理の際に調整されるモデル ウェイトの量を示すステップ サイズ。 値を指定しない場合、最適な学習率が自動的に推測されます。 | Double |
検証率 (オプション) | モデルの検証に使用するトレーニング サンプルの割合。 デフォルト値は 10 です。 | Double |
モデルが改善が見込めなくなった時点で停止 (オプション) | モデルの改善がなくなった時点でモデルのトレーニングを停止するか、[最大エポック] パラメーター値に達するまでトレーニングを行うかを指定します。
| Boolean |
モデル バックボーンをトレーニング可能にする (オプション) | 事前トレーニング済みモデルのバックボーン層が固定されるかどうかを指定します。これにより、ウェイトとバイアスが本来の設計どおりになります。
| Boolean |
HTML タグの削除 (オプション) | HTML タグを入力テキストから削除するかどうかを指定します。
| Boolean |
URL の削除 (オプション) | URL を入力テキストから削除するかどうかを指定します。
| Boolean |
使用法
このツールを使用するには、ディープ ラーニング フレームワークがインストールされている必要があります。 ArcGIS AllSource のディープ ラーニング フレームワークを使用するようにコンピューターを設定するには、「ArcGIS 用のディープ ラーニング フレームワークのインストール」をご参照ください。
このツールは、既存のトレーニング済みモデルの微調整にも使用できます。
GPU を使用してこのツールを実行するには、プロセッサ タイプ環境を GPU に設定します。 複数の GPU が存在する場合は、代わりに GPU ID 環境を指定します。
このツールへの入力は、トレーニング データを含むテーブルまたはフィーチャクラスで、入力テキストを含むテキスト フィールドとターゲット クラス ラベルを含むラベル フィールドがあります。
このツールの実行要件および発生する可能性のある問題の詳細については、「ディープ ラーニングに関するよくある質問」をご参照ください。
パラメーター
arcpy.geoai.TrainTextClassificationModel(in_table, text_field, label_field, out_model, {pretrained_model_file}, {max_epochs}, {model_backbone}, {batch_size}, {model_arguments}, {learning_rate}, {validation_percentage}, {stop_training}, {make_trainable}, {remove_html_tags}, {remove_urls})
名前 | 説明 | データ タイプ |
in_table | モデルの入力テキストを含むテキスト フィールドと、ターゲット クラス ラベルを含むラベル フィールドのある、フィーチャクラスまたはテーブル。 | Feature Layer; Table View |
text_field | モデルによって分類されるテキストを含む、入力フィーチャクラスまたはテーブル内のテキスト フィールド。 | Field |
label_field [label_field,...] | モデルのトレーニングのためのターゲット クラス ラベルを含む、入力フィーチャクラスまたはテーブル内のテキスト フィールド。 複数ラベルのテキスト分類の場合は、複数のテキスト フィールドを指定します。 | Field |
out_model | トレーニング済みのモデルを保存する出力フォルダーの場所。 | Folder |
pretrained_model_file (オプション) | 新しいモデルの微調整に使用される事前トレーニング済みモデル。 入力には Esri モデル定義ファイル (.emd) またはディープ ラーニング パッケージ ファイル (.dlpk) を指定できます。 類似したクラスを持つ事前トレーニング済みモデルは、新しいモデルに合わせて微調整することができます。 事前トレーニング済みモデルは、新しいモデルのトレーニングに使用される同じモデル タイプおよびバックボーン モデルでトレーニングされている必要があります。 | File |
max_epochs (オプション) | モデルをトレーニングする場合の対象となるエポックの最大数。 最大エポックの値を 1 に設定すると、データセットがニューラル ネットワークを通って前後に 1 回渡されます。 デフォルト値は 5 です。 | Long |
model_backbone (オプション) | モデルのエンコーダーとして機能し、固定長のベクトル形式で入力テキストのフィーチャ表現を抽出する、事前構成済みのニューラル ネットワークを指定します。 これらのベクトルは、モデルの分類ヘッドへの入力として渡されます。
| String |
batch_size (オプション) | 1 回に処理されるトレーニング サンプルの数。 デフォルト値は 2 です。 バッチ サイズを増やすと、ツールのパフォーマンスが向上します。ただし、バッチ サイズの増加に伴って、使用されるメモリ量も多くなります。 メモリ不足エラーが発生した場合は、より小さいバッチ サイズを使用します。 | Double |
model_arguments [model_arguments,...] (オプション) | トレーニング データの最大シーケンス長を表す seq_len など、モデルのトレーニングにおいて考慮される、モデルの初期化に使用される追加の引数。 使用可能な、サポートされるモデル引数のリストについては、TextClassifier ドキュメントのキーワード引数をご参照ください。 | Value Table |
learning_rate (オプション) | トレーニング処理の際に調整されるモデル ウェイトの量を示すステップ サイズ。 値を指定しない場合、最適な学習率が自動的に推測されます。 | Double |
validation_percentage (オプション) | モデルの検証に使用するトレーニング サンプルの割合。 デフォルト値は 10 です。 | Double |
stop_training (オプション) | モデルの改善がなくなった時点でモデルのトレーニングを停止するか、max_epochs パラメーター値に達するまでトレーニングを行うかを指定します。
| Boolean |
make_trainable (オプション) | 事前トレーニング済みモデルのバックボーン層が固定されるかどうかを指定します。これにより、ウェイトとバイアスが本来の設計どおりになります。
| Boolean |
remove_html_tags (オプション) | HTML タグを入力テキストから削除するかどうかを指定します。
| Boolean |
remove_urls (オプション) | URL を入力テキストから削除するかどうかを指定します。
| Boolean |
コードのサンプル
次の Python ウィンドウ スクリプトは、TrainTextClassificationModel 関数の使用方法を示しています。
# Name: TrainTextClassification.py
# Description: Train a text classifier model to classify text in different classes.
#
# Requirements: ArcGIS Pro Advanced license
# Import system modules
import arcpy
import os
arcpy.env.workspace = "C:/textanalysisexamples/data"
# Set local variables
in_table = "training_data_textclassifier.csv"
out_folder = "c\\textclassifier"
# Run Train Text Classification Model
arcpy.geoai.TrainTextClassificationModel(in_table, out_folder,
max_epochs=2, text_field="Address", label_field="Country", batch_size=16)