详解ubuntu18.04+GTX960m的440版本驱动+python3.6+anaconda+ cuda9.0+cudnn7.6.5+pycharm+tensorflow1.12.0

写在前面的话

如果有想简单安装的小伙伴,请直接从后面安装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。
等待安装…
然后继续安装补丁

扫描二维码关注公众号,回复: 10045985 查看本文章
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

发布了21 篇原创文章 · 获赞 5 · 访问量 371

猜你喜欢

转载自blog.csdn.net/def_init_myself/article/details/104824136
今日推荐