Deep learning 卷积神经网络输出通道的混淆

Deep learning 卷积神经网络输出通道的混淆,deep-learning,pytorch,convolution,Deep Learning,Pytorch,Convolution,我对卷积神经网络中的多通道场景感到困惑 假设我有一个10(宽度)*5(高度)*6(通道)图像,我将其输入一个默认的二维卷积层,步幅=1,填充=0,期望输出为8(宽度)*3(高度)*16(通道) 我知道内核的大小是3(宽度)*3(高度),但我不知道到底有多少个内核,以及如何将其应用于输入数据以给出最后16个通道 有人可以帮我。二维卷积层每个输入通道、每个输出通道包含一个内核。因此,在您的例子中,这将是6*16=96内核。对于3x3内核,这对应于3*3*96=864参数 >>> i

我对卷积神经网络中的多通道场景感到困惑

假设我有一个10(宽度)*5(高度)*6(通道)图像,我将其输入一个默认的二维卷积层,步幅=1,填充=0,期望输出为8(宽度)*3(高度)*16(通道)

我知道内核的大小是3(宽度)*3(高度),但我不知道到底有多少个内核,以及如何将其应用于输入数据以给出最后16个通道


有人可以帮我。

二维卷积层每个输入通道、每个输出通道包含一个内核。因此,在您的例子中,这将是
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个其他输出通道