Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 基于torchnlp的文本分类_Python_Neural Network_Nlp_Pytorch_Text Classification - Fatal编程技术网

Python 基于torchnlp的文本分类

Python 基于torchnlp的文本分类,python,neural-network,nlp,pytorch,text-classification,Python,Neural Network,Nlp,Pytorch,Text Classification,我正试图用pytorch nlp建立一个神经网络。 我的目的是建立这样一个网络: 嵌入层(使用pytorch标准层和预先训练的方法) 带LSTM的编码器(也使用标准的nn.LSTM) 注意机制(使用torchnlp.nn.Attention) 带LSTM的解码器(作为编码器) 线性层标准 我在输入句子的维度(每个单词都是一个向量)方面遇到了一个主要问题,但最重要的是注意层:我不知道如何声明它,因为我需要编码器输出的精确维度,但序列的维度不同(对应于句子的字数不同的事实) 我试过查看torch

我正试图用pytorch nlp建立一个神经网络。 我的目的是建立这样一个网络:

  • 嵌入层(使用pytorch标准层和预先训练的
    方法)
  • 带LSTM的编码器(也使用标准的
    nn.LSTM
  • 注意机制(使用
    torchnlp.nn.Attention
  • 带LSTM的解码器(作为编码器)
  • 线性层标准
我在输入句子的维度(每个单词都是一个向量)方面遇到了一个主要问题,但最重要的是注意层:我不知道如何声明它,因为我需要编码器输出的精确维度,但序列的维度不同(对应于句子的字数不同的事实)

我试过查看
torch.nn.utils.rnn.pad_packed_sequence
torch.nn.utils.rnn.pack_packed_sequence
,因为它们受LSTM支持,但我找不到解决方案

有人能帮我吗

编辑
我曾考虑将所有序列填充到特定维度,但我不想截断更长的序列,因为我想保留所有信息。

将所有序列填充到特定维度的做法是正确的。您必须选择一个大于“most”的维度但是你需要删掉一些句子。这应该会有帮助