Ambarella создает SoC компьютерного зрения (систему на чипах) на основе очень эффективной архитектуры микросхем ИИ и CVflow, которая обеспечивает обработку Deep Neural Network (DNN), необходимую для таких сценариев использования, как интеллектуальный домашний мониторинг и интеллектуальные камеры наблюдения. Разработчики преобразуют модели, обученные с помощью фреймворков (таких как TensorFlow или MXNET), в формат Ambarella CVflow, чтобы иметь возможность запускать эти модели на периферийных устройствах. Amazon SageMaker Edge интегрировала набор инструментов Ambarella в свой рабочий процесс, что позволяет легко преобразовывать и оптимизировать модели для платформы.
В этом посте мы покажем, как настроить оптимизацию и преобразование модели с помощью SageMaker Edge, добавить модель в ваше периферийное приложение, а также развернуть и протестировать новую модель на устройстве Ambarella CV25 для создания приложения интеллектуальной камеры наблюдения, работающего на периферии.
Пример использования смарт-камеры
Интеллектуальные камеры безопасности имеют функции машинного обучения (ML) для конкретных случаев, такие как обнаружение транспортных средств и животных или выявление возможного подозрительного поведения, парковки или нарушений зоны. Эти сценарии требуют, чтобы модели машинного обучения работали на периферийном вычислительном блоке в камере с максимально возможной производительностью.
Процессоры Ambarella CVx, основанные на собственной архитектуре CVflow, обеспечивают высокую производительность логического вывода DNN при очень низком энергопотреблении. Такое сочетание высокой производительности и низкого энергопотребления делает их идеальными для устройств, которым требуются интеллектуальные функции на периферии. Модели машинного обучения необходимо оптимизировать и скомпилировать, чтобы целевая платформа могла работать на периферии. SageMaker Edge играет ключевую роль в оптимизации и преобразовании моделей машинного обучения в наиболее популярные платформы, чтобы их можно было запускать на периферийных устройствах.
Обзор решения
Наше решение для интеллектуальных камер видеонаблюдения реализует оптимизацию модели машинного обучения и конфигурацию компиляции, работу во время выполнения, тестирование логических выводов и оценку на пограничном устройстве. SageMaker Edge обеспечивает оптимизацию и преобразование модели для периферийных устройств, чтобы они работали быстрее без потери точности. Модель машинного обучения может быть в любой среде, которую поддерживает SageMaker Edge. Для получения дополнительной информации см. Поддерживаемые платформы, устройства, системы и архитектуры.
Интеграция SageMaker Edge с инструментами Ambarella CVflow предоставляет дополнительные преимущества разработчикам, использующим SoC Ambarella:
- Разработчикам не нужно заниматься обновлениями и обслуживанием набора инструментов компилятора, поскольку набор инструментов интегрирован и непрозрачен для пользователя.
- Слои, которые не поддерживает CVflow, автоматически компилируются для запуска на ARM компилятором SageMaker Edge.
Следующая диаграмма иллюстрирует архитектуру решения:
Шаги по реализации решения следующие:
- Подготовьте пакет модели.
- Настройте и запустите задание компиляции модели для Ambarella CV25.
- Поместите упакованные артефакты модели на устройство.
- Проверьте вывод на устройстве.
Подготовьте пакет модели
Для целей Ambarella для SageMaker Edge требуется пакет модели, который содержит файл конфигурации модели с именем amba_config.json
, калибровочные изображения и файл обученной модели машинного обучения. Этот файл пакета модели представляет собой сжатый файл TAR (*.tar.gz). Вы можете использовать Амазонка Мудрец ноутбука для обучения и тестирования моделей машинного обучения, а также для подготовки файла пакета модели. Чтобы создать экземпляр записной книжки, выполните следующие действия:
- На консоли SageMaker в ноутбук на панели навигации выберите Экземпляры ноутбуков.
- Выберите Создать блокнот.
- Введите имя для вашего экземпляра и выберите мл.т2.средняя как тип экземпляра.
Этого экземпляра достаточно для тестирования и подготовки модели.
- Что касается Роль IAM, создать новый Управление идентификацией и доступом AWS (IAM), чтобы разрешить доступ к Простой сервис хранения Amazon (Amazon S3) или выберите существующую роль.
- Оставьте другие конфигурации по умолчанию и выберите Создать блокнот.
Когда статус InService
, вы можете начать использовать свой новый экземпляр блокнота Sagemaker.
- Выберите Откройте JupyterLab для доступа к вашему рабочему пространству.
В этом посте мы используем предварительно обученную модель TFLite для компиляции и развертывания на пограничном устройстве. Выбранная модель представляет собой предварительно обученную модель обнаружения объектов SSD из зоопарка моделей TensorFlow в наборе данных COCO.
- Скачать преобразованная модель TFLite.
Теперь вы готовы загрузить, протестировать и подготовить пакет модели.
- Создайте новый блокнот с ядром
conda_tensorflow2_p36
на панели запуска. - Импортируйте необходимые библиотеки следующим образом:
- Сохраните следующий пример изображения как
street-frame.jpg
, создайте папку с именем calib_img в папке рабочей области и загрузите изображение в текущую папку. - Загрузите содержимое загруженного пакета модели в текущую папку.
- Выполните следующую команду, чтобы загрузить предварительно обученную модель TFLite и распечатать ее параметры, которые нам нужны для настройки нашей модели для компиляции:
- Используйте следующий код, чтобы загрузить тестовое изображение и выполнить вывод:
- Используйте следующий код, чтобы визуализировать обнаруженные ограничивающие рамки на изображении и сохранить полученное изображение как
street-frame_results.jpg
: - Используйте следующую команду, чтобы показать изображение результата:
Вы получите результат вывода, подобный следующему изображению.
Наша предварительно обученная модель TFLite обнаруживает объект автомобиля из кадра камеры видеонаблюдения.
Мы закончили тестирование модели; Теперь давайте упакуем модель и файлы конфигурации, которые требуются Amazon Sagemaker Neo для целей Ambarella.
- Создайте пустой текстовый файл с именем
amba_config.json
и используйте для него следующий контент:
Этот файл является файлом конфигурации компиляции для Ambarella CV25. filepath
ценность внутри amba_config.json
должен соответствовать calib_img
имя папки; несоответствие может привести к сбою.
Содержимое пакета модели готово.
- Используйте следующие команды, чтобы сжать пакет в файл .tar.gz:
- Загрузите файл в автоматически созданную SageMaker корзину S3 для использования в задании компиляции (или в указанную вами корзину S3):
Файл пакета модели содержит калибровочные изображения, файл конфигурации компиляции и файлы модели. После загрузки файла в Amazon S3 вы готовы начать компиляцию.
Скомпилируйте модель для Ambarella CV25.
Для запуска задания компиляции выполните следующие шаги:
- На консоли SageMaker в вывод на панели навигации выберите Работа по компиляции.
- Выберите Создать задание компиляции.
- Что касается Название работывведите имя.
- Что касается Роль IAM, создайте роль или выберите существующую роль, чтобы предоставить Amazon S3 разрешение на чтение и запись файлов моделей.
- В Конфигурация входа раздел, для Расположение артефактов модели, введите путь S3 к загруженному файлу пакета модели.
- Что касается Конфигурация ввода данных, войти
{"normalized_input_image_tensor":[1, 300, 300, 3]}
, который является формой входных данных модели, полученной на предыдущих шагах. - Что касается Фреймворк машинного обучения, выберите TFLite.
- В Конфигурация выхода раздел, для Целевое устройство, выберите свое устройство (
amba_cv25
). - Что касается S3 Расположение выхода, введите папку в корзине S3 для сохранения скомпилированной модели.
- Выберите Отправить чтобы начать процесс компиляции.
Время компиляции зависит от размера вашей модели и архитектуры. Когда ваша скомпилированная модель будет готова в Amazon S3, Статус: столбец отображается как COMPLETED
.
Если статус компиляции показывает FAILED
, Ссылаться на Устранение ошибок Ambarella для отладки ошибок компиляции.
Поместите артефакты модели на устройство
Когда задание компиляции завершено, Neo сохраняет скомпилированный пакет в указанном месте вывода в корзине S3. Скомпилированный файл пакета модели содержит преобразованные и оптимизированные файлы модели, их конфигурацию и файлы времени выполнения.
В консоли Amazon S3 загрузите скомпилированный пакет модели, а затем извлеките и перенесите артефакты модели на свое устройство, чтобы начать использовать его с приложением для вывода периферийного машинного обучения.
Проверка вывода машинного обучения на устройстве
Перейдите к терминалу вашего устройства Ambarella и запустите двоичный файл приложения для логического вывода на устройстве. Скомпилированная и оптимизированная модель машинного обучения запускается для указанного источника видео. Вы можете наблюдать обнаруженные ограничивающие рамки в выходном потоке, как показано на следующем снимке экрана.
Заключение
В этом посте мы выполнили подготовку модели машинного обучения и преобразование ее в цели Ambarella с помощью SageMaker Edge, который интегрировал цепочку инструментов Ambarella. Оптимизация и развертывание высокопроизводительных моделей машинного обучения на маломощных периферийных устройствах Ambarella открывает доступ к интеллектуальным периферийным решениям, таким как интеллектуальные камеры безопасности.
В качестве следующего шага вы можете начать работу с SageMaker Edge и Ambarella CV25, чтобы включить машинное обучение для периферийных устройств. Вы можете расширить этот вариант использования с помощью функций разработки Sagemaker ML, чтобы создать сквозной конвейер, включающий пограничную обработку и развертывание.
Об авторах
Эмир Аяр — ведущий архитектор Edge Prototyping в команде AWS Prototyping. Он специализируется на оказании помощи клиентам в создании решений IoT, Edge AI и Industry 4.0, а также на внедрении лучших архитектурных практик. Он живет в Люксембурге и любит играть на синтезаторах.
Динеш Баласубраманиам отвечает за маркетинг и поддержку клиентов семейства систем на кристалле безопасности Ambarella, обладая опытом в области системной инженерии, разработки программного обеспечения, сжатия видео и дизайна продуктов. Динеш Он получил степень магистра электроэнергетики в Техасском университете в Далласе, специализируясь на обработке сигналов.
- Коинсмарт. Лучшая в Европе биржа биткойнов и криптовалют.
- Платоблокчейн. Интеллект метавселенной Web3. Расширение знаний. БЕСПЛАТНЫЙ ДОСТУП.
- КриптоХок. Альткоин Радар. Бесплатная пробная версия.
- Источник: https://aws.amazon.com/blogs/machine-learning/ml-inferencing-at-the-edge-with-amazon-sagemaker-edge-and-ambarella-cv25/
- "
- 100
- 7
- доступ
- дополнительный
- Преимущества
- AI
- Позволяющий
- Amazon
- животные
- приложение
- Применение
- архитектурный
- архитектура
- ARM
- AWS
- Базовая линия
- ЛУЧШЕЕ
- лучшие практики
- строить
- строит
- камеры
- Может получить
- автомобиль
- случаев
- Вызывать
- чип
- чипсы
- код
- Column
- сочетание
- Компании
- вычисление
- Конфигурация
- Консоли
- содержит
- содержание
- содержание
- Конверсия
- Текущий
- служба поддержки
- Клиенты
- Dallas
- данным
- сделка
- развертывание
- развертывание
- развертывание
- Проект
- обнаруженный
- обнаружение
- застройщиков
- Развитие
- устройство
- Устройства
- не
- легко
- Edge
- краевые вычисления
- Проект и
- пример
- опыта
- продлить
- Ошибка
- семья
- быстрее
- Особенности
- Фокус
- после
- формат
- Рамки
- высота
- High
- Главная
- Как
- How To
- HTTPS
- Личность
- изображение
- осуществлять
- индекс
- промышленность
- информация
- интегрированный
- интеграции.
- Интеллекта
- Умный
- КАТО
- IT
- работа
- Основные
- Этикетки
- вести
- изучение
- линия
- загрузка
- расположение
- Люксембург
- машина
- обучение с помощью машины
- Маркетинг
- Совпадение
- ML
- модель
- Модели
- Мониторинг
- самых
- Самые популярные
- MS
- Навигация
- NEO
- сеть
- ноутбук
- Другое
- parking
- производительность
- Платформа
- Популярное
- возможное
- мощностью
- процесс
- Продукт
- ( изучите наши патенты),
- макетирования
- обеспечивать
- приводит
- целей
- требовать
- обязательный
- ответственный
- Run
- Бег
- безопасность
- набор
- просто
- Размер
- умный
- Software
- разработка программного обеспечения
- Решения
- специализируется
- Начало
- и политические лидеры
- Статус:
- диск
- поток
- поддержка
- Поддержка
- наблюдение
- система
- системы
- цель
- команда
- Терминал
- тестXNUMX
- Тестирование
- Техас
- время
- инструменты
- Университет
- отпирает
- Updates
- использование
- ценностное
- Транспорт
- Видео
- Вид
- видение
- W