跳转到内容

配置项说明 ​

需要确认某个配置项的用途、类型或默认值时,可以按下面的业务用途查找。如果还没有配置文件,先看编写任务配置;已经能够训练、需要改善效果时,参考配置填写与调整顺序。

查找配置项与默认值 ​

您要设置什么查看位置
观测、动作、预测关系和网络变量与模型结构
数据路径、划分、批量和归一化训练数据
算法、训练轮数、奖励和验证训练与验证
模型、日志、曲线和 ONNX模型与日志保存
任务名称和配置说明任务信息

已知字段名称时,也可在安装 REVIVE 的环境中直接查询:

bash
revive info --explain batch_size
revive info --explain lr

同名参数可能属于不同算法,请同时核对所在位置。字段表列出基础默认值;训练时还会合并所选算法的默认参数和您填写的值。例如学习率应查询算法参数说明,实际取值可通过 revive validate --config config.yaml --show-defaults 确认。

表中“需提供或由配置推导”表示该信息需要确定,不代表必须在 YAML 中重复填写。例如节点名由 graph.nodes 的键给出,列所属的变量由 graph.columns 的键给出。

“任务定义”用于明确业务变量和训练目标,“常用调整”用于改善效果,“专项设置”用于有明确需求的复杂功能。填写与调整顺序见配置填写与调整顺序。

变量与模型结构 ​

这里描述业务量之间的关系。例如冰箱温控的温度、制冷动作和门状态分别对应观测、动作与扰动。变量的名称、列顺序和物理边界应与数据及设备一致。

变量、边界与状态转移 ​

数据列与物理边界

填写在 graph.columns.<变量名>,每一项描述一列。所属变量由外层键确定,列内无需重复填写 node。

配置项使用需求类型基础默认值说明
name任务定义str需提供或由配置推导列名,用于标识该维度的物理含义,并对齐数据布局、绘图与动作边界。需与原始数据的维度名称一致。
node任务定义str需提供或由配置推导该列所属的节点,由 YAML 中 columns 映射的键指定,无需在列定义中重复填写。
type任务定义Literal['continuous', 'discrete', 'category']continuous列类型:continuous、discrete 或 category,用于确定数值处理与网络输出形式。离散档位需显式声明相应类型及取值集合,例如 landerhover 的四档推力使用 category。
min任务定义Optional[float]null物理下界,需按执行器或工艺允许范围设置。直接策略模型的 ONNX 导出要求每个动作维度具有显式物理边界,不能用观测统计代替。
max任务定义Optional[float]null物理上界,要求同 min。应根据执行器或工艺允许范围设置;观测数据的最大值仅表示样本覆盖范围。
num常用调整Optional[int]nulldiscrete 列的取值个数。
values任务定义Optional[List[Any]]nullcategory 列的有序取值集合。顺序决定各取值的编码位置,修改后需重新核对模型与数据的兼容性。

决策流图

填写在 graph;多张图使用 graphs.<图名>,由训练阶段选择。

配置项使用需求类型基础默认值说明
nodes任务定义Dict[str, NodeConfig]{}单步决策流图的节点定义。节点名同时作为输出变量名,由用户根据任务定义填写。
transitions常用调整Union[Literal['auto', 'none'], Dict[str, str]]auto状态转移映射。源配置默认使用 auto;解析后的配置及保存的模型记录中使用具体映射。
transition_contract专项设置Literal['raw_delta', 'direct_next', 'custom_function']raw_delta跨步转移的计算约定。raw_delta(默认)要求由内置 delta 算子组成的显式 delta_<source> 节点;direct_next 允许网络直接预测下一状态;custom_function 允许可微的 raw 空间函数作为转移目标,并通过真实数据检查执行等价性。ADM2 等需要显式 delta 结构的算法不支持 custom_function。
columns任务定义Optional[List[ColumnConfig]]null各节点的数据列定义,包括列名、类型与物理边界。需与原始数据的列顺序和业务含义对应。
history常用调整Optional[Any]null历史窗口的全局设置,包括填充方式、输出格式、初始填充和梯度截断。窗口长度在各节点 inputs 中通过 变量@-k 或 变量@[-k:] 声明。
warmup_depth专项设置int0图级 warmup 深度,0 表示由各节点自动决定。

预测节点与网络 ​

预测节点

填写在 graph.nodes.<节点名>;节点名称来自外层键,类型由是否填写 function 决定,无需单独写 name 或 type。

配置项使用需求类型基础默认值说明
name任务定义str需提供或由配置推导节点名,也就是它的输出变量名。
type专项设置strnetwork节点类型,由配置自动确定。填写 function 时为函数节点,否则为网络节点;用户 YAML 无需填写 type。
inputs任务定义List[str][]该节点依次读取的上游输入,用于定义决策流图的依赖关系。由用户按任务填写,支持历史表达式与显式输入引用。
network常用调整NetworkConfig见神经网络该节点的网络结构,仅用于 network 节点。function 节点通过函数配置定义。
function任务定义Optional[FunctionConfig]null把该节点定义成确定性函数节点而非网络节点。取内置 key(如 builtin.delta_add)或 <module>:<callable> 形式的 Python 引用。
output_dist常用调整strnormal输出分布,默认为 normal(DiagonalNormal)。动作或策略节点需显式设置 tanh_normal,以将输出限制在 [-1, 1]。预测精度与标准差的校准效果需结合任务验证。
dist_config专项设置Optional[Dict[str, Any]]null分布的额外配置,如 normal 的 {min_std, max_std}、mix 的 {components: [...]}。
expert_features专项设置List[ExpertFeatureConfig][]该节点的专家特征列表。
input_slices专项设置Dict[str, str]{}输入切片映射:只取上游节点的某几列作为输入。
warmup_inputs专项设置Optional[List[str]]nullwarmup 的数据源声明,仅对有状态网络(如 GRU)有效。
warmup_depth专项设置int0节点级 warmup 深度,0 表示用图级默认。

神经网络

填写在网络节点的 network 中,例如 graph.nodes.actions.network。

配置项使用需求类型基础默认值说明
backbone常用调整strmlp骨干网络名称,使用网络注册表中的 mlp、res、gru、transformer 或用户注册的网络。
hidden_dims常用调整List[int][256, 256]各隐藏层的宽度。增大宽度可提高模型容量,同时增加计算与显存开销,并可能提高过拟合风险,需结合数据量和验证结果调整。
activation常用调整strleakyrelu隐藏层激活函数名,默认 leakyrelu,在负半轴保留非零梯度。具体效果需结合网络与数据验证。
dropout常用调整float0.0Dropout 概率,0 表示禁用,推理时自动关闭。
layer_norm常用调整boolfalse是否在隐藏层间加 LayerNorm。
input_embedding专项设置Dict[str, Any]{}按输入节点配置嵌入维度与融合方式,为空表示不做嵌入。
unified_head专项设置Dict[str, Any]{}骨干网络与输出头的统一结构参数,为空时各输出分别使用独立输出头。
custom_params专项设置Dict[str, Any]{}自定义网络的扩展参数。网络专属选项写入 custom_params;放在未定义的位置会提示未知字段。

