pytorch 1D卷积与1D深度可分离卷积

1.传统一维卷积:
pytorch 1D卷积与1D深度可分离卷积_第1张图片
2.改变groups:
将Input的通道分成groups个独立的通道,分别进行卷积。相应的卷积核的通道数也会减小,如下图所示。
下图将64个通道分成32个groups,每个组由两个通道构成,时间维保持不变。一个1d卷积核的大小为(64 / 32, kernel)。
由于output_channels = 128。
对每个group卷积一次会得到输出的一个channel,所以需要对32个group卷积(output_channels / groups = 128/32)4遍。因此要求output_channels / groups必须是可以除尽的。
pytorch 1D卷积与1D深度可分离卷积_第2张图片
3.深度可分离卷积
深度可分离卷积是让output_channels与input_channels相同,同时groups等于input_channels.pytorch 1D卷积与1D深度可分离卷积_第3张图片
这时输出通道如输入通道相同,如果需要改变输出通道数,则再跟一个kernel等于1的1D卷积即可。

nn.Conv1d(input_channels = 64, output_channels =,kernel = 1,groups = 1)

你可能感兴趣的:(深度学习)