【问题标题】:PyTorch Conv1d parametersPyTorch Conv1d 参数
【发布时间】:2022-01-21 17:37:15
【问题描述】:

我正在尝试使用一维卷积来对一组时间信号进行分类。 我需要分类的每个数据单元由 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)的预测。任何人都可以帮助使用正确的语法吗?非常感谢!

【问题讨论】:

    标签: python deep-learning pytorch conv-neural-network conv1d


    【解决方案1】:

    这对我有用

    >>> 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])
    

    【讨论】:

    • 嗨!感谢您的回答。我的问题是由于卷积层和线性密集层之间张量的错误重塑造成的。
    猜你喜欢
    • 1970-01-01
    • 2019-05-24
    • 1970-01-01
    • 1970-01-01
    • 2020-10-03
    • 1970-01-01
    • 2021-03-19
    • 2023-04-04
    • 1970-01-01
    相关资源
    最近更新 更多