Как уменьшить Core ML Model для приложения iOS?

У меня есть модель, почти 500 МБ, которую клиент хочет внедрить в свое приложение iOS. КАК В МИРЕ реализована модель, подобная этой, с ее размером? Кажется, это довольно популярная модель, но нигде нет документации или публикаций о людях, реально использующих модель в мобильном приложении. Есть ли такая вещь, как размещение модели где-то и указание клиента на сервер, на котором размещена модель? Есть варианты для сжатия модели? Хотелось бы услышать, что вы сделали, чтобы решить эту проблему.

Модель находится здесь: https://coreml.store/cnnemotions

1 ответ

Решение

Люди, проводящие академические исследования в области глубокого обучения / компьютерного зрения, часто используют VGG16 или VGG19 в качестве базовой модели, потому что это просто и хорошо работает. К сожалению, он также имеет более 100 миллионов параметров, что делает его непригодным для использования на мобильных устройствах.

Решение здесь состоит в том, чтобы реструктурировать модель с использованием меньшего экстрактора функций, такого как MobileNet или SqueezeNet, и обучить его снова. Теперь вы получите гораздо меньшую модель, от 10 до 20 МБ.

Это означает, что вы не можете просто взять модели из Интернета и конвертировать их в Core ML и ожидать, что они будут работать хорошо. Это требует немного больше работы, чем это!

Другие вопросы по тегам