我试图使用一维卷积来分类一组时间信号。我需要分类的每一个数据单元都由65个不同的时间序列组成,每个时间序列包含50个时间样本,所以如果我写:
dataset = MyDataset(train,y_train_one_hot)
a,b = dataset[1]
print(a.shape)我会得到:[56,50]。
我想在每个频道上运行一维卷积滤波器。问题是我无法正确地获得第一个nn.Conv1d层的输入--现在我正在使用:
self.c1 = nn.Conv1d(in_channels=56 , out_channels=100 , kernel_size=ks1)
但是,当我运行批处理大小为100的模型时,输入就变成了[100,56,50]形状,并且我只能得到一个关于100批大小的预测(而不是100X3)。有人能帮助正确的语法吗?非常感谢!
发布于 2021-12-20 06:24:28
这个对我有用
>>> conv = nn.Conv1d(in_channels=56 , out_channels=100, kernel_size=3)
>>> input = torch.randn(100, 56, 50)
>>> output = conv(input)
>>> output.shape
torch.Size([100, 100, 48])https://stackoverflow.com/questions/70416123
复制相似问题