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)) # 此处不同

总结

作者:scluis原文地址:https://blog.csdn.net/weixin_42619772/article/details/122547421

%s 个评论

要回复文章请先登录注册