问题:
远程服务器无法联网,导致直接在服务器上同步失败,因此考虑wandb的离线模式。
解决方案:
预备工作:申请wandb账号以及api key记录好 建好项目
定义:
先在服务器上面跑,然后定义wandb_entity和wandb_project这两项(在wandb官网上自己提前设置好)

然后给环境变量赋值

使用:
我这里是直接定义的trainer,然后调用已有的方法log_metrics就可以直接把loss、learning_rate等指标记录下来了

如果不是的话就需要自己手动wandb.init() wandb.log()具体的不详细展开了
服务器端结果:
训练结束之后服务器上会出现一个wandb的文件夹,offline开头的就是要同步的内容了(虽然第一次全部都同步到本地了)

本地(踩坑指南)
安装wandb的安装包
pip install wandb
登录(不能直接wandb login ,划重点!!!)
有帖子说是环境变量的问题,没有这个问题的可以直接忽略
python -m wandb login
开始同步文件
python -m wandb sync xxx
xxx代表offline开头的那个文件
这样就能在wandb官网自己的文件夹下面看到之前的训练各种曲线的变化啦~~~
(但是同步过程好慢,有大佬知道的话欢迎赐教!)
---------------------------------------------------------9.23更新线--------------------------------------------------------
在本地同步时会出现断裂的情况,我一共训了174个step,但是更新到30就不再更新了,猜测原因:
1. 晚上回家之后把电脑关了,没有网导致更新失败,今天来了重新挂上,但似乎没有什么用
2.生成的wandb的数据不全,去问了一下ds,最后问题是没有在init的时候设置wandb的离线模式,于是重新设置
# 在调用init_wandb_training之前设置
import os
os.environ["WANDB_MODE"] = "offline"
if "wandb" in training_args.report_to:
init_wandb_training(training_args)
去重新跑了,看看效果........
5万+

被折叠的 条评论
为什么被折叠?



