深度学习的炼丹经历

lr

lr的设置不应该过大,也不应该太小,当lr设置的太大时,会在训练中飞出去。对于语义分割,一般情况下,lr=1e-3就已经很大了,在训练时,有幸遇到过loss的值突然从0.9直接一跃到30000或者几百都有可能,然后再降下来,过于魔幻,因此lr的值的设定也要发生变化,不能太大,也不能太小。lr设置的太大loss的结果如下图所示:
在这里插入图片描述
一般不要设置太大,但是太小也不行,太小的话会导致模型只能在局部极小点收敛,不能达到更好的结果。如果希望能够在开始时快速下降,后期慢慢收敛,可以让lr在每一次epoch或者多次epoch之后发生改变。调用如下函数:

torch.optim.lr_scheduler.StepLR(optimizer, 40, gamma=0.5, last_epoch=-1)

torch.optim.lr_scheduler有许多变化lr的函数,StepLR只是其中的一种,大家可以去官网搜索,或者看这篇博客:torch.optim.lr_scheduler:调整学习率。调整lr也是一种非常重要的方法,希望大家要会调,而不是乱调。

weight_deacy

weight_decay这个参数是正则化参数,一般设置为1e-4,当weight_decay的值太大时,会造成valid的效果高于train的结果,但test的效果也会大于train的结果,适当提升或者降低需要大家结合实际情况进行调整。

num_workers

这个参数经过实验,发现在window的系统上应该设置为0,否则会报错。linux系统才可以使用。经过测试发现,通过查看cpu的核数,设置和cpu核数相同时可以使效果达到最好,而且最重要的是,它不会影响训练的精度,他只是一个加速的作用。查看cpu的核数的指令为:

top

然后在输入1,即可查看cpu的核数。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值