码迷,mamicode.com
首页 > 其他好文 > 详细

论初始化的重要性

时间:2019-03-22 18:46:20      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:normal   orm   idt   conv2   false   src   state   .bat   公式   

初始化是相当重要的,一定不能乱写,

  因为首先初始化由于学习率比较小的原因,导致这个层的weight改变的会很慢,

  其次,初始化如果不对,很可能不只是下降慢,可能是全盘皆输

17:40:18

技术图片

 

从上述公式可以看出,由于学习率很小,所以w基本不变,再加上w内部如果都设为1,则w更新之后也基本一样,如果是这样的话,则之后的节点大小也一样,这就导致下一个节点的w增长量一样,,会出现很多问题

所以一般是这样:

self.conv44w = nn.Conv2d(2048, 35, kernel_size=1, stride=1, padding=0,bias=False)

init.kaiming_normal(self.conv44w.weight.data, a=0, mode=‘fan_in‘)

self.bn44w = nn.BatchNorm2d(35)

init.normal(self.bn44w.weight.data, 1.0, 0.02)

init.constant(self.bn44w.bias.data, 0.0)

2 state_dict.   strict=False

 

论初始化的重要性

标签:normal   orm   idt   conv2   false   src   state   .bat   公式   

原文地址:https://www.cnblogs.com/lllcccddd/p/10579834.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!