Jetson TX2にインストールしたDarknetとtrt-yolo-appを用いて、YOLOv3とTiny YOLOv3の推論ベンチマークを実施してみました。
今回のベンチマークの目的は、YOLOv3のネイティブプラットフォームであるDarknetと、TensorRTを用いたtrt-yolo-appの精度の違い(FP32とFP16)による比較を行うことです。
下の表は、今回のベンチマークの対象を示しています。
YOLOv3 (YOLOv3-416) | Tiny YOLOv3 (YOLOv3-tiny) |
---|---|
Darknet (FP32) | Darknet (FP32) |
trt-yolo-app (FP32) | trt-yolo-app (FP32) |
trt-yolo-app (FP16) | trt-yolo-app (FP16) |
YOLOv3 推論ベンチマーク結果
下の図は、YOLOv3とTiny YOLOv3のFPSを示しています。

YOLOv3 Inference Performance on Jetson TX2 – FPS
下の図は、Darknet (FP32)を基準としたtrt-yolo-app (FP32/FP16)の速度向上を示しています。

YOLOv3 Inference Performance on Jetson TX2 – Speedup
Darknet (FP32)を基準としたtrt-yolo-app (FP32)の速度向上は、およそ1.3倍となるようです。また、Darknet (FP32)を基準としたtrt-yolo-app (FP16)の速度向上は、およそ1.7倍となるようです。
ベンチマーク条件
trt-yolo-appを用いたTiny YOLOv3のベンチマークに関する手順が、Deep Learning Inference Benchmarking Instructions – NVIDIA Developer Forums に含まれており、この手順を参照してベンチマークを実施しています。
具体的には、大きさが異なる5枚の画像をそれぞれ100回(計500回)推論したときの平均推論時間を算出し、FPSに換算しています。
なお、上記の手順に対応したJetson TX2のディープラーニング推論ベンチマークの結果については、以下の記事をご覧ください。
Jetson TX2の条件
Jetson TX2には、JetPack 4.2(TensorRT 5.0.6)をインストールしています。
また、以下のコマンドで最大電力・最高周波数に設定して、ベンチマークを実施しています。
$ sudo nvpmodel -m 0 $ sudo jetson_clocks
Darknet YOLOv3
Darknet YOLOv3の環境構築については、以下の記事をご覧ください。
trt-yolo-app
trt-yolo-appの環境構築については、以下の記事をご覧ください。
まとめ
Jetson TX2にインストールしたDarknetとtrt-yolo-appを用いて、YOLOv3とTiny YOLOv3の推論ベンチマークを実施してみました。
今回のベンチマークから、Darknetと同じ精度であるFP32でも、trt-yolo-appにおける速度向上が確認できました。また、trt-yolo-appの精度をFP16に変更することによる速度向上も確認できました。
前回の記事において、Darknetとtrt-yolo-appでは異なる推論結果が得られる場合もあることから、速度以外の性能についても、比較を行うことが望ましいと思います。