Core MLモデルのサイズを小さくする
巷で公開されているCore MLの学習済みモデルをダウンロードしてみると、サイズが100MBとか500MBとかになるものも結構多い。たとえばCore MLが出たばかりの頃にAppleが公式配布していたInceptionv3.mlmodelは94.7MB、VGG16.mlmodelは553.5MBもあった。
これらのサイズがそのままアプリバンドルに乗っかるわけではないが、しかしやはり大きいモデルを入れるとアプリのサイズは大きくなるし、起動時間にも影響する。
Core MLモデルのサイズを小さくする方法はいくつかあるが、手軽に実行できてトレードオフも少ない「重みを半精度(16ビット浮動小数点数)にする」方法と、Core ML 2 (iOS 12, mlmodelのspecification version 3)で利用可能になった「クオンタイズ」(8ビットあるいはそれ以下)を紹介する。
最後まで読んでいただきありがとうございます!もし参考になる部分があれば、スキを押していただけると励みになります。 Twitterもフォローしていただけたら嬉しいです。 https://twitter.com/shu223/