ML デフォーマを使用してモデルをトレーニングすると、トレーニングされたモデルと同じフォルダに metadata.json ファイルが作成されます。このファイルには、トレーニング プロセスに関する有用な情報が含まれています。その概要を以下に示します。
| フィールド | タイプ | 説明 | 
|---|---|---|
| version | オブジェクト (int, int) | 「major」および「minor」コンポーネントがあります。このモデルに適用されるメタデータのバージョン(および対応する ML デフォーマ)を示します。 | 
| startFrame | 整数 | トレーニング データのフレーム レンジの開始位置です。 | 
| endFrame | 整数 | トレーニング データのフレーム レンジの終了位置です。 | 
| sampleCount | 整数 | トレーニング フレームの数です。 | 
| controlDefinitions | オブジェクトの配列 | モデルへの入力として使用されるコントロールのリストです。各インデックスは 1 つの浮動小数点値を表します。これには、このコントロールの入力プラグ(関連するのはインデックスのみ)と、トレーニング セット内でのこのコントロールの最小値および最大値が含まれます。 | 
| deltaCount | 整数 | 書き出しファイル内の各フレームにおける頂点デルタの数です。書き出し中に記録されます。affectCount と完全に一致する必要があります。 | 
| exportDate | 文字列 | トレーニング データが書き出された日時です。(フォーマット: yyy-mm-dd hh:mm:ss (タイムゾーン)) | 
| exportTime | 浮動小数値 | データの書き出しにかかる時間(秒単位)です。 | 
| exportFormat | 文字列 | トレーニング データが保存されたファイル形式です。 
 | 
| affectCount | 整数 | このモデルが影響を与える頂点の数です。完全なジオメトリを操作する場合は、fullCount と等しくする必要があります。 | 
| fullCount | 整数 | 変形メッシュ上の頂点の合計数です。 | 
| affectMap | 整数の配列 | モデルが影響を与える頂点を表す頂点インデックスの配列です。この配列は Maya の頂点インデックスを使用し、完全なメッシュで作業している場合は空になります。 | 
| deltaUnits | 文字列 | トレーニング データが書き出されたときに使用されていたシーン単位です。変換に役立ちます。 | 
| deltaMode | 整数 | どのデルタ モードで書き出されたかを表す整数値です。deltaExportType と重複しています。 | 
| deltaExportType | 文字列 | deltaMode の文字列の省略形です。値は、サーフェス モードの場合は「dos」、オフセットの場合は「dbp」です。 注:  mlDeformer -vertexDeltas コマンドには他にも潜在的な値がありますが、書き出し時に使用されるのは dos または dbp のみです。
			  | 
| smoothingIterations | 整数 | デルタを計算または適用する前にベース メッシュでスムージングの反復が実行される回数です。書き出された頂点フレームにも適用されます。 | 
| subsetState | 文字列 | 完全なジオメトリか部分的なジオメトリのどちらが変形するかを示します。 | 
| componentTagExpression | 文字列 | デフォーマの影響を受ける頂点を定義するコンポーネント タグ エクスプレッションです。 | 
| ジオメトリ | 文字列 | Maya のジオメトリ ノードの名前です。 | 
| lossMetric | 文字列 | トレーニング中に使用される損失関数です。常に MSE (平均二乗誤差)になります。 | 
| trainingTime | 浮動小数値 | モデルのトレーニングにかかった時間(秒単位)です。 | 
| trainingDate | 文字列 | モデルがトレーニングされた日時です。(フォーマット: yyy-mm-dd hh:mm:ss (タイムゾーン)) | 
| finalTrainLoss | 浮動小数値 | 損失メトリックによって測定される最終的なトレーニング損失です。 | 
| bestTrainEpoch | 整数 | トレーニング損失が最も小さかったエポックです。 | 
| minTrainLoss | 浮動小数値 | 最小のトレーニング損失(bestTrainEpoch での損失と同様)です。 | 
| minTrainMAE | 浮動小数値 | 平均絶対誤差(MAE)損失計算を使用した最小のトレーニング損失です(シーン単位で測定)。 | 
| finalValidationLoss | 浮動小数値 | 損失メトリックによって測定される最終的な検証損失です。 | 
| bestValidationEpoch | 整数 | 検証損失が最も小さかったエポックです。 | 
| minValidationLoss | 浮動小数値 | 最小の検証損失(bestValidationEpoch での損失と同様)です。 | 
| minValidationMAE | 浮動小数値 | 平均絶対誤差(MAE)損失計算を使用した最小の検証損失です(シーン単位で測定)。 | 
| learningRate | 浮動小数値 | トレーニング中の学習率です。 | 
| batchSize | 整数 | トレーニング用の各バッチにおけるサンプル数です。 | 
| epochs | 整数 | トレーニング終了時のエポックの合計数です。 | 
| userPrincipalShapes | ブール演算値 | トレーニングで主要シェイプが使用されたかどうかを示します。トレーニング済みのモデルの出力は、デルタではなく、シェイプのウェイトになります。 | 
| principaleShapeCount | 整数 | トレーニングされた主要シェイプの数です。 | 
| shapeConstructionOption | 整数 | 主要シェイプの作成に使用されたオプションを示します。 
 | 
