目的
Edge TPUの September 2019 Updates で公開された DeepLab v3 modelのベンチマークを行う。
動機
前回のブログでは、DeepLabのTF-Lite, Edge TPU Modelについて、tflite::Interpreter::SetNumThreadsを変えることによって推論時間がどの程度変化する計測した。
今回、Edge TPUの September 2019 Updates でDeepLab v3 modelが公開されたことと、Edge TPU Compilerがアップデートされ、DeepLab v3 Edge TPU modelでCPU側にオフロードされるOpeが少なくなったことから、再度ベンチマークを行ってどの程度、推論時間が早くなっているのかを確認した。
おおお!— nb.o (@Nextremer_nb_o) October 5, 2019
ついにEdge TPUのpre-compiled modelsにDeepLab v3のモデルがこうかいされているぞ!
・MobileNet v2 DeepLab v3 (0.5 depth multiplier)
・MobileNet v2 DeepLab v3 (1.0 depth multiplier)
Dataset: PASCAL VOC 2012https://t.co/kgRmkrsvl5
Edge TPU Compiler version 2.0.267685300でDeepLab v3 model(リンク先)をコンパイルすると公開されているモデルと同じTensorsになった。前回(2019.7)のCompilerから改善されている。— nb.o (@Nextremer_nb_o) October 5, 2019
CPUにオフロードされるOpeも減っているぞ!これ、早くなっているんじゃないかな!?https://t.co/hlO1YR2a1L pic.twitter.com/xI3D1b9ih4
まとめ
- Edge TPU Compilerのアップデートによって、推論時間が短縮していることが確認できた。とてもすばらしい!
- 前回、効果が確認できた「TFlite interpreterのスレッド数を増やすこと」の効果が小さくなった。これは、CPU側にオフロードされるOpeが少なくなったためである。
- TF-Lite modelについては、Jetson NanoについてTensorFlow2.0で確認したが前回同じ結果であった。ただ、masterブランチにはARM32の最適化が入っていてRaspberry Piでどうなるか?確認したいところ。
ベンチマーク方法
各種バージョン情報
- Edge TPU Compiler: 2.0.267685300
- Edge TPU Runtime: 2.12.1
- TensorFlow: v2.0.0
前回とのモデルの比較
前回モデルをコンパイルしたときのログから比較してみる(画像しか残っていない...)。
前回(version 2.0.258810407)では、以下のOpeがCPU側にオフロードされいる。
- ADD: 2個
- AVERAGE_POOL_2D: 1個
- CONCATENATION: 1個
- CONV_2D: 9個
- DEPTHWISE_CONV_2D: 3個
- RESIZE_BILINEAR: 3個
- ARG_MAX: 1個
今回(version 2.0.267685300)では、CPUにオフロードされている個数がかなり減っていることが確認できる。
- CONCATENATION: 1個
- CONV_2D: 2個
- RESIZE_BILINEAR: 3個
- ARG_MAX: 1個
特にADD、AVERAGE_POOL_2D、DEPTHWISE_CONV_2DのOpeはすべてEdge TPU側で実行されるようになった。
Edge TPU Compiler 2.0.258810407でDeeplab v3をコンパイル |
Edge TPU Compiler 2.0.267685300でDeeplab v3をコンパイル |
ベンチマーク結果
DeepLab v3のEdge TPU Modelとデバイスごとの推論時間(単位:ms)
SetNumThreadsの効果は多少はあるが、ほとんどかわらないことが分かる。
depth multiplier=0.5と1.0を比べるとほとんど差がなくなっている。
(TF-Lite modelについては、前回と変化ないため割愛)
前回との比較をしてみる。
特にdepth multiplier=1.0(グラフの右)の改善の効果が大きい。
前回のモデルとの推論時間の比較(ラズパイ+USB Accelerator) |
前回のモデルとの推論時間の比較(Jetson Nano+USB Accelerator) |
その他
- Edge TPU Compilerがアップデートされたということは、他のモデルも推論時間の改善があると思われる。要確認。
0 件のコメント:
コメントを投稿