config=tf.ConfigProto(allow_soft_placement=True)

with tf.Session(config=tf.ConfigProto(allow_soft_placement=True)) as sess:

tf.ConfigProto用来对session进行参数配置,如上所示。涉及到的参数如下:

#tf.ConfigProto()的参数
log_device_placement=True : 是否打印设备分配日志
allow_soft_placement=True : 如果你指定的设备不存在,允许TF自动分配设备

除外,还可以控制GPU的使用率等,如下:

gpu_options=tf.GPUOptions(per_process_gpu_memory_fraction=0.7)#设置每个GPU使用率0.7代表70%
config=tf.ConfigProto(gpu_options=gpu_options)
session = tf.Session(config=config, ...)

在多张GPU下,如果想要调用具体的GPU,使用如下:

#程序开头
os.environ['CUDA_VISIBLE_DEVICES'] = '0' #使用 GPU 0
os.environ['CUDA_VISIBLE_DEVICES'] = '0,1' # 使用 GPU 0,1

 

你可能感兴趣的:(tensorflow实战)