wandb.errors.UsageError: api_key not configured (no-tty). call wandb.login(key=[your_api_

yolov7代码的wandb报错

  • 解决方法
  • 第一步 登录wandb在线网站
  • 第二步 复制自己的key值
  • 第三步 修改train.py代码
  • 第四步 改线上为线下

之前我跑代码没问题,今天测试代码出了这个bug。。。

解决方法

第一步 登录wandb在线网站

wandb init

运行下面命令找到网址
地址如下

需要注册谷歌账号,完成注册,

wandb.errors.UsageError: api_key not configured (no-tty). call wandb.login(key=[your_api__第1张图片

第二步 复制自己的key值

复制注册码
wandb.errors.UsageError: api_key not configured (no-tty). call wandb.login(key=[your_api__第2张图片

第三步 修改train.py代码

wandb.login(key='你自己的key值')

logger = logging.getLogger(__name__)

第四步 改线上为线下

到这一步还会遇到bug:wandb: W&B API key is configured (use wandb login --relogin to force relogin)
wandb: Network error (ReadTimeout), entering retry loop.
wandb: Network error (ReadTimeout), entering retry loop

出现这个问题的原因是,使用wandb在线模式运行代码,服务器是一边运行我们的代码一边向wandb官网上传我们的数据,导致服务器显卡占用比特别大。尤其是学校里的服务器,一旦有其他同学在使用,运行带有wandb模块的代码(尤其这个模型数据集很大的情况)就很容易报这样的错。

解决办法:

在主函数下添加两行代码,使得模型离线运行wandb模块。

os.environ["WANDB_API_KEY"] = '+++++++++++'  # 将引号内的+替换成自己在wandb上的一串值
os.environ["WANDB_MODE"] = "offline"  # 离线  (此行代码不用修改)

修改保存后,再运行就能正常了,此时模型就只会单纯地运行,不会一边运行一边上传数据。模型运行完,再按照提示输入指令即可将运行结果上传到wandb,不会产生任何影响。

你可能感兴趣的:(深度学习,python,深度学习)