专家函数与特征 ​

专家函数

函数节点使用 function: package.module:function 引用函数,compute_space 等设置与 function 同级;函数参数写在 function_params。

配置项使用需求类型基础默认值说明
ref任务定义str需提供或由配置推导函数引用,如 builtin.delta_add 或 <module>:<callable>。
compute_space专项设置Literal['raw', 'processed']raw函数在原始空间还是归一化空间求值。
differentiable任务定义boolfalse函数是否可微。位于最终 delta 计算路径上的函数节点需声明为可微,使损失梯度可以传回上游网络;不满足时会报告 DeltaContractError。配置示例见 examples/thermal_workflows。
strict_shape专项设置booltrue是否强制校验函数输出形状。
stats_source专项设置Literal['auto', 'data', 'function']auto该节点的归一化统计量取自数据还是函数自身。
materialize专项设置boolfalse是否将构建期用于统计的函数输出写入数据存储,供专家片段读取。默认 false。开启后会增加数据键,并影响基于 next_ 前缀的转移推断和训练器状态键推断;例如 adversarial.ood.x_nodes 需要读取该函数输出时可启用。
params专项设置Dict[str, Any]{}带参内置函数(如 builtin.delta_add_project)的绑定参数。该配置参与节点配置指纹计算并随模型保存,因此仅支持 JSON 标量与列表,不支持任意 Python 对象。

专家特征

填写在网络节点的 expert_features 中。特征用于补充网络输入,具体用法见专家特征。

配置项使用需求类型基础默认值说明
name专项设置str需提供或由配置推导专家特征名。
formula专项设置Optional[str]null自定义公式,与内置特征互斥。
inputs专项设置Optional[List[str]]null公式所需的输入列;不写时自动推断。
params专项设置Dict[str, float]{}公式参数。
learnable专项设置boolfalse参数是否随训练更新。

训练数据 ​

在 data 中指定数据路径、划分、批量与归一化。例如希望验证模型能否预测新的运行过程时,可以按完整轨迹划分训练集和验证集。操作步骤见设置训练数据。

数据读取与划分

配置项使用需求类型基础默认值说明
path常用调整Optional[str]null训练数据文件路径。可在 YAML 中填写,也可在命令中通过 --train-data 指定;同时设置时以命令行参数为准。
train_ratio常用调整float0.8训练集占比,其余用于验证。仅在未指定 val_path 时生效,划分方式由 split_mode 决定。整个运行共享一次划分,阶段级参数不单独重新划分数据。
batch_size常用调整int256每个梯度步的样本数。这是全局默认值,stage 可以按算法各自覆盖。
num_workers常用调整int0DataLoader 的 worker 进程数,0 表示在主进程里读。只影响吞吐,不改变训练结果。
normalization常用调整strmin_max_scaler归一化方式:min_max_scaler 或 z_score。统计量随模型保存并用于部署。修改统计量会改变模型的输入输出映射,复用与续训时需核对一致性。
split_mode常用调整stroutside_traj训练/验证的切分粒度:outside_traj 按轨迹切(验证集是没见过的轨迹,轨迹级隔离),inside_traj / inside_traj_reverse 在轨迹内部切(同一条轨迹的前后段分属两边,隔离更弱但样本利用率更高)。
paired_split_role专项设置Optional[str]null异构/配对数据切分中本份数据扮演的角色:None | A | B。仅 outside_traj 有效。
split_seed专项设置int42数据划分的随机种子,与模型初始化种子分别设置。比较不同初始化或超参数时,可固定该值以保持训练集与验证集不变。
val_path常用调整Optional[str]null可选的独立验证集文件。设置后训练用 path 全量、验证用 val_path(显式轨迹级 holdout),而不是对 path 内部按 train_ratio 切分;此时 val_split 取 1 - train_ratio。

训练与验证 ​

在 training.stages 中安排世界模型、策略或控制器阶段。阶段名称、算法和依赖写在阶段外层,训练参数写入 hyperparameters,验证设置写入 validation。下表按用途归类;PPO、SAC 和控制器参数的 YAML 层级以算法参数说明为准。

训练阶段与运行设置 ​

运行设置

配置项使用需求类型基础默认值说明
device常用调整strauto训练设备:auto、cpu、cuda[:N] 或 npu[:N]。显式指定的设备不可用时会报告错误;auto 按环境探测可用设备。
seed常用调整int42模型初始化与训练期采样的随机种子,独立于数据划分使用的 data.split_seed。
deterministic常用调整booltrue启用严格确定性算子;相同环境、seed 和执行计划可复现。
cpu_threads常用调整int1严格复现时固定的主进程 PyTorch CPU 线程数。
log_dir常用调整strlogs全部 run / record / checkpoint / 模型的输出根目录。
run_id常用调整Optional[str]null运行标识,用于分阶段复用同一目录。标准训练流程通过 CLI 或 RuntimeInputs 指定。
stages任务定义List[StageConfig][]训练与控制器阶段列表,按声明顺序执行。
plugins专项设置Optional[TrainingPluginsConfig]null可选的内置训练流程插件;缺省不加载插件,保持原训练路径。

训练阶段

下表同时包含阶段信息和解析后的训练设置。新增配置按 algorithm、hyperparameters、validation 组织;兼容字段的替代写法见相应说明。

