tf.ConfigProto (allow_soft_placement=True)

tf.ConfigProto一般用在创建session的时候用来对session进行参数配置。
with tf.Session(config = tf.ConfigProto(....)....)
tf.ConfigProto()的参数

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

控制GPU资源使用率

allow growth

  config = tf.ConfigProto()
  config.gpu_options.allow_growth = True
  session = tf.Session(config = config,....)

使用allow_growth option,刚一开始分配少量的GPU容量,然后按需慢慢的增加,由于不会释放内存,所以会导致碎片
per_process_gpu_memory_fraction

   gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction = 0.7)
   config = tf.ConfigProto(gpu_options = gpu_options)
   session = tf.Session(config = config,....)

设置每个GPU应该拿出多少容量给进程使用,0.4代表40%


控制使用哪块GPU

 ~/CUDA_VISBLE_DEVICES = 0      python your.py #使用GPU0
 ~/CUDA_VISBLE_DEVICES = 0,1   python your.py #使用GPU0,1

注意单词不要打错

你可能感兴趣的:(tf.ConfigProto (allow_soft_placement=True))