pytorch 中 conv 的默认权重初始值设定项是什么?

what is the default weight initializer for conv in pytorch?

问题 显示了如何初始化 Pytorch 中的权重。但是,PytorchConvDense 的默认权重初始值设定项是什么? Pytorch 使用什么分布?

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

的实现

例如pytorch中调用的dense层linear,统一初始化权重

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

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

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