wandb.log()的异常

wandb.log 在记录log时有这样一个问题:

code-1


wandb.log({"total_loss": total_loss})
wandb.log({"lr": optimizer.param_groups[0]['lr']})             

code-2


wandb.log({"lr": optimizer.param_groups[0]['lr']})             

在实际显示的时候,code-1中的step数目是code-2step数目的一半,明显的感受是lr的变化斜率是呈2倍关系的:

同样的代码,学习率变化却不一样了

这是因为wandb.bog()中有一个 global step 的变量。每次使用wandb.log都会影响global step,因此不同的log记录会相互影响。

解决的办法有两种:
solution-1: 把所有要用log记录的变量写在一起:

wandb.log({"total_loss": total_loss},
          {"lr": optimizer.param_groups[0]['lr']}
          )             

solution-2: 除了最后一个变量外,其他log在记录变量时加上一个commit=False。(如果都加commit=False显示不出东西):

wandb.log({"total_loss": total_loss},commit=False)
wandb.log({"lr": optimizer.param_groups[0]['lr']})            

解决啦😃!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值