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初始化为了均匀分布。