TensorFlow設置GPU佔用量

tensorflow在訓練時默認佔用全部GPU的顯存。spa

能夠經過如下方式解決該問題:命令行

一、在構造tf.Session()時候經過傳遞tf.GPUOptions做爲可選配置參數的一部分來顯式地指定須要分配的顯存比例,以下所示:code

# 假若有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設置不一樣的上限blog

二、嘗試以下設置:進程

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

當allow_growth設置爲True時,分配器將不會指定全部的GPU內存,而是根據需求增加內存

三、指定GPU編號:io

import os os.environ["CUDA_VISIBLE_DEVICES"] = "0" 或者在腳本或者命令行中指定 export CUDA_VISIBLE_DEVICES=0
相關文章
相關標籤/搜索