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

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

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

scluis   2022-12-08 我要评论

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

总结

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

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们