当我通常从命令行运行python脚本时,例如python test.py
,GPU内存将在脚本完成后立即释放。 在这个test.py
脚本中,我只是加载了keras构建的模型来评估和预测一些数据。没有培训过程。但是,如果我打开我的'spyder',并在'spyder'中运行此脚本,结果会出现在'ipython'部分,但是随后我从命令行键入nvidia-smi
,GPU内存不会释放。 所以,我试过的是关闭这个'ipython'内核并开始一个新的。但是我所有其他的变数都会丢失。 'spyder'的model.evaluate(x, y)
之后有没有体面的方式释放GPU内存? 下面是一些屏幕截图: 如何在spyder中释放ipython中的keras中的GPU资源?
0
A
回答
1
通常情况下,tensorflow后端将保留在GPU上的所有内存。它可能不会真正使用所有的内存,但是它会被其他程序占用,直到tensorflow后端被终止。因此,在nvidia-smi
中,您将看到内存不会释放,甚至tensorflow已经释放了其框架中的前一个内存。
+0
,所以我怎么能释放记忆呢?因为我从ipython运行了一些测试命令,并且还从命令行运行了一些其他脚本。但是如果tensorflow后端不释放内存,那么我不能从命令行运行其他脚本。有什么建议么? – StayFoolish
+0
是的,你可以限制张量记忆。请检查[此链接](https://github.com/fchollet/keras/issues/1538) – Van
相关问题
- 1. 如何释放Spring bean中的资源?
- 2. 在C#中释放资源
- 3. 如何在spyder python中显示ipython iframe?
- 4. IPython在Spyder中不可用
- 5. 如何释放资源?
- 6. IDE如何释放资源?
- 7. 释放Objective-C中的静态资源
- 8. 释放应用程序中的资源?
- 9. 已释放createjs中使用的资源
- 10. 在Windows和unix中释放资源
- 11. 在GPU上的Direct2D中存储资源
- 12. Python - IntelliJ中的Ipython控制台,如Spyder
- 13. 如何以及何时释放指针中的资源
- 14. 如何释放HttpPostedFileBase使用的资源?
- 15. 如何释放进程的资源
- 16. 在Spyder iPython解释器中抑制ipdb输出
- 17. GC如何释放C#中的管理资源
- 18. 从线程中释放资源
- 19. HttpClient - 如何在Java 7中自动释放资源
- 20. 如何避免在C++中自动释放资源?
- 21. 如何在RMI调用中释放服务器端资源?
- 22. 如何在iPhone应用程序中释放这些资源?
- 23. 释放OpenSSL的资源:SSL_CTX_free
- 24. 如何释放gpu内存?
- 25. SFML释放资源
- 26. Php资源释放
- 27. IPython中的cd命令与Spyder
- 28. 如何在.EXE中放置资源?
- 29. 如何防止NSWindow释放资源?
- 30. 如何强制释放资源?
尝试运行'gc.collect()' – DJK
@ djk47463,这个'gc'来自哪里?哪个模块? – StayFoolish
该模块被命名为[gc](https://docs.python.org/2/library/gc.html),它是一个垃圾收集器,我相信它附带的Python安装 – DJK