tensorflow在训练时默认占用所有GPU的显存,提示内存已满!
1. 动态分配内存
当allow_growth设置为True时,分配器将不会指定所有的GPU内存,而是根据需求增长
config = tf.ConfigProto()
config.gpu_options.allow_growth=True
sess = tf.Session(config=config)
2. 设置GPU内存使用率
显式地指定需要分配的显存比例,假如有12GB的显存并使用其中的4GB:如下所示:
gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.333)
sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options))
3、在执行训练脚本前使用:
来限制可见的GPU数目
export CUDA_VISIBLE_DEVICES=1
TensorFlow GPU内存优化
本文介绍如何在使用TensorFlow进行深度学习模型训练时,优化GPU内存的使用。通过动态分配内存、设置GPU内存使用率及限制可见GPU数目,解决GPU显存被全部占用的问题。
1079

被折叠的 条评论
为什么被折叠?