配置项使用需求类型基础默认值说明
name任务定义str需提供或由配置推导阶段名。stage 之间靠它互相引用(inherit_from),它同时也是默认的 record_id。
algorithm任务定义strbc本阶段使用的算法,如 venv.bc、venv.revive_p、policy.ppo 或 controller.ffpid。需填写 AlgorithmRegistry 中注册的完整算法键。
graph常用调整Optional[str]null可选的 stage 级 graph 名称;为空时用顶层 graph。
inherit_from任务定义Optional[str]nullpolicy / controller 阶段所依赖的 venv 阶段名。
env_record_id常用调整Optional[str]null改为依赖一个已导出的 venv record_id,而不是同配置里的 stage。
migration专项设置Optional[MigrationConfig]null异构 graph 的迁移与 preflight 规则。
node_weights常用调整Dict[str, float]{}按节点覆盖 venv 阶段的监督损失权重,默认全为 1.0。
policy_nodes任务定义List[str][]policy / controller 阶段负责输出动作的节点,必填;其余节点被冻结成环境模型。
target_nodes专项设置List[str][]用于选择目标节点。BC 设置该项会采用策略训练方式;仅调整世界模型的监督目标时,请使用 venv_target_nodes。
venv_target_nodes专项设置List[str][]世界模型参与损失计算的目标节点。可指定可微函数节点,例如用下一状态特征作为监督目标,让误差沿函数传回上游网络;不改变阶段的训练类型。
frozen_nodes常用调整List[str][]显式冻结的节点,训练中不更新其参数。
epochs常用调整int100本阶段的最大训练轮数。启用早停或 patience 时,训练可能提前结束。
bc_pretrain_epochs常用调整int0策略优化之前先做多少轮行为克隆预热,0 表示不预热。
rollout_horizon常用调整int20训练时连续推演的步数,未单独设置验证长度时也用于验证。温控、机械运动等任务的误差积累速度不同,应根据本任务的多步误差曲线选择。可使用 revive suggest-rollout 获取建议;SAC 的训练推演长度使用 rollout_length。
batch_size常用调整Optional[int]null本阶段的批大小。None 表示沿用 data.batch_size。课程训练可在各阶段分别设置,例如 H=1 时使用 4096、H=200 时使用 256。
optimizer常用调整OptimizerConfig见优化器与学习率优化器配置。
ppo常用调整Optional[PPOConfig]nullPPO 专属超参,仅 policy.ppo 用。
sac常用调整Optional[SACConfig]nullSAC 专属超参,仅 policy.sac 用。
reward任务定义Optional[RewardConfig]null奖励函数的来源(文件路径 + 函数名)。策略类算法必填。
reward_supervision专项设置Optional[RewardSupervisionConfig]null把奖励作为监督信号一起训练的配置。
loss常用调整strnll主监督损失类型,如 nll / mse。
metric常用调整strloss用于选择最佳检查点的指标。编写当前版本 YAML 时使用 validation.selection.metric,并设置相应优化方向。
grad_clip常用调整float50.0梯度范数裁剪阈值。0 表示关闭(个别算法另有自己的关闭语义)。
aggregation_mode专项设置strdim_weighted多节点误差的汇总方式:dim_weighted 让每个维度权重相同,维度较多的节点贡献较大;node_mean 让每个节点权重相同。
rollout常用调整Optional[RolloutConfig]nullvenv 阶段的 rollout 验证配置(嵌套式新格式)。
enable_rollout_validation专项设置boolfalse多步验证开关的兼容字段。当前版本 YAML 使用阶段下的 validation.rollout.enabled。
rollout_val_frequency专项设置int50多步验证频率的兼容字段。当前版本 YAML 使用阶段下的 validation.rollout.interval。
num_rollout_trajectories专项设置int10多步验证轨迹数的兼容字段。当前版本 YAML 使用阶段下的 validation.rollout.num_trajectories。
sequence_train专项设置Optional[SequenceTrainConfig]null序列训练配置,venv 阶段可选。
phases专项设置List[PhaseConfig][]phase 级参数更新配置,仅 algorithm='bc' 时有效。
controller常用调整Optional[ControllerConfig]null控制器配置,仅 controller.* 算法用。
state_keys专项设置Optional[List[str]]null环境状态节点;None 时由 Graph 的 transition 与算法语义推导。
obs_keys专项设置List[str][]策略观测使用的输入键,按声明顺序在归一化空间拼接。为空时由决策流图推导。
action_keys专项设置List[str][]策略动作对应哪些键。空表示取 policy_nodes。
done_key专项设置strdone世界模型输出里哪一个键表示回合终止。该键不存在时按「不终止」处理。
force_terminal_at_horizon专项设置booltrue整段 rollout 未出现 done 时,是否将最后一步标记为终止。标记为终止时 last_value 归零,否则使用 V(s_T) 自举。该设置会影响末端价值估计与回报计算。
eval_include_train专项设置boolfalse策略验证时是否同时评估训练集。默认仅评估验证集;启用后可比较训练集与验证集的回报,但会增加评估开销。
l2_coef专项设置float5e-05已弃用。policy_bc.yaml 保留该键,但当前训练实现不读取此值。
logstd_loss_coef专项设置float0.01DEPRECATED:同 l2_coef,声明了但无人读取。
init_from_checkpoint专项设置Optional[str]null从一个已有 checkpoint 初始化本阶段的权重(venv.revive_p 的 bc 与 adversarial 两侧共用这个值)。None 表示随机初始化。
extra专项设置Dict[str, Any]{}解析后保存算法专属参数的位置。编写 YAML 时将算法参数放入 hyperparameters,无需手动填写 extra。

阶段间模型继承

配置项使用需求类型基础默认值说明
mode专项设置Literal['by_reference', 'copy_compatible', 'preflight_only']by_reference迁移方式:by_reference 直接引用 | copy_compatible 拷贝兼容节点 | preflight_only 只做兼容性检查不迁移。
reuse_policy_nodes专项设置booltrue是否复用已有 artifact 里的策略节点权重。
on_env_mismatch专项设置Literal['error', 'warn']error环境侧节点不匹配时报错还是告警。
on_policy_mismatch专项设置Literal['reinit', 'error', 'warn']reinit策略侧节点不匹配时重新初始化、报错还是告警。
norm专项设置Literal['strict', 'sync_shared_from_env', 'warn']strict归一化统计量的处理:strict 要求完全一致 | sync_shared_from_env 从环境侧同步共享变量 | warn 只告警。
allow_function_to_network_policy专项设置booltrue允许把函数节点迁移成网络策略节点。
allow_network_to_function_policy专项设置booltrue允许把网络节点迁移成函数策略节点。
allow_stateful专项设置booltrue允许迁移有状态网络(如 GRU)。
write_report专项设置booltrue是否保存迁移报告。

学习率与阶段内计划 ​

优化器与学习率

通常填写在阶段的 hyperparameters.optimizer;REVIVE-P 的监督训练设置位于 hyperparameters.bc.optimizer。

配置项使用需求类型基础默认值说明
type常用调整stradam优化器类型:adam | adamw。
lr常用调整float0.001基础学习率。过高可能引起训练震荡或发散,过低可能增加收敛所需轮数,可结合损失与验证曲线调整。
weight_decay常用调整float0.0001参数权重衰减(L2)系数。可与 dropout 联合使用,正则强度过大时可能导致欠拟合。
scheduler常用调整strcosine学习率调度器:none | step | cosine | exponential。
lr_decay常用调整float0.99step / exponential 调度的衰减因子。
scheduler_interval专项设置strepoch学习率的更新频率:epoch 表示每轮更新,update 表示每次参数更新后调整。update 仅支持 scheduler='cosine'。
eta_min_ratio专项设置float0.0cosine 调度的学习率下限,按 lr 的比例给出。仅 scheduler_interval='update' 有效。

