亲宝软件园·资讯

展开

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

scluis 人气: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)) # 此处不同

总结

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

加载全部内容

相关教程
猜你喜欢
用户评论