python - 使用 Theano 在 CPU 上训练简单的 MLP 时,内存逐渐增加直至崩溃

标签 python memory machine-learning theano

我正在运行这个tutorial那是在 MNIST 上训练一个简单的 MLP。我在CPU上运行。在训练循环中监控我的计算机事件时,我可以看到内存使用量正在稳步增加,直到达到 100% 并且一切崩溃(需要重新启动)。我在使用自己的脚本时遇到了这个问题,并认为我犯了一个错误,但是当我在上面的教程中遇到相同的问题时,我开始怀疑 Theano 中的错误,并打开了 issue在 github 上。

我使用的是 Ubuntu 16.04,并使用 Theano 的前沿版本。

有人在CPU上遇到同样的问题吗? 有人知道哪个操作可能导致问题吗?

最佳答案

已向我对应的 post 提出了解决方法关于 github 上的 theano-issues。我在这里传播答案。

显然,该问题来自 Theano 0.9.0 中的一个错误。由于开发人员需要修复此泄漏,一个简单的解决方法是恢复到 Theano 0.8.2。可以像这样轻松完成:

pip install theano==0.8.2

Theano 0.9.0 应自动卸载并替换为旧版本。

结果:相同的代码,不再有内存泄漏!

关于python - 使用 Theano 在 CPU 上训练简单的 MLP 时,内存逐渐增加直至崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43234170/

相关文章:

ruby - 用于机器学习可视化的 Ruby 图形和线性代数库?

python - 如何在 Python 中将 URL 字符串拆分成单独的部分?

function - 为什么某些流行语言中的函数只返回一种类型的结果?

java - 在java中加载大文本文件的最佳方式

c# - 将 .jls 图像转换为字节 [] 数组时出现错误 : "Out of Memory ",

machine-learning - 在 Q 学习中添加约束并在违反约束时分配奖励

python - 使用 OpenPyXL 在工作表的页眉/页脚插入图像

python - 如何在keras层中使用SVD?

python - Plotly-Dash:如何制作带有交叉表的数据框,仍显示原始列名称?

.net - 有没有一种方法可以训练 Encog 神经网络而不将所有训练集加载到内存中?