阶段内训练计划

训练阶段内需要改变轮数或推演长度时,使用 hyperparameters.phases(REVIVE-P 为 hyperparameters.bc.phases),各项按顺序执行,具体组合见设置训练流程。

配置项使用需求类型基础默认值说明
name专项设置str""phase 名称。
optimize_nodes专项设置List[str][]本 phase 更新哪些节点的参数。
optimizer专项设置Optional[OptimizerConfig]null本 phase 专用的优化器;None 表示沿用 stage 级配置。
repeat专项设置int1本 phase 连续重复多少次。

策略与奖励 ​

PPO 策略参数

使用 algorithm: policy.ppo 时,将这些参数填写在 hyperparameters,无需增加 ppo 嵌套层。

配置项使用需求类型基础默认值说明
dynamics_noise常用调整Optional[Dict[str, Any]]null仅策略训练期动力学扰动:enabled 默认 false,keys 按状态列配置 raw 单位标准差。
epsilon常用调整float0.2PPO 裁剪目标中的概率比率裁剪范围,用于限制单次策略更新幅度。
gamma常用调整float0.99回报与优势估计的折扣因子,有效视界约为 1/(1-gamma),0.99 对应约百步。取值需结合 rollout 长度与末端价值估计:推演仅 20 步而 gamma=0.999 时,窗口外回报较多依赖自举估计。
gae_lambda常用调整float0.95GAE 的 lambda:偏差 / 方差的权衡。1 退化成蒙特卡洛回报,0 退化成 TD(0)。
entropy_coef常用调整float0.01策略熵奖励系数,越大越鼓励探索。也可使用 w_ent;同时填写时以 w_ent 为准。
w_ent专项设置Optional[float]nullentropy_coef 的别名;同时填写时以 w_ent 为准。
value_coef常用调整float0.5value loss 在 PPO 总目标里的权重。
max_grad_norm常用调整float0.5PPO actor / value 更新的梯度范数上限。
n_epochs常用调整int10PPO 更新轮数的兼容配置。当前训练使用 ppo_runs 控制每批推演数据的更新次数,调整时请设置 ppo_runs。
ppo_runs专项设置int2每批推演数据进行的 PPO 更新轮数。增大后会对同一批数据进行更多次更新。
ppo_batch_num专项设置int8每批推演数据划分的小批次数,默认 8。与 ppo_runs 共同决定这批数据的更新次数。
ppo_batch_size专项设置Optional[int]null每个小批次的样本数;未指定时根据训练数据的批量设置计算。
num_rollout_trajs常用调整Optional[int]null并行 rollout 的轨迹条数;不指定时由 ppo_batch_size 或 data.batch_size 推导。
validation_horizon常用调整Optional[int]null策略验证的推演步数。未填写时使用训练推演长度:PPO 对应 rollout_horizon,SAC 对应 rollout_length。
w_vl2专项设置float0.001价值网络的 L2 正则权重(REVIVE: w_vl2)。
bpc_type专项设置strbc行为约束类型:bc | wpc;bpc_weight>0 时生效。当前 PPO 不支持启用 kl 约束。
bpc_weight专项设置float0.0行为约束权重,>0 才开启。
generate_deter专项设置int0rollout 是否用确定性动作(REVIVE: generate_deter,1 为确定性)。
value_hidden_dims常用调整List[int][256, 256]value 网络各隐藏层宽度。它与策略网络分开配:value 拟合的是整条轨迹的回报,通常需要比策略更大的容量。
log_ratio_clip_enabled专项设置boolfalse是否对 log ratio 做上限裁剪(ratio = exp(clamp_max(log_ratio, max)))。默认关闭以对齐 REVIVE(v1)。
log_ratio_clip_max专项设置float40.0log ratio 的裁剪上限。
segment_sampling_mode专项设置strtimestep_uniform推演起点的采样方式:trajectory_uniform 按轨迹均匀;segment_uniform 按每条轨迹可容纳的整段数 floor(L_i/H) 加权;timestep_uniform 按合法起点数 L_i-H+1 加权。L_i 为轨迹长度,H 为推演长度。
use_last_value_bootstrap专项设置boolfalse是否使用轨迹末端的价值估计补充后续回报。false 将末端价值设为 0;没有终止信号的持续控制任务可评估开启后的效果。

SAC 策略参数

使用 algorithm: policy.sac 时,将这些参数填写在 hyperparameters,无需增加 sac 嵌套层。

