一、总结
一句话总结:
Jupyter notebook 每次运行完tensorflow的程序,占着显存不释放。而又因为tensorflow是默认申请可使用的全部显存,就会使得后续程序难以运行。
二、Jupyter notebook Tensorflow GPU Memory 释放
转自或参考:Jupyter notebook Tensorflow GPU Memory 释放
https://www.cnblogs.com/zhsuiy/p/8030651.html
Jupyter notebook 每次运行完tensorflow的程序,占着显存不释放。而又因为tensorflow是默认申请可使用的全部显存,就会使得后续程序难以运行。暂时还没有找到在jupyter notebook里面自动释放显存的方法,但是我们可以做的是通过指定config为使用的显存按需自动增长,这样可以避免大多数的问题。代码如下:
gpu_no = '0' # or '1'
os.environ["CUDA_VISIBLE_DEVICES"] = gpu_no
# 定义TensorFlow配置
config = tf.ConfigProto()
# 配置GPU内存分配方式,按需增长,很关键
config.gpu_options.allow_growth = True
# 配置可使用的显存比例
config.gpu_options.per_process_gpu_memory_fraction = 0.1
# 在创建session的时候把config作为参数传进去
sess = tf.InteractiveSession(config = config)
参考链接: javascript:void(0)