深度学习环境搭建:Tensorflow1.4.0+Ubuntu16.04+Python3.5+Cuda8.0+Cudnn6.0

Reference


https://zhuanlan.zhihu.com/p/31430631?utm_source=com.tencent.tim&utm_medium=social&utm_oi=1002237860644270080

硬件说明:


显卡:gtx-1080,8G显存

NVIDIA Corporation Device 1b80

软件准备:


深度学习环境必须适配,不能版本之间必须匹配,这些库之间有依赖关系。

我的环境用的是:

  1. ubuntu 16.04
  2. Python3.5 # tensorflow无法完全支持3.6版本的,3.5比较稳定
  3. Cuda8.0 # 目前Ubuntu16.04对cuda8.0的版本支持较好,同时Tensorflow对cuda9.0不太友好,因此我们选择Cuda8.0
  4. Cudnn6.0
  5. Tensorflow1.4.0

1. 安装Ubuntu16.04

从Ubuntu官网下载镜像,并用U盘安装。

安装完成之后更新系统。

sudo apt-get update
sudo apt-get upgrade

2. 安装显卡驱动

可以参考https://www.cnblogs.com/pprp/p/9430836.html

亲测可用,但是需要注意需要去英伟达官网下载适合自己电脑的版本(nvidia网页可以自己测出你的电脑所需要的型号),具体安装过程参考以上博客。

重启电脑,通过nvidia-smi命令查看驱动信息,如果成功显示,那么驱动安装成功

3.安装Cuda8.0

从NVIDIA官网https://developer.nvidia.com/cuda-release-candidate-download下载适合的CUDA版本,目前官网最新的版本是9.0,但是我非常不建议大家使用最新版本。

我们选择linux平台,下载runfile。执行;

sudo ./cuda_8.0.61_375.26_linux.run

我们已经安装好了384,这一步选择n,剩下的一路yes就行。

最后需要配置环境变量,让我们安装的CUDA生效。

(1)打开sudo gedit ~/.bashrc,在最后面添加两行如下:

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

(2)设置环境变量和动态链接库,打开sudo gedit /etc/profile,在文件末尾加入:

export PATH=/usr/local/cuda/bin:$PATH

(3)创建链接文件,打开sudo gedit /etc/ld.so.conf.d/cuda.conf,在文件中添加:

/usr/local/cuda/lib64

最后执行 sudo ldconfig,使上述设置立即生效。

测试CUDA:

执行以下命令:

cd ~/NVIDIA_CUDA-8.0_Samples/1_Utilities/deviceQuery

make

./deviceQuery

可以看到详细信息,最后结果是Pass,则CUDA安装成功,否则就是哪里有问题(利用Google和百度解决)。

4. 安装Cudnn6.0

在NIVIDA开发者官网上,找到cudnn的下载页面: https://developer.nvidia.com/rdp/cudnn-download ,选择"Download cuDNN v6.0 (April 27, 2017), for CUDA 8.0" 中的 "cuDNN v6.0 Library for Linux":

下载后安装非常简单,就是解压然后拷贝到相应的系统CUDA路径下:

tar -zxvf cudnn-8.0-linux-x64-v6.0.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

or

sudo tar -xzf cudnn-8.0-linux-x64-v5.1.tgz -C /usr/local

5. 清华源安装Anaconda

https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/

将一下源加入,可以加速

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes

建议选择Anaconda3-4.2.0-Linux-x86_64.sh(版本4.2)进行安装,因为支持python3.5,通过命令chmod +x Anaconda3-4.2.0-Linux-x86_64.sh & ./Anaconda3-4.2.0-Linux-x86_64.sh就可以进行安装,安装过程按照提示来就可以,比较简单。

6. 安装tensorflow

参考官网:https://www.tensorflow.org/install/install_linux?hl=zh-cn#InstallingAnaconda

首先创建一个anaconda虚拟环境:

conda create -n tensorflow python=3.5

通过发出以下命令激活 conda 环境:

source activate tensorflow

发出以下格式的命令以在 conda 环境中安装 TensorFlow:

pip install --ignore-installed --upgrade tensorflow-gpu==1.4.0

7. 验证您的安装

运行一个简短的 TensorFlow 程序

从 shell 中调用 Python,如下所示:

$ python

在 Python 交互式 shell 中输入以下几行简短的程序代码:

# Python
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))

如果系统输出以下内容,说明您可以开始编写 TensorFlow 程序了:

Hello, TensorFlow!

如果系统输出一条错误消息而不是问候语,请参阅常见的安装问题

8. 卸载cudnn5.1升级为cudnn6.0

1、解压出一个名为cuda的文件夹,文件夹中有include和lib64两个文件夹

2、删除原来的cudnn

sudo rm -rf /usr/local/cuda/include/cudnn.h
sudo rm -rf /usr/local/cuda/lib64/libcudnn*12

3、安装安装需要版本的cudnn,在终端cd到刚解压的cuda文件夹

sudo cp include/cudnn.h /usr/local/cuda/include/
sudo cp lib64/lib* /usr/local/cuda/lib64/12

4、cd到/usr/local/cuda/lib64/文件夹下,建立软链接(注意版本号换成你自己的)

sudo chmod +r libcudnn.so.5.0.5
sudo ln -sf libcudnn.so.5.0.5 libcudnn.so.5
sudo ln -sf libcudnn.so.5 libcudnn.so
sudo ldconfig 1234

5、检测

cd /usr/local/cuda/lib64/
ll12

cudnn版本更新完毕

