【发布时间】:2017-10-28 00:17:26
【问题描述】:
我正在尝试使用 CNN 实现 text classification model。据我所知,对于文本数据,我们应该使用 1d Convolutions。我在 pytorch 中看到了一个使用 Conv2d 的示例,但我想知道如何将 Conv1d 应用于文本?或者,实际上不可能?
这是我的模型场景:
Number of in-channels: 1, Number of out-channels: 128
Kernel size : 3 (only want to consider trigrams)
Batch size : 16
所以,我将提供形状张量 ,其中 28 是句子的长度。我想使用 Conv1d,它将为我提供 128 个长度为 26 的特征图(因为我正在考虑三元组)。
我不确定,如何为此设置定义 nn.Conv1d()。我可以使用 Conv2d,但想知道使用 Conv1d 是否可以达到相同的效果?
【问题讨论】:
-
300 哪里来的?
-
300 是嵌入维度。
-
澄清瓦西的回答:nn.Conv1d(300, 128, 2)。 i/p = 28 个 300 个维度的单词,每批 16 个,格式为 ; o/p = 128 个维度的 26 个单词,每批 16 个,格式为:。此格式适用于 PyTorch。格式可能从 FW 到 FW 略有不同
标签: pytorch conv-neural-network