配置项使用需求类型基础默认值说明
dynamics_noise常用调整Optional[Dict[str, Any]]null仅策略训练期动力学扰动:enabled 默认 false,keys 按状态列配置 raw 单位标准差。
gamma常用调整float0.99回报与 Bellman target 的折扣因子。
tau常用调整float0.005target Q 网络的软更新系数:越小目标越慢、越稳。
alpha常用调整float0.2熵温度。auto_alpha=false 时它是固定值,true 时它只是自动优化的初值。
auto_alpha常用调整booltrue是否自动优化熵温度,使策略熵向 target_entropy 收敛。
target_entropy专项设置Optional[float]null自动温度的目标熵;None 时按动作维度推导(取 -action_dim)。
actor_lr常用调整float0.0003Actor 学习率。需结合 Critic 的拟合情况与策略更新稳定性调整。
critic_lr常用调整float0.0003Critic 学习率,用于调整 Q 值估计的更新速度。
alpha_lr常用调整float0.0003自动温度参数的学习率。auto_alpha=false 时它不起作用。
buffer_size常用调整int100000ReplayBuffer 最多存多少条 transition。
batch_size常用调整int256算法局部 batch size。更大通常更稳,代价是显存。
warmup_steps常用调整int1000开始正式 actor / critic 更新之前先积累多少条 transition,其间只收数据不更新参数。
updates_per_step常用调整int1每新增一个 transition 对应做多少次优化更新。
replay_sample_rng专项设置strtorchreplay buffer 的采样 RNG:torch | numpy(numpy 对齐 REVIVE)。
q_hidden_dims常用调整List[int][256, 256]Q 网络各隐藏层宽度。
q_network_type专项设置strindependent多个 Q 用独立网络(independent)还是向量化 ensemble(vectorize / vectorized)。
num_q常用调整int2Q 网络个数(集成规模)。target 与 actor 用的是它们的保守聚合。REVIVE 默认 4。
value_hidden_dims常用调整List[int][256, 256]value 网络各隐藏层宽度。它与策略网络分开配:value 拟合的是整条轨迹的回报,通常需要比策略更大的容量。
max_grad_norm常用调整float0.0actor / critic 更新的梯度范数上限,0 表示不裁剪。
rollout_length常用调整int20每个 epoch 在世界模型中生成的单条轨迹长度,即 SAC 的推演步数。SAC 使用 rollout_length,PPO 使用 stage.rollout_horizon,配置时需选择对应算法的字段。可使用 revive suggest-rollout 在已训练的世界模型上评估建议值。
validation_horizon常用调整Optional[int]null策略验证的推演步数;None 表示复用该算法的训练长度 rollout_length。
eval_gamma专项设置float1.0验证期回报的折扣因子,与训练用的 gamma 分开。REVIVE 的 test_gamma 默认 1.0。
num_rollout_trajs常用调整int16每个训练 epoch 在世界模型里生成多少条轨迹。
segment_sampling_mode专项设置strtimestep_uniformrollout 起点的采样模式,取值同 PPOConfig.segment_sampling_mode。
generate_deter专项设置int0rollout 是否取分布众数而非采样。REVIVE 默认 1。
policy_rollout_action_mode专项设置strsamplerollout 时动作取 sample 还是 mode。默认沿用 revive 的历史行为。
policy_forward_action_only专项设置boolfalse诊断开关:策略前向只执行 action 节点。
critic_target_action_sample_mode专项设置strrsample_with_logprob算 critic 目标值时下一步动作怎么取:rsample_with_logprob | rsample | sample。
drop_last_rollout_transition专项设置boolfalse每段 rollout 少写最后一步 transition,用于对齐 REVIVE 的 buffer_process。
expert_replay_enabled专项设置boolfalse是否额外维护来自历史数据的经验回放,用于在策略训练时结合已有行为样本。
batch_ratio专项设置float1.0SAC batch 里生成 transition 的占比。REVIVE 默认 1。
critic_pretrain专项设置boolfalse是否做 critic-only 预训练。
critic_pretrain_epochs专项设置int0critic-only 预训练的轮数。
revive_update_order专项设置boolfalse改用 REVIVE 的更新顺序:critic 更新后立刻 soft update target,再更新 actor。
fixed_save_epochs专项设置List[int][]在这些轮次额外存一份固定检查点。
fixed_checkpoint_dir专项设置strfixed_checkpoints固定检查点的存放目录名。
bc_pretrain_epochs常用调整int0SAC 优化前的行为克隆预热轮数,用于初始化历史行为附近的策略;0 表示不预热。
bpc_type专项设置strnone行为约束类型:none | bc。SAC 不支持 wpc。
bpc_weight专项设置float0.0行为约束权重,>0 才开启。
rollout_clip专项设置boolfalserollout 时把节点输出裁剪到 processed 空间的 [-1,1](对齐 REVIVE)。
w_kl专项设置float0.0actor 的 KL(initial_policy ‖ current_policy) 权重。REVIVE 默认 1.0。
behavioral_policy_init专项设置boolfalse把 venv 阶段训好的 policy 节点权重拷进 SAC 策略作为初始化。对齐 REVIVE 的 behavioral_policy_init=True:策略从行为策略起步,且 KL anchor 锚定到行为策略而不是随机初始化。

奖励函数

配置项使用需求类型基础默认值说明
path任务定义str""奖励函数所在的 Python 文件路径,相对配置文件自身的位置。
function任务定义strcompute_reward该文件里奖励函数的名字。

奖励监督

配置项使用需求类型基础默认值说明
enabled常用调整boolfalse是否把奖励作为监督信号一起训练(辅助损失)。
mode专项设置strautograd梯度获取方式。
apply_to专项设置List[str]["finetune"]在哪些训练阶段生效。
weight常用调整float0.05奖励监督这项辅助损失在总损失里的权重。
loss专项设置strsmooth_l1辅助损失的形式。
normalize专项设置booltrue是否对奖励差做归一化。
pred_mode专项设置strmode预测值取分布众数还是采样。
differentiable_keys专项设置Union[str, List[str]]target_keys哪些键保持可微;默认与监督目标一致。
detach_unpredicted_inputs专项设置booltrue非预测输入是否切断梯度。
grad_log专项设置booltrue是否记录梯度统计到日志。
eps专项设置float1e-06数值稳定用的下限。
task_state_weight专项设置float0.05任务状态项的权重。
reward_consistency_weight专项设置float0.005奖励一致性项的权重。
sensitivity_min专项设置float0.25灵敏度裁剪的下界。
sensitivity_max专项设置float4.0灵敏度裁剪的上界。
support_limit专项设置float1.2支撑范围的外推上限。
warmup_ratio专项设置float0.3辅助损失权重线性爬升占总轮数的比例。

多步训练与验证 ​

多步验证

当前 YAML 使用阶段下的 validation.rollout;例如推演步数写作 horizon,执行频率写作 interval。完整写法见评估与选择模型。

配置项使用需求类型基础默认值说明
enabled常用调整booltrue是否执行多步自回归验证。关闭后不生成该路径的 rollout 指标;需要评价长程预测或闭环效果时,应保留独立的多步验证。
rollout_horizon常用调整int50验证时自回归推演多少步。必须小于等于验证轨迹长度,否则该指标整条缺失,训练侧会以「配置了却没收到该指标」报错。
rollout_val_frequency常用调整int50每多少轮做一次 rollout 验证。它比单步验证贵得多,所以通常不是每轮都做。
num_rollout_trajectories常用调整int10每次验证推演多少条轨迹。条数太少时曲线不单调、拐点会摇摆。
node_clip专项设置Optional[float]null推演时节点输出的绝对值裁剪,None 表示不裁剪。
expert_action_rollout_enabled常用调整boolfalse额外算一组「动作取自数据而非模型」的 rollout 指标。典型用法是 nodes=['actions'],用来单独看动力学的长期误差。
expert_action_rollout_nodes常用调整List[str][]上述 rollout 中改用专家(数据)取值的节点。
expert_action_rollout_exclude_nodes专项设置List[str][]上述 rollout 中显式排除的节点。
num_rollout_segments专项设置int1024分层采样时的候选片段数(sampling_mode='segment_stratified')。
sampling_mode专项设置strsegment_stratified片段采样方式:segment_stratified | trajectory。
segment_select_mode专项设置strbin_random分层内的选取方式:bin_random | uniform。
min_start_gap专项设置Optional[int]null同一条轨迹上两个片段起点的最小间隔。
allow_reduce_segments专项设置booltrue候选片段不足时允许自动减少数量而不是报错。
segment_seed专项设置int42片段采样的随机种子。
mae_scale_decay专项设置float1.0逐步衰减率:第 t 步的权重为 decay^t。1.0 表示各步等权。
wdist_test专项设置boolfalse是否计算 Wasserstein 距离(看分布保真度,计算较慢)。
primary_metric_node常用调整Optional[str]null面向任务的主指标算在哪个节点上(原始量纲)。
primary_metric_dims常用调整List[int][]主指标计算使用的节点维度,留空表示全部维度。可选择业务关注的物理量作为模型选择依据,避免全维平均掩盖关键维度的误差变化。
primary_metric_circular_dims专项设置List[int][]其中哪几维是角度类(按周期求差)。
primary_metric_scales专项设置List[float][]各维的归一化尺度;应当只用训练集统计。
primary_metric_dim_weights专项设置List[float][]各维在主指标里的权重。
primary_metric_trajectory_macro专项设置boolfalse按轨迹先聚合再平均(宏平均),而不是所有步一起平均。
integrated_displacement_metric_node专项设置Optional[str]null位移指标:把原始空间的速度预测误差沿 rollout 积分,得到不依赖 GPS 的位移偏差。
integrated_displacement_metric_dims专项设置List[int][]位移指标看哪几维速度。
integrated_displacement_metric_dt专项设置Optional[float]null积分步长;None 表示由数据推断。
integrated_displacement_metric_scales专项设置List[float][]位移指标各维的尺度。
integrated_displacement_metric_weight专项设置float0.0位移指标在综合指标里的权重,0 表示只记录不参与。

