换了一台RTX2060的电脑以后,用tensorflow作实验发现没有使用GPU,那我换电脑就没有意义了。而后百度发现tensorflow-gpu才是使用GPU来运算的。因而又花了三个多小时来下载安装,为啥比CPU的复杂这么多,唉~。终于安装成功以后,运行程序的时候又报错,也就是本文这个错误,查阅资料后发现解决方法,因而记录一下。php
这是GPU内存的问题
tensorflowsession
config = tf.ConfigProto() config.gpu_options.allow_growth = True session = tf.Session(config=config)
kerascode
config = tf.ConfigProto() config.gpu_options.allow_growth = True keras.backend.tensorflow_backend.set_session(tf.Session(config=config))
或者内存
config = tf.compat.v1.ConfigProto(allow_soft_placement=True) config.gpu_options.per_process_gpu_memory_fraction = 0.3 tf.compat.v1.keras.backend.set_session(tf.compat.v1.Session(config=config))
详细解析get
import os os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID" os.environ['CUDA_VISIBLE_DEVICES'] = "0,1"//选择哪一块gpu,若是是-1,就是调用cpu config = tf.ConfigProto()//对session进行参数配置 config.allow_soft_placement=True : 若是你指定的设备不存在,容许TF自动分配设备 config.gpu_options.per_process_gpu_memory_fraction=0.7//分配百分之七十的显存给程序使用,避免内存溢出,能够本身调整 config.gpu_options.allow_growth = True//按需分配显存,这个比较重要 session = tf.Session(config=config) ##或者 with tf.Session(config=config) as sess:
南岛鹋博客博客