tf.ConfigProto一般用在創(chuàng)建session的時(shí)候用來對(duì)session進(jìn)行參數(shù)配置。
with tf.Session(config = tf.ConfigProto(....)....)
tf.ConfigProto()的參數(shù)
log_device_placement = True : 是否打印設(shè)備分配日志
allow_soft_placement = True : 如果你指定的設(shè)備不存在,允許TF自動(dòng)分配設(shè)備
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容量,然后按需慢慢的增加,由于不會(huì)釋放內(nèi)存,所以會(huì)導(dǎo)致碎片
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,....)
設(shè)置每個(gè)GPU應(yīng)該拿出多少容量給進(jìn)程使用,0.4代表40%
控制使用哪塊GPU
~/CUDA_VISBLE_DEVICES = 0 python your.py #使用GPU0
~/CUDA_VISBLE_DEVICES = 0,1 python your.py #使用GPU0,1
注意單詞不要打錯(cuò)