一直在等待 一直会等待 tensorflow.ConfigProto() 配置信息

config = tf.ConfigProto()
config.gpu_options.allow_growth = True
config.log_device_placement = True
config = tf.ConfigProto(allow_soft_placement=True, allow_soft_placement=True)  
config.gpu_options.per_process_gpu_memory_fraction = 0.4  #占用40%显存  
with tf.Session(config=config) as sess:
sess = tf.Session(config=config)

创建一个类实例:

config = tf.ConfigProto()

记录设备指派情况: 参数log_device_placement = True ,可以获取到 operations 和 Tensor 被指派到哪个设备(几号CPU或几号GPU)上运行,会在终端打印出各项操作是在哪个设备上运行的。

config.log_device_placement = True

自动选择GPU运行设备: 在tf中,通过命令 “with tf.device(’/cpu:0’):”,允许手动设置操作运行的设备。如果手动设置的设备不存在或者不可用,就会导致tf程序等待或异常,为了防止这种情况,可以设置tf.ConfigProto()中参数allow_soft_placement=True,允许tf自动选择一个存在并且可用的设备来运行操作。

config.allow_soft_placement = True

GPU资源设置: 为了加快运行效率,TensorFlow在初始化时会尝试分配所有可用的GPU显存资源给自己,这在多人使用的服务器上工作就会导致GPU占用,别人无法使用GPU工作的情况。tf提供了两种控制GPU资源使用的方法,一是让TensorFlow在运行过程中动态申请显存,需要多少就申请多少;第二种方式就是限制GPU的使用率

# 动态申请显存
config.allow_soft_placement = True
# 限制GPU的使用率
config.gpu_options.per_process_gpu_memory_fraction = 0.4  #占用40%显存

在创建session的时候,用来对session进行参数配置:

with tf.Session(config=config) as sess:

参考链接

你可能感兴趣的:(TensorFlow,API,笔记)