tensorflow-入门-01-Ubuntu安装tensorflow以及常见错误libcudnn.Version cannot open shared object file No such

本文主要是介绍tensorflow-入门-01-Ubuntu安装tensorflow以及常见错误libcudnn.Version cannot open shared object file No such,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

注意

这篇在Ubuntu上的安装tensorflow

以及常见错误ImportError: libcudnn.Version: cannot open shared object file: No such file or director的处理

文章为2017年8月25日22:01:30所写,如果你看这篇文章的时间过于老旧,那这篇文章作用就不大了,可以参考一下。

安装环境

Ubuntu 16

python3

tensorflow 1.3.0

CUDA Toolkit 8.0

cuDNN 6.0

根据官网的提示完成安装步骤
https://www.tensorflow.org/install/install_linux

需要Ubuntu 14.04 or higher

TensorFlow分两种,一种为CPU support only,一种为GPU support。
即为只支持CPU运算版本和支持GPU运算的版本。

在这里我们选择安装支持GPU运算的版本。

第一步 安装GPU驱动。

点击 System Setting -> Software&Updates -> Additional Drivers -> NVIDIA Corporation 选择第一个Using NVIDIA binary dirver

然后点击Apply Changes,保存更改。

等待下载安装GPU驱动完毕。

第二步 安装CUDA® Toolkit 8.0。

打开cuda的下载页面

https://developer.nvidia.com/cuda-downloads

点击 Linux -> x86_64 -> Ububtu -> 16.04 -> deb(local) -> Base Installer(1.9GB)

Downloads文件件下右键 打开terminal。

使用以下命令行下载并安装。

sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.debsudo apt-get updatesudo apt-get install cuda

第三步 安装cuDNN

打开cuDNN的下载界面

https://developer.nvidia.com/rdp/form/cudnn-download-survey

注意这里必须要注册并登陆才可以下载安装

在填完一个调查问卷并同意协议之后

选择 Download cuDNN v7.0 (August 3, 2017), for CUDA 9.0 RC

下载 cuDNN v7.0 Library for Linux

之后打开 Download文件夹 对 cuDNN v7.0 Library 右键点击 Extract Here 解压缩到当前文件夹下。

这时候就在当前Download文件夹下出现一个cuda的文件夹。

注意,下面是这一步的重点,有时候顺序位置错了会很麻烦。

在打开一个终端terminal,输入sudo nautilus,在弹出来的文件夹管理器中 点击Computer -> user -> local -> cuda ->include

这个时候在之前打开的文件夹管理器中的Download文件夹 点击 cuda -> include

将Download文件夹中的cuda的include的cudnn.h文件复制粘贴到 Computer -> user -> local -> cuda ->include 文件夹下

同理将Download文件夹中的cuda的lib64下的四个文件复制粘贴到 Computer -> user -> local -> cuda ->lib64 文件夹下

然后关闭打开的文件夹和终端terminal。

在Download文件夹下打开一个终端terminal,输入以下命令行。

sudo chmod a+r /usr/local/cuda/lib64/libcudnn*cd ..sudo gedit ~/.bashrc

在打开的文本中在最后添加以下两行代码

export PATH=/usr/local/cuda-8.0/bin:${PATH}export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:${LD_LIBRARY_PATH}

然后在终端terminal中执行

source ~/.bashrc

第四步 安装pip,原生安装tensorflow

在终端terminal中执行以下命令行

sudo apt-get install python3-pip python3-devpip3 install tensorflow-gpusudo pip3 install --upgrade tfBinaryURL sudo pip3 install --upgrade \https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.3.0-cp34-cp34m-linux_x86_64.whl

第五步 测试安装结果

python3

import tensorflow as tf

然后就会出错!!

ImportError: libcudnn.Version: cannot open shared object file: No such file or director

中间的libcudnn.Version有的是libcudnn.5,有的是libcudnn.6。

这里是最经常出现的问题。

https://stackoverflow.com/questions/41991101/importerror-libcudnn-when-running-a-tensorflow-program