多步联合训练

填写在 hyperparameters.sequence_train;REVIVE-P 的相应设置位于 hyperparameters.bc.sequence_train。

配置项使用需求类型基础默认值说明
enabled常用调整boolfalse是否启用多步联合优化。关闭时仅进行单步监督训练;多步推演表现需要单独验证。
horizon常用调整int100一次联合优化累加多少步的 loss(H)。venv.revive_p 下它同时也是判别器看到的序列长度。加大它会明显抬高显存与计算量,batch_size 通常要反向调。
train_mode常用调整strtf多步训练的输入模式。tf 使用教师强制,每步输入真实值;rollout 使用自回归,每步输入前一步的预测值,用于在训练中考虑误差累积。
observed_keys专项设置List[str][]rollout 模式下仍从数据读取的键。
forced_nodes专项设置List[str][]rollout 模式下强制用真值的节点。
detach_after_bootstrap专项设置boolfalsebootstrap 阶段之后切断梯度。
detach_history_override专项设置Optional[bool]null覆盖历史窗口是否切断梯度;None 表示随算法默认。
step_mode专项设置strrsample每步取值方式:rsample 可重参数采样 | sample | mode。
loss_aggregation专项设置strmeanH 步 loss 的聚合方式:mean | discounted。
loss_discount专项设置float1.0discounted 聚合时的折扣率。
target_map专项设置Dict[str, str]{}预测键到监督目标键的映射覆写。
direct_sequence_supervision专项设置boolfalse直接在序列层面监督,而不是逐步监督。
initial_state_override专项设置Optional[Dict[str, str]]null部署初始状态设置:state 指定状态变量,source 指定数据中的因果估计变量。替换预测起点后仍使用真实标签监督,并将初始偏差计入累计状态损失;null 表示不替换。
trend_loss_weight专项设置float0.0趋势项损失权重,0 表示关闭。
trend_loss_sample_minutes专项设置float5.0趋势项的采样间隔,单位分钟。
trend_loss_half_life_minutes专项设置float30.0趋势项的半衰期,单位分钟。
integrated_velocity_loss_weight专项设置float0.0长时位移目标的权重。指定节点被当作速度向量:预测与目标先还原到原始量纲,选中分量的误差沿时间积分,归一化后的位移误差再与基础序列损失混合。0 表示关闭。
integrated_velocity_node专项设置Optional[str]null被当作速度向量的节点。
integrated_velocity_dims专项设置List[int][]该节点的哪几维参与积分。
integrated_velocity_dt专项设置float1.0积分步长。
integrated_velocity_scales专项设置List[float][]各维的归一化尺度。
batches_per_epoch常用调整Optional[int]null每轮抽取 batch_size × batches_per_epoch 个窗口,在合法起点中有放回均匀抽样。null 表示每轮无放回遍历全部合法窗口。
sampling_replacement专项设置boolfalse窗口采样是否有放回。
objective专项设置Optional[Dict[str, Any]]null在原始单位下计算复合序列损失;null 时使用逐步归一化监督损失。可设置 type、node、dims、circular_dims、scales、dim_weights,以及用于累计变化的 displacement 子项。
state_noise专项设置Optional[Dict[str, Any]]null训练时向反馈到下一步的状态添加噪声,损失仍使用未加噪的预测计算,帮助模型学习从扰动中恢复。null 表示关闭,仅在 train_mode=rollout 时使用。scale 设置强度,keys 选择状态,unit_pairs 可指定 sin/cos 维度对,以旋转方式加噪并保持单位模长。

控制器 ​

控制器通用设置

通过阶段的 algorithm: controller.<类型> 选择控制器,所需参数直接填写在 hyperparameters,无需再增加 controller 嵌套层。

配置项使用需求类型基础默认值说明
type常用调整strmpc控制器种类:mpc | ffpid | residual_pid。
mpc常用调整Optional[MPCControllerConfig]nullMPC 专属参数。
ffpid常用调整Optional[FFPIDControllerConfig]nullFFPID 专属参数。
residual_pid常用调整Optional[ResidualPIDControllerConfig]nullResidualPID 专属参数。
tune常用调整Optional[ControllerTuneConfig]null自动调参配置。
action_bounds常用调整Optional[Dict[str, List[float]]]null显式 actuator 边界 {列名: [下界, 上界]};不填时只接受 graph 列定义里的边界。

控制器参数搜索

配置项使用需求类型基础默认值说明
enabled常用调整booltrue是否自动调参。关掉则直接用配置里的增益。
objective常用调整strreward_mean控制器参数搜索的排序指标,决定候选增益按跟踪误差或回报等指标比较。
mode专项设置strtwo_stage搜索模式。two_stage 先用 fast_eval_segments 粗筛,再对 top_k 用 full_eval_segments 复评。
max_trials常用调整int40搜索的试验总数,直接决定调参耗时。
top_k专项设置int5粗筛后进入复评的候选个数。
fast_eval_segments专项设置int64粗筛阶段的评估片段数。
full_eval_segments专项设置int256复评阶段的评估片段数。
eval_horizon常用调整int100各评估片段在世界模型中的推演步数。需覆盖任务相关的响应过程,可参考被控对象的 t63 选择初值。
seed常用调整int42调参搜索的随机种子。换它会换出一组不同的候选,因而是可比性的一部分。
search专项设置Dict[str, List[Any]]{}搜索空间覆写:{参数名: [候选值...]},为空则用算法内置空间。

MPC 控制器

配置项使用需求类型基础默认值说明
method常用调整strcem规划算法,可选 cem(交叉熵方法)、mppi(加权平均)或 random(随机采样搜索)。三种算法均由 MPCPlannerKernel 实现。
horizon常用调整int10MPC 每次规划的步数,需结合系统时滞与响应时间设置。例如 three_tank 中 h2 对泵的 t63 为 109 个控制步;规划窗口较短时,泵能耗已计入奖励而液位改善尚未出现,可能影响候选动作的选择。
num_samples常用调整int100每轮采样的候选动作序列条数。它和 num_iterations 一起决定单个控制步的规划开销。
num_elites专项设置int10CEM 每轮保留多少条精英用于更新采样分布。仅 method=cem 有效。
num_iterations常用调整int5每个控制步的搜索迭代次数。仅 cem 与 mppi 有效,random 只打一轮。
temperature专项设置float1.0仅 method=mppi 有效:候选按 softmax(return / temperature) 加权平均。cem 走的是 topk 硬选择,根本不读这个值。必须为正。
gamma常用调整float0.99规划期内累计回报的折扣因子,与 horizon 共同决定远期收益的权重。gamma 较小时,窗口末端奖励的影响减弱。
deterministic专项设置booltrue规划时世界模型取分布均值(true)还是采样(false)。取均值让同一状态下的规划可复现。
use_policy_prior专项设置booltrue初始采样分布是否以已训练的策略为先验。关掉则从动作区间中点 ± 半量程起步。
clip_actions专项设置booltrue每次生成候选后是否裁剪到 action_bounds 内。
warm_start专项设置booltrue是否平移上一控制步的最优动作序列,用于初始化当前搜索。CEM 的 top-k 选择可能因 PyTorch 与 ONNX 间 1e-7 量级的浮点差而变化,暖启动会继续传递该差异,影响 parity 验证。需要数值一致性验证时应关闭,并按部署指南检查搜索结构的限制。
future_exogenous_keys常用调整List[str][]规划期内可预知的外生变量列,例如天气预报和排产负载。模型调用端必须提供所列节点的未来序列。MPC 使用这些信息进行规划;单回路 PID 通常根据当前误差生成控制量。
seed常用调整int0候选动作采样的随机种子。CEM / MPPI 每步都在采样,固定它才让同一状态下的规划可复现。

前馈 PID 控制器

配置项使用需求类型基础默认值说明
kp常用调整float1.0比例增益,必须非负。当前配置校验要求 kp、ki、kd 均大于等于 0,因此无法通过 YAML 配置需要负增益的反作用过程,例如功率增大、温度下降的制冷过程。
ki常用调整float0.0积分增益,必须非负。用于减小恒定设定值下的稳态偏差。
kd常用调整float0.0微分增益,响应误差的变化率,给闭环增加阻尼。必须非负。
kff常用调整float0.0前馈增益,直接乘设定值(不是测量值):action += kff * setpoint。它绕过反馈回路直接提供一部分控制量,所以能在误差还没建立起来时就动作。
integral_limit常用调整Optional[float]null积分状态的绝对值上限,None 表示不限。用来抑制 windup。
output_limit常用调整Optional[float]null控制量输出的绝对值上限,None 表示只受 action_bounds 约束。
derivative_filter_tau专项设置float0.0微分项的一阶低通时间常数,0 表示不滤波。测量带噪时不滤波会让微分项把控制量抖起来。
anti_windup专项设置strclamp输出饱和时的抗积分饱和策略。
setpoint_key常用调整Optional[str]null输入状态里哪一个键是目标设定值;None 表示由 stage 另行提供。
measurement_key常用调整Optional[str]null输入状态里哪一个键是被控量(反馈测量)。它和 setpoint_key 一起定义误差:error = setpoint - measurement。

残差 PID 控制器

配置项使用需求类型基础默认值说明
kp常用调整float0.0残差项的比例增益。必须非负,同 FFPID。
ki常用调整float0.0残差项的积分增益,消除常值设定值下的稳态偏差。必须非负。基线取零时慎用:那时残差就是指令本身,积分项会累出退不掉的偏置。
kd常用调整float0.0残差项的非负微分增益。测量噪声较大时可结合 derivative_filter_tau 抑制动作抖动。
target常用调整float0.9被控量的设定值。当前增益要求非负,仅支持与该增益方向匹配的被控量;需要负增益的反作用过程暂时无法通过 YAML 配置。
delta_max常用调整float0.05残差相对基线动作的最大偏移量。默认值按加氯任务量纲设置,其他任务需根据允许偏移范围重新确定。上限不足以覆盖目标动作时,输出可能持续饱和。
rate_limit常用调整float0.01相邻两步残差的最大变化量,需根据执行器能力与控制周期设置。vehicle_acc 示例中,每步 0.5 m/s² 的限制使加速度从 0 降到 -3 m/s² 需要 6 步(1.2 s),会影响急刹场景的可行控制范围。平滑偏好可另用奖励代价表达,硬限制需单独验证。
i_max常用调整float0.05积分项贡献的绝对值上限,用来抑制 windup。它和 delta_max 一样按任务量纲定。
sample_dt_h常用调整float0.08333333333333333控制周期,单位小时。积分与微分项按它换算,所以它必须与增益标定时用的周期一致。
measurement_key常用调整Optional[str]null输入状态里哪一个键是被控量。内核算 error = target - measurement。
baseline专项设置Optional[Dict[str, Any]]null专家基线动作的来源,包括 callable、参数与来源约定。None 表示使用零动作为基线,此时残差即为输出指令。

双环境训练 ​

可选训练功能

配置项使用需求类型基础默认值说明
dual_environment专项设置DualEnvironmentConfig见双环境训练设置内置双环境流程插件,严格配对,不自动降级为单环境。

双环境训练设置

