python - 使用 torchnlp 进行文本分类

标签 python neural-network nlp pytorch text-classification

我正在尝试使用pytorch-nlp(https://pytorchnlp.readthedocs.io/en/latest/)构建神经网络。 我的目的是建立一个像这样的网络:

  • 嵌入层(使用 pytorch 标准层和 from_pretrained 方法)
  • 采用 LSTM 的编码器(也使用标准 nn.LSTM)
  • 注意力机制(使用torchnlp.nn.Attention)
  • 解码器 siwth LSTM(作为编码器)
  • 线性图层标准

我在输入句子的维度(每个单词都是一个向量)方面遇到了一个主要问题问题,但最重要的是注意力层:我不知道不知道如何声明它,因为我需要编码器输出的精确尺寸,但序列具有不同的尺寸(对应于句子具有不同数量的单词的事实)。

我尝试查看 torch.nn.utils.rnn.pad_packed_sequencetorch.nn.utils.rnn.pack_padded_sequence 因为它们受 LSTM 支持,但我找不到解决方案。

有人可以帮助我吗?

编辑

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

最佳答案

将所有序列填充到特定维度,您的方向是正确的。您必须选择一个大于“大多数”句子的维度,但您需要截断一些句子。这个blog article应该有帮助。

关于python - 使用 torchnlp 进行文本分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59215618/

相关文章:

csv - 将 numpy 数组转储到神经网络中

nlp - 如何使用变压器模型获得词汇表外单词的词嵌入?

python - 我应该使用什么数据类型作为 redis-py 函数的参数?

python - 激活或权重的丢失

machine-learning - 如何在神经网络中建模 for 循环

api - 语言检测 API/库

nlp - GPT-3 基于关键词的问答

python - 检查原子上下文

python - 正则表达式我想匹配直到某些字符,但如果没有这些字符仍然能够匹配字符串

python - 如何解决逐帧保存视频的问题