nn.Linear 默认参数初始化方法

Posted lypbendlf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nn.Linear 默认参数初始化方法相关的知识,希望对你有一定的参考价值。

1.pytorch 的nn.Linear 参数初始化方法

m=nn.Linear(3, 4)
print(m.weight)
print(m.bias)

#输出
Parameter containing:
tensor([[ 1.7056e-01, -4.5271e-01,  1.5907e-01],
        [ 6.9845e-03, -4.8557e-02,  6.6883e-02],
        [-2.3139e-04,  3.3073e-01, -3.9217e-01],
        [-5.5838e-01, -4.3237e-01,  2.6791e-01]], requires_grad=True)
Parameter containing:
tensor([ 0.3674,  0.1273, -0.2346, -0.2661], requires_grad=True)

 可以看到不是初始化为0的,那么直接看源码就行了:

可以看到weight是初始化为了kaiming分布,bias初始化为了均匀分布。

以上是关于nn.Linear 默认参数初始化方法的主要内容,如果未能解决你的问题,请参考以下文章

深度学习之构造模型,访问模型参数——2020.3.11

自定义参数初始化方法

从头学pytorch:模型参数访问/初始化/共享

pytorch中的神经网络子模块(线性模块)——torch.nn.Linear

『PyTorch』第十三弹_torch.nn.init参数初始化

pytorch nn.Linear()详解