Description Part of #1239
问题
纯机械重复的 helper 散在四个训练入口:
run 目录命名 3 份:scripts/train_rsl_rl.py:110、scripts/train_offpolicy.py:83、scripts/train_appo.py:343-347
checkpoint 未找到诊断文案 3 份:train_rsl_rl.py:195-228、train_him_ppo.py:57-89、(库层 src/unilab/training/run.py:245-275 为第三套同类)
_algo_config_dict(OmegaConf→dict)4 份:train_rsl_rl.py:140、train_him_ppo.py:50、play_interactive.py:178、play_viser.py:101
NanGuardCfg 接线 3 份:train_rsl_rl.py:456-472、train_offpolicy.py:148-156、train_appo.py:76-85
config 快照 2 套平行写入:training/experiment.py 的 run_config.json vs scripts/train_hora_distill.py:56-85 的 distill_run_config.json
做什么
上述 helper 收进 src/unilab/training/run.py(或新增 src/unilab/training/entrypoint.py),四个入口脚本改为调用;
train_hora_distill.py 的快照写入并入 ExperimentTracker 路径(输出文件格式不动,只消除第二套写入逻辑)。
不做什么
不动各入口的算法专属逻辑(DP 拓扑校验、replay_prefetch_mode 校验等留在脚本);
不改 run 目录命名规则本身(沿用现状规则,只收敛实现);
不改任何输出文件的内容与格式。
预计规模
约 8 个文件,净 +200/-450 行。
验收
四个入口训练冒烟测试通过;
grep 确认不再存在重复实现;
make test-all 通过。
Reactions are currently unavailable
You can’t perform that action at this time.
Part of #1239
问题
纯机械重复的 helper 散在四个训练入口:
scripts/train_rsl_rl.py:110、scripts/train_offpolicy.py:83、scripts/train_appo.py:343-347train_rsl_rl.py:195-228、train_him_ppo.py:57-89、(库层src/unilab/training/run.py:245-275为第三套同类)_algo_config_dict(OmegaConf→dict)4 份:train_rsl_rl.py:140、train_him_ppo.py:50、play_interactive.py:178、play_viser.py:101train_rsl_rl.py:456-472、train_offpolicy.py:148-156、train_appo.py:76-85training/experiment.py的run_config.jsonvsscripts/train_hora_distill.py:56-85的distill_run_config.json做什么
src/unilab/training/run.py(或新增src/unilab/training/entrypoint.py),四个入口脚本改为调用;train_hora_distill.py的快照写入并入ExperimentTracker路径(输出文件格式不动,只消除第二套写入逻辑)。不做什么
预计规模
约 8 个文件,净 +200/-450 行。
验收
make test-all通过。