限制 TensorFlow 的显存占用

发现 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)))

显存动态申请。

留下评论