火炬:RNN克隆耗尽GPU内存

时间:2015-12-08 09:21:21

标签: lua torch lstm

Karpathy的char-rnn(基于Wojciechz learning_to_execute)使用常见的RNN黑客攻击:

  • 克隆原型网络的次数与每个序列的时间步数一样多
  • 分享克隆之间的参数

当我克隆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

1 个答案:

答案 0 :(得分:0)

要运行该模型,我必须增加GPU上的内存容量。使用Sun的Grid Engine,将-l h_vmem=8G用于8 GB

否则,您可以尝试torch-rnn。它使用Adam进行优化,并对RNN / LSTM前向/后向传递进行硬编码以获得空间/时间效率。这也避免了克隆模型的麻烦。