【发布时间】:2017-02-26 16:52:37
【问题描述】:
我正在尝试在 gpu 上使用 pycaffe 运行神经网络。
这在我第一次调用脚本时有效。 当我第二次运行相同的脚本时,CUDA 会在标题中抛出错误。
Batch size 为 1,此时图像大小为 243x322,gpu 有 8gb RAM。
我想我错过了一个重置内存的命令?
非常感谢!
编辑:
也许我应该澄清一些事情:我在 Windows 上运行 caffe。
当我用 python script.py 调用脚本时,进程终止并且 gpu 内存被释放,所以这有效。
使用我用于调试的 ipython,GPU 内存确实没有被释放(一次通过后,8 个 bg 中有 6 个正在使用中,感谢 nvidia-smi 的建议!)
所以,我正在寻找的是可以从 pyhton 中调用的命令,如下所示:
运行网络
处理图像输出
释放 gpu 内存
【问题讨论】:
-
你有其他进程在使用 GPU 吗?
-
如果它工作一次,然后你会得到这种错误,这肯定是内存没有被正确释放。如果它真的超出内存,你将永远得到它。此外,由于批量大小、图像尺寸、内核大小、输出参数大小、网络层深度等原因,可能会超出内存......
-
用命令
del your_net在python中释放网络对象怎么样? -
是的,这很好用!非常感谢!