转载:https://blog.csdn.net/MahoneSun/article/details/80809042

CUDA、tensorflow与cuDNN的版本匹配问题

一、问题现象

CUDA、tensorflow 与 cuDNN有版本匹配的问题,经常出现安装了某一版本的 CUDA 后,tensorflow 不支持相应版本的CUDA,或者tensorflow 支持 CUDA,但与 cuDNN版本不匹配,找不到这个那个文件,网上甚至有 CUDA装错等于重装的说法,很是麻烦。

这里列举了一些我遇到过的错误(有的没有装cuDNN)

CUDA9.2 + 1.8版本tensorflow

ImportError: libcudnn.so.7: cannot open shared objectfile: No such file or directory

CUDA9.2 +1.7版本tensorflow

ImportError: libcublas.so.9.0: cannot open shared objectfile: No such file or directory

CUDA9.2 +1.6版本tensorflow

ImportError: libcublas.so.9.0: cannot open shared objectfile: No such file or directory

CUDA9.2 +1.5版本tensorflow

ImportError: libcublas.so.9.0: cannot open shared objectfile: No such file or directory

CUDA9.2 +1.3版本tensorflow

ImportError: libcusolver.so.8.0: cannot open sharedobject file: No such file or directory

DUDA9.0+ 1.8版本tensorflow

ImportError: libcudnn.so.7: cannot open shared objectfile: No such file or directory

CUDA 8.0+ 1.8版本tensorflow 

ImportError: libcudnn.so.6: cannot open shared objectfile: No such file or directory

CUDA 8.0+ 1.8版本tensorflow

ImportError: libcublas.so.9.0: cannot open shared objectfile: No such file or directory

CUDA 8.0+ 1.7版本tensorflow

ImportError: libcublas.so.9.0: cannot open shared objectfile: No such file or directory

CUDA 8.0+ 1.6版本tensorflow

ImportError: libcublas.so.9.0: cannot open shared objectfile: No such file or directory

CUDA 8.0+ 1.5版本tensorflow

ImportError: libcublas.so.9.0: cannot open shared objectfile: No such file or directory

二、问题分析

大概总结了一下,以上错误有两种类型

1、libcudnn.so.x 找不到的情况:没有装 cuDNN

2、libcublas.so.x 找不到的情况:版本不匹配, CUDA与 cuDNN 或者tensorflow 版本不匹配,等等

三、解决办法:

根据现象和一些实际的验证操作,大概总结出以下安装方法比较靠谱,但由于时间关系没有作全系列的组合验证,可以作为参考:

3.1 安装顺序

先安装 CUDA,再安装 tensorflow ,最后安装 cuDNN,严格按照这个顺序装,可以避免返工,避免一步错就必须重装系统

3.2 安装配置

参照我的另一篇文章《Ubuntu 16.04+1080Ti机器学习基本环境配置》,安装以下软件

A、先安装 CUDA,注意不要选择最新的 9.2 版本,因为 tensorflow 还不支持这个最新的版本,我们选择 9.0 版本的就好,

B、安装tensorflow,同样参考上述文章,注意要先配置 pip源 。这里我们默认下载的最新版本是 1.8 版本的。

C、最后安装 cuDNN

四、验证

4.1、确定大版本

根据提示的错误信息,例如提示找不到 libcudnn.so.x 或者 libcublas.so.x,那么这个x代表的数字信息就是我们要安装的 cuDNN 的版本,

4.2、确定大版本下的CUDA版本

在https://developer.nvidia.com/rdp/cudnn-download下载对应的版本,先看上面说的大版本,再看对应的CUDA 版本,例如找不到libcudnn.so.7,则安装 v7 大版本的 cuDNN,而我们已经安装的CUDA版本是 CUDA9.0,所以我们应该下载v7 大版本下对应的 CUDA9.0版本,即DownloadcuDNN v7.1.4 (May 16, 2018), for CUDA 9.0版本,

4.3、下载文件

下载其下的cuDNN v7.1.4 Library for Linux

安装完成后,验证方法参照上述提到的文章

如此一般可以解决问题

尊重劳动成果,转载请注明出处,本文链接:https://blog.csdn.net/MahoneSun/article/details/80809042

