conv2d是否使用随机过滤器?这样对NN有好处吗?

时间:2019-11-15 05:37:00

标签: filter conv-neural-network pytorch

如果我在PyTorch中使用nn.Conv2d(in_dim, out_dim, kernel_size, bias=False)命令,则该函数将创建与out_dim指定的一样多的过滤器。这些过滤器是随机的吗?定制这些过滤器不是更好吗?有人有办法吗?

还是使用此函数生成的随机过滤器更好?

在PyTorch中完成,python。

谢谢

1 个答案:

答案 0 :(得分:1)

  

这些过滤器是否随机?定制这些过滤器不是更好吗?有人有办法吗?

是的,它们是随机的,是通过initialization function用的Conv2d制作的。

这可能会更改,但是默认情况下,nn.Conv2d使用init.kaiming_uniform_。您可以将其调整为:

conv_layer = nn.Conv2d(in_dim, out_dim, kernel_size, bias=False)
torch.nn.init.kaiming_normal_(conv_layer.weight)

概念是在训练时学习权重,因此这些随机值最初会改变并变为学习的张量值。