如果我在PyTorch中使用nn.Conv2d(in_dim, out_dim, kernel_size, bias=False)
命令,则该函数将创建与out_dim指定的一样多的过滤器。这些过滤器是随机的吗?定制这些过滤器不是更好吗?有人有办法吗?
还是使用此函数生成的随机过滤器更好?
在PyTorch中完成,python。
谢谢
答案 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)
概念是在训练时学习权重,因此这些随机值最初会改变并变为学习的张量值。