pytorch中conv的默认权重初始化程序是什么?

时间:2018-04-13 12:06:30

标签: pytorch initializer

问题How to initialize weights in PyTorch?显示了如何在Pytorch中初始化权重。但是,ConvDensePytorch的默认权重初始值设定项是多少? Pytorch使用什么发行版?

1 个答案:

答案 0 :(得分:5)

每个pytorch层实现方法reset_parameters,在层初始化结束时调用该方法以初始化权重。 您可以找到图层here的实现。

对于在pytorch中称为linear的密集层,例如,权重均匀初始化

stdv = 1. / math.sqrt(self.weight.size(1))
self.weight.data.uniform_(-stdv, stdv)

其中self.weight.size(1)是输入的数量。这样做是为了通过将训练开始时的每个层的分布的方差归一化来保持每个层的分布的方差相对相似。您可以阅读更详细的解释here

对于卷积层,初始化基本相同。您只需通过将通道数乘以内核大小来计算输入数量。