tensorflow gpu内存使用问题

Tensorflow对于gpu的使用是先占住所有可用资源,然后使用某块gpu进行计算,因此在代码中需要对gpu的使用做一定的限定根据自己的需求。

设置可见GPU

当你不想让tensorflow占用你所有的gpu时,可限定tensorflow的可见gpu

在终端执行程序时指定GPU

CUDA_VISIBLE_DEVICES=1 设置 1 为可见gpu 等同于 CUDA_VISIBLE_DEVICES=“1”
CUDA_VISIBLE_DEVICES=“0,1”设置 0 和 1为可见gpu

在python代码中指定GPU

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

设置GPU的使用

定量使用GPU

config=tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction=0.8 #占用GPU 80%的显存
sess=tf.Session(config=config)

按需使用GPU (即最小使用量)

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

使用某块GPU运算

使用可见gpu的某块gpu进行计算,gpu是从 0 开始的
with tf.device("/gpu:0")


你可能感兴趣的:(tensorflow)