深度学习环境搭建:Tensorflow1.4.0+Ubuntu16.04+Python3.5+Cuda8.0+Cudnn6.0的更多相关文章

  1. 保姆级教程——Ubuntu16.04 Server下深度学习环境搭建:安装CUDA8.0,cuDNN6.0,Bazel0.5.4,源码编译安装TensorFlow1.4.0(GPU版)

    写在前面 本文叙述了在Ubuntu16.04 Server下安装CUDA8.0,cuDNN6.0以及源码编译安装TensorFlow1.4.0(GPU版)的亲身经历,包括遇到的问题及解决办法,也有一些 ...

  2. linux系统下深度学习环境搭建和使用

    作为一个AI工程师,对Linux的一些技能的掌握也能从一定层面反应工程师的资深水平. 要求1:基于SSH的远程访问(本篇文章) 能用一台笔记本电脑,远程登陆一台linux服务器 能随时使用笔记本电脑启 ...

  3. [AI开发]centOS7.5上基于keras/tensorflow深度学习环境搭建

    这篇文章详细介绍在centOS7.5上搭建基于keras/tensorflow的深度学习环境,该环境可用于实际生产.本人现在非常熟练linux(Ubuntu/centOS/openSUSE).wind ...

  4. Win10+RTX2080深度学习环境搭建:tensorflow、mxnet、pytorch、caffe

    目录 准备工作 设置conda国内镜像源 conda 深度学习环境 tensorflow.mxnet.pytorch安装 tensorflow mxnet pytorch Caffe安装 配置文件修改 ...

  5. Ubuntu深度学习环境搭建 tensorflow+pytorch

    目前电脑配置:Ubuntu 16.04 + GTX1080显卡 配置深度学习环境,利用清华源安装一个miniconda环境是非常好的选择.尤其是今天发现conda install -c menpo o ...

  6. 深度学习环境搭建部署(DeepLearning 神经网络)

    工作环境 系统:Ubuntu LTS 显卡:GPU NVIDIA驱动:410.93 CUDA:10.0 Python:.x CUDA以及NVIDIA驱动安装,详见https://www.cnblogs ...

  7. 深度学习环境搭建(ubuntu16.04+Titan Xp安装显卡驱动+Cuda9.0+cudnn+其他软件)

    一.硬件环境 ubuntu 16.04LTS + windows10 双系统 NVIDIA TiTan XP 显卡(12G) 二.软件环境 搜狗输入法 下载地址 显卡驱动:LINUX X64 (AMD ...

  8. 深度学习环境搭建(Ubuntu16.04+GTX1080Ti+CUDA8.0+Cudnn6.0+TensorFlow+Caffe2(Pytorch))

    OS System:Ubuntu16.04 GPU Device:GTX1080Ti Softwares:CUDA8.0.Cudnn6.0.TensorFlow(1.4.0).Caffe2(1.0.0 ...

  9. 深度学习环境搭建(CUDA9.0 + cudnn-9.0-linux-x64-v7 + tensorflow_gpu-1.8.0 + keras)

    关于计算机的硬件配置说明 推荐配置 如果您是高校学生或者高级研究人员,并且实验室或者个人资金充沛,建议您采用如下配置: 主板:X299型号或Z270型号 CPU: i7-6950X或i7-7700K ...

随机推荐

  1. 关于 python中的转义字符

    "abc\n" 前面加 r,表示原生输出,不转义.实际上是用 \代替 \\,其实是已经转义过了,并不是不转义. 看这个例子: print(r"abc \n") ...

  2. @staticmethod和classmethod

    之前一直搞不清楚这两个类方法有什么区别,今天着重学习了一下 @staticmethod是静态方法,不需要表示自身对象的self和自身类的cls参数,就跟使用函数一样. class C(object): ...

  3. LIBS入门

    样品汽化产生自由原子,原子电子的激发诱导光辐射产生表征原子的分立光谱,采集和分析光辐射. 光源:1064nm Nd:YAG固态激光器,10ns脉冲,焦点光密度1 GW·cm−2 可见和紫外光源.   ...

  4. TXT电子书格式怎样转换成epub格式

    怎样将TXT电子书格式转换成epub格式呢?因为很多时候不同的阅读器所支持的电子书格式是有所不同,所以电子书格式转换的问题,在生活中也是会经常出现的问题.如果我们需要将TXT电子书格式转换成epub格 ...

  5. linux--python虚拟环境篇

    python的虚拟环境 首先我们得知道为什么要要用虚拟环境? 在使用python开发过程中,各种业务需求多了,导致工程任务多了,难免会碰到不同的工程依赖不同版本库的问题,;或者是在开发的时候不想让物理 ...

  6. php直接执行linux 命令

    注意你可以使用的命令只能是php这个用户组的权限和范围,注意这个linux 执行的,windows也是可以对应dos命令,但是打印格式不是很好看 //$output = `ls -al`; //$ou ...

  7. [Day12]构造方法、关键字this、super

    1.构造方法:对象创建时要执行的方法 (1)构造方法的格式: 修饰符 构造方法名(参数列表){} 体现: a.构造方法没有返回值类型,也不需要返回值 b.构造方法名称必须和类型保持一致 c.构造方法没 ...

  8. 快速构建一个使用axios的vue应用程序(转)

    英文原文:https://www.sitepoint.com/fetching-data-third-party-api-vue-axios/ 译文:https://segmentfault.com/ ...

  9. IIC - 【转载】对I2C总线的时钟同步和总线仲裁的深入理解

    对I2C总线的时钟同步和总线仲裁的深入理解 每一个IIC总线器件内部的SDA.SCL引脚电路结构都是一样的,引脚的输出驱动与输入缓冲连在一起.其中输出为漏极开路的场效应管.输入缓冲为一只高输入阻抗的同 ...

  10. python基础(7)-函数&命名空间&作用域&闭包

    函数 动态参数 *args def sum(*args): ''' 任何参数都会被args以元组的方式接收 ''' print(type(args)) # result:<class 'tupl ...