DataLayer 放置在由 Shai 的 LSTM 实现生成的 .prototxt 文件中

DataLayer placement in the .prototxt file generated by Shai's LSTM implementation

关于@Shai 在 LSTM module for Caffe 中提供的答案,其中 caffe.NetSpec() 用于显式地及时展开 LSTM 单元以进行训练。

使用此代码实现,为什么 "DummyData" 层或用作输入 X 的任何数据层出现在 t0 时间步的末尾,就在之前"t1/lstm/Mx" 在 prototxt 文件中?我不明白...

因此需要进行操作(剪切/粘贴)。

Shai's NetSpec implementation of LSTM及时展开。因此,对于每个时间步长,都有一个 LSTM 单元,其跨时间步长共享权重。
每个时间单位的 "bottom"(例如 t1/lstm/Mx)是输入 X 的不同时间步长。

顺便说一下,我建议您使用 draw_net.py caffe 实用程序来绘制生成的 prototxt 并查看数据流和展开的 LSTM 单元的时间重复。

这是展开的网的样子: 您可以看到三个 LSTM 单元的组件,以及 X 不同 时间切片进入每个时间展开的 LSTM 单元。