报错AttributeError: Attempted to set WANDB to False, but CfgNode is immutable

问题

 今天在跑代码的时候,使用到了wandb记录训练数据。

 我在23服务器上跑的好好的,但将环境迁移到80服务器上重新开始跑时,却遇到了如下报错

 看这个报错信息是由于wandb没有apis这个属性,于是我定位到具体的报错代码

 😯原来程序在import wandb时就抛出异常了。

解决方法

 我尝试验证是报错的原因在于程序导入wandb不成功而导致报错

 因此,我在终端打开python解释器,执行import wandb,果然出现了一模一样的报错信息

 既然是wandb库的原因,一个很自然的想法便是对比27和80服务器上两个wandb库的版本号。

 23服务器上wandb的版本号为0.15.11

 80服务器上wandb的版本号为0.15.12

 我抱着试试看的心态将80服务器上wandb的版本号更换为0.15.11,然后再次运行程序,成功!

bash 复制代码
pip install wandb==0.15.11

版本号不同的原因

 事后,我思考了一下为什么会导致版本号不同。首先我利用27上导出的yml文件在80上创建环境,即用conda env create -f mdistiller.yml

而该yml文件中wandb的版本号是正确的0.15.11

 但后来我在通过该yml文件安装pytorch时中断了,因此使用pip install单独安装了pytorch。

然而pytorch安装中断会导致在pytorch之后剩下的包没有安装。所以,我使用了代码库的requirements.txt对剩下的包进行安装。

 结果我看了下requirement.txt中的wandb并没有指定版本号,这就导致了安装的wandb为0.15.12版本

至于为什么通过yml文件在安装pytorch时会中断,我想可能是因为我当初安装pytorch时使用了pip而不是conda安装

相关推荐
草莓橙子碗6 分钟前
Claude 使用指南
开发语言·python
工具分享15 分钟前
陪跑跟品爆单AI选品助手,高效跟品会赔本吗?
人工智能·python
COOLMO研究AI28 分钟前
Python 如何实现 AI API 的提示词(Prompt)版本管理与热更新
人工智能·python·prompt
老郑聊AI业财智造32 分钟前
Transformer 技术架构与源码分析
人工智能·python·深度学习·语言模型·架构·transformer·软件工程
程序员三藏37 分钟前
自动化测试用例编写详解
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
230万光年的思念1 小时前
分子动力学模拟参考文献
python
HongXu_CaiYi2 小时前
0103-python相关-函数、文件
python
vortex53 小时前
从Conda到UV:Python项目依赖管理的现代演进
python·conda·uv
何以解忧,唯有..3 小时前
Python time 模块详解:时间处理与日期操作指南
开发语言·python
梅雅达编程笔记3 小时前
Day 18 · 综合实战 B:AI 客服 Agent(专栏收官)
python·智能客服·ai agent·意图识别·ai客服·大模型应用·ai办公自动化