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

Google Colab运行prune-then-distill代码报错:ValueError: None.json不存在

解决 ValueError: None.json is not exists! 问题

问题根源

从你贴的代码片段能看出,这是代码逻辑bug导致的:
当你用--pre_train参数启动但未指定hparam_fname时,程序会自动尝试加载experiments/hyperparam/train_default.json,但如果该文件不存在,报错信息错误地引用了self.opt.hparam_fname(此时值为None),才会出现None.json的诡异提示。另外也有可能是你克隆的仓库里根本没有train_default.json这个默认配置文件,或者路径存在偏差。


解决方法

方法1:手动指定配置文件(快速绕开)

运行命令时显式指定预训练对应的配置文件名,比如仓库里存在train_default.json的话,添加--hparam_fname train_default参数:

python prune-then-distill/main.py --pre_train --hparam_fname train_default

不确定有哪些可用配置文件的话,先查看目标目录内容:

ls prune-then-distill/experiments/hyperparam

方法2:修复代码的错误提示(根本解决)

修改prune-then-distill/utils/platforms.py中hparam_setup函数的报错语句,把错误信息里的self.opt.hparam_fname换成当前检查的path,这样能看到真正找不到的文件名,方便定位问题:

# 原错误代码:
raise ValueError(f"{self.opt.hparam_fname}.json is not exists!")

# 修改为:
raise ValueError(f"配置文件不存在:{path}")

修改后重新运行,就能明确看到缺失的具体文件,再对应补充或修正路径。

方法3:补充默认配置文件

如果仓库确实缺少train_default.json,可以参考项目中其他配置文件的格式手动创建,或者联系项目作者获取默认配置。


内容的提问来源于stack exchange,提问作者Arathi Rathod

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 06:10:54