Dell G3实测通过: Ubuntu16.04 + GTX1060 + CUDA9.0 + cuDNN7.05 + caffe 0.15 + Digits6.1 (超详细图文安装流程说明)


本流程在此硬件上实测通过:

  • Dell G3
    • CPU i7-8750H;
    • GTX1060 6G显存 with Max-Q;
    • 内存8G ;
    • 128g固态+1T
    • 预装Win10

主要参考:

  • 成功安装ubuntu16.04+cuda9.0+cuDNN7.0.5+caffe+digits(附错误汇总)
  • NVIDIA 官方手册BuildDigits及其必要先决条件所对应的md手册

1.Ubuntu安装及依赖环境搭建

1.1 Ubuntu安装注意事项:

  • Ubuntu16.04 优盘引导安装,选择与Win10共存,有双硬盘的安装固态硬盘上,空间分配40G即可;
  • 安装完后先从Git上下载蓝灯,后面的安装能用VPN尽量用,有些需要访问境外服务器的命令,会因为网络状态不佳中途挂掉,所以一个畅通无阻的网络环境是成功安装的必要条件

1.2 依赖安装

sudo apt-get install python-pip
sudo pip install easydict protobuf pydot

sudo apt-get install graphviz libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler libopenblas-dev liblapack-dev libatlas-base-dev libgflags-dev libgoogle-glog-dev liblmdb-dev python-tk python-numpy python-scipy python-matplotlib python-sklearn python-skimage python-h5py python-protobuf python-leveldb python-networkx python-nose python-pandas python-gflags

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

2.安装GTX1060驱动

2.1 禁用nouveau驱动

nouveau是ubuntu系统自带的驱动程序,但是不适用于cuda,所以要舍弃掉。

2.1.1 终端输入:

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

2.1.2 在文本最后添加以下两行:

blacklist nouveau
options nouveau modeset=0

2.1.3 然后执行(让内核刷新)

sudo update-initramfs -u

2.1.4 重启计算机

2.1.5 重启后使用命令检查当前nouveau是否工作,没有任何输出即禁用成功

lsmod | grep nouveau

2.1 在bios中设置Secure BOOT 为disable

如果这个项是enable,那么就无法切换成Nvidia的独显。

2.2 GTX1060 显卡驱动安装

将nouveau从内核中卸载后,由于intel自带有显卡驱动,所以这时我们应该是能够正常进入ubuntu系统的,在 系统设置>详细信息 应该能看到自己现在的图形驱动。

2.2.1 添加ppa

sudo add-apt-repository ppa:xorg-edgers/ppa
sudo apt-get update

2.2.2 查自己显卡对应的驱动版本

ubuntu-drivers devices

对应GTX1060显卡驱动是384 (在我最终都安装完digits之后写本本文档时,再输入上面的命令后,显示recommended版本变成了396,估计是后面的某些安装更新了版本,whatever,初次安装时,就选显示列表中后面有recommended字样的版本)

2.2.3 安装、重启

sudo apt-get install nvidia-384
sudo reboot

注意上面nvidia-后面的版本号,按照你的系统推荐来改
重启系统后,执行下面的命令查看驱动的安装状态显示安装成功:

sudo nvidia-smi

成功安装的话会显示如下信息:
Dell G3实测通过: Ubuntu16.04 + GTX1060 + CUDA9.0 + cuDNN7.05 + caffe 0.15 + Digits6.1 (超详细图文安装流程说明)_第1张图片
输入

sudo nvidia-setting

会打开NVIDIA控制台

如果上述安装有问题,需要重新安装,可以使用以下命令卸载:

sudo apt-get remove  --purge nvidia-*

3.安装CUDA

3.1 下载CUDA

点击下面链接CUDA下载网址默认到最新版本,貌似CUDA9.2版本太新,安装多次都有问题,所以建议下载CUDA9.0CUDA9.0下载
根据系统环境选择下载文件类型,我下载的是deb( local) 版,如下:
Dell G3实测通过: Ubuntu16.04 + GTX1060 + CUDA9.0 + cuDNN7.05 + caffe 0.15 + Digits6.1 (超详细图文安装流程说明)_第2张图片

3.2 安装

