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
注意单词不要打错
网友评论