XavierにYolo V3をインストールしたときのメモ。Xavierは16bit浮動小数点が使え数倍高速になるので、それに対応したTensorコアを使うdarknetをインストールする。以下のウェブサイトを参考にしました。
1. Tensorコア対応Darknetのインストール
- この指示にしたがいDarknetをインストールする
 - cd ~/src
 - git clone https://github.com/AlexeyAB/darknet.git
 - mv darknet darknet_tensor
 - cd ~/src/darknet_tensor
 - Makefileの該当行を以下に変更
- GPU=1
 - CUDNN=1
 - CUDNN_HALF=1
 - OPENCV=1
 - LIBSO=1
 - DEBUGの下のARCHの前に#をつけてコメントアウトして、#Jetson XAVIERの下の#ARCH の#を外し有効化する。
- ARCH= -gencode arch=compute_72,code=[sm_72,compute_72]
 
 
 - make -j 8
 
- Yoloのウェイトのダウンロードと実行
- cd ~/src/darknet_tensor
 - 学習済みのウェイト(パラメータ)ファイルをダウンロード
- wget http://pjreddie.com/media/files/yolov3.weights
 
 - サンプルの実行
- ./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
 
 
 - 実行方法
- ノートPC内蔵カメラ
- ./darknet detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights
 
 - 動画ファイル
- Webm形式の動画ファイルは問題なく動作する。
 - ./darknet detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights <video file>
 
 
 - ノートPC内蔵カメラ
 
2. Darknet(Tensorコア非対応)のインストール
- この指示にしたがいDarknetをインストールする
 - cd ~/src
 - git clone https://github.com/pjreddie/darknet.git
 - cd ~/src/darknet
 - Makefileの該当行を以下に変更
- GPU=1
 - CUDNN=1
 - OPENCV=1
 - ARCH= -gencode arch=compute_72,code=[sm_72,compute_72]
 
 - make -j 8
 
- Yoloのウェイトのダウンロードと実行
- cd ~/src/darknet
 - 学習済みのウェイト(パラメータ)ファイルをダウンロード
 - サンプルの実行
- ./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
 
 
 - 実行方法(Tensorコア対応版と同じ)
- ノートPC内蔵カメラ
- ./darknet detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights
 
 - 動画ファイル
- Webm形式の動画ファイルは問題なく動作する。
 - ./darknet detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights <video file>
 
 
 - ノートPC内蔵カメラ
 
3. Tensorコア非対応版及びTX2との比較
- Jetson TX2と比較するために以下のサイトで紹介しているYouTubeビデオを~/src/darknetにダウンロードする。ファイル名をtraffic.mp4とする。
 - 実行方法
- Jetsonの高速化
- $ sudo nvpmodel -m 0
 - $ sudo ~/jetson_clocks.sh
 
 - Tensorコア対応版の実行
- $ cd ~/src/darknet_tensor
 - ウェイトのダウンロード
- $ wget https://pjreddie.com/media/files/yolov3.weigths
 
 - $ ./darknet detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights traffic.mp4
 
 - Tensorコア比対応版の実行
- $ cd ~/src/darknet
 - ウェイトのダウンロード
- $ wget https://pjreddie.com/media/files/yolov3.weigths
 
 - $ ./darknet detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights traffic.mp4
 
 
 - Jetsonの高速化
 - 推論結果
- JK Jung’s blogではTX2を使い3.0~3.3 fpsぐらいの処理速度ということですが、私が所有しているTX2では0.8~1.0 fps程度しか出ません。なお、SDカードからブートしています。yolob3.cfgのパラメータはTest時のデフォルト値で以下のように設定しています。その他は変更していません。
- batch=1
 - subdivisions=1
 
 
 - JK Jung’s blogではTX2を使い3.0~3.3 fpsぐらいの処理速度ということですが、私が所有しているTX2では0.8~1.0 fps程度しか出ません。なお、SDカードからブートしています。yolob3.cfgのパラメータはTest時のデフォルト値で以下のように設定しています。その他は変更していません。
 
| Yolo V3 on Jetson | 速度 [fps] | 
| TX2 | 0.8~1.0 (3.0 ~ 3.3) | 
| Xavier | 4.6 ~ 4.8 | 
| Xavier Tensorコア対応 | 16.2~16.5 | 
終わり
  
  
  
  

コメント