CoreMLって速いの? PytorchMobileと推論時間を比較する


比べてみました

CoreMLに変換できないモデルもiOSで実行したい

Pytorchで書かれたモデルには、CoreMLToolが対応していないオペレーションがあって、CoreMLに変換するのが難しいものもあると思います。
そんな時、TorchScriptをiOSで実行することで、iOSでモデルを動かせたりします。

CoreMLはニューラルエンジンが使えたり、デバイスに最適化されているようですが、実行速度はどれくらい違うのでしょうか?

Yolov5で比較

PytorchMobileはこちらを使用

CoreMLはこちらを使用

画像は記事の最初の画像です。
入力画像のリサイズから、NMS処理までの時間を計測しました。

結果

torch:
0.91秒

coreml:
0.23秒

やはり速いCoreML。
ただし、CoreMLは初期化に数秒かかりますが、torchScriptはほとんどかかりません。
また、torchも1秒以下で推論はできています。
処理速度がシビアに要求されないケースでは、CoreML変換が難しいモデルをtorchMobileで実行するのは選択肢になり得るのではないでしょうか。

🐣


フリーランスエンジニアです。
お仕事のご相談こちらまで
[email protected]

Core MLやARKitを使ったアプリを作っています。
機械学習/AR関連の情報を発信しています。

Twitter
Medium