EfficientDetのPyTorch版をCore MLモデルに変換する
EfficientDetは「スケーラブルかつ効率的」であることを特長とするObject Detection(物体検出)モデル。2020年に下記論文で発表された:
バックボーンとしてはEfficientNetを使用するとのこと。日本語で読める概要解説としては次の記事がわかりやすかった:
EfficientDetは、従来の最先端の物体検出器と比較して、最大9分の1の小型化を実現し、更に大幅に少ない計算量で最先端の精度を実現します。
仕事でこれをCore MLモデルに変換してiOSで動かす必要があったので、その検討メモ。(実際に変換するEfficientDetモデルは公開されている学習済みモデルではなく、それをベースに独自データセットを用いて転移学習したもの)
変換スクリプト
以前SSDを例にとりCore MLモデルへの変換手順を解説したことがあるが、これがまぁなかなか大変で、コマンド一発とはいかない。モデルの一部を切除したり代替実装を書いたりという作業が必要となる。
最後まで読んでいただきありがとうございます!もし参考になる部分があれば、スキを押していただけると励みになります。 Twitterもフォローしていただけたら嬉しいです。 https://twitter.com/shu223/