如何从内存中卸载keras / tensorflow模型?

时间:2018-08-30 09:00:20

标签: python tensorflow keras deep-learning

这是问题所在:我的(Keras)模型正在侦听任务队列。如果10分钟内没有任务到达,我想卸载模型并释放内存。

但是我从没想到这样的工作会如此艰辛...

以下是一些失败的尝试:

(1)设置model = None,希望GC收集内存。

(2)del model

(3)使用K.clear_session()tf.reset_defualt_graph()

(4)以上方法的任意组合,然后手动调用gc.collect()

是否可以在不退出当前进程的情况下从内存中卸载模型?还有其他建议吗?

2 个答案:

答案 0 :(得分:0)

numba library

假设您正在使用设备0

from numba import cuda
cuda.select_device(0)
cuda.close()

答案 1 :(得分:0)

我要做的是:

import keras
keras.backend.clear_session()

据我所知,它清除了内存