答案在以上的网址当中,大概的意思就是现在tensorflow只能用cudnn6.0,5.1,这两个版本,别的都不能用。

所以去cudnn重新下载6.0版本,然后在Download文件夹中打开终端terminal。

tar xvzf cudnn-8.0-linux-x64-v6.0.tgzsudo cp -P cuda/include/cudnn.h /usr/local/cuda/includesudo cp -P cuda/lib64/libcudnn* /usr/local/cuda/lib64sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*sudo gedit ~/.bashrc

把之前最后添加的改为

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"export CUDA_HOME=/usr/local/cuda

保存关闭

source ~/.bashrc

测试结果

python3import tensorflow as tf

成功。

这篇关于tensorflow-入门-01-Ubuntu安装tensorflow以及常见错误libcudnn.Version cannot open shared object file No such的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/496640

相关文章

python常见环境管理工具超全解析

《python常见环境管理工具超全解析》在Python开发中,管理多个项目及其依赖项通常是一个挑战,下面:本文主要介绍python常见环境管理工具的相关资料,文中通过代码介绍的非常详细,需要的朋友... 目录1. conda2. pip3. uvuv 工具自动创建和管理环境的特点4. setup.py5.

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

SpringBoot排查和解决JSON解析错误(400 Bad Request)的方法

《SpringBoot排查和解决JSON解析错误(400BadRequest)的方法》在开发SpringBootRESTfulAPI时,客户端与服务端的数据交互通常使用JSON格式,然而,JSON... 目录问题背景1. 问题描述2. 错误分析解决方案1. 手动重新输入jsON2. 使用工具清理JSON3.

java中long的一些常见用法

《java中long的一些常见用法》在Java中,long是一种基本数据类型,用于表示长整型数值,接下来通过本文给大家介绍java中long的一些常见用法,感兴趣的朋友一起看看吧... 在Java中,long是一种基本数据类型,用于表示长整型数值。它的取值范围比int更大,从-922337203685477

Nexus安装和启动的实现教程

《Nexus安装和启动的实现教程》:本文主要介绍Nexus安装和启动的实现教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Nexus下载二、Nexus安装和启动三、关闭Nexus总结一、Nexus下载官方下载链接:DownloadWindows系统根

Java SWT库详解与安装指南(最新推荐)

《JavaSWT库详解与安装指南(最新推荐)》:本文主要介绍JavaSWT库详解与安装指南,在本章中,我们介绍了如何下载、安装SWTJAR包,并详述了在Eclipse以及命令行环境中配置Java... 目录1. Java SWT类库概述2. SWT与AWT和Swing的区别2.1 历史背景与设计理念2.1.

详解Linux中常见环境变量的特点与设置

《详解Linux中常见环境变量的特点与设置》环境变量是操作系统和用户设置的一些动态键值对,为运行的程序提供配置信息,理解环境变量对于系统管理、软件开发都很重要,下面小编就为大家详细介绍一下吧... 目录前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变

Java中常见队列举例详解(非线程安全)

《Java中常见队列举例详解(非线程安全)》队列用于模拟队列这种数据结构,队列通常是指先进先出的容器,:本文主要介绍Java中常见队列(非线程安全)的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一.队列定义 二.常见接口 三.常见实现类3.1 ArrayDeque3.1.1 实现原理3.1.2

MyBatis设计SQL返回布尔值(Boolean)的常见方法

《MyBatis设计SQL返回布尔值(Boolean)的常见方法》这篇文章主要为大家详细介绍了MyBatis设计SQL返回布尔值(Boolean)的几种常见方法,文中的示例代码讲解详细,感兴趣的小伙伴... 目录方案一:使用COUNT查询存在性(推荐)方案二:条件表达式直接返回布尔方案三:存在性检查(EXI

安装centos8设置基础软件仓库时出错的解决方案

《安装centos8设置基础软件仓库时出错的解决方案》:本文主要介绍安装centos8设置基础软件仓库时出错的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录安装Centos8设置基础软件仓库时出错版本 8版本 8.2.200android4版本 javas