【问题标题】:Torch: RNN clones run out of GPU memoryTorch:RNN 克隆耗尽 GPU 内存
【发布时间】: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

【问题讨论】:

    标签: lua torch lstm


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2021-02-24
      • 1970-01-01
      • 2015-08-23
      • 2012-11-10
      • 2012-08-19
      • 2011-02-09
      • 2015-10-01
      • 2018-12-11
      • 1970-01-01
      相关资源
      最近更新 更多