fix(ml-backend): 重训后真正切到新权重
重训脚本是 ML backend 的子进程,继承了后端 export 的 YOLO_WEIGHTS。启动脚本里
${YOLO_WEIGHTS:-默认值} 于是让旧值赢了——实测重训完成后后端仍加载旧权重,
current.pt 软链接形同虚设。同样被继承的还有 RETRAIN_EXTRA_SET,会让下次训练
沿用上次的冒烟参数(epochs=1)。
重启时显式传 YOLO_WEIGHTS 并 env -u 清掉 RETRAIN_EXTRA_SET。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
e61fd5887c
commit
8fa7a9d142
@@ -44,6 +44,10 @@ echo "--- 3/4 训练 -> $WORK_DIR"
|
||||
echo "--- 4/4 切换权重并重启 ML backend"
|
||||
# 指向最新权重的稳定软链接:启动脚本读它,于是换模型不用改任何脚本
|
||||
ln -sfn "$WORK_DIR/weights/best.pt" "$REPO/runs/detect/current.pt"
|
||||
# 必须显式传 YOLO_WEIGHTS 并清掉继承来的变量:本脚本是旧后端的子进程,
|
||||
# 它环境里已经 export 了 YOLO_WEIGHTS(旧权重)和可能的 RETRAIN_EXTRA_SET(冒烟参数),
|
||||
# 不清掉的话新后端会继续用旧模型、下次训练也会沿用冒烟参数
|
||||
env -u RETRAIN_EXTRA_SET YOLO_WEIGHTS="$REPO/runs/detect/current.pt" \
|
||||
bash "$REPO/scripts/start_ml_backend.sh"
|
||||
|
||||
echo "===== [$(date '+%F %T')] 重训完成:$WORK_DIR ====="
|
||||
|
||||
Reference in New Issue
Block a user