当前位置:首页 >> 脚本专栏

解决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显存问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。