TensorFlow1.8.0+cuda9.0+cudnn7.1.2
写在前面:tensorflow也可以用conda一条龙安装,如:
conda install tensorflow-gpu==2.1.0
会自动安装其他依赖包,包括cudatoolkit10.1和cudnn7.6,如果至此问题可以解决,下面的可以不用看了。
————————————————————————————————
记录一个折磨我三天的小(da)问题
很早以前就被cuda、cudnn、显卡驱动、TensorFlow、pytorch等等的版本之类的问题困扰,不同的代码可能会需要不同版本的包,直到有一天我使用了anaconda(见Ubuntu安装Anaconda),按不同代码的版本需求安装不同的包(见cuda、cudnn、pytorch、tensorflow安装)。平静了很久很久以后,又出现了一个新的问题。
有个代码之前能够成功运行,虽然这个环境的cuda、cudnn、TensorFlow版本一直都有问题。下面我记录一下我几个环境的包的版本。
环境A:TensorFlow-gpu1.7.0+cuda8.0+cudnn7.0.5
环境B:TensorFlow-gpu1.7.0+cuda8.0+cudnn7.0.5
环境C:TensorFlow-gpu1.7.0+cuda9.0+cudnn7.6.5
实际上环境A和环境B是一致的,根据TensorFlow、cuda、cudnn的版本对应关系(见cuda、cudnn、pytorch、tensorflow安装)TensorFlow1.7.0配套的应该为cuda9和cudnn7,环境C符合这个规则。
使用环境C运行代码报错:
E tensorflow/stream_executor/cuda/cuda_dnn.cc:396] Loaded runtime CuDNN library: 7650 (compatibility version 7600) but source was compiled with 7005 (compatibility version 7000).
If using a binary install, upgrade your CuDNN library to match.
If building from sources, make sure the library loaded at runtime matches a compatible version specified during compile configuration.
这个TensorFlow1.7.0需要的cudnn7的版本为cudnn7.0的,7.6不适用,于是我就装上cudnn7.0,代码如下:
conda install cudnn=7.0.5 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/linux-64/
但是conda要强行将cuda9.0换成cuda8.0:
The following NEW packages will be INSTALLED:
cudnn: 7.0.5-cuda8.0_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main The following packages will be DOWNGRADED:
cudatoolkit: 9.0-h13b8566_0 --> 8.0-3
Proceed ([y]/n)?
要装cudnn7.0只得选y
,这样cuda就变成9.0了,无奈,就这样得到了环境A和B。
虽然这个版本对应有问题,但是可以运行。而且非常奇怪,即使分配了gpu,环境B只能用cpu运行tensorflow。而环境A只能用gpu运行tensorflow,即使我指定用cpu运行,也要找gpu。(确定两个环境的TensorFlow-gpu版本相同)
就这样我一直睁一只眼闭一只眼,没有管他们,直到昨天,环境A突然报错:
ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory
好家伙,又突然需要cuda9.0,就像一头沉睡的狮子,小丑在他身上跳了几个月的舞,也不知道被什么突然惊醒了。同样的代码,同样的环境,只隔一天就完全不能跑了。
cuda9.0和cudnn7.0.5又不能在conda环境中同时存在(不在conda环境中应该是可以共存,但是这样安装起来非常不方便也不便于管理),来回装了几遍cuda9.0和cudnn7.0和tensorflow1.7,都无济于事。
将tensorflow退回1.4,则报错:
ImportError: libcublas.so.6.0: cannot open shared object file: No such file or directory
cudnn7.1是conda环境中和cuda9.0兼容的最低版本,但是使用cudnn7.1也报错:
E tensorflow/stream_executor/cuda/cuda_dnn.cc:396] Loaded runtime CuDNN library: 7102(compatibility version 7100) but source was compiled with 7005 (compatibility version 7000).
If using a binary install, upgrade your CuDNN library to match.
If building from sources, make sure the library loaded at runtime matches a compatible version specified during compile configuration.
突然注意到tensorflow1.5-1.12这几个版本对应的都是cuda9和cudnn7,想到尝试tensorflow-gpu-1.8:
pip install tensorflow-gpu==1.8.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
成功,与cudnn7.1完美兼容,问题解决。
最终成功的环境:TensorFlow1.8.0+cuda9.0+cudnn7.1.2
TensorFlow1.8.0+cuda9.0+cudnn7.1.2相关推荐
- Win7 + tensorflow-gpu1.8.0 + cuda9.0 + cuDNN 7.0 + Python3.5.2 + vs2013安装教程
#Win7 + tensorflow-gpu1.8.0 + cuda9.0 + cuDNN 7.0 + Python3.5.2 + vs2013安装教程 如需转载请标明出处:http://blog.c ...
- Ubuntu18.04两个Cuda(cuda10.0+cuda9.0)、两个Cudnn(cudnn7.3.1+cudnn7.0.5),并进行自由切换
之前安装了CUDA10.0,Cudnn7.3.1,因为要跑keras-yolo3,没办法运行,需要使用CUDA9.0+cudnn7.0.5(要求是7.0.4,但是官网没办法进行下载,因此尝试了7.0. ...
- win10安装miniconda3+pytorch1.2.0+cuda9.2+cudnn7.6.5.32
最近在实现FlowTrack(End-to-end Flow Correlation Tracking with Spatial-temporal Attention),子网络用到了FlowNet,实 ...
- Ubuntu16.04 + Cuda-9.0 + Cudnn-7.1.4 + TensorFlow1.8(极其简单)
步骤 1.Ubuntu16.04 LTS 2.配置Nvidia显卡驱动 3.Cuda-9.0 4.Cudnn-7.1.4 5.TensorFlow1.8 1. Ubuntu16.04 LTS 安装Ub ...
- Ubuntu17.04+Nvidia GT 640LE+CUDA9.0+cuDNN7.05+Tensorflow1.5r0(GPU)+Anaconda5.01(python3.6)安装
Ubuntu17.04+Nvidia GT 640LE+CUDA9.0+cuDNN7.05+Tensorflow1.5r0(GPU)+Anaconda5.01(python3.6)安装 一.详细的安装 ...
- 【cuda安装教程】GTX1050Ti+win10+cuda9.0+cudnn7.4.1安装过程记录
GTX1050ti+win10+cuda9.0安装实录 其实之前已经安装过很多次cuda了,但是每次需要用其他功能的时候,总是会忘了一些安装过程中的一些参数设置,所以记录下来提醒自己也可以让大家参考一 ...
- 海思Hi3519AV100深度学习方案(一)darknet转caffmodel之caffe安装(基于Ubuntu16.04+python3.5+opencv3.4.0+cuda10.0)
系列文章目录 海思Hi3519AV100深度学习方案(二)darknet转caffmodel之模型转换(yolov3+caffe+python3.5) 文章目录 系列文章目录 前言 一.系统已有环境检 ...
- Ubuntu 多版本Cuda(8.0,9.0)以及CuDnn安装
转载自:https://www.jianshu.com/p/6a6fbce9073f 来源:博客园 博主:EwanRenton 教研室服务器多人使用,由于大家使用不同的框架,或者框架的版本不同,需要对 ...
- 固态、机械双硬盘+UEFI、APT+Win10、Ubuntu18.04LTS双系统+GTX 1080Ti+Cuda9.0+cudnn7.1.4+Tensorflow1.12
固态.机械双硬盘+UEFI.APT+Win10.Ubuntu18.04LTS双系统+GTX 1080Ti+Cuda9.0+cudnn7.1.4+Tensorflow1.12 1.系统框架 1.1 在w ...
最新文章
- Iterative error correction of long sequencing reads maximizes accuracy and improves contig assembly
- amd860k能装黑苹果吗_黑苹果配置 篇六:黑苹果硬件选购指南之终篇--2019年8月
- python【蓝桥杯vip练习题库】ALGO-140 P1101(提货单)
- POJ1466 最大点权独立集
- 应聘腾讯,面试官和我聊了一个小时的人生
- leetcode 399. 除法求值(bfs)
- delphi datasnap断线后再次连接_电脑连接WiFi后经常出现断线断开连接问题的解决方法...
- qml 鼠标点击_QML ListView在鼠标点击时不会响应
- 如何给mac地址赋值_交换机工作基础——MAC地址表的构成与安全
- java多线程的写法三个线程_Java多线程的几种写法
- 20191021:(leetcode习题)乘积小于K的子数组
- mysql数据库实例
- 统一软件开发过程(rup)理解
- 网页截图小技巧——利用浏览器自带功能即可(无需安装插件)
- 2019美国数学建模大赛A+D题翻译
- 驭龙HIDS的简介,它开源了
- 【预研】关于互联网广告:半小时读懂互联网广告新生态
- Linux 交换分区
- 多线程堆排序算法C语言实现
- linux两个整数加减乘除,加减乘除运算符