配置项使用需求类型基础默认值说明
enabled专项设置boolfalse显式开启双环境训练流程插件;默认始终关闭。
policy_mode专项设置Literal['dual', 'single']dualdual 独立训练两套策略;single 为两套环境、一套策略的轻量模式。
stages专项设置List[str][]参与插件的阶段名;空列表表示所有阶段,首期仅支持 BC/REVIVE-P/PPO/SAC。
seed_offset专项设置int100000B 分支的训练随机种子偏移,不参与数据切分或交叉验证采样。
allow_validation_training专项设置boolfalse使用独立验证文件训练 B 分支须显式同意;该文件不再是独立留出测试集。
validation专项设置DualEnvironmentValidationConfig见交叉验证交叉验证与矩阵诊断配置,选模沿用统一验证引擎。
efficient_output常用调整booltrue仅 legacy:双环境低频 latest、关闭归档、阶段末导出指标;best_only 始终只保留最优轮次。
execution常用调整DualEnvironmentExecutionConfig见分支资源分配开启双环境后按任务资源自动选择串行或并行;显式 serial/parallel 优先。cpu_per_branch 限制每分支线程数,GPU 并行须指定两张不同且已分配的设备。
quality_rules专项设置List[DualEnvironmentQualityRule][]选中模型的业务质量拒绝规则;空列表明确表示未配置质量门槛。

交叉验证

配置项使用需求类型基础默认值说明
full_matrix专项设置booltrue输出同一初始状态面板上的完整交叉矩阵;关闭时仍执行交叉选模。
seed专项设置int42交叉验证的固定随机种子;与分支训练和数据切分随机流相互独立。
diagnostic_interval专项设置int0完整矩阵的独立轮数间隔;0 仅在阶段末对选中模型补评,1 沿用逐轮诊断。

分支资源分配

配置项使用需求类型基础默认值说明
mode常用调整strauto默认 auto:单卡串行,明确分配双卡且 CPU 额度足够时并行;可显式设 serial/parallel。
cpu_per_branch常用调整int1并行执行时,每个分支可使用的 CPU 线程数。
devices专项设置List[str][]明确分配的两个逻辑设备;空列表在加速器上只使用 training.device,不自动占用其他卡。

分支质量要求

配置项使用需求类型基础默认值说明
domain专项设置strvenvvenv 或 policy。
metric专项设置str""必须实际产出的 canonical 指标。
minimum专项设置Optional[float]null选中交叉格的指标下限。
maximum专项设置Optional[float]null选中交叉格的指标上限。
max_environment_gap专项设置Optional[float]null策略在同一起点面板的两个环境上的指标绝对差上限。

模型与日志保存 ​

在 output 中选择保存模型、训练状态、曲线与 ONNX 的方式。需要恢复训练时保留完整训练状态;部署时使用模型目录。当前 YAML 的绘图和 ONNX 设置分别放在 output.plotting、output.onnx,完整写法见保存模型与日志。

模型、报告与日志

配置项使用需求类型基础默认值说明
checkpoint_policy常用调整strbest_onlybest_only 仅覆盖最优模型及同轮续训态;legacy 兼容旧周期保存。
allow_research_snapshots专项设置boolfalse显式允许有 max_snapshots 上限的判别器研究快照;训练检查点仍只保留 best。
save_freq常用调整int1legacy 历史归档间隔;best_only 忽略此字段。
checkpoint_interval常用调整Optional[int]null仅 legacy:latest 保存轮数间隔;普通训练默认 1、双环境默认 10。
checkpoint_seconds常用调整Optional[float]null仅 legacy:latest 时间间隔,epoch 边界检查;0 关闭时间触发。
archive_interval常用调整Optional[int]null仅 legacy:历史归档间隔;0 关闭;双环境默认 0。
metrics_backend常用调整strautoauto/snapshots/final/tensorboard:每轮快照、结束导出或仅事件历史。
checkpoint_mirrors专项设置strautoauto/commit/final:兼容 checkpoint 文件每次提交或结束时生成。
tensorboard_queue专项设置int256TensorBoard 待写事件队列大小。
tensorboard_flush_secs专项设置int10TensorBoard 刷新间隔(秒)。
tensorboard常用调整booltrue是否写 TensorBoard 事件文件。
export_onnx常用调整booltrue训练结束后是否导出 ONNX。标准训练流程要求该项与 require_onnx 同时启用,导出及所要求的验证通过后才能选为运行级模型。
require_onnx常用调整booltrue导出失败时是否判 stage 失败并挡住 promotion。关掉等于允许产出不可部署的模型,而这件事只有到上线那天才会被发现。
onnx_opset专项设置int17ONNX opset 版本。
onnx_io_space专项设置strrawONNX 的输入输出单位:raw 使用原始物理量,processed 使用归一化值。选择 raw 时,归一化计算包含在导出模型中,业务程序按原始单位提供输入。
onnx_validate专项设置strparity导出验证等级:checker 检查结构,runtime 检查 ONNX Runtime 执行,parity 比较 PyTorch 与 ONNX 数值,none 不验证。MPC 的 CEM top-k 选择不连续,1e-7 量级的浮点差可能改变精英集合,单纯放宽 atol 不能保证搜索结果一致;具体要求见输出配置指南。
onnx_export_dtype专项设置strkeepONNX 导出时的计算精度:keep 保持模型精度,float32 或 float64 指定导出精度。
onnx_atol专项设置float1e-05PyTorch / ONNX parity 与 runtime 校验的绝对误差容限。
onnx_rtol专项设置float0.0001PyTorch / ONNX parity 与 runtime 校验的相对误差容限。
export_pkl专项设置booltrueDEPRECATED:保留仅为兼容旧 YAML 解析,不控制任何导出行为。
plot_external_inputs常用调整boolfalse趋势图里是否一并画出外生输入列。
trend_plot常用调整booltrue是否生成训练趋势图。
trend_plot_interval常用调整int10趋势图每多少轮更新一次。
enable_plotting常用调整booltrue训练绘图总开关。false 时关闭 best、trend 和 openloop 绘图,可减少文件读写与绘图开销。

任务信息 ​

在配置文件顶层填写任务名称、格式版本和说明,并通过 graph、data、training、output 组织各部分。version 表示配置格式版本,与安装的 SDK 版本分别管理。

任务名称与配置入口

配置项使用需求类型基础默认值说明
name常用调整strdefault配置名称,用于日志与输出文件命名,并保存在 config.resolved.yaml 中。
version常用调整str2.0用户配置的格式版本,独立于 revive 软件包版本管理。升级软件包不会自动修改该值。
description常用调整str""给人读的说明,不影响训练。
graph任务定义GraphConfig见决策流图图结构与列定义:这个任务有哪些量、谁依赖谁。用命名图(graphs)时它是默认那张。
graphs常用调整Dict[str, GraphConfig]{}命名图集合,供不同 stage 用 stage.graph 各自挑一张。
data常用调整DataConfig见数据读取与划分数据来源、训练/验证划分与归一化。
training任务定义TrainingConfig见运行设置设备、随机种子与 stage 序列。
output常用调整OutputConfig见模型、报告与日志checkpoint、绘图与 ONNX 导出。
uncertainty专项设置Any见不确定性设置不确定性估计配置。