写在前面的话
如果有想简单安装的小伙伴,请直接从后面安装tensorflow开始看。。。因为用conda安装会特别简单…
目录
1、安装显卡驱动
在软件商店的右上角位置点击软件和更新
找到附加驱动,选择这个
然后点击应用更改。
查阅资料发现,X.org适合老版显卡,所以最好装闭源驱动。
查看可以用的驱动:ubuntu-drivers devices
选择推荐的440。
检查:
sudo /usr/bin/nvidia-settings
提示:根据博客Dell-1080Ti 深度学习Win 10 + Ubuntu 16.04.02 双系统安装+anaconda2+tensorflow+opencv3.2+caffe,prime是软件选择独显还是集成显卡,这里不影响使用。
2、cuda安装
cuda简介
何为cuda?
CUDA(Compute Unified Device Architecture)是一个新的基础架构,这个架构可以使用GPU来解决商业、工业以及科学方面的复杂计算问题。它是一个完整的GPU解决方案,提供了…基于CUDA开发的程序代码在实际执行中分为两种,一种是运行在CPU上的宿主代码(Host Code),一种是运行在GPU上的设备代码(Device Code)…
详见哪些NVIDIA显卡支持CUDA技术? CUDA技术是什么,视频转换提速啦
查看显卡型号:lspci | grep -i nvidia
我的显卡是GTX960m
选择cuda9系列
根据下图再结合之前选择的显卡驱动版本440,因此我可以选择的cuda版本为7-9.2
由上图,cuda9官方提示支持ubutnu16.17。查阅资料,高版本可以兼容第版本,所以选择版本的时候可以选择16.04。
我选择的是cuda9.1(ps:建议不要选择9.1,因为cudnn18年以后不提供这个版本的更新cudnn包,建议选择9.2或9.0。下面已经改成9.0)
下方的这三个都需要需要下载,第一个是主文件,下面三个是补丁。
下载完成,先关机再开机看看有没有什么异常。。。
可以启动。。。
(1)、gcc降级
由于9.1版本cuda不支持ubutnu预装的gcc7,所以需要降级gcc
sudo apt-get install gcc-6#安装6
sudo apt-get install g++-6
cd /usr/bin
ls -l gcc*
sudo mv gcc gcc.bak #备份
sudo ln -s gcc-6 gcc #重新链接
sudo mv g++ g++.bak#备份
sudo ln -s g++-6 g++#重新链接
进入下载的cuda文件终端,运行
(2)、安装cuda
sudo sh cuda_9.1.85_387.26_linux.run
接下来会显示一个文档界面,需要一直按空格读完。
最后会有让你选择的命令
ps:由上图可知,cuda文件夹里的东西是cuda-9.1的link。
因为这里我们之前已经装了显卡驱动,所以在是否安装驱动那里选择no。
等待安装…
然后继续安装补丁
sudo sh cuda_9.1.85.1_linux.run
sudo sh cuda_9.1.85.2_linux.run
sudo sh cuda_9.1.85.3_linux.run
(3)、添加环境变量
sudo vim ~/.bashrc
在家目录下添加进环境变量
export PATH=/usr/local/cuda-9.1/bin${PATH:+:$PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
添加在最后即可
保存后
source ~/.bashrc
(4)、测试cuda
测试cuda:
在/usr/local/cuda-9.1/samples/终端中执行
sudo make
make的基本用处是自动根据makefile里的指令来编译源文件.
这个过程大约需要10分钟以上。
运行结束后,进入/usr/local/cuda-9.1/samples/1_Utilities终端
运行
./deviceQuery/deviceQuery
最后 nvcc -V
结果如下:
安装成功
3、安装cuDNN
cuDNN简介
什么是cuDNN?
NVIDIA cuDNN是用于深度神经网络的GPU加速库。它强调性能、易用性和低内存开销…
什么是CUDA与CUDNN
tensorflow、CUDA、Cudnn版本对应关系
(1)、版本选择
下载对应cuda版本的cudnn
https://developer.nvidia.com/rdp/cudnn-download
点击Archived Releases
安装cuda版本为9.1,因此此处选择for 9.1。选择for linux版本。
(2)、安装
解压后复制文件到cuda安装位置。
sudo cp -P cuda/lib64/libcudnn* /usr/local/cuda-9.1/lib64/
sudo cp cuda/include/cudnn.h /usr/local/cuda-9.1/include/
增加读写权限
sudo chmod a+r /usr/local/cuda-9.1/include/cudnn.h
sudo chmod a+r /usr/local/cuda-9.1/lib64/libcudnn*
4、安装Anaconda
Anaconda简介
Anaconda是什么?
1、Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项…anaconda (开源的Python包管理器)
2、Anaconda是一个方便的python包管理和环境管理软件,一般用来配置不同的项目环境。
我们常常会遇到这样的情况,正在做的项目A和项目B分别基于python2和python3,而第电脑只能安装一个环境,这个时候Anaconda就派上了用场,它可以创建多个互不干扰的环境,分别运行不同版本的软件包,以达到兼容的目的…Anaconda简单入门
3、关于conda和anaconda不可不知的误解和事实——conda必知必会
(1)、版本选择及安装
官网地址
https://www.anaconda.com/distribution/
由于我的电脑python为3.6,但是在官网上只有3.7和2.7版本,因此需要通过历史文件安装。如下:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
版本选择中参见Anaconda python3.6版本安装,即选择Anaconda 5.2。
!!!此处注意,需要下载3-5.2,因为2-5.2安装的是python2.7…入坑。以下是2-5.2安装过程,3-5.2步骤一致。
(ps:卸载只需要卸载家目录下自己用户名下的anaconda,然后把环境变量中新增加的删掉,再重启服务:source ~/.bashrc 就可以)
下载完毕后在文件所在终端执行:
bash Anaconda2-5.2.0-Linux-x86.sh
之后也是需要空格读完须知,然后一些交互界面,填yes和enter就可以。
这里提示是否安装vs,选择no(因为我有pycharm)
最后需要加入环境变量,这样python才能查看conda版本号,以及查看现在python版本,注意ubuntu自带python是python3才能执行。
export PATH="/home/xiaoshumiao/anaconda2/bin:$PATH"
!!!ps:在重新安装的anaconda3中,会自动提示是否加入环境变量。输入yes即可。
然后重开一个终端,或者source ~/.bashrc 就可以。
get.
(2)、更改软件源
为其添加国内源。
直接在家目录终端运行以下即可:
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 --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
现在用的都是anaconda的pip,和python。为pip添加国内源:
如果没有~/.pip/pip.conf这个文件,可以创建一个。注意,首先创建一个文件夹:
mkdir .pip
sudo vi ~/.pip/pip.conf
在文本中输入
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=https://pypi.tuna.tsinghua.edu.cn
更新conda
conda update conda
5、安装tensorflow
(1)、版本选择
tensorflow是什么相信不用说了。
https://tensorflow.google.cn/install/source#linux这里可以看到对应的版本
确认需要安装的版本是tensorflow1.12
(2)、创建虚拟环境
创建虚拟环境,对的。是虚拟环境,anaconda可以创建互不影响的python环境,也就是说你的tensorflow只会安装在你指定的虚拟环境中。这里创建的虚拟环境名字叫tensorflow_gpu
conda create -n tensorflow_gpu python=3.6
激活虚拟环境(tensorflow)
source activate tensorflow_gpu
用conda安装tensorflow
conda install tensorflow-gpu==1.12
(3)、小插曲
!!!wc,用anaconda真的可以只安装tensorflow就可以,因为cuda和cudnn他自动给你安装了。。。
好奇,因此,为了不让自己这么长时间白费,我决定卸载,用pip之状tensorflow,噗…一口老血
保险期间我把这个虚拟环境删除了。
查看虚拟环境:conda info -e
可。
(4)、pip安装tensorflow
在
http://mirrors.aliyun.com/pypi/simple/tensorflow-gpu/
中下载whl文件,cp36就是python3.6的意思。
下载后在新建的虚拟环境中用pip安装:
pip install /home/xiaoshumiao/tensorflow_gpu-1.12.0-cp36-cp36m-manylinux1_x86_64.whl
退出虚拟环境:
source deactivate tensorflow_gpu
6、pycharm测试
环境选择已经存在的这个虚拟环境
/home/xiaoshumiao/anaconda3/envs/tensorflow_gpu/bin/python
7、问题及解决
不兼容,,,重装cuda9.0。。。(事实证明可能并不是这个原因)
卸载:
sudo /usr/local/cuda-9.1/bin/uninstall_cuda_9.1.pl
sudo rm -rf /usr/local/cuda-9.1
以同样方式安装cuda19.0 还是一样问题…
但是偶然发现,不对啊,仅仅是import就会出现这个问题,还没有检验呢。
一个偶然的机会,看到了一个教程。
!!!
sudo ldconfig /usr/local/cuda/lib64
然后再运行检测代码
可。
9、代码方面
GPU介绍及TensorFlow如何使用GPU跑程序
tensorflow的GPU加速计算
总结
最后建议
1.安装tensorflow 0系列(保险起见,当然,没有道理…)
2.要选择cudnn一直更新且成熟的cuda
3.环境变量以及sudo ldconfig /usr/local/cuda/lib64
4.我的安装配置是
9、安利
最后安利下,我的ubutnu是安装在移动硬盘中的,如果感兴趣这个方案,可以去看我的另一篇博客,或许能少走弯路
移动硬盘SSD安装ubuntu18.04