一、参考链接:
https://github.com/dusty-nv/jetson-inference
https://github.com/NVIDIA/DIGITS/blob/digits-6.0/docs/BuildDigits.md
https://github.com/NVIDIA/DIGITS/blob/digits-6.0/docs/BuildCaffe.md
二、安装步骤:
在阅读本教程之前,请确保自己已经按照要求完成Ubuntu 16.04主机与Jetson的连接刷机,并在主机上安装好了Jetpack。
1、安装英伟达的驱动
需要在主机PC上安装NVIDIA PCIe驱动程序才能实现GPU加速训练。从主机PC运行以下命令安装NVIDIA驱动程序:
sudo apt-get install nvidia-384 # 我用的是nvidia-410
sudo reboot
重新启动之后,通过lsmod命令列出nvidia驱动程序的相关信息:
lsmod | grep nvidia
要验证CUDA工具包和NVIDIA驱动程序是否正常工作,请运行CUDA示例附带的一些测试:(这一步可以跳过,但最好还是验证一下):
cd /usr/local/cuda/samples
sudo make
cd bin/x86_64/linux/release/
./deviceQuery
./bandwidthTest --memory=pinned
2、安装cuDNN
下一步是在主机PC上安装NVIDIA cuDNN库。从NVIDIA cuDNN网页下载libcudnn和libcudnn软件包(需要登录英伟达官网):
https://developer.nvidia.com/cudnn
更具
CUDA
的版本选择合适的
cuDNN
版本下载
,我的
CUDA
版本是
9.0
所以选择第三个,在
Ubuntu 16.04
的三个
Deb
文件都下载下来:
下载完成后进入下载文件的目录下,执行以下命令:
sudo dpkg -i libcudnn<version>_amd64.deb
sudo dpkg -i libcudnn-dev_<version>_amd64.deb
sudo dpkg -i libcudnn-doc_<version>_amd64.deb
3、安装NVcaffe
NVcaffe是Caffe的NVIDIA分支,优化了GPU。 NVcaffe需要cuDNN,并由DIGITS用于训练DNN。要安装它,请从GitHub复制NVcaffe repo,并使用caffe-0.15分支从源代码编译。
首先,安装相关的依赖文件:
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
下载caffe 0.15的源码:
export CAFFE_ROOT=~/caffe ##把caffe路径写入CAFFE_ROOT变量中
git clone https://github.com/NVIDIA/caffe.git $CAFFE_ROOT -b 'caffe-0.15'
控制台进入caffe文件目录下,安装caffe的相关PyPI 包,这里caffe中原有的requirements.txt需要进行若干修改,否则会在之后的安装中出现很大的麻烦,修改后的文件如下所示:
Cython>=0.19.2
numpy>=1.7.1
scipy>=0.13.2
scikit-image>=0.9.3,<=0.10.1
matplotlib>=1.3.1
ipython>=3.0.0
h5py>=2.2.0
leveldb>=0.191
networkx>=1.8.1
nose>=1.3.0
pandas>=0.12.0
python-dateutil>=1.4
protobuf>=2.5.0
python-gflags>=2.0
pyyaml>=3.10
Pillow>=2.3.0
six>=1.1.0
保存之后执行以下命令,一定不要忘了最后的--user:
pip install -r $CAFFE_ROOT/python/requirements.txt --user
最后使用CMake对caffe进行编译,推荐用这种方式,而不是make all的方式:
cd $CAFFE_ROOT
mkdir build
cd build
cmake ..
make -j"$(nproc)"
make install
4.编译DIGITS
先决条件,运行以下的命令,获取一些包存储库的路径:
CUDA_REPO_PKG=http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_8.0.61-1_amd64.deb
$ ML_REPO_PKG=http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1604/x86_64/nvidia-machine-learning-repo-ubuntu1604_1.0.0-1_amd64.deb
# Install repo packages
wget "$CUDA_REPO_PKG" -O /tmp/cuda-repo.deb && sudo dpkg -i /tmp/cuda-repo.deb && rm -f /tmp/cuda-repo.deb
wget "$ML_REPO_PKG" -O /tmp/ml-repo.deb && sudo dpkg -i /tmp/ml-repo.deb && rm -f /tmp/ml-repo.deb
# Download new list of packages
sudo apt-ge
安装依赖项:
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
下载源码:
# example location - can be customized
DIGITS_ROOT=~/digits
git clone https://github.com/NVIDIA/DIGITS.git $DIGITS_ROOT
Python包的安装,首先进入digits文件目录:
pip install -r $DIGITS_ROOT/requirements.txt --user
启动服务器,在digits文件路径下,执行下面的命令,出现图示的结果则大功告成:
./digits-devserver
在浏览器中打开:
http://localhost:5000/