Jetson TX2 辨識資料轉移方法
由於 Jetson TX2 主要負責取代龐大笨重的主機,用於實際場域中的測試工作,因此我們要待 Linux 桌上型電腦訓練完成後,將必要資料轉移到 Jetson TX2 以便進行後續的辨識工作。
首先,我們要將先前建立好的 YOLO 套件(第一版與第二版都可以)darknet 複製到 Jetson TX2 的 home 目錄下,並修改套件中的訓練、測試等路徑,如這份文件的「訓練資料準備」章節所述(完成後先不要執行
make
指令)。由於 Jetson TX2 使用編號為 62 的 GPU 結構,所以我們必須將
makefile
當中的結構數值與 nvcc 路徑進行修改:
ARCH= -gencode arch=compute_62,code=[sm_62,compute_62]
(注意,上面的 ARCH 一定要這樣輸入,中間的空格位置皆不可更改,否則編譯會失敗!)
NVCC=/usr/local/cuda-8.0/bin/nvcc
在
make
指令執行後,會發生編譯錯誤的問題。其原因是 darknet 採用 OpenCV 第二版本撰寫,而我們安裝的則是第三版本。我們可根據 Github 上的討論串,將 darknet 中的六個檔案引入新的 Library,重新執行make
即可成功編譯。現在 YOLO 可以完整地在 Jetson TX2 上面執行了!