You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在DVC启动实验?设置参数时params.yaml被删无法入队如何修复

问题根因

这是DVC 2.58.2之前版本的已知逻辑bug:当params.yaml中定义的参数被用作阶段输出(metrics、plots、其他生成产物)的动态路径时,DVC实验队列的预处理流程会错误把params.yaml本身判定为实验生成的临时文件,在写入自定义实验参数的环节直接删除该文件,最终导致参数解析失败,实验无法进入运行队列。

解决方法

根据实际场景选以下任意一种方案即可修复:

  • 快速规避:删掉多余的动态路径参数。你当前配置里scores.json的输出路径已经在dvc.yaml的metrics段固定写死,完全没必要额外通过params.yaml传递metrics_path参数。直接删除params.yaml里的test.metrics_path配置项,同时把test.py里读取metrics_path写文件的逻辑改成直接输出到固定路径scores.json,不需要升级DVC就能立刻恢复正常,不会再出现参数文件被删的问题。
  • 正式修复:把本地DVC升级到2.58.2及以上版本,这个误删参数文件的bug已经在该版本被官方修复,升级后不需要改动现有业务代码,就能正常使用动态路径参数、正常提交实验到运行队列。
  • 临时应急:如果暂时不方便改代码或者升级版本,可以在运行实验前给params.yaml加文件系统只读权限,挡住DVC的误删操作,但这个方式可能触发权限相关的异常,不建议长期使用。
校验步骤

调整完先执行dvc exp run --dry-run做预检查,确认params.yaml没有被删除,再执行带自定义参数的启动命令比如dvc exp run --set-param test.value=2,就能看到实验正常入队启动。


内容的提问来源于stack exchange,提问作者Alimagadov K.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 03:06:28