Apache MXNet - это библиотека с открытым исходным кодом, помогающая разработчикам создавать, обучать и запускать модели глубокого обучения. В предыдущих статьях я познакомил вас с его API и его основными функциями.
В этой статье я остановлюсь на 10 проектах с открытым исходным кодом, применяющих MXNet в различных сценариях использования:
- Развертывание с использованием контейнеров Docker или лямбда-функций,
- Распознавание и обнаружение лиц,
- Обнаружение и классификация объектов,
- Оптическое распознавание символов,
- Машинный перевод.
Считаете ли вы, что ваш проект должен быть в этом списке?
Связаться :)
Развертывание
До сих пор мы запускали наш код MXNet на инстансах Amazon EC2, как и любое другое приложение Python. Как вы, возможно, знаете, существуют альтернативные способы запуска кода на AWS, и они, очевидно, могут быть применены к MXNet.
# 1 - Непрерывная доставка API MXNet с использованием Code * и Amazon ECS
Используя шаблон CloudFormation, этот проект создаст автоматизированный рабочий процесс, который будет обеспечивать, настраивать и управлять конвейером, запускающим развертывание любых изменений в вашей модели MXNet или коде приложения. Вы организуете все изменения в конвейере развертывания для достижения непрерывной доставки с помощью CodePipeline и CodeBuild. Вы можете развернуть новые API-интерфейсы MXNet и сделать их доступными для пользователей всего за несколько минут, а не дней или недель.
Дополнительная информация в сопутствующем сообщении блога:
# 2 - Развертывание MXNet в лямбда-функции
Это эталонное приложение, которое прогнозирует метки вместе с их вероятностями для образа с использованием предварительно обученной модели с Apache MXNet, развернутой на AWS Lambda. Предоставляются шаблон Бессерверная модель приложения (SAM) и инструкции для автоматизации создания конечной точки API.
Вы можете использовать этот пакет и его предварительно скомпилированные библиотеки для создания конвейера прогнозирования на AWS Lambda с MXNet. Дополнительные модели можно найти в Модельном зоопарке.
Дополнительная информация в сопутствующем сообщении блога:
Распознавание лица
# 3 - Распознавание лиц
Этот проект выполняет обнаружение лиц и ориентиров.
Он основан на следующей исследовательской статье:
К. Чжан, З. Чжан, З. Ли и Ю. Цяо Джойнт: Обнаружение и выравнивание лиц с использованием многозадачных каскадных сверточных сетей.
# 4 - Идентификация лица и определение черт лица
Этот проект предоставляет возможности, сопоставимые с Amazon Rekognition. Если вам нужна дополнительная гибкость и вы готовы глубоко нырнуть, это может стать хорошей отправной точкой.
Он основан на следующих исследовательских статьях:
- Wu X, He R, Sun Z. Облегченный CNN для репрезентации глубокого лица
- Радд Э., Гюнтер М., Боулт Т. МУН: Сеть оптимизации со смешанными целями для распознавания черт лица
- Цзян Х., Леннед-Миллер Э. Обнаружение лиц с помощью более быстрого R-CNN
Обнаружение объекта
# 5 - Детектор одиночного выстрела
Этот проект позволяет обнаруживать и классифицировать несколько объектов на одном изображении. Это повторная реализация оригинального проекта Caffe.
В его основе лежит следующая исследовательская статья:
Вэй Лю, Драгомир Ангуелов, Думитру Эрхан, Кристиан Сегеди, Скотт Рид, Ченг-Ян Фу, Александр С. Берг: Single Shot MultiBox DetectorSSD
# 6 - Более быстрый детектор одиночного выстрела
Этот проект усовершенствован по сравнению с предыдущим за счет использования возможностей MXNet с несколькими графическими процессорами для ускорения обучения и вывода.
Он основан на следующих исследовательских работах:
- Росс Гиршик: Fast R-CNN
- Шаоцин Рен, Каймин Хе, Росс Гиршик и Цзянь Сан: Быстрее R-CNN: на пути к обнаружению объектов в реальном времени с помощью сетей региональных предложений
# 7 # 8 - Обнаружение объектов на смартфонах
Эти проекты-близнецы используют предварительно обученную модель Inception для обнаружения объектов на iOS и Android.
Оптическое распознавание символов
# 9 - Чтение номерных знаков
Этот проект выполняет распознавание автомобильных номеров со скоростью 9 изображений в секунду на Mac Book Pro с точностью 81%. Приложив немного усилий, это наверняка можно адаптировать к другим вариантам использования OCR :)
Машинный перевод
# 10 - Нерка
Проект Sockeye - это фреймворк от последовательности к последовательности для нейронного машинного перевода на основе MXNet. Он внимательно реализует архитектуру кодировщика-декодера.
Это вызывает у меня ОЧЕНЬ любопытство. Мне нужно узнать больше;)
На сегодня все. Престижность всем авторам проекта за их увлекательную работу. Я надеюсь, что они вдохновят вас начать работу с Deep Learning и MXNet.
И еще раз большое спасибо за чтение!