Jetson Xavier: Tensorコア対応Yolo V3 インストールメモ

 

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>

 

2. Darknet(Tensorコア非対応)のインストール

  • Yoloのウェイトのダウンロードと実行
  • 実行方法(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>

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
  • 推論結果
    • JK Jung’s blogではTX2を使い3.0~3.3 fpsぐらいの処理速度ということですが、私が所有しているTX2では0.8~1.0 fps程度しか出ません。なお、SDカードからブートしています。yolob3.cfgのパラメータはTest時のデフォルト値で以下のように設定しています。その他は変更していません。
      • batch=1
      • subdivisions=1
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

 

 

終わり

コメント

タイトルとURLをコピーしました