主要な最上位レベルのコマンド train と eval/test については 、「トレーニング、テスト、評価 」ページで説明されています。 その他の最上位レベルのコマンドについては、以下で詳しく説明します。
Adapt コマンド
このコマンドは、KL ダイバージェンス正則化を使用して、既にトレーニング済みのモデルを調整します。 他のすべての適応は、モデル編集を使用して実行することをお勧めします。 adapt コマンドは、さらに 2 つのパラメーターを持つ点を除いて、train コマンドとよく似ています。
originalModelFileName: 適合されるモデルのファイル名。refNodeName: KL の相違正則化に使用される計算ネットワーク内のノードの名前。
履歴書
このコマンドは、開発セット (またはクロス検証) セットのさまざまなエポックから一連のモデルを評価し、最適なモデルの情報を表示します。 このコマンドでは、テスト コマンドに使用されるパラメーターに加えて、パラメーターも使用します。
crossValidationInterval: 評価する開始エポック、エポック インクリメント、および最終エポックを識別する 3 つの整数の配列。 たとえば、3:2:9 は、モデル 3、5、7、9 が評価されることを意味します。sleepTimeBetweenRuns: 実行の間に待機する秒数。 これは、GPU がホットすぎる場合にのみ必要です。
書き込みコマンド
このコマンドは、出力ノードの値をファイルに書き込みます。 関連するパラメーターは次のとおりです。
reader: 入力データを読み取るリーダー構成ブロック。writer: 出力データの書き込み方法を決定するライター構成ブロック。 この値が指定されていない場合は、outputPath パラメーターが使用されます。minibatchSize: データセットの読み取りと処理に使用するミニバッチ サイズ。epochSize: データセットのサイズ。 既定値は 0 です。 データセット全体が 0 に設定されている場合は評価されます。modelPath: 出力の計算に使用するモデルへのパス。outputPath: 出力をテキスト形式で書き込むファイルへのパス。 ライター ブロックが存在する場合、このパラメーターは無視されます。 outputPath またはライターが存在する必要があります。outputNodeNames: ファイルに書き込む 1 つ以上の出力ノード名の配列。
編集コマンド
このコマンドは、モデルを編集し、変更したモデルをファイルに保存します。 非推奨です。 関連するパラメーターは次のとおりです。
-
editPath: 実行する MEL スクリプトへのパス。 -
ndlMacros: MEL スクリプトで読み込まれて使用される NDL マクロ ファイルへのパス。
SVD コマンド
このコマンドは、学習可能なパラメーターの SVD 分解を使用して、低ランクの近似を実行します。 主な動機は、精度を維持しながら推論速度を向上させるために、2 つの下位ランクの行列で重み行列を分解することです。 例えば次が挙げられます。
svd = [
action = "SVD"
modelPath = "train\lstm.model.67"
outputModelPath = "train\lstm.model.svd"
SVDConfig = "nodeConfigs"
]
関連するパラメーター ブロックは次のとおりです。
modelPath: 初期モデルを読み込む場所を指定します。outputModelPath: 変更後のモデルを保存する場所を指定します。SVDConfig: さまざまなノード グループに対して SVD を実行する方法を指定する構成ファイル。 この構成は、次の 2 列形式です。<NodeNameRegex> <float>
最初の列は、1 つのグループ内のノード名と一致する正規表現です。 2 番目の列は、SVD の後に保持される SVDenergy の割合を示す浮動小数点数です。SVD エネルギーは単数形の値の合計として定義されます。 たとえば、構成
`LSTMoutput[1-3].Wx[ifco] 0.4`
`LSTMoutput[1-3].Wh[ifco] 0.6`
では、LSTM の非再帰接続 (x から i、f、c、o ゲート) に対してより積極的な SVD (0.4) 分解が発生し、繰り返し接続 (h から i、f、c、o ゲート) の SVD 分解が少なくなります。ここで、パラメーター名は NDL で定義されます。
Dumpnode コマンド
このコマンドは、ノードの情報を出力ファイルにダンプします。これは、MEL でより詳細な制御を行うこともできます。 関連するパラメーターは次のとおりです。
modelPath: ダンプするノードを含むモデル ファイルへのパス。nodeName: ファイルに書き込むノードの名前。 指定しない場合、すべてのノードがダンプされます。nodeNameRegex: ファイルに書き込むノードの名前の正規表現。 指定した場合、nodeNameパラメーターは無視されます。outputFile: 出力ファイルへのパス。 指定しない場合、modelPath に基づいてファイル名が自動的に生成されます。printValues: ノードの値がモデルに永続化されている場合に、ノードに関連付けられている値を出力するかどうかを決定します。 既定値は True です。printMetadata: ノードに関連付けられているメタデータ (ノード名、ディメンションなど) を出力するかどうかを決定します。 既定値は True です。
WriteWordAndClass コマンド (非推奨)
このコマンドは、テキスト トレーニング データを読み取り、トレーニング セット内の各単語の出現回数をカウントし、カウントの降順で単語を並べ替え、各単語に一意の ID を与え、各単語をクラスに割り当て、クラスベースの言語モデルをトレーニングするために (非推奨の) LMSequenceReader によって使用される 4 つの列ボキャブラリ ファイルと単語to-id マッピング ファイルを生成します。 関連するパラメーターは次のとおりです。
inputFile: テキスト トレーニング ファイルへのパス。outputVocabFile: 生成された 4 列ボキャブラリ ファイルの名前。 最初の列は単語 ID、2 番目の列は単語の数、3 番目の列は単語、4 番目の列はクラス ID です。outputWord2Cls: 生成された単語からクラスへのマッピング ファイルへのパス。outputCls2Index: 生成されたクラスから wordId へのマッピング ファイルへのパス。vocabSize: 目的のボキャブラリのサイズ。nbrClass: 必要なクラスの数。cutoff: カットオフ数。 単語の数がこの値以下の場合、単語は <unk> として扱われます。 既定値は 2 です。 このパラメーターは、目的のボキャブラリ サイズがトレーニング セットに存在する実際の単語数よりも大きい場合にのみ使用されることに注意してください。
CreateLabelMap コマンド
多くの場合、ラベル マッピング ファイルを手動で作成するのは簡単です。 ただし、CreateLabelMap コマンドの目的であるラベル マッピング ファイルを自動的に生成したい場合もあります。 現在、UCIFastReader は、このアクションをサポートする唯一のリーダーです。 関連するパラメーターは次のとおりです。
section: ラベル マッピング ファイルの生成に使用されるリーダー サブブロックを持つパラメーター ブロック名 (通常はトレーニング ブロック)。 生成されたラベル マッピング ファイルは、このパラメーター ブロックのリーダー サブブロックで指定された labelMappingFile に保存されます。minibatchSize: ラベル マッピング ファイルの作成時に使用するミニバッチ サイズ。
DoEncoderDecoder コマンド
ニューラル ネットワークを使用して、ネットワークのチェーンを形成できます。 最初のいくつかのネットワークはエンコーダーとして機能し、次のネットワークはデコーダーとして機能できます。 特別なノード PairNetworkNode は、他のネットワークによって接続されるソケットを提供するために、各ネットワークで使用されます。 関連するパラメーターは次のとおりです。
section: encoderReader と decoderReader は、エンコーダーとデコーダーのリーダーです。 同様に、検証セットの encoderCVReader とデコーダーCVReader の場合です。encoderNetworkBuilderおよびdecoderNetworkBuilder: 使用する単純なネットワーク ビルダーを指定します。
BNStat コマンド
バッチ正規化ノードのデータセットの評価とテストの平均と分散を評価するのは難しいです。 平均と分散はトレーニング中に実行平均または exp で計算できますが、バッチ正規化の平均と分散 (バッチ正規化後の統計) を生成する、より安定した堅牢な方法を提供する傾向があります。 トレーニング後にコマンドを呼び出す必要があります。 各 BN 層の平均と分散が生成されます。
-
modelPath: トレーニング済みモデルを含むモデル ファイルへのパス -
minibatchSize: 評価中のミニバッチ サイズ(トレーニング minibatchSize と同じ) -
itersPerNode: 各バッチ正規化ノードの統計イテレーション -
reader: テスト データを読み取るリーダー構成ブロック。 詳細については、リーダー ブロックを参照してください。 -
enableDistributedMBReading: 並列トレーニングでの分散読み取り