Tensorflow对于gpu的使用是先占住所有可用资源,然后使用某块gpu进行计算,因此在代码中需要对gpu的使用做一定的限定根据自己的需求。
设置可见GPU
当你不想让tensorflow占用你所有的gpu时,可限定tensorflow的可见gpu
在终端执行程序时指定GPU
CUDA_VISIBLE_DEVICES=1 设置 1 为可见gpu 等同于 CUDA_VISIBLE_DEVICES=“1”
CUDA_VISIBLE_DEVICES=“0,1”设置 0 和 1为可见gpu
在python代码中指定GPU
import os
os.environ["CUDA_VISIBLE_DEVICES"]="0"
设置GPU的使用
定量使用GPU
config=tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction=0.8 #占用GPU 80%的显存
sess=tf.Session(config=config)
按需使用GPU (即最小使用量)
config=tf.Configproto()
config.gpu_options.allow_growth=True
sess=tf.Session(config=config)
使用某块GPU运算
使用可见gpu的某块gpu进行计算,gpu是从 0 开始的
with tf.device("/gpu:0")