首页 文章

是否可以在PyTorch中实现具有LSTMCells模块的多层LSTM?

提问于
浏览
1

在PyTorch中有一个LSTM模块,除了输入序列,隐藏状态和单元状态之外,还接受 num_layers 参数,该参数指定LSTM具有多少层 .

然而,另一个模块LSTMCell只有输入大小和隐藏状态数作为参数,没有 num_layers ,因为这是多层LSTM中的单个单元 .

我的问题是什么是将LSTMCell模块连接在一起以实现与多层LSTM相同效果的正确方法 num_layers > 1

2 回答

  • 1

    LSTMCell是LSTM网络的基本构建块 . 您应该使用LSTM模块(在内部使用LSTMCell) . 如果您想自己这样做,最好的方法是阅读源代码(https://github.com/pytorch/pytorch/blob/master/torch/nn/modules/rnn.py) .

    基本上你想为每一层使用一个LSTMCell,你应该注意如何从输入到输出,逐层考虑隐藏状态 . 我也有卷积LSTM的基本实现,但想法是一样的 . 你可以在这里查看:https://github.com/rogertrullo/pytorch_convlstm/

  • 0

    如果我理解正确,第l-1层的lstm单元的隐藏输出是第l层的lstm单元的输入 .

相关问题