Евгений Мамченко

+13
с 2020
1 подписчик
29 подписок

Похожие функции (тренировка моделей для классификации картинок без кода), а также множество других есть на Mac в приложении Create ML (https://developer.apple.com/machine-learning/create-ml/).

Pocket AutoML сделано на Xamarin и технически есть возможность портировать его на iOS, однако это потребует приличное количество времени. Мне кажется, будет смысл его тратить, если будет видно, что приложение востребовано под Android.

Windows 11 собирается поддерживать Android приложения, тут всё должно быть проще, постараюсь добиться чтобы там всё заработало.

А какой платформы не хватает Вам?

Сделал бенчмарк на датасете из 4267 картинок и с 5 классами (виды цветов): https://www.kaggle.com/sourcerer/flowers-recognition-4267-train-50-test-split. Тестовая выборка 50 картинок (10 для каждого класса).

Lobe (Intel® Core™ i7-7700HQ): время тренировки около 35 минут, точность на тестовой выборке 80%.

Pocket AutoML (Honor 10): время тренировки менее 7 минут, точность на тестовой выборке 76%. Заряд батареи уменьшился на 6%.

В процессе измерения скорости обнаружилось несколько проблем со скоростью тренировки, которые были исправлены в версии Pocket AutoML 1.3.6, результаты выше это уже с этими исправлениями.

1

Спасибо! Дело в том, что Lobe использует не видеокарту, а процессор для тренировки, что ее замедляет и делает менее энергоэффективной. Кроме того, перетренировывается по-видимому вся нейросеть, а не только последние слои, что требует больше времени, хотя может дать более точную модель при достаточно большом количестве данных.

Хотя телефоны и не такие быстрыы, как десктопы, в Pocket AutoML видеоускоритель телефона используется через TensorFlow Lite GPU delegate, большая часть нейросети заморожена, что позволяет сильно ускорять тренировку.Чтобы не быть голословным, я в ближайшие дни сделаю бенчмарк по точности и времени тренировки на датасете из нескольких тысяч картинок.

1

Модели для распознавания лиц тренируют обычно не так, как для классификации остальных объектов. Это наш мозг натренирован обращать внимание на небольшие отличия во внешности, а для модели общего назначения все человеки на одно лицо.

Поэтому используют специальные функции потерь, "сиамскую" архитектуру и т.д. 

См. например https://www.coursera.org/lecture/convolutional-neural-networks/what-is-face-recognition-lUBYU

5

Кстати, есть очень похожее приложение под Android, где тоже можно модели без кода тренировать и использовать.
Правда пока без экспорта.
Если кто хочет попробовать, ищите в Google Play по названию Pocket AutoML.
Дисклеймер: я автор приложения.
Понравилось как они сделали "пулемётный" режим добавления картинок, тренировку модели в фоне и предсказания в реальном времени. Эти фичи надо красть, однозачно :)

4