tf.GPUOptions
可以作为设置tf.ConfigProto
时的一个参数选项,一般用于限制GPU资源的使用。
为了加快运行效率,TensorFlow在初始化时会尝试分配所有可用的GPU显存资源给自己,这在多人使用的服务器上工作就会导致GPU占用,别人无法使用GPU工作的情况。
tf提供了两种控制GPU资源使用的方法,
-1- 让TensorFlow在运行过程中动态申请显存,需要多少就申请多少;
-2- 限制GPU的使用率。
动态申请显存
方式一:
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)
tf.GPUOptions
可用的设置项有:
per_process_gpu_memory_fraction #
allocator_type #
deferred_deletion_bytes #
allow_growth #
visible_device_list #
polling_active_delay_usecs #
polling_inactive_delay_msecs #
force_gpu_compatible #
网友评论