Karpathy 的char-rnn(基于 Wojciechz learning_to_execute)使用常见的 RNN hack:
- 克隆原型网络的次数与每个序列的时间步长一样多
- 在克隆之间共享参数
当我克隆 217 次(阈值可能较低)时,我可以看到我的 5GB GPU 内存耗尽,结果如下:
lua
opt/torch/install/share/lua/5.1/torch/File.lua:270: cuda runtime error (2) : out of memory at /mounts/Users/student/davidk/opt/torch/extra/cutorch/lib/THC/THCStorage.cu:44
问题是clone_many_times()
功能(上面链接)。克隆似乎指向原型中相同的物理参数存储,但由于某种原因它仍然爆炸。
有没有人遇到过这种情况和/或知道如何训练非常长的序列?
(同样的问题在这里问:https ://github.com/karpathy/char-rnn/issues/108 )