解决Tensorflow占用GPU显存问题
时间:2021-01-16 12:29:25|栏目:Python代码|点击: 次
我使用Pytorch进行模型训练时发现真正模型本身对于显存的占用并不明显,但是对应的转换为tensorflow后(权重也进行了转换),发现Python-tensorflow在使用时默认吃掉所有显存,并且不手动终结程序的话显存并不释放(我有两个序贯的模型,前面一个跑完后并不释放占用显存)(https://github.com/tensorflow/tensorflow/issues/1727),这一点对于后续的工作有很大的影响。
后面发现python-tensorflow限制显存有两种方法:
1. 设置显卡的使用率
这种方法在学习和工作中比较好用,学习时可提高显卡使用效率,工作时可方便的获得GPU显存消耗极限,用以提供显卡购买时的参数,现将代码展示如下:
这里的0.1 表示使用显存总量的的10%
2. 设置显卡按需使用(这个本人并没有专门测试,只是从tensorflow论坛上获得)
gpu_options = tf.GPUOptions(allow_growth=True) sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options))