1

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 )

4

1 回答 1

0

为了运行模型,我必须增加 GPU 的内存容量。使用 Sun 的 Grid Engine,使用-l h_vmem=8G8 GB

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

于 2017-07-02T21:18:50.040 回答