一维卷积神经网络

请添加图片描述

假设输入数据维度为8,filter维度为5;
不加padding时,输出维度为4,如果filter的数量为16,那么输出数据的shape就是4*16.

一维卷积不代表卷积核只有一维,也不代表被卷积的feature也是一维。一维的意思是说卷积的方向是一维的。一维卷积核仅仅可以在左右这个单一的一维方向上移动。

torch.nn.Conv1d(
    in_channels: int,
    out_channels: int,
    kernel_size: _size_1_t,
    stride: _size_1_t = 1,
    padding: _size_1_t | str = 0,
    dilation: _size_1_t = 1,
    groups: int = 1,
    bias: bool = True,
    padding_mode: str = 'zeros',
    device: Any | None = None,
    dtype: Any | None = None
)

nn.Conv1d(
    in_channels=32,
    out_channels=128,
    kernel_size=20,
    stride=1,
    padding='same',

在代码中,nn.Conv1d 的 out_channels 参数指定了卷积核的数量,而不是输出通道的数量。因此,对于每个卷积核,它都会生成一个输出通道。在你的示例中,有 128 个卷积核,因此将生成 128 个输出通道。

输入通道的数量由 in_channels 参数指定,它表示输入数据的通道数。在你的示例中,输入通道的数量是 32。

总结一下,nn.Conv1d 中的 out_channels 参数控制卷积核的数量,每个卷积核生成一个输出通道。输入通道的数量由 in_channels 参数指定。在你的示例中,有 128 个卷积核,因此有 128 个输出通道。

猜你喜欢

转载自blog.csdn.net/aqiangdeba/article/details/133322373