Armadillo-IoT G4のNPUを使用してベンチマークを実行した結果を以下に記載します。
測定したTFLiteモデル
- mobilenet_v2_1.0_244_quant(224×224)
- mobilenet_v3(224×224)
- inception_v4_quant(299×299)
- resnet_v2_50(224×224)
mobilenet_v3、resnet_v2_50はTensorFlow形式のモデルから、int8に量子化を行い、TFLite形式に変換しました。
測定項目
- Init: モデルのロード、パラメータの初期化、テンソルの初期化にかかった時間
- Warmup: 最初の推論にかかった時間
- inference: 2回目以降の推論にかかった時間
推論にかかった時間は、モデルの実行を繰り返し、1秒以上か50回以上に到達するまでにかかった時間の平均を取ったものになります。
測定結果
モデル名 | Init[ms] | Warmup[ms] | inference[ms] |
---|---|---|---|
mobilenet_v2_1.0_244_quant | 7.2 | 7219.0 | 3.0 |
mobilenet_v3 | 10.2 | 19836.0 | 12.6 |
inception_v4_quant | 18.8 | 50992.7 | 33.1 |
resnet_v2_50 | 12.1 | 47561.7 | 5.7 |
キャッシュを使用した場合
warmupにNPUのキャッシュを使用することができるため、キャッシュを使用した場合、使用しなかった場合のwarmupにかかった時間を以下に記載します。
モデル名 | Warmup[ms] キャッシュ無 | Warmup[ms] キャッシュ有 |
---|---|---|
mobilenet_v2_1.0_244_quant | 7219.0 | 6.6 |
mobilenet_v3 | 19836.0 | 45.6 |
inception_v4_quant | 50992.7 | 2779.6 |
resnet_v2_50 | 47561.7 | 1541.6 |