tensorflow 默认使用所有gpu的所有显存,只是运行一个小程序,也会占用所有的gpu资源。
nvidia-smi -l #实时返回gpu的使用情况
四个gpu分别为0,1,2,3
可以使用cuda命令进行gpu的选择:
CUDA_VISIBLE_DEVICES=1 ,只使用gpu 1
CUDA_VISIBLE_DEVICES=0,1 使用gpu 0 和 1
在使用tensorflow的时候使用:
CUDA_VISIBLE_DEVICES=0 python minst.py
这样tensorflow会在指定的gpu上运行,但还是会占用整个显存
限定gpu占用的方法:
在tensorflow中定义session 时做如下设置,会使用最少的gpu显存来运行程序
config=tf.ConfigProto()
config.gpu_options.allow_growth = True
session= tf.Session(config=config)
在tensorflow中with tf.device(‘/gpu:0’) 只会指定在gpu 0上计算,但默认占用所有gpu资源。