深度学习环境搭建:Ubuntu16.04+ python3.6+cuda8.0+Tensorflow1.4

基于gtx960m的微星笔记本搭着玩的一个平台。反正显卡闲着也是闲着,拿来玩玩也是不错的。

主要参考:https://zhuanlan.zhihu.com/p/31430631?utm_oi=1002237860644270080

http://www.linuxdiyf.com/linux/25117.html


 

参考了很多大佬写的东西,上面是链接。

Tensorflow1.4只能安装在python3.5而不能安装在python3.6,Cuda9.0安装Tensorflow会有各种各样的问题等。(这是大佬说的,可能不对,没有验证过。但是反正会有很多版本兼容性的问题,以后再考虑这个问题)

1.安装GTX960m显卡驱动

由于默认Ubuntu系统的显卡驱动并非是Nvidia驱动,需要先安装合适的Nvidia显卡驱动才能安装CUDA,去官网http://www.geforce.com/drivers查找显卡驱动型号。

最新的稳定版驱动为384,执行以下代码安装。

sudo add-apt-repository ppa:graphics-drivers/ppa

sudo apt-get update sudo apt-get install nvidia-384

sudo apt-get install mesa-common-dev

sudo apt-get install freeglut3-dev

执行完成后重启电脑,执行nvidia-smi查看驱动信息。

微星b450BIOS驱动_CUDA

2.安装Cuda8.0

大佬给了一个网址,https://developer.nvidia.com/cuda-release-candidate-download

微星b450BIOS驱动_微星b450BIOS驱动_02

然后让从上面那个样子的页面下载。。。。但是。。

但是就算我注册了用户进去还是

Membership Required


You are not authorized to access this page.

(可能我是对注册用户有什么误解。。。。)

 

所以我就直接再nvidia的官网直接搜索cuda_8.0.61_375.26_linux,然后就有了。点击下载。

微星b450BIOS驱动_CUDA_03

下载完之后,

sudo sh cuda_8.0.61_375.26_linux.run

注意得找到下载好的那个目录啊。。。

微星b450BIOS驱动_tensorflow_04

除了这个写n.另外的一路都是y。这个是之前装过的驱动,我们之前已经装了384版本的。

微星b450BIOS驱动_python_05

结果类似于上图是没有问题的

 

 

最后需要配置环境变量,让我们安装的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安装成功,否则就是哪里有问题

微星b450BIOS驱动_微星b450BIOS驱动_06

 

3.安装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":

(这次网站直接点击去只要就行,前提还是得注册,看来前面注册的那一次没白费。。。)

微星b450BIOS驱动_python_07

下载后就是解压然后拷贝到相应的系统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*

 

 

4.安装Tensorflow1.4(注。用了一个月之后,发现python3.6比较好。。。。而且发现早就支持python3.6了。。)

(所以如果你想用python3.6 ,请下载4.3.0及以上版本)

微星b450BIOS驱动_微星b450BIOS驱动_08

 

微星b450BIOS驱动_tensorflow_09

后来换成了5.2.0)

 

需要自己先安装anaconda4.2(这个版本的python为3.5),大佬的这一步没有写,只能自己动手找了。

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

我在这个清华的镜像上找到了下载比较快的anaconda,选的是anaconda3-4.2.0-Linux-x86_64.sh。

anaconda3对应python3,(然后2对应2,应该是这样。哈哈哈。然后x86_64对应64位系统,这个应该是知道的)

微星b450BIOS驱动_CUDA_10

最后运行安装一下这个下载的就行。bash Anaconda3-4.2.0-Linux-x86_64.sh

接受协议:

q,然后yes接受协议。

设置安装路径,默认安装在用户目录:

微星b450BIOS驱动_python_11

最后,把安装路径添加到环境变量:

微星b450BIOS驱动_微星b450BIOS驱动_12

需要重启一下终端。

测试安装

启动新终端;查看conda版本:

$ conda --version

conda 4.2.9.

 

之后可能需要更新一下pip

pip install --upgrade pip

因为之后的安装tensorflow时候,可能会报错。。。。。

(You are using pip version 8.1.2, however version 19.0.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

 

另外pip3与pip的区别

微星b450BIOS驱动_CUDA_13

最后安装tensorflow

pip3 install --upgrade tensorflow==1.4

安装gpu版本请使用以下

pip3 install --upgrade tensorflow-gpu==1.4

好像俩个都可以同时存在。。。

微星b450BIOS驱动_微星b450BIOS驱动_14

 

另外最后一件事情,由于我中间有一次操作没有指定1.4版本(大佬没有指定那...)

所以会导致tensorflow版本安装错误,会报错。

解决方法

微星b450BIOS驱动_python_15

 

pip install --upgrade tensorflow-gpu==1.4

如果你的cuda是8.0,那么你可以使用上面的指令将tensorflow的版本回滚到1.4版本

 

最后实验一下

微星b450BIOS驱动_CUDA_16