Caffe2

Сегодня утром пока просыпался прочитал странные заголовки про Caffe2. Помедитировал над парочкой статей с маркетинговым булшитом – и пошёл разбираться что же это всё-таки такое на самом деле. Всё же 90% текущих проектов именно на Caffe. Надо быть в курсе всё же.

Continue reading “Caffe2”

Промежуточный итог: Заворачиваем и запускаем

При работе с системами машинного зрения я всегда говорю заказчикам, что в первую очередь нужно сделать минимально рабочий прототип. Так и с кормушкой. Первичная моя цель – это не сделать как можно более хорошую систему, с максимальной точностью,  а запустить чтобы работало. Более менее стабильно.
И уже после этого набирать статистику, лечить баги, и.т.д. Прототип готов, работает, висит на окне и шлёт мне сообщения про каждую птичку, которая прилетает в кормушку.
А теперь чуть подробнее что я докрутил:)

Continue reading “Промежуточный итог: Заворачиваем и запускаем”

Когда машинное обучение сталкивается с реальностью

Когда я говорю, что машинное обучение в конкурсах и в реальности – это две не имеющих отношения друг к другу вещи – на меня смотрят как на психа.
Задачи на машинное обучение на конкурсах – вопрос оптимизации сеток и поиска лазеек. В редком случае – создания новой архитектуры.

2
Задачи машинного обучения в реальности – вопрос создания базы. Набора, разметки, автоматизации дальнейшего переобучения.
Задача с кормушкой мне понравилась во многом из-за этого. Она с одной стороны очень простая – делается практически мгновенно. А с другой стороны – очень показательная. 90% задач тут – это не имеющая отношения к конкурсам тягомотина.

Continue reading “Когда машинное обучение сталкивается с реальностью”

Запуск Caffe на RPi + SqueezeNet

Продолжение идеи про кормушку для синичек.

1

Фабула прошлой части: за окном стоит прозрачная кормушка. На неё смотрит камера, подключённая к Raspberri Pi. Хочу автоматическую съёмку птичек с распознаванием + с анализом того сколько. Плюс хочу чтобы кадры сохраняло, а лучшие –  мне выкладывало куда-нибудь.

Установка Caffe и разметка базы птичек внезапно прошла ударными темпами. Плюс начитал много интересной инфы. Так что решил разбить пост на две части. В текущем посте – установка Caffe на RPi + рассказы про забавную сеточку SqueezeNet. В следующем посте (будет завтра-послезавтра) – разметка базы, обучение, оптимизация архитектуры сети/сетей.

Continue reading “Запуск Caffe на RPi + SqueezeNet”

NVIDIA DIGITS

В ближайший месяцок попробую опубликовать на хабре несколько статей по DIGITS. По-моему это именно то направление куда должны двигаться все нейронные сети. “Я не хочу прогать, я хочу чтобы всё работало!”. Конечно, там пока нет многого функционала. Пока что многие трюки делать нельзя. Но уже 90% рутины, связанной с сетями фреймворк берёт на себя без единой строчки кода. Пользователю доступен набор менюшек, в которых он должен выбрать что как и зачем будет распознаваться:

Есть десятки способов загрузки данных, разные способы выгрузки-обработки-тестирования. Шик. При этом есть далеко нетривиальные решения: свёрточные сети для поиска большого числа однотипных объектов.

Библиотека dlib

Есть одна замечательная библиотека, которая известна куда менее, чем OpenCV, но несущая в себе ряд замечательных функций + на полной OpenSource лицензии. Это Dlib. Библиотека включает в себя много чего, например: несколько реализаций SVM, несколько реализаций нейронных сетей, подборку функций матричной геометрии, подборку алгоритмов градиентного спуска, SURF|HOG.

Continue reading “Библиотека dlib”