Tensorflow下指定显卡占用比例参数配置

Posted jaww

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tensorflow下指定显卡占用比例参数配置相关的知识,希望对你有一定的参考价值。

tensorflow在训练时默认占用所有GPU的显存。

可以通过以下方式解决该问题:

1、在构造tf.Session()时候通过传递tf.GPUOptions作为可选配置参数的一部分来显式地指定需要分配的显存比例,如下所示:

# 假如有12GB的显存并使用其中的4GB:
gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.333)
sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options))

per_process_gpu_memory_fraction指定了每个GPU进程中使用显存的上限,但它只能均匀作用于所有GPU,无法对不同GPU设置不同的上限

2、尝试如下设置:

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

当allow_growth设置为True时,分配器将不会指定所有的GPU内存,而是根据需求增长

3、指定GPU编号:

import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0"

或者在脚本或者命令行中指定
export CUDA_VISIBLE_DEVICES=0

 

以上是关于Tensorflow下指定显卡占用比例参数配置的主要内容,如果未能解决你的问题,请参考以下文章

tensorflow-gpu 使用的常见错误

TensorFlow的GPU设置

TensorFlow中使用GPU

tensorflow中使用tf.ConfigProto()配置Session运行参数&&GPU设备指定

Java / Tensorflow - API 调用 pb 模型使用 GPU 推理

配置深度学习主机与环境(TensorFlow+1080Ti) | 第二章 Win10&Ubuntu双系统与显卡驱动安装