(转载)CUDA、tensorflow与cuDNN的版本匹配问题的更多相关文章

  1. CUDA、tensorflow与cuDNN的版本匹配问题【转】

    本文转载自:https://blog.csdn.net/MahoneSun/article/details/80809042 一.问题现象 CUDA.tensorflow 与 cuDNN有版本匹配的问 ...

  2. CUDA和TensorFlow的版本匹配问题

    CUDA和TensorFlow的版本匹配问题 部分转载自博客:https://blog.csdn.net/MahoneSun/article/details/80809042 列举一些CUDA和Ten ...

  3. TensorFlow 与cudnn版本不匹配问题

    log:Loaded runtime CuDNN library: 7.1.4 but source was compiled with: 7.2.1. 我安装的事cuda 9.0  cudnn 7. ...

  4. win7+cuda+anaconda python+tensorflow-gpu+keras安装成功版本匹配汇总

    win7+cuda+anaconda python+tensorflow-gpu+keras安装成功版本匹配汇总 2019-09-20 15:06:03 wyx100 阅读数 38更多 分类专栏: M ...

  5. 深度学习 GPU环境 Ubuntu 16.04 + Nvidia GTX 1080 + Python 3.6 + CUDA 9.0 + cuDNN 7.1 + TensorFlow 1.6 环境配置

    本节详细说明一下深度学习环境配置,Ubuntu 16.04 + Nvidia GTX 1080 + Python 3.6 + CUDA 9.0 + cuDNN 7.1 + TensorFlow 1.6 ...

  6. Ubuntu 16.04 + CUDA 8.0 + cuDNN v5.1 + TensorFlow(GPU support)安装配置详解

    随着图像识别和深度学习领域的迅猛发展,GPU时代即将来临.由于GPU处理深度学习算法的高效性,使得配置一台搭载有GPU的服务器变得尤为必要. 本文主要介绍在Ubuntu 16.04环境下如何配置Ten ...

  7. win10 用cmake 3.5.2 和 vs 2015 update1 编译 GPU版本(cuda 8.0, cudnn v5 for cuda 8.0)

    win10 用cmake 3.5.2 和 vs 2015 update1 编译 GPU版本(cuda 8.0, cudnn v5 for cuda 8.0)  用vs 2015打开 编译Release ...

  8. Win10 x64 + CUDA 10.0 + cuDNN v7.5 + TensorFlow GPU 1.13 安装指南

    Win10 x64 + CUDA 10.0 + cuDNN v7.5 + TensorFlow GPU 1.13 安装指南 Update : 2019.03.08 0. 环境说明 硬件:Ryzen R ...

  9. Ubuntu16.04+GTX 1080Ti+CUDA 8.0+cuDNN+Tesnorflow1.0深度学习服务器安装之路

    0.安装背景 系统:ubuntu 16.04 内核:4.4.0-140-generic GPU:GTX 1080Ti nvidia驱动版本: 384.111 cuda: CUDA 8.0 深度学习库c ...

随机推荐

  1. 配置maven使用nexus

    本文简单介绍使用配置maven使用nexus仓库,在团队中使用nexus,避免每个人都从中央仓库去下载依赖,节省带宽,提高下载速度,同时也减少了中央仓库的压力 配置在maven中使用nexus很简单( ...

  2. SeaJS简介一:由来,特点以及优势

    由来: 在软件开发过程中,模块化编程思想已经习以为常了,模块化编程不仅仅给开发团队带来效率方面上的好处,还能够让开发的项目或者产品维护成本大大降低. 那么,在WEB开发过程中JS脚本语言已经不可或缺了 ...

  3. 【BZOJ4372】烁烁的游戏 动态树分治+线段树

    [BZOJ4372]烁烁的游戏 Description 背景:烁烁很喜欢爬树,这吓坏了树上的皮皮鼠.题意:给定一颗n个节点的树,边权均为1,初始树上没有皮皮鼠.烁烁他每次会跳到一个节点u,把周围与他距 ...

  4. 【BZOJ2087】[Poi2010]Sheep 几何+DP

    [BZOJ2087][Poi2010]Sheep Description Lyx的QQ牧场养了很多偶数个的羊,他是Vip,所以牧场是凸多边形(畸形).现在因为他开挂,受到了惩罚,系统要求他把牧场全部分 ...

  5. Unity3D笔记九 发送广播与消息、利用脚本控制游戏

    一.发送广播与消息 游戏对象之间发送的广播与消息分为三种:第一种向子对象发送,将发送至该对象的同辈对象或者子孙对象中:第二种为给自己发送,发送至自己本身对象:第三种为向父对象发送,发送至该对象的同辈或 ...

  6. 手机联系人信息获取(contacts) ---- HTML5+

    模块:contacts Contacts模块管理系统通讯录,用于可对系统通讯录进行增.删.改.查等操作.通过plus.contacts获取系统通讯录管理对象. 对象:联系人对象(属性:电话,地址等)针 ...

  7. OneThink后台模型怎么玩?

    OneThink 后台模型有个模型类型: 模型下——>设计——>表单显示分组(怎么玩?) 这个将会显示在:内——>发布文章内容的时候: 单选按钮: 内容模块显示: 枚举类型可以这样玩 ...

  8. Docker企业级仓库Harbor的安装配置与使用

    Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全.标识和管理等,扩展了开源Docker Distribution.作为一个企业级 ...

  9. day08:软件系统的体系结构&Tomcat详解&Web应用&http协议

        day08 软件系统体系结构     常见软件系统体系结构B/S.C/S 1.1 C/S C/S结构即客户端/服务器(Client/Server),例如QQ: 需要编写服务器端程序,以及客户端 ...

  10. RSA与AES的区别

    RSA 非对称加密,公钥加密,私钥解密,反之亦然.由于需要大数的乘幂求模等算法,运行速度慢,不易于硬件实现. 通常私钥长度有512bit,1024bit,2048bit,4096bit,长度越长,越安 ...