【发布时间】:2019-07-17 15:15:30
【问题描述】:
我正在查看 google 的 tacotron2 模型,稍作修改以适合我的数据。训练成功运行到大约 9000 个 epoch,但随后引发 OOM 错误(我重复了训练,但每次尝试都停在完全相同的位置)。
我在tf.nn.bidirectional_dynamic_rnn 函数中添加了swap_memory=True 选项,看看它是否可以解决。在那个改变之后,训练运行有点慢,但能够运行更多的 epoch,但它仍然会在大约 10000 epoch 时抛出 OOM 错误。
我使用的是 12GB titanX gpu。模型检查点文件(每个检查点 3 个文件)只有 500 MB,元和数据文件为 80 MB。我对检查点了解不够,但如果它代表了训练所需的所有模型参数和所有变量,它似乎远小于 12 GB,我不明白为什么会发生 OOM 错误。
是否有人知道可能导致 OOM 错误的原因?如何检查是否有杂散变量/图表不断累积?还是动态 rnn 会以某种方式导致问题?
【问题讨论】:
标签: tensorflow machine-learning