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ビットあるいはそれ以下)を紹介する。


ここから先は

1,425字
文章やサンプルコードは多少荒削りかもしれませんが、ブログや書籍にはまだ書いていないことを日々大量に載せています。たったの400円で、すぐに購読解除してもその月は過去記事もさかのぼって読めるので、少しでも気になる内容がある方にはオトクかと思います。

技術的なメモやサンプルコード、思いついたアイデア、考えたこと、お金の話等々、頭をよぎった諸々を気軽に垂れ流しています。

最後まで読んでいただきありがとうございます!もし参考になる部分があれば、スキを押していただけると励みになります。 Twitterもフォローしていただけたら嬉しいです。 https://twitter.com/shu223/