1. 什么是wandb?
wandb是Weight & Bias的缩写,一句话,它是一个参数可视化平台。
wandb强大的兼容性,它能够和Jupyter、TensorFlow、Pytorch、Keras、Scikit、fast.ai、LightGBM、XGBoost一起结合使用。
特点:
- 复现模型:Wandb更有利于复现模型。
这是因为Wandb不仅记录指标,还会记录超参数和代码版本。 - 自动上传云端:
如果你把项目交给同事或者要去度假,Wandb可以让你便捷地查看你制作的所有模型,你就不必花费大量时间来重新运行旧实验。 - 快速、灵活的集成:
只需5分钟即可把Wandb加到自己的项目。
下载Wandb免费的开源Python包,然后在代码中插入几行,以后你每次运行模型都会得到记录完备的指标和 记录。 - 集中式指示板:
Wandb提供同样的集中式指示板。不管在哪里训练模型,不管是在本地机器、实验室集群还是在云端实例;
这样就不必花时间从别的机器上复制TensorBoard文件。 - 强大的表格:
对不同模型的结果进行搜索、筛选、分类和分组。
可以轻而易举地查看成千上万个模型版本,并找到不同任务的最佳模型。
而TensorBoard本身不适合大型项目。
2. 问题描述
今天在用训练模型时,早上还好好的,下午就报了以下错误:
wandb: W&B API key is configured (use `wandb login --relogin` to force relogin)
它的错误信息很明确,就是登录的API问题,检查后发现,我之前一直是游客登录,当我在wandb官网用GitHub登录后,再运行就报错了,在对wandb学习后,找到了以下两种解决办法。
3. 解决办法
3.1 在代码中输入API key
将引号内的+替换成wandb官网中你账号的授权码,然后将这一行代码放在train.py程序入口的最前面就行。
os.environ["WANDB_API_KEY"] = '+++++++++++'
3.2 在命令行登录
- 切换到安装wandb的虚拟环境
- wandb login 你的API授权码
- 若登陆过,需要切换账号,输入wandb login --relogin
- 输入API授权码
- C:\Users\xiaoming.netrc 中包含你登录的API