NVIDIA Jetson Nano學習筆記(二):進行深度學習
7 min readOct 30, 2019
1. Jetson-inference(Tensor RT)
玩转Jetson Nano(四)跑通jetson-inference
Jetson Nano配置與使用(7)Hello AI World( Inference Only)
由於全部model都在jetson-inference/build/aarch64/bin的關係,我們必須先切換至該目錄下,再執行jetson-inference的相關指令
範例有主要三項:
(1)imgenet用於圖像識別,識別出圖像為蘋果、橘子等等;
(2)detectnet用於目標檢測,標註行人、瓶子、飛機等等;
(3)segnet用於圖像、語義分割等。
#下載加編譯
cd ~
sudo apt-get install git cmake
git clone https://github.com/dusty-nv/jetson-inference
cd jetson-inference
git submodule update --init
mkdir build
cd build
cmake ../
make
sudo make install#全部的model都在 ~/jetson-inference/build/aarch64/bin
cd ~/jetson-inference/build/aarch64/bin
ImageNet 的檢測
./imagenet-console orange_0.jpg output_0.jpg Detectnet#偵測臉部./detectnet-console subway.jpg subway_detect.jpg facenet
2.安裝Darknet(執行YOLOv3)
可參考之前在TX2上的測試
讓Jetson Nano可以訓練或透過Darknet推論YOLO model。
$ nano ~/.bashrc
$ source ~/.bashrc#將下列兩行加到 ~/.bashrc後方export PATH=${PATH}:/usr/local/cuda/bin
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/cuda/lib64
下載與安裝
git clone https://github.com/pjreddie/darknetcd darknet/nano Makefile
將Makefile中的下列參數內容更改為1
GPU=1CUDNN=1OPENCV=1#更改後存檔,執行 sudo make 即完成。
3.安裝YOLO3–4-Py
讓Jetson Nano可透過Python在GPU推論YOLO model。
export GPU=1pip3 install yolo34py-gpu
4.Caffe
Jetson Nano配置與使用(6)Xshell6下caffe安裝
#安裝依賴套件
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
sudo apt-get install git cmake build-essential#下載caffe
git clone https://github.com/BVLC/caffe.git#複製Makefile.config.example成Makefile.config
cd caffe
sudo cp Makefile.config.example Makefile.config#修改Makefile.config
sudo nano Makefile.config【1】将以下内容前的注释符号去掉,分别位于第5行、23行、92行;
5 USE_CUDNN := 1
23 OPENCV_VERSION := 3
92 WITH_PYTHON_LAYER := 1【2】将第39行 CUDA_ARCH中的20、21内容去掉;
39 CUDA_ARCH := -gencode arch=compute_30,code=sm_30 \
40 -gencode arch=compute_35,code=sm_35 \
41 -gencode arch=compute_50,code=sm_50 \
42 -gencode arch=compute_52,code=sm_52 \
43 -gencode arch=compute_60,code=sm_60 \
44 -gencode arch=compute_61,code=sm_61 \
45 -gencode arch=compute_61,code=compute_61【3】将95、96行修改为以下内容;
95 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial96 LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/aarch64-linux-gnu /usr/lib/aarch64-linux-gnu/hdf5/serial#修改Makefile
sudo nano Makefile【1】修改第181行为以下内容;
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial【2】修改第425行为以下内容;
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)#編譯
sudo make#測試
進入Python環境
import caffe
5.Pytorch
#安裝pytorch
mkdir pytorchwget https://nvidia.box.com/shared/static/j2dn48btaxosqp0zremqqm8pjelriyvs.whl -O torch-1.1.0-cp36-cp36m-linux_aarch64.whlsudo pip3 install torch-1.1.0-cp36-cp36m-linux_aarch64.whl#測試
import torch#安裝torchvision
sudo apt-get install libjpeg-dev zlib1g-devgit clone -b v0.3.0 https://github.com/pytorch/vision torchvisioncd torchvision
sudo python3 setup.py install#測試
import torchvision