tensorflow使用GPU训练时的显存占用问题
2016-12-30 21:21
846 查看
最近用GoogleNet (inception-v3)做fine-tune训练时,遇到了一个问题。当我选择单个GPU训练时候,服务器中所有的GPU显存都会被占满,如下图所示:
出现以上问题的原因是tensorflow在训练时默认占用所有GPU的显存。
可以通过以下方式解决该问题:
1、在构造tf.Session()时候通过传递tf.GPUOptions作为可选配置参数的一部分来显式地指定需要分配的显存比例,如下所示:
per_process_gpu_memory_fraction指定了每个GPU进程中使用显存的上限,但它只能均匀作用于所有GPU,无法对不同GPU设置不同的上限
2、尝试如下设置:
3、在执行训练脚本前使用:
出现以上问题的原因是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、在执行训练脚本前使用:
export CUDA_VISIBLE_DEVICES=1来限制可见的GPU数目
相关文章推荐
- tensorflow使用GPU训练时的显存占用问题
- tensorflow使用GPU训练时的显存占用问题
- tensorflow使用GPU训练时的显存占用问题
- TensorFlow使用GPU训练网络时多块显卡的显存使用问题
- TensorFlow训练模型,指定GPU训练,设置显存,查看gpu占用
- 阿里 NIPS 2017 Workshop 论文:基于 TensorFlow 的深度模型训练 GPU 显存优化
- Zero volatile GPU-Util but high GPU Memory Usage,tensorflow训练时候显存占满,但是执行效率很低,GPU使用率很低。
- 【Ubuntu-Tensorflow】InvalidArgumentError GPU不能使用的问题
- Theano和Tensorflow多GPU使用问题
- 多卡服务器下隐藏部分 GPU 和 TensorFlow 的显存使用设置
- tensorflow中使用指定的GPU及GPU显存
- 使用Tensorflow实现多GPU并行训练
- Tensorflow多GPU多进程占用的问题
- 多卡服务器下隐藏部分 GPU 和 TensorFlow 的显存使用设置
- 多卡服务器下隐藏部分 GPU 和 TensorFlow 的显存使用设置
- Tensorflow GPU训练过程中遇到的问题总结
- TensorFlow指定特定GPU以及占用显存的比例
- caffe 使用LMDB数据库训练时 显存爆炸的问题
- tensorflow GPU使用问题
- 多卡服务器下隐藏部分 GPU 和 TensorFlow 的显存使用设置