深度学习环境搭建: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查看驱动信息。
2.安装Cuda8.0
大佬给了一个网址,https://developer.nvidia.com/cuda-release-candidate-download
然后让从上面那个样子的页面下载。。。。但是。。
但是就算我注册了用户进去还是
Membership Required
You are not authorized to access this page.
(可能我是对注册用户有什么误解。。。。)
所以我就直接再nvidia的官网直接搜索cuda_8.0.61_375.26_linux,然后就有了。点击下载。
下载完之后,
sudo sh cuda_8.0.61_375.26_linux.run
注意得找到下载好的那个目录啊。。。
除了这个写n.另外的一路都是y。这个是之前装过的驱动,我们之前已经装了384版本的。
结果类似于上图是没有问题的
最后需要配置环境变量,让我们安装的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安装成功,否则就是哪里有问题
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":
(这次网站直接点击去只要就行,前提还是得注册,看来前面注册的那一次没白费。。。)
下载后就是解压然后拷贝到相应的系统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及以上版本)
后来换成了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位系统,这个应该是知道的)
最后运行安装一下这个下载的就行。bash Anaconda3-4.2.0-Linux-x86_64.sh
接受协议:
q,然后yes接受协议。
设置安装路径,默认安装在用户目录:
最后,把安装路径添加到环境变量:
需要重启一下终端。
测试安装
启动新终端;查看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的区别
最后安装tensorflow
pip3 install --upgrade tensorflow==1.4
安装gpu版本请使用以下
pip3 install --upgrade tensorflow-gpu==1.4
好像俩个都可以同时存在。。。
另外最后一件事情,由于我中间有一次操作没有指定1.4版本(大佬没有指定那...)
所以会导致tensorflow版本安装错误,会报错。
解决方法
pip install --upgrade tensorflow-gpu==1.4
如果你的cuda是8.0,那么你可以使用上面的指令将tensorflow的版本回滚到1.4版本
最后实验一下