首页 > 解决方案 > 如何顺序组合双向 PyTorch LSTM

问题描述

PyTorch LSTM 类包含一个 num_layers 参数,用于堆叠顺序 LSTM。我想知道如何在这个论点之外做到这一点。如中所示,我用 num_layers=1 初始化了几个双向 LSTM,并希望按顺序将数据通过它们。

假设 LSTM 的输入形状为 [10, 16, 64],其中 10 是序列长度,16 是批量大小,64 是输入的维度。当它被传递到双向 LSTM 时,输出变为 [10, 16, 128],也可以视为 [10, 16, 2, 64],其中 2 来自输入的每个双向传递。

由于 LSTM 的输入无论是否是双向的都是相同的(seq_len、batch、input_size),我应该如何将双向输出从第一个 LSTM 传递到第二个?到目前为止,我只是将整个 (10, 16, 128) 输出传递给下一个 LSTM,并让每个定向工作流从前一个 LSTM 的两个方向访问整个 128 向量。

标签: deep-learningnlppytorchlstmrecurrent-neural-network

解决方案


推荐阅读