TensorFlow設置GPU占用量


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM