如何解决Tensorflow占用GPU显存的问题

这篇文章给大家分享的是有关如何解决Tensorflow占用GPU显存的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

我使用Pytorch进行模型训练时发现真正模型本身对于显存的占用并不明显,但是对应的转换为tensorflow后(权重也进行了转换),发现Python-tensorflow在使用时默认吃掉所有显存,并且不手动终结程序的话显存并不释放(我有两个序贯的模型,前面一个跑完后并不释放占用显存)(https://github.com/tensorflow/tensorflow/issues/1727),这一点对于后续的工作有很大的影响。

后面发现python-tensorflow限制显存有两种方法:

1. 设置显卡的使用率

这种方法在学习和工作中比较好用,学习时可提高显卡使用效率,工作时可方便的获得GPU显存消耗极限,用以提供显卡购买时的参数,现将代码展示如下:

如何解决Tensorflow占用GPU显存的问题

这里的0.1 表示使用显存总量的的10%

2. 设置显卡按需使用(这个本人并没有专门测试,只是从tensorflow论坛上获得)

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

感谢各位的阅读!关于“如何解决Tensorflow占用GPU显存的问题”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!