深度学习环境搭建:Tensorflow1.4.0+Ubuntu16.04+Python3.5+Cuda8.0+Cudnn6.0
深度学习环境搭建:Tensorflow1.4.0+Ubuntu16.04+Python3.5+Cuda8.0+Cudnn6.0
Reference
硬件说明:
显卡:gtx-1080,8G显存
NVIDIA Corporation Device 1b80
软件准备:
深度学习环境必须适配,不能版本之间必须匹配,这些库之间有依赖关系。
我的环境用的是:
- ubuntu 16.04
- Python3.5 # tensorflow无法完全支持3.6版本的,3.5比较稳定
- Cuda8.0 # 目前Ubuntu16.04对cuda8.0的版本支持较好,同时Tensorflow对cuda9.0不太友好,因此我们选择Cuda8.0
- Cudnn6.0
- 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的更多相关文章
- 保姆级教程——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版)的亲身经历,包括遇到的问题及解决办法,也有一些 ...
- linux系统下深度学习环境搭建和使用
作为一个AI工程师,对Linux的一些技能的掌握也能从一定层面反应工程师的资深水平. 要求1:基于SSH的远程访问(本篇文章) 能用一台笔记本电脑,远程登陆一台linux服务器 能随时使用笔记本电脑启 ...
- [AI开发]centOS7.5上基于keras/tensorflow深度学习环境搭建
这篇文章详细介绍在centOS7.5上搭建基于keras/tensorflow的深度学习环境,该环境可用于实际生产.本人现在非常熟练linux(Ubuntu/centOS/openSUSE).wind ...
- Win10+RTX2080深度学习环境搭建:tensorflow、mxnet、pytorch、caffe
目录 准备工作 设置conda国内镜像源 conda 深度学习环境 tensorflow.mxnet.pytorch安装 tensorflow mxnet pytorch Caffe安装 配置文件修改 ...
- Ubuntu深度学习环境搭建 tensorflow+pytorch
目前电脑配置:Ubuntu 16.04 + GTX1080显卡 配置深度学习环境,利用清华源安装一个miniconda环境是非常好的选择.尤其是今天发现conda install -c menpo o ...
- 深度学习环境搭建部署(DeepLearning 神经网络)
工作环境 系统:Ubuntu LTS 显卡:GPU NVIDIA驱动:410.93 CUDA:10.0 Python:.x CUDA以及NVIDIA驱动安装,详见https://www.cnblogs ...
- 深度学习环境搭建(ubuntu16.04+Titan Xp安装显卡驱动+Cuda9.0+cudnn+其他软件)
一.硬件环境 ubuntu 16.04LTS + windows10 双系统 NVIDIA TiTan XP 显卡(12G) 二.软件环境 搜狗输入法 下载地址 显卡驱动:LINUX X64 (AMD ...
- 深度学习环境搭建(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 ...
- 深度学习环境搭建(CUDA9.0 + cudnn-9.0-linux-x64-v7 + tensorflow_gpu-1.8.0 + keras)
关于计算机的硬件配置说明 推荐配置 如果您是高校学生或者高级研究人员,并且实验室或者个人资金充沛,建议您采用如下配置: 主板:X299型号或Z270型号 CPU: i7-6950X或i7-7700K ...
随机推荐
- 关于 python中的转义字符
"abc\n" 前面加 r,表示原生输出,不转义.实际上是用 \代替 \\,其实是已经转义过了,并不是不转义. 看这个例子: print(r"abc \n") ...
- @staticmethod和classmethod
之前一直搞不清楚这两个类方法有什么区别,今天着重学习了一下 @staticmethod是静态方法,不需要表示自身对象的self和自身类的cls参数,就跟使用函数一样. class C(object): ...
- LIBS入门
样品汽化产生自由原子,原子电子的激发诱导光辐射产生表征原子的分立光谱,采集和分析光辐射. 光源:1064nm Nd:YAG固态激光器,10ns脉冲,焦点光密度1 GW·cm−2 可见和紫外光源. ...
- TXT电子书格式怎样转换成epub格式
怎样将TXT电子书格式转换成epub格式呢?因为很多时候不同的阅读器所支持的电子书格式是有所不同,所以电子书格式转换的问题,在生活中也是会经常出现的问题.如果我们需要将TXT电子书格式转换成epub格 ...
- linux--python虚拟环境篇
python的虚拟环境 首先我们得知道为什么要要用虚拟环境? 在使用python开发过程中,各种业务需求多了,导致工程任务多了,难免会碰到不同的工程依赖不同版本库的问题,;或者是在开发的时候不想让物理 ...
- php直接执行linux 命令
注意你可以使用的命令只能是php这个用户组的权限和范围,注意这个linux 执行的,windows也是可以对应dos命令,但是打印格式不是很好看 //$output = `ls -al`; //$ou ...
- [Day12]构造方法、关键字this、super
1.构造方法:对象创建时要执行的方法 (1)构造方法的格式: 修饰符 构造方法名(参数列表){} 体现: a.构造方法没有返回值类型,也不需要返回值 b.构造方法名称必须和类型保持一致 c.构造方法没 ...
- 快速构建一个使用axios的vue应用程序(转)
英文原文:https://www.sitepoint.com/fetching-data-third-party-api-vue-axios/ 译文:https://segmentfault.com/ ...
- IIC - 【转载】对I2C总线的时钟同步和总线仲裁的深入理解
对I2C总线的时钟同步和总线仲裁的深入理解 每一个IIC总线器件内部的SDA.SCL引脚电路结构都是一样的,引脚的输出驱动与输入缓冲连在一起.其中输出为漏极开路的场效应管.输入缓冲为一只高输入阻抗的同 ...
- python基础(7)-函数&命名空间&作用域&闭包
函数 动态参数 *args def sum(*args): ''' 任何参数都会被args以元组的方式接收 ''' print(type(args)) # result:<class 'tupl ...