发现 TensorFlow 会把所有 GPU 全部占满,即使什么都不跑。当跑着一个 TensorFlow 的时候,其他程序如果申请显存都会报显存不足。
所以需要限制一下。
方法一: 每个 GPU 占用百分之 X
sess = tf.Session(config=tf.ConfigProto(gpu_options=tf.GPUOptions(per_process_gpu_memory_fraction=0.333)))
如果有 3 块 12G 的卡,那么 TF 会在每个卡上划分 4G 出来。当某块卡剩余显存不够 4G,直接报错。
方法二: 不预先划分
sess = tf.Session(config=tf.ConfigProto(gpu_options=tf.GPUOptions(allow_growth=True)))
显存动态申请。
发表回复