Ubuntu·16.04最全配置Tensorflow+cuda+cudnn+anaconda+pycharm

0-安装之前要懂得

0-1 概念

  1. ubuntu16.04:大名鼎鼎的一个linux发行版,以桌面系统的强大得到广大用户青睐(特别是刚入门的小白用户),16.04表示2016.04发布的,该系统每年4月和10月发布两个版本,即04和10,年份为偶数的版本最稳定,比如12.04,14.04,16.04等就被广泛使用。
  2. tensorflow:一个google开源的深度学习框架,封装了很多机器学习的算法即模型,我们拿来就可以用了,鉴于谷歌的影响力,tensorflow目前也是大红大紫。目前(2019-8-16)最新版本为2.0,该框架更新很快。
  3. CUDA:显卡厂商NVIDIA推出的通用并行运算平台,由于机器学习数据量很大,通常要用GPU来加速运算,而当今显卡厂商NVIDIA较普遍,自然要用打它家的CUDA了。
  4. cudnn: NVIDIA专门为深度学习设计的一套GPU计算加速方案。

0-2 注意点

  1. NVIDIA的显卡驱动程序和CUDA完全是两个不同的概念。CUDA是NVIDIA推出的用于自家GPU的并行计算框架,本质是一个工具包(ToolKit),CUDA只能在NVIDIA的GPU上运行,当要解决的计算问题可以大量并行计算的时候才能发挥CUDA的作用。
  2. CUDA和显卡驱动是没有一一对应的。CUDA ToolKit的安装,可以选择两种安装方式,在线安装(没用过)和离线安装(本文采用)即本地安装。CUDA Toolkit本地安装包时内含特定版本Nvidia显卡驱动的,所以只选择下载CUDA Toolkit就足够了,如果想安装其他版本的显卡驱动就下载相应版本即可。NVIDIA显卡驱动和CUDA工具包本身不具有捆绑关系的,也不是一一对应的关系,只不过离线安装的CUDA工具包会默认捆绑与之匹配的最新的驱动程序。所以同一个设备上能够安装多种不同版本的CUDA工具包,比如CUDA 9.0、CUDA 9.2、CUDA 10.0三个版本可以在一台电脑中同时安装。一般情况下,只需要安装最新版本的显卡驱动,然后根据需要选择不同CUDA工具包就可以,但是由于使用离线的CUDA总是会捆绑CUDA和驱动程序,本文直接安装一个最新版的显卡驱动,然后在离线安装CUDA时,选择不安装自带的显卡驱动即可,这样可以避免证书签证的问题。
  3. cuDNN与CUDA没有一一对应的关系。cuDNN是一个SDK,是一个专门用于神经网络的加速包,注意,它跟CUDA没有一一对应的关系,即每一个版本的CUDA可能有好几个版本的cuDNN与之对应,但一般有一个最新版本的cuDNN版本与CUDA对应更好。

 

1-检查电脑配置

注意:tensorflow的版本决定了Python、cuda、cudnn的版本;显卡高版本向下兼容。

配置要求:

 

1.1检查GPU

Linux下,可以在终端下输入(进入终端按键Ctrl + Alt + T):

lspci | grep -i nvidia

1.2查看Linux版本

