python – Keras:完成训练后释放内存

weixin_38072110 2019-09-12 10:26:46
我使用Keras构建了一个基于CNN结构的自动编码器模型,在完成训练过程后,我的笔记本电脑有64GB内存,但我注意到至少1/3的内存仍然被占用,而GPU内存也是如此.我没有找到一个释放内存的好方法,我只能通过关闭Anaconda Prompt命令窗口和jupyter笔记本来释放内存.我不确定是否有人有好的建议.谢谢!
...全文
1138 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_40481718 2021-03-31
  • 打赏
  • 举报
回复
引用 1 楼 的回复:
释放RAM内存 要释放RAM内存,只需按照注释中@nuric的建议执行del变量. 释放GPU内存 这比释放RAM内存有点棘手.有些人会建议您使用以下代码(假设您使用的是keras) from keras import backend as K K.clear_session() 但是,上述代码并不适用于所有人. (即使你尝试del Models,它仍然无法工作) 如果上述方法不适合您,请尝试以下方法(您需要先安装numba库): from numba import cuda cuda.select_device(0) cuda.close() 其背后的原因是:Tensorflow只是为GPU分配内存,而CUDA负责管理GPU内存. 如果在用K.clear_session()清除了所有图形后,CUDA以某种方式拒绝释放GPU内存,那么您可以使用cuda库直接控制CUDA以清除GPU内存.
引用 1 楼 的回复:
释放RAM内存 要释放RAM内存,只需按照注释中@nuric的建议执行del变量. 释放GPU内存 这比释放RAM内存有点棘手.有些人会建议您使用以下代码(假设您使用的是keras) from keras import backend as K K.clear_session() 但是,上述代码并不适用于所有人. (即使你尝试del Models,它仍然无法工作) 如果上述方法不适合您,请尝试以下方法(您需要先安装numba库): from numba import cuda cuda.select_device(0) cuda.close() 其背后的原因是:Tensorflow只是为GPU分配内存,而CUDA负责管理GPU内存. 如果在用K.clear_session()清除了所有图形后,CUDA以某种方式拒绝释放GPU内存,那么您可以使用cuda库直接控制CUDA以清除GPU内存.
方法2是可以释放内存,但是也运行不了程序了?
weixin_38085383 2019-09-12
  • 打赏
  • 举报
回复
释放RAM内存 要释放RAM内存,只需按照注释中@nuric的建议执行del变量. 释放GPU内存 这比释放RAM内存有点棘手.有些人会建议您使用以下代码(假设您使用的是keras) from keras import backend as K K.clear_session() 但是,上述代码并不适用于所有人. (即使你尝试del Models,它仍然无法工作) 如果上述方法不适合您,请尝试以下方法(您需要先安装numba库): from numba import cuda cuda.select_device(0) cuda.close() 其背后的原因是:Tensorflow只是为GPU分配内存,而CUDA负责管理GPU内存. 如果在用K.clear_session()清除了所有图形后,CUDA以某种方式拒绝释放GPU内存,那么您可以使用cuda库直接控制CUDA以清除GPU内存.

433

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