deep-learning - 如何顺序组合双向 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 向量。
解决方案
推荐阅读
- ajax - 使用 AJAX 获取数据并将其保存为变量
- c# - C# MVC HttpGet 向路由添加参数
- jasper-reports - Jaspersoft:根据参数更改文本字段边框
- php - PHP - 过滤 UTF-8 字符串以仅允许基本字符集和一些标点符号
- python-2.7 - 使用 GitLab 对终端进行身份验证
- powershell - 删除 CSV 中的所有重复条目
- python - 如何根据邻居之间的给定标准将数组拆分为几个较小的数组
- flutter - 我正在尝试通过单击按钮打开另一个活动,但它显示了一些错误
- c - 汇编程序消息:错误:尝试向后移动 .org
- c - 尝试使用两个指针在c中查找middel但程序崩溃链表