使用 ML 变形器训练模型后,可以在与训练模型的同一文件夹中找到 metadata.json 文件。此文件包含有关训练过程的有用信息,概述如下。
字段 | 类型 | 描述 |
---|---|---|
version | 对象 (int, int) | 拥有“主要”和“次要”组件。表示这适用于哪个版本的元数据(以及隐含的 ML 变形器)。 |
startFrame | 整数 | 训练数据帧范围的开始。 |
endFrame | 整数 | 训练数据的帧范围。 |
sampleCount | 整数 | 训练帧数。 |
controlDefinitions | 对象数组 | 用作模型输入的控件列表。每个索引代表一个浮点值。包括输入栓(只有索引是相关的)以及在此控件的训练集中看到的最小值和最大值。 |
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 | 字符串 | 定义哪些顶点将受变形器影响的组件标记表达式。 |
geometry | 字符串 | 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 | 整数 | 每个顶点帧有多少关联值,具体取决于其表示法。该值为 9 或 6,具体取决于 surfaceRepresentation。 |
{ "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 } ] } }