1

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

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

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

4

1 回答 1

0

Shai的 LSTM的 NetSpec实现及时展开网络。因此,对于每个时间步,都有一个跨时间步具有共享权重的 LSTM 单元。
每个时间单位的“底部”(例如t1/lstm/Mx)是输入 X 的不同时间步长。

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

展开的网络如下所示: 在此处输入图像描述 您可以看到三个 LSTM 单元的组件,以及进入每个时间展开的 LSTM 单元的不同时间切片。X

于 2016-04-20T17:57:46.497 回答