我使用Keras构建了一个基于CNN结构的自动编码器模型,在完成训练过程后,我的笔记本电脑有64GB内存,但我注意到至少1/3的内存仍然被占用,而GPU内存也是如此.我没有找到一个释放内存的好方法,我只能通过关闭Anaconda Prompt命令窗口和jupyter笔记本来释放内存.我不确定是否有人有好的建议.谢谢!
Rav*_*euk 10
要释放RAM内存,只需del Variables按照注释中@nuric的建议进行操作即可.
这比释放RAM内存有点棘手.有些人会建议您使用以下代码(假设您使用的是keras)
from keras import backend as K
K.clear_session()
Run Code Online (Sandbox Code Playgroud)
但是,上述代码并不适用于所有人.(即使你尝试del Models,它仍然无法工作)
如果上述方法不适合您,请尝试以下方法(您需要先安装numba库):
from numba import cuda
cuda.select_device(0)
cuda.close()
Run Code Online (Sandbox Code Playgroud)
其背后的原因是: Tensorflow只是为GPU分配内存,而CUDA负责管理GPU内存.
如果CUDA在您清除了所有图形之后以某种方式拒绝释放GPU内存K.clear_session(),那么您可以使用cuda库直接控制CUDA以清除GPU内存.
| 归档时间: |
|
| 查看次数: |
3631 次 |
| 最近记录: |