| modelDefinition | オブジェクト | トレーニング パラメータによって定義される、モデルの非表示レイヤです。この定義は、実際の PyTorch モデル構造を定めるためにトレーニング中に解析されます。 | 
| exportSurfaceInformation | ブール演算値 | データに追加のサーフェス情報(頂点フレームなど)が含まれるかどうかを示します。 | 
| surfaceFrameMap | 整数の配列 | 書き出しデータに含まれる、頂点フレームを持つ頂点インデックスのリストです。このリストは Maya の頂点インデックスを使用し、既定ではメッシュ全体の 10% が対象です。 | 
| surfaceRepresentation | 文字列 | サーフェス情報がどのように書き出されているかを表します。頂点フレームのフォーマットを示します。 
 | 
| surfaceFrameSize | 整数 | 各頂点フレームに関連付けられている値の数です(表現によって異なります)。値は surfaceRepresentation に応じて 9 または 6 になります。 | 
{
    "version": {
        "major": 1,
        "minor": 0
    },
    "startFrame": 0,
    "endFrame": 2000,
    "sampleCount": 2001,
    "controlDefinitions": [
        {
            "src_plug": "mlDeformer1.controlValues[0]",
            "minimum": -99.99280023258999,
            "maximum": 99.89342451625558
        },
        
            ...
            
        {
            "src_plug": "mlDeformer1.controlValues[11]",
            "minimum": -99.89837234610832,
            "maximum": 99.97574443880183
        }
    ],
    "deltaCount": 342,
    "exportDate": "2025-01-08 14:18:39 (UTC)",
    "exportTime": 43.439516599988565,
    "exportFormat": "shelf",
    "affectCount": 342,
    "fullCount": 342,
    "affectMap": [],
    "deltaUnits": "cm",
    "deltaMode": 1,
    "deltaExportType": "dos",
    "smoothingIterations": 0,
    "exportSurfaceInformation": true,
    "surfaceFrameMap": [
        0,
        5,
        11,
        12,
        23,
        30,
        55,
        59,
        84,
        91,
        96,
        131,
        158,
        161,
        177,
        183,
        185,
        195,
        197,
        205,
        207,
        222,
        236,
        246,
        257,
        258,
        262,
        269,
        286,
        292,
        295,
        306,
        313,
        338
    ],
    "surfaceRepresentation": "3x3",
    "surfaceFrameCount": 34,
    "surfaceFrameSize": 9,
    "subsetState": "complete",
    "componentTagExpression": "*",
    "geometry": "pCylinderShape1",
    "lossMetric": "MSE",
    "trainingTime": 4.866239299997687,
    "trainingDate": "2025-01-08 14:19:39 (UTC)",
    "finalTrainLoss": 0.015372385734485256,
    "bestTrainEpoch": 99,
    "minTrainLoss": 0.015372385734485256,
    "minTrainMAE": 0.058620557851261565,
    "finalValidationLoss": 0.0242560015833793,
    "bestValidationEpoch": 99,
    "minValidationLoss": 0.0242560015833793,
    "minValidationMAE": 0.07153895289743718,
    "learningRate": 0.0005,
    "batchSize": 128,
    "epochs": 100,
    "usesPrincipalShapes": false,
    "principalShapeCount": 0,
    "shapeConstructionOption": 0,
    "modelDefinition": {
        "version": 1.0,
        "hidden_layers": [
            {
                "neurons": 512,
                "activation": "LeakyReLU",
                "dropout_ratio": 0.0
            },
            {
                "neurons": 512,
                "activation": "LeakyReLU",
                "dropout_ratio": 0.0
            }
        ]
    }
}