conv1d在kernal=1时和linear相比?
1、摘自网上,linear更快些。效果相同?
import torch
import torch.nn as nn
# 批次、channel数、数据长度
input = torch.randn(3, 6, 5)
# in_channels=6意味着输入参数的channel数必须为6(dim=1)
# kernel_size 表示卷积核大小,stride表示卷积核移动步长
conv = nn.Conv1d(in_channels=6, out_channels=5, kernel_size=2, stride=1, padding=0)
out = conv(input)
print(out.shape)
#下图表示卷积核大小为2,步长为1,一共移动了4次,所以结果的最后一维度为:4
# 1 2 3 4 5
# 1 2
# 2 3
# 3 4
# 4 5
结果:
#3表示批次和输入批次大小是一样的,5表示out_channel数,4表示卷积核移动的次数
torch.Size([3, 5, 4])