一、參考鏈接:
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/