tf.ConfigProto()整理

持续整理中

    • tf.ConfigProto()
    • tf.GPUOptions()
      • 动态申请缓存
      • 限制GPU的使用率

tf.ConfigProto()

tf.ConfigProto()在创建tf.Session(config=tf.ConfigProto())进行参数配置。
主要的参数有以下几种:

allow_soft_placement=True
如果是 True,允许 tensorflow 自动分配设备。
log_device_placement=True
如果是 True,打印设备分配日志。
device_count={‘GPU’:0, ‘CPU’:4}
使用字典分配可用的 GPU 设备号和 CPU 设备号。
intra_op_parallelism_threads=n
(控制运算符op内部的并行)
当运算符op为单一运算符,并且内部可以实现并行时,如矩阵乘法,reduce_sum之类的操作,可以通过设置intra_op_parallelism_threads参数来并行, intra代表内部。
inter_op_parallelism_threads=n:
(控制多个运算符op之间的并行计算)
当有多个运算符op,并且他们之间比较独立,运算符和运算符之间没有直接的路径Path相连。Tensorflow会尝试并行地计算他们,使用由inter_op_parallelism_threads参数来控制数量的一个线程池。

tf.GPUOptions()

动态申请缓存

方法一:

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

方法二:

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

限制GPU的使用率

方法一:

config = tf.ConfigProto()
 
config.gpu_options.per_process_gpu_memory_fraction = 0.85  #占用85%显存
 
session = tf.Session(config=config)

方法二:

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

你可能感兴趣的:(python,tensorflow)