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
相关推荐
zxyscz 2018-11-27
旭峰 2016-12-28
pallove 2020-04-23
flyfish 2020-02-19
蓝天白云绿草 2016-06-19
hackerlong 2019-07-01
邓乐来Jacob 2019-07-01
fedora0的程序 2017-02-23
IT之家 2016-12-21
weiwenhp 2017-04-20
yangjianren0 2017-01-05
pallove 2016-11-22
abdstime 2016-09-27
yangjianren0 2016-12-11
随枫而逝 2017-03-02
87991034 2010-09-07
patiencezzz 2009-04-20