【发布时间】:2016-03-13 03:34:27
【问题描述】:
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)
【问题讨论】: