我对卷积神经网络中的多通道方案感到困惑。
假设我有一个10(宽度)*5(高度)*6(通道)图像,我将它输入到默认的二维卷积层中,其中包含stride=1和padding=0,期望输出为8(宽度)*3(高度)*16(通道)。
我知道内核的大小是3(宽度)*3(高度),但我不知道到底有多少内核,以及如何将其应用于输入数据以给出最后的16个通道。
有人能帮我吗。
发布于 2021-03-09 14:14:08
2D卷积层每个输入信道包含一个内核,每个输出信道包含一个内核。因此,在您的例子中,这将是6*16=96内核。对于3x3内核,这对应于3*3*96 = 864参数。
>>> import torch
>>> conv = torch.nn.Conv2d(6, 16, (3, 3))
>>> torch.numel(conv.weight)
864对于一幅图像,首先应用每个输入通道一个内核。在您的例子中,这将产生6个功能映射,它们被相加在一起(+一个可能的偏差)以形成1的输出通道。然后,重复这15次,形成15个其他输出通道。
https://stackoverflow.com/questions/66547536
复制相似问题