uname -m && cat /etc/*release

1.3 gcc版本

终端输入:

sudo apt-get install gcc

相关软件安装

sudo apt-get install gcc

sudo apt-get install g++

sudo apt-get install make

查看gcc版本

gcc --version

2-安装Nvidia驱动

2.1驱动下载

Nvidia驱动下载https://www.nvidia.cn/Download/index.aspx?lang=cn

实验室惠普台式机驱动:回复消息,可得

如下图中填写信息,搜索,然后下载驱动。

将下载的驱动,从下载目录复制到/home目录。

2.2安装步骤

ubuntu 16.04默认安装了第三方开源的驱动程序nouveau,首先需要禁用nouveau,再安装nvidia显卡驱动,不然会碰到冲突的问题,导致无法安装nvidia显卡驱动。

如果安装过Nvidia驱动,卸载掉原有驱动(建议执行下):

sudo apt-get remove nvidia-*

1)先执行下面命令,可以发现会显示一些东西:

lsmod | grep nouveau

我们现在要禁用掉,使它不显示出来。编辑文件blacklist.conf,是黑名单列表,禁用驱动程序nouveau。终端输入:

sudo gedit /etc/modprobe.d/blacklist.conf

在文件最后部分插入以下两行内容:

blacklist nouveau

options nouveau modeset=0

更新系统

sudo update-initramfs –u

2)然后重启电脑,可能无法进入图形化登录界面,症状类似如下界面,甚至可能完全黑屏

等待一会,电脑会发出滴滴的声音,然后,按快捷键Ctrl+Alt+F1至Ctrl+Alt+F6选择六个文本终端之间的任意一个,登录文本界面,(需要输入:用户名+密码)然后执行第三步。

3)验证nouveau是否已禁用

lsmod | grep nouveau

如果发现什么都没显示,那么说明禁用nouveau 成功了,然后开始安装NVIDIA驱动

4)下面命令关闭图形界面

sudo service lightdm stop

5)然后跳转到存放驱动文件的路径再运行安装文件,比如我的文件放在home目录下,不用切换,命令如下:

打印目录下文件名,终端输入:

ls

安装驱动,以NVIDIA-Linux-x86_64-430.40为例

sudo sh NVIDIA-Linux-x86_64-430.40.run -no-x-check -no-nouveau-check -no-opengl-files

红色填写自己驱动的名字,在上一步打印出来了。

-no-x-check:安装驱动时关闭X服务

-no-nouveau-check:安装驱动时禁用nouveau

-no-opengl-files:只安装驱动文件,不安装OpenGL文件

说明:必须加上 --no-opengl-files ,否则会出现以下三种

1)循环登录,也就是登录之后在退出来到登录界面;

2)界面变得很大;

3)登录进去了,显示正常了,结果只有桌面背景和鼠标等等。

可能出现的问题:提示安装“sign the kernel module

安装过程中提示是否sign the kernel module(为内核模块签名)

选择

接下来会继续问使用已有的密钥给模块签名还是重新生成。

重新生成。密钥会在/usr/share/nvidia/下生成一个nvidia*.der(私钥)文件和nvidia*.key(公钥)文件。

提示是否删除已生成的密钥文件时

选择。之后要用到这两个文件。继续安装程序到最后会提示无法启动模块。这是因为生成的密钥还没有添加到内核的信任库中。

注意:不是所有电脑都会遇到,提示安装 sign the kernel module”。没有请忽略。

等待安装,按照下面回答,应该不会出现证书问题。

The distribution-provided pre-install script failed! Are you sure you want to continue?

 选择 yes ,继续。

Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later? 

选择 No,继续。

问题没记住,选项是:install without signing

问题大概是:Nvidia's 32-bit compatibility libraries?

选择 No,继续。

Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up. 

选择 Yes ,继续。

这些选项如果选择错误可能会导致安装失败,没关系,只要前面不出错,多尝试几次就好。

6)挂载Nvidia驱动:

modprobe nvidia

检查驱动是否安装成功:

nvidia-smi

7)重启

sudo reboot

第一次启动有点慢。

2.3 测试

进入系统后测试一下是否安装成功

3-Cuda安装

实验室惠普台式机可用的版本下载:回复下

1-在下载目录(建议放在home目录下),在文件目录打开终端。

sudo sh cuda_9.0.176_384.81_linux.run(对应的文件名)

安装显卡驱动一定要选择no,否则之前安装的驱动就白装了,有默认选项的直接选择默认选项就可以了(直接回车)

最后会看到cuda驱动、sample、tookit已经安装成功,但是缺少一些库。

2-添加这些库:

sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

//3-接下来再添加下环境变量

//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}}

3-然后设置环境变量和动态链接库,在命令行输入:

sudo gedit  /etc/profile

打开文件后在文件末尾添加路径,也就是安装目录,命令如下:

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

export  LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64$LD_LIBRARY_PATH 

保存后执行一个命令后重启电脑。/etc/profile文件是临时文件,重启电脑生效。

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

保存之后,

4-创建链接文件:

sudo gedit /etc/ld.so.conf.d/cuda.conf

在打开的文件中添加如下语句:

/usr/local/cuda/lib64

5-使链接立即生效

sudo ldconfig

sudo reboot

注意:如果安装错误版本,找到对应版本,下载后先把前面的安装的卸载再安装。

卸载操作如下:

sudo apt-get remove cuda

sudo apt-get autoclean

sudo apt-get remove cuda*

然后在目录切换到/esr/local/下

cd /usr/local/

sudo rm -r cuda-9.2(按错的版本)

4-安装Cudnn

本文使用的下载地址:回复

官网下载地址:https://developer.nvidia.com/rdp/cudnn-archive进去后下载自己对应的CUDA版本的cudnn文件。下载是需要注册登陆的,要填一些调查表什么的之后才能下载,

cuDNN的安装是建立在我们成功安装cuda的基础上的,cuDNN同样需要我们去NVIDIA的官网下载适合cuda版本的deb文件或tgz文件。

本文以tgz文件的安装为例(cudnn-8.0-linux-x64-v5.1.tgz)

//解压cudnn-8.0-linux-x64-v5.1.tgz

tar -zxvf cudnn-8.0-linux-x64-v5.1.tgz

//进入加压出来的cuda文件夹

cd cuda

//复制文件

sudo cp include/cudnn.h /usr/local/cuda/include/

sudo cp lib64/* /usr/local/cuda/lib64/

//进入/usr/local/cuda/lib64/

cd /usr/local/cuda/lib64/

//删掉旧链接,创建新链接

sudo rm -rf libcudnn.so libcudnn.so.5

sudo ln -s libcudnn.so.5.1.5 libcudnn.so.5

sudo ln -s libcudnn.so.5 libcudnn.so

//编辑proflie,添加环境变量

sudo vim /etc/profile

//进入profile后在最后一行添加以下信息并保存:

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

export PATH

//创建cuda.conf文件

sudo vim /etc/ld.so.conf.d/cuda.conf

//在cuda.conf文件中添加以下信息并保存:

/usr/local/cuda/lib64

//重新加载配置

sudo ldconfig

//验证安装是否成功,输入nvidia-smi命令:

nvidia-smi

 

5-测试

终端输入:

ls /dev/nvidia*

应该有三个(包含一个类似/dev/nvidia-nvm的),则安装成功。

验证CUDA Toolkit查看版本

nvcc  -V

 

验证驱动版本

cat /proc/driver/nvidia/version

 

最后,尝试编译cuda提供的例子,看cuda能否正常运行

编译例子测试(本文的在home目录)

目录名:NVIDIA_CUDA-8.0_Samples

打开终端输入

cd /home/你自己的用户名/ NVIDIA_CUDA-8.0_Samples

make

系统就会自动进入到编译过程,整个过程大概需要十几到二十分钟,请耐心等待。如果出现错误的话,系统会立即报错停止。

如果编译成功,最后会显示Finished building CUDA samples,如下图所示。

运行编译生成的二进制文件。

编译后的二进制文件默认存放在NVIDIA_CUDA-8.0_Samples/bin中。

接着在终端中输入 :

cd bin/x86_64/linux/release

./deviceQuery 

结果如下图所示:看到类似如下图片中的显示,则代表CUDA安装且配置成功,其中 Result = PASS代表成功,若失败 Result = FAIL

最后再检查一下系统和CUDA-Capable device的连接情况

终端输入 :

./bandwidthTest

看到类似如下图片中的显示,则代表成功

6-安装Anaconda

6.1下载

官网地址:https://www.anaconda.com/download/#linux

百度云:            回复

6.2安装

在安装包所在目录打开终端(右键打开终端),执行命令:

bash (文件名)。例如:bash Anaconda3-5.0.1-Linux-x86_64.sh

一路回车,到下图位置,回复yes.

然后输入安装位置,根据自己需求

然后输入yes,再执行命令让.bashrc中添加的路径生效,在终端输入:

source ~/.bashrc

运行python就可以看到已经安装好了,执行$ which python命令可以查看python路径。

7-安装Pycharm

首先去PyCharm官网下载安装包,选择Linux版本下载:

https://www.jetbrains.com/pycharm/download/#section=linux

本文使用的:回复

解压后进入 “pycharm-professional-2018.2.3/pycharm-2018.2.3/bin” 目录下,右键打开终端,

sh ./pycharm.sh

这里默认选择第二个,新手安装不需要做更改,重新安装的如果需要导入之前安装版本的配置选第一个,然后点 “OK” 确认;

8-tensorflow安装

打开配置文件.bashrc,进行配置:

gedit ~/.bashrc

将下面三行添加到末尾,保存退出(注意:此处的路径为前面查找的Python路径,hfss改为自己的用户名)

# added by Anaconda3 installer

export PATH="/home/hfss/anaconda3/bin:$PATH"

export PATH="$PATH:$HOME/bin"

alias py27="/usr/bin/python2.7"

alias pyana3="/home/hfss/anaconda3/bin/python3"

解释:alias是用来取别名的,以后终端输入py27可以打开python2.7。

py27 对应系统自带的python2.7版本;

pyana3 对应anaconda中的python3版本;

 

安装tensorflow

本文使用conda安装

安装步骤:

  1. 创建虚拟环境:(至于为什么要用虚拟环境,以后大家就明白了,它可以让我们在虚拟环境里为所欲为而不影响外部配置,现在照做就是了):conda create -n tf
  2. 激活虚拟环境:(就是进入到这个虚拟环境里面):source activate tf;如果要退出:输入source deactivate tf
  3. 下面我们在虚拟环境里安装tensorflow:

激活虚拟环境后,我们开始用conda安装吧!

安装GPU版本:conda install tensorflow-gpu

  1. 漫长的等待后,看看自己是否安装成功:

在python下导入tensorflow试试:(不报错就成功啦):import tensorflow as tf

9-pycharm配置tensorflow

打开pycharm,新建工程

File -> Settings -> Project: xx - > Project Interpreter

在右上边的‘Project Interperter:’框里选择你配置的python环境,在右下边的框里列出了所选的python环境下安装的Package包,如下图(这里是anaconda环境下的python):

 

 

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值