tensorflow显存管理

(copy frtom here)[http://blog.csdn.net/leibaojiangjun1/article/details/53671257]

但是我们通常在程序开始之前并不知道需要多大的显存,程序回去申请GPU的显存的50%,比如一个8G的内存,被占用了2G,那么程序会申请4G的显存(因为有足够的剩余显存),如果此时显存被占用7G,那么程序会申请剩下的所有的1G的显存。也许你的程序根本用不着这么多显存,200M也许就够了,这时候如果程序能按照需求去申请就好了,幸运的是,这样的方法是存在的:
只需要加上一条语句就好,完整语句为:


import tensorflow as tf  
import os  
os.environ["CUDA_VISIBLE_DEVICES"] = '0'   #指定第一块GPU可用  
config = tf.ConfigProto()  
config.gpu_options.per_process_gpu_memory_fraction = 0.5  # 程序最多只能占用指定gpu50%的显存  
config.gpu_options.allow_growth = True      #程序按需申请内存  
sess = tf.Session(config = config)  

posted @ 2017-12-11 17:35  一条图图犬  阅读(204)  评论(0编辑  收藏  举报