进入到下载文件所在目录,依次输入下列命令行安装CUDA(如果你下载的版本不同,注意修改相应的文件名cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb和版本号-9-0-local

sudo dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb
sudo apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda
sudo apt-get install cuda-toolkit-7-5

安装完成后, 重启一下

3.3 设置环境变量

在/etc/profile中添加CUDA环境变量

sudo gedit /etc/profile

在打开的文件最后加入如下3句话(记得将“用户名”修改成实际的)

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export PYTHONPATH=/home/用户名/caffe/python:$PYTHONPATH 

保存后, 使环境变量立即生效

source /etc/profile
sudo gedit ~/.bashrc

在打开的文件最后加入如下3句话(具体要注意cuda的版本号;记得将“用户名”修改成实际的)

export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export PYTHONPATH=/home/用户名/caffe/python:$PYTHONPATH

执行

source ~/.bashrc

3.4 测试

进入/usr/local/cuda/samples, 执行下面的命令来build samples

cd /usr/local/cuda/samples
sudo make all -j16

全部编译完成后, 进入(具体要注意cuda的版本号)

cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery
sudo ./deviceQuery

如果出现显卡信息,结果为pass, 则驱动及显卡安装成功。


4 安装cuDNN

4.1 注册下载

下载链接
需要注册并填写一个survey,然后下载
选择对应CUDA版本的cuDNN(此处选择V7.0.5)
Dell G3实测通过: Ubuntu16.04 + GTX1060 + CUDA9.0 + cuDNN7.05 + caffe 0.15 + Digits6.1 (超详细图文安装流程说明)_第3张图片
点击cuDNN v7.0.5 Library for Linux ,下载得到文件cudnn-9.0-linux-x64-v7.tgz
切换到cudnn所在的目录下:

sudo tar -zxvf cudnn-9.0-linux-x64-v7.tgz (文件解压缩)

copy文件到CUDA目录

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 /usr/local/cuda/lib64/libcudnn*
cd /usr/local/cuda/lib64/
ls
sudo chmod +r libcudnn.so.7.0.5(具体的版本要自己查)
sudo rm -rf libcudnn.so libcudnn.so.7 #删除原有动态文件
sudo ln -s libcudnn.so.7.0.5 libcudnn.so.7 #生成软衔接(注意这里要和自己下载的cudnn版本对应,可以在/usr/local/cuda/lib64下查看自己libcudnn的版本)
sudo ln -s libcudnn.so.7 libcudnn.so #生成软链接
sudo ldconfig -v

5 安装Protobuf

sudo apt-get install autoconf automake libtool curl make g++ git python-dev python-setuptools unzip
export PROTOBUF_ROOT=~/protobuf
git clone https://github.com/google/protobuf.git $PROTOBUF_ROOT -b '3.2.x'
cd $PROTOBUF_ROOT
./autogen.sh
./configure
make "-j$(nproc)"
make install
ldconfig
cd python
python setup.py install --cpp_implementation

6 安装配置Caffe

6.1 安装依赖

sudo apt-get install --no-install-recommends build-essential cmake git gfortran libatlas-base-dev libboost-filesystem-dev libboost-python-dev libboost-system-dev libboost-thread-dev libgflags-dev libgoogle-glog-dev libhdf5-serial-dev libleveldb-dev liblmdb-dev libopencv-dev libsnappy-dev python-all-dev python-dev python-h5py python-matplotlib python-numpy python-opencv python-pil python-pip python-pydot python-scipy python-skimage python-sklearn

6.2 源码下载

export CAFFE_ROOT=~/caffe
git clone https://github.com/NVIDIA/caffe.git $CAFFE_ROOT -b 'caffe-0.15'

6.3 配置caffe文件

cd /home/用户名/caffe

修改用户名

sudo cp Makefile.config.example Makefile.config
sudo gedit Makefile.config
#1.去掉这个注释,因为要使用cudnn(但是假如显卡太低级,兼容性不够,就用不了cudnn)
USE_CUDNN := 1 

#2.加上这个注释(因为要使用cuda,所以就不用改)
# CPU_ONLY := 1

#3.去掉这个注释,因为以后经常会用到caffe 的 Python layer
WITH_PYTHON_LAYER := 1 

#4. 阅读文件本身提示,然后根据自己的cuda根据该文档提示删去或者注释掉相应的版本:
CUDA_ARCH := #-gencode arch=compute_20,code=sm_20 \
            #-gencode arch=compute_20,code=sm_21 \
#5. 将
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
修改为(一般是这两条,具体路径可以自己看机器的hdf5文件夹路径):
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /usr/lib/x86_64-linux-gnu/hdf5/serial

保存退出。

6.4 Python包安装

一些PyPI包需要安装:

sudo pip install -r $CAFFE_ROOT/python/requirements.txt

如果出错,就用下面命令

cat $CAFFE_ROOT/python/requirements.txt | xargs -n1 sudo pip install

6.5 编译

cd $CAFFE_ROOT
mkdir build
cd build
cmake ..
make -j"$(nproc)"
make install

检查编译是否成功

#终端下进入python
python
import caffe (如果不报错则ok,ctrl + d退出Python)

cd caffe 
sudo ./data/mnist/get_mnist.sh #下载数据
sudo ./examples/mnist/create_mnist.sh #把数据改造成lmdb格式
sudo ./examples/mnist/train_lenet.sh #训练模型

7 Digits6 安装配置

7.1 依赖安装

wget "http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_8.0.61-1_amd64.deb" -O /tmp/cuda-repo.deb && sudo dpkg -i /tmp/cuda-repo.deb && rm -f /tmp/cuda-repo.deb
wget "http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1604/x86_64/nvidia-machine-learning-repo-ubuntu1604_1.0.0-1_amd64.deb" -O /tmp/ml-repo.deb && sudo dpkg -i /tmp/ml-repo.deb && rm -f /tmp/ml-repo.deb
sudo apt-get update
sudo apt-get install --no-install-recommends git graphviz python-dev python-flask python-flaskext.wtf python-gevent python-h5py python-numpy python-pil python-pip python-scipy python-tk

7.2 下载源码

DIGITS_ROOT=~/digits
git clone https://github.com/NVIDIA/DIGITS.git $DIGITS_ROOT
sudo pip install -r $DIGITS_ROOT/requirements.txt
sudo pip install -e $DIGITS_ROOT

7.2 启动

进入digits目录,一般位于/home/用户名/digits/输入

./digits-devserver

出现

DIGITS 6.1.1

浏览器输入http://localhost:5000/开启digits图形界面

你可能感兴趣的:(Dell G3实测通过: Ubuntu16.04 + GTX1060 + CUDA9.0 + cuDNN7.05 + caffe 0.15 + Digits6.1 (超详细图文安装流程说明))