比方说:
x = torch.arange(16, dtype=torch.float).reshape(1, 1, 4, 4)
二维卷积层是:
layer = torch.nn.Conv2d(in_channels=1, out_channels=1, kernel_size=2, stride=2)
layer.weight.data[:] = 1.
layer.bias.data[:] = 0.
通常,将x传递给图层将给出:
>>layer(x)
tensor([[[[10., 18.],
[42., 50.]]]], grad_fn=<MkldnnConvolutionBackward>)
考虑到有 4 个掩模过滤器,如何在每一步中掩模内核?例如下图表示4个过滤器(白色:True,黑色:False)
输出应该是:
tensor([[[[5., 15.], [30., 40.]]]], grad_fn=<MkldnnConvolutionBackward>)
PS:所有掩模都是通过二维输入数组中缺失的像素获得的。所以上面的4个掩码实际上是一个与输入形状相同的矩阵。
慕桂英546537
相关分类