前言:
前提说明,安装两个版本的tensorflow后出现了这个问题,先安装的环境正常运行,后安装的环境就有这个bug了。
分析问题:
可能是两个版本的tensorflow需要对应不同的cudann,导致其中一个得不到gpu资源。
解决方案:
在你需要运行的代码的最前面放入下面这段代码即可解决。
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:
参考: