当前位置:文档之家› GTX1070+Ubuntu16+cuda8+Deeplearning配置

GTX1070+Ubuntu16+cuda8+Deeplearning配置

GTX1070+Ubuntu16+cuda8+Deeplearning配置
GTX1070+Ubuntu16+cuda8+Deeplearning配置

GTX1070+ubuntu16.04+cuda8.0rc+cudnn-

v5.0+mxnet+tensorflow+caffe

1 系统安装

直接用ultraiso刻录ubuntu16.04.iso到u盘里,不知为什么安装有问题。于是刻录14.04,然

后安装。

sudo apt-get update

sudo update-manager -d

更新软件。然后再次输入

sudo update-manager -d

会提示更新到16.04。接下来就是漫长的等待。。。

再次重启后完成ubuntu16.04的安装

2 安装Cuda8.0

首先说下需要注意的几点:

cuda8.0为RC版,未正式发布,只支持ubuntu14.04和ubuntu16.04,貌似GTX1070/1080也

只支持cuda8.0。

cuda8.0自带驱动nvidia-361,现在最新驱动nvidia-367,所以安装完cuda后必须再安装驱动。安装nvidia-367驱动时使用ubuntu16自带的gcc-5,较低的gcc版本容易失败。

下面开始详细安装

2.1 禁用nouveau(是否必要未验证)

# 系统启动时如果提示nouveau error: unkown chipset

# nouveau无法识别GTX1080 - 禁用nouveau

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

# 在最后添加:

blacklist nouveau

# 退出

sudo update-initramfs -u

sudo reboot

2.2 gcc版本

ubuntu16.04 默认安装的gcc版本为gcc-5.4,(可用gcc --version查看)有时可能需要低版本的,所以我们先安装gcc-4.8.5

sudo apt-get install -y gcc-4.8 g++-4.8

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 20

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 20

cd /usr/bin

sudo cp gcc gcc_backup

sudo cp g++ g++_backup

sudo rm gcc g++

sudo ln -s gcc-4.8 gcc

sudo ln -s g++-4.8 g++

#这样再用gcc --version查看就是4.8.5了,如果想切换为系统默认的版本:

sudo rm gcc g++

sudo ln -s gcc-5 gcc

sudo ln -s g++-5 g++

2.3 安装cuda

下载网址

https://https://www.doczj.com/doc/d018445734.html,/cuda-release-candidate-download

不知为什么,经常很难下载,可能时网络问题吧,所以备份很重要,在师门网盘里就有,哈哈。文件名为:

cuda-repo-ubuntu1604-8-0-rc_8.0.27-1_amd64.deb

同时还提供了修订包,用以使其支持ubuntu16.04自带的gcc5.4版本,修订包名为:

cuda-misc-headers-8-0_8.0.27.1-1_amd64.deb

直接双击文件可进入软件中心进行安装。当然也可以这样:

sudo dpkg -i cuda-repo-ubuntu1604-8-0-rc_8.0.27-1_amd64-deb

sudo dpkg -i cuda-misc-headers-8-0_8.0.27.1-1_amd64.deb

然后:

sudo apt-get update

sudo apt-get install cuda

如果安装不成功就吧gcc切换到4.8吧,当时是用4.8装的,但应该没影响吧。

查看cuda支持的gcc最高版本:

cd /usr/local/cuda/include/ #进入到头文件目录

sudo gedit host_config.h #编辑头文件

搜索GNUC,找到一段类似于

“if _GNUC_>5 || (_GNUC_ == 5 &&_GNUC_MINOR_> 3)”,就是最大支持gcc-5.3,可自己取消该限制。建议改为使其支持gcc-5.4。

当然还有一步就是要声明cuda路径:

sudo gedit ~/.bashrc

在最后加入:

export CUDA_HOME=/usr/local/cuda-8.0

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

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

退出后使其立即生效:

source ~/.bashrc

在这里输入nvcc --version 看有没有信息输出,如果没有就重启终端。这里重启一下电脑得了。

2.4 更新显卡驱动

到上一步后,输入nvidia-smi会输出驱动不匹配或找不到命令等信息。这是因为cuda8.0带的显卡驱动时nvidia-361,现在最新的时nvidia-367。我们需要重新安装367.35版本,下载地址:

https://www.doczj.com/doc/d018445734.html,/drivers

得到驱动文件:

NVIDIA-Linux-x86_64-367.35.run

注意gcc-4.8无法编译nvidia driver,所以在这里一定要切换到gcc-5。

直接安装时可能报错

“You appear to be running an X server….”

ctrl+alt+F1进入命令符界面,登陆。

sudo service lightdm stop #关闭图形界面

sudo init 3 #提供权限

sudo ./NVIDIA-Linux-x86_64-367.35.run #运行驱动安装过程,前提是进入该文件所在目录可能的选项:

是否安装32-bit兼容?否

是否自动更新X**?否

有一些警告,能继续就继续,只要最后看到successful的字眼就OK了。

sudo service lightdm start #重新启用图形界面

这里最好重启一下吧

sudo reboot

2.5 测试cuda

nvidia-smi #查看驱动是否正确安装

输出:

+-----------------------------------------------------------------------------+

| NVIDIA-SMI 367.35 Driver Version: 367.35 |

|-------------------------------+----------------------+----------------------+

| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |

| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |

|===============================+======================+=============== =======|

| 0 GeForce GTX 1070 Off | 0000:01:00.0 On | N/A |

| 29% 36C P8 11W / 151W | 196MiB / 8113MiB | 4% Default |

+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+

| Processes: GPU Memory |

| GPU PID Type Process name Usage |

|====================================================================== =======|

| 0 6589 G /usr/lib/xorg/Xorg 186MiB |

| 0 7084 G compiz 7MiB |

+-----------------------------------------------------------------------------+

nvcc --version #查看cuda版本

输出

nvcc: NVIDIA (R) Cuda compiler driver

Copyright (c) 2005-2016 NVIDIA Corporation

Built on Wed_May__4_21:01:56_CDT_2016

Cuda compilation tools, release 8.0, V8.0.26

lspci | grep -i nvidia #查看GPU设备

输出

01:00.0 VGA compatible controller: NVIDIA Corporation Device 1b81 (rev a1)

01:00.1 Audio device: NVIDIA Corporation Device 10f0 (rev a1)

最后进入cuda自带的例子中看cuda是否已正确配置

cd /usr/local/cuda/samples/1_Utilities/deviceQuery

sudo make

./deviceQuery

输出:

# modprobe: ERROR: could not insert 'nvidia_361_uvm': Invalid argument

这是因为cuda8.0自带了361版本的nvidia driver

需要将其卸载

sudo apt-get remove nvidia-361

或者

sudo update-alternatives --config x86_64-linux-gnu_gl_conf

输出:

Selection Path Priority Status

------------------------------------------------------------

0 /usr/lib/nvidia-361/ld.so.conf 8604 auto mode

1 /usr/lib/nvidia-361-prime/ld.so.conf 8603 manual mode

2 /usr/lib/nvidia-361/ld.so.conf 8604 manual mode

* 3 /usr/lib/x86_64-linux-gnu/mesa/ld.so.conf 500 manual mode

输入3按回车,再运行./deviceQuery就成功了。

这种方法有时候会自动跳回2,不知道为什么,重新按该过程配置一下就行了。直接卸载361有没有side effect不能确定。

到这里就配置好cuda8.0了。

2.6 安装cudnn-v5

这个比较简单,在https://https://www.doczj.com/doc/d018445734.html,/cudnn下载cudnn v5.0 for cuda8.0rc:cudnn-8.0-linux-x64-v5.0-ga.tgz

直接解压拷贝就可以了:

tar xvzf cudnn-8.0-linux-x64-v5.0-ga.tgz

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

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

sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

3 常用工具安装

sudo apt-get update

sudo apt-get install -y ipython python-numpy git python-sklearn python-scipy python-matplotlib Pycharm安装

下载pycharm-community-2016.1.tar.gz;

解压到softwares文件夹下。进入bin文件夹下,启动终端,输入以下命令完成安装:

./pycharm.sh

4 MNNet安装

sudo apt-get update

sudo apt-get install -y build-essential git libatlas-base-dev libopencv-dev

git clone --recursive https://https://www.doczj.com/doc/d018445734.html,/dmlc/mxnet.git

cd mxnet

cp make/config.mk .

gedit config.mk

更改USE_CUDA = 1;USE_CUDA_PATH = /usr/local/cuda-8.0;USE_CUDNN = 1后退出make -j16

cd python

sudo python setup.py install #如果出错,则sudo apt-get install python-setuptools

测试mxnet

python mxnet/example/image-classification/train_mnist.py --gpus 0 #如果下好了mnist数据集,则将路径传递--data-dir MNIST_PATH

5 Tensorflow安装

主要参考https://www.doczj.com/doc/d018445734.html,/dive-into-tensorflow-part-iii-gtx-1080-ubuntu16-04-cuda8-0-cudnn5-0-tensorflow 中的建议

5.1 Install TensorFlow Python Dependency

The Python version is Python2.7:

sudo apt-get install python-pip

sudo apt-get install python-numpy swig python-dev python-wheel

5.2 Install Google Build Tool Bazel

Get the Bazel 0.3.0 install script from Bazel github:

wget https://https://www.doczj.com/doc/d018445734.html,/bazelbuild/bazel/releases/download/0.3.0/bazel-0.3.0-installer-linux-

x86_64.sh

chmod +x bazel-0.3.0-installer-linux-x86_64.sh

sudo ./bazel-0.3.0-installer-linux-x86_64.sh #--user

如果遇到错误:

Java not found, please install the corresponding package

See http://bazel.io/docs/install.html for more information on

安装Java JDK in Ubuntu 16.04 by apt-get:

sudo apt-get update

sudo apt-get install default-jre

sudo apt-get install default-jdk

Then run the following command again:

sudo ./bazel-0.3.0-installer-linux-x86_64.sh #--user

如果看到字眼:Bazel is now installed!说明安装成功

sudo gedit ~/.bashrc

加入:

source /usr/local/lib/bazel/bin/bazel-complete.bash

export PATH=$PATH:/usr/local/lib/bazel/bin

退出后

source ~/.bashrc

5.3 Build and install TensorFlow GPU Version by Source Code

git clone https://https://www.doczj.com/doc/d018445734.html,/tensorflow/tensorflow

cd tensorflow

./configure

(如果说libcurl3-dev版本问题:sudo apt-get install libcurl3 libcurl3-dev)

bazel build -c opt --config=cuda //tensorflow/cc:tutorials_example_trainer

(如果zlib not installed:sudo apt-get install zlib1g-dev)

漫长的等待……

Excute the tensorflow tutorials sample to call the GPU GTX 1080:

bazel-bin/tensorflow/cc/tutorials_example_trainer –use_gpu

如果有很长的输出,则说明可以调用cuda了。下面要与python建立链接。

进入python环境,

import tensorflow as tf #注意此时工作目录不要在tensorflow中

如果报错“ImportError: cannot import name pywrap_tensorflow”,则执行以下操作(需要联网,而且可能报错,多试几次)

bazel build -c opt --config=cuda //tensorflow/tools/pip_package:build_pip_package

bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg

sudo pip install /tmp/tensorflow_pkg/tensorflow-0.10.0rc0-py2-none-any.whl #具体版本进入对应

目录看一下就好了

5.4 测试

cd tensorflow/models/image/mnist

python convolutional.py #如果已有下好的mnist数据集,在convolutional.py中将路径给WORK_DIRECTORY

6 caffe安装

主要参照https://https://www.doczj.com/doc/d018445734.html,/BVLC/caffe/wiki/Ubuntu-16.04-or-15.10-Installation-Guide中的流程。

6.1安装基本依赖包

sudo apt-get update

sudo apt-get install -y build-essential cmake git pkg-config

sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler

sudo apt-get install -y libatlas-base-dev

sudo apt-get install -y --no-install-recommends libboost-all-dev

sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev

sudo apt-get install -y python-pip python-dev python-numpy python-scipy # (Python general)

sudo apt-get install -y libopencv-dev # (OpenCV 2.4)

6.2 编译配置

去https://https://www.doczj.com/doc/d018445734.html,/BVLC/caffe下载.zip安装包,放在某路径Caffe_Path下解压。进入caffe

根目录:

cp Makefile.config.example Makefile.config

gedit Makefile.config

设置以下内容:

USE_CUDNN := 1 #取消该句注释

PYTHON_INCLUDE := /usr/include/python2.7 \

/usr/lib/python2.7/dist-packages/numpy/core/include

WITH_PYTHON_LAYER := 1 #取消注释

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial

LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib \

/usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial

保存退出。

find . -type f -exec sed -i -e 's^"hdf5.h"^"hdf5/serial/hdf5.h"^g' -e

's^"hdf5_hl.h"^"hdf5/serial/hdf5_hl.h"^g''{}' \;

cd /usr/lib/x86_64-linux-gnu

sudo ln -s libhdf5_serial.so.10.1.0 libhdf5.so #具体版本自行去文件夹下查看

sudo ln -s libhdf5_serial_hl.so.10.0.2 libhdf5_hl.so #具体版本自行去文件夹下查看

安装其他必备依赖包:

cd python

for req in $(cat requirements.txt); do pip install $req; done

这里需要联网,且下载时间可能稍长。

现在开始编译:

cd ..

make all -j $(($(nproc) + 1))

make test -j $(($(nproc) + 1))

make runtest -j $(($(nproc) + 1))

make pycaffe -j $(($(nproc) + 1))

make distribute -j $(($(nproc) + 1))

6.3 python配置

sudo gedit ~/.bashrc

在最后加入

export PYTHONPATH=/home/xifeng/Softwares/caffe/python:$PYTHONPATH

退出。

source ~/.bashrc

cd distribute

sudo cp bin/* /usr/bin/

sudo cp lib/* /usr/lib/

sudo cp -r include/caffe /usr/include/

6.4 测试

./data/mnist/get_mnist.sh

./examples/mnist/create_mnist.sh

./examples/mnist/train_lenet.sh

7 系统备份与还原

好不容易配好系统了,万一脑残不知动了哪给搞坏了怎么办?先备份个系统吧。

7.1 系统备份

系统设置(system setting)里有Backups,但只能备份还原home文件夹。

首先打开终端进入根目录并获取root权限

cd /

sudo su

tar cvpzf Ubuntu_backup.tgz --exclude=/Ubuntu_backup.tgz --exclude=/mnt --exclude=/home --exclude=/proc --exclude=/sys --exclude=/lost+found /

其中 Ubuntu_backup.tgz为备份系统的名字,exclude参数用于设定忽略的文件夹,最后那个/是指示需要备份的目录。备份完后就可以拷贝到其他盘里保存了。

7.2 系统恢复

在 Ubuntu_backup.tgz 所在文件夹下打开终端获取root权限,将 Ubuntu_backup.tgz拷贝到根目录下

sudo su

cp Ubuntu_backup.tgz /

cd /

tar xvpfz Ubuntu.tgz -C /

新建备份时忽略的文件夹,如

mkdir /proc /lost+found /mnt /sys

10 其他问题

10.1 更新软件提示W: GPG error: https://www.doczj.com/doc/d018445734.html,:10006 xenial InRelease

sudo apt-get update

报错:W: GPG error: https://www.doczj.com/doc/d018445734.html,:10006 xenial InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY

8D5A09DC9B929006

解决办法:

sudo apt-key adv --keyserver https://www.doczj.com/doc/d018445734.html, --recv-keys 8D5A09DC9B929006

参考文献

①搭建一台用于深度学习的工作站

http://wh1te.me/

②building-our-personal-deep-learning-rig-gtx-1080-ubuntu-16-04-cuda-8-0rc-cudnn-7-tensorflowmxnetcaffedarknet

https://www.doczj.com/doc/d018445734.html,/blog/en/my-works/building-our-personal-deep-learning-rig-gtx-1080-ubuntu-16-04-cuda-8-0rc-cudnn-7-tensorflowmxnetcaffedarknet/

③[DL] GTX1080 + Ubuntu16.04 + CUDA 8.0RC + Tensorflow + Theano + keras

https://https://www.doczj.com/doc/d018445734.html,/note/568373446/?type=like

④Dive Into TensorFlow, Part III: GTX1080 + Ubuntu16.04 + CUDA8.0 + cuDNN5.0 + TensorFlow

https://www.doczj.com/doc/d018445734.html,/dive-into-tensorflow-part-iii-gtx-1080-ubuntu16-04-cuda8-0-cudnn5-0-tensorflow

⑤Caffe: Ubuntu 16.04 or 15.10 Installation Guide

https://https://www.doczj.com/doc/d018445734.html,/BVLC/caffe/wiki/Ubuntu-16.04-or-15.10-Installation-Guide

⑥Ubuntu14.04如何备份和恢复系统

https://www.doczj.com/doc/d018445734.html,/alexanderkun/p/5008514.html

相关主题
文本预览
相关文档 最新文档