我的服务器配置如下:
通过使用Django框架和apache服务器,我们调用Keras深度学习模型。和模型调用成功后,模型一直运行在GPU内存中,除非关闭服务器,否则无法释放GPU内存。
那么,在通过Apache+Mod_wsgi+Django调用Keras模型时是否有任何方法来控制GPU内存的发布?
谢谢!
发布于 2017-05-17 07:46:01
from keras import backend as K
K.clear_session()这将清除当前会话(图),因此应该从GPU中删除陈旧的模型。如果它没有工作,你可能需要‘模型’,并重新加载它。
发布于 2018-09-16 13:59:49
对于那些无法让K.clear_session()发挥作用的人,有一种替代的解决方案:
from numba import cuda
cuda.select_device(0)
cuda.close()Tensorflow只是将内存分配给GPU,而CUDA负责管理GPU内存。
如果在用K.clear_session()清除所有图形之后,CUDA拒绝释放GPU内存,那么您可以使用cuda库直接控制CUDA来清除GPU内存。
发布于 2022-05-21 01:54:35
from numba import cuda
device = cuda.get_current_device()
device.reset()https://stackoverflow.com/questions/43930871
复制相似问题