python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > TensorFlow2.0之后动态分配显存

TensorFlow 2.0之后动态分配显存方式

作者:scluis

这篇文章主要介绍了TensorFlow 2.0之后动态分配显存方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

TensorFlow 2.0之后动态分配显存

import tensorflow as tf
 
config = tf.compat.v1.ConfigProto()
config.gpu_options.allow_growth = True
sess = tf.compat.v1.Session(config = config)
tf.compat.v1.keras.backend.set_session(sess)

keras和tensorflow动态分配显存

tensoflow或者基于tensorflow的keras,好像默认会直接将GPU中所有的显存都读过来,然后慢慢用。

这样如果是服务器是的话,别人就没法用了,这里转载了动态分配显存的方法:

tensorflow下,加入代码:

config = tf.ConfigProto()
config.gpu_options.allow_growth = True   #设置动态分配显存
session = tf.Session(config=config, ...)

或者:

config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.3   #只一次调用30%的显存
session = tf.Session(config=config, ...)

对于keras,如果使用tensorflow作为后端,多加一句话就好了:

import os
os.environ["CUDA_VISIBLE_DEVICES"] = "1"
from keras.backend.tensorflow_backend import set_session
config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.3
set_session(tf.Session(config=config)) # 此处不同

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文