我正在尝试使用CNN 实现文本分类模型.据我所知,对于文本数据,我们应该使用1d卷积.我在使用Conv2d的pytorch中看到了一个例子,但我想知道如何将Conv1d应用于文本?或者,它实际上是不可能的?
这是我的模型场景:
Number of in-channels: 1, Number of out-channels: 128
Kernel size : 3 (only want to consider trigrams)
Batch size : 16
Run Code Online (Sandbox Code Playgroud)
所以,我将提供形状的张量,<16,1,28,300>其中28是句子的长度.我想使用Conv1d,这将给我128个长度为26的特征图(因为我正在考虑三卦).
我不确定,如何为此设置定义nn.Conv1d().我可以使用Conv2d,但想知道是否可以使用Conv1d实现相同的功能?
Was*_*mad 11
这个Conv1d和Pool1d层到RNN的例子解决了我的问题.
因此,我需要将嵌入维度视为通道内的数量,同时使用nn.Conv1d如下.
m = nn.Conv1d(200, 10, 2) # in-channels = 200, out-channels = 10
input = Variable(torch.randn(10, 200, 5)) # 200 = embedding dim, 5 = seq length
feature_maps = m(input)
print(feature_maps.size()) # feature_maps size = 10,10,4
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5001 次 |
| 最近记录: |