Ви можете використовувати AWS Snowball Edge пристроїв у таких місцях, як круїзні лайнери, нафтові вишки та заводські цехи з обмеженим підключенням до мережі або без нього для широкого спектру програм машинного навчання (ML), таких як спостереження, розпізнавання облич і промислова перевірка. Однак, враховуючи віддалену та відключену природу цих пристроїв, розгортання та керування моделями машинного навчання на периферії часто є складним. с AWS IoT Greengrass та Amazon SageMaker Edge Manager, ви можете виконувати логічний висновок на локально згенерованих даних на пристроях Snowball Edge за допомогою хмарних моделей машинного навчання. Ви не тільки отримуєте вигоду від низької затримки та економії коштів від запуску локального висновку, але також зменшуєте час і зусилля, необхідні для виробництва моделей ML. Ви можете робити все це, постійно відстежуючи та покращуючи якість моделей у своєму парку пристроїв Snowball Edge.
У цій публікації ми розповідаємо про те, як можна використовувати AWS IoT Greengrass версії 2.0 або новішої та Edge Manager для оптимізації, захисту, моніторингу та підтримки простої моделі класифікації TensorFlow для класифікації транспортних контейнерів (connex) і людей.
Приступаючи до роботи
Для початку замовте пристрій Snowball Edge (додаткову інформацію див Створення завдання AWS Snowball Edge). Ви можете замовити пристрій Snowball Edge із AMI, перевіреним AWS IoT Greengrass.
Після того, як ви отримаєте пристрій, ви можете використовувати його AWS OpsHub для Snow Family або Клієнт Snowball Edge щоб розблокувати пристрій. Ви можете почати Обчислювальна хмара Amazon Elastic (Amazon EC2) із встановленою останньою версією AWS IoT Greengrass або використовуйте команди на AWS OpsHub для Snow Family.
Запустіть і встановіть AMI з такими вимогами або надайте посилання на AMI на консолі Snowball перед замовленням, і він буде доставлений з усіма бібліотеками та даними в AMI:
- Фреймворк ML на ваш вибір, наприклад TensorFlow, PyTorch або MXNet
- Docker (якщо ви збираєтеся його використовувати)
- AWS IoT Greengrass
- Будь-які інші бібліотеки, які вам можуть знадобитися
Підготуйте AMI під час замовлення пристрою Snowball Edge на консолі AWS Snow Family. Інструкції див Використання Amazon EC2 Compute Instances. У вас також є можливість оновіть AMI після того, як Snowball буде розгорнуто на вашому краю.
Установіть останню версію AWS IoT Greengrass на Snowball Edge
Щоб установити AWS IoT Greengrass на свій пристрій, виконайте такі дії:
- Установіть останню версію AWS IoT Greengrass на вашому пристрої Snowball Edge. Переконайтесь
dev_tools=True
встановлено матиggv2 cli
Дивіться наступний код:
Ми посилаємося на --thing-name
ви вибрали тут, коли ми налаштовували Edge Manager.
- Виконайте таку команду, щоб перевірити інсталяцію:
- На консолі AWS IoT перевірте успішно зареєстрований пристрій Snowball Edge за допомогою облікового запису AWS IoT Greengrass.
Оптимізуйте моделі ML за допомогою Edge Manager
Ми використовуємо Edge Manger для розгортання та керування моделлю на Snowball Edge.
- Встановіть агент Edge Manager на Snowball Edge за допомогою останньої версії AWS IoT Greengrass.
- Навчіться та зберігайте свою модель ML.
Ви можете навчити свою модель ML, використовуючи будь-який фреймворк на свій вибір, і зберегти її в Служба простого зберігання Amazon (Amazon S3) відро. На наступному знімку екрана ми використовуємо TensorFlow, щоб навчити модель із кількома мітками класифікувати connex і людей на зображенні. Модель, яка тут використовується, зберігається у сегменті S3 шляхом попереднього створення файлу .tar.
Після збереження моделі (у цьому випадку TensorFlow Lite), ви можете розпочати Amazon SageMaker Neo компіляція моделі та оптимізація моделі ML для Snowball Edge Compute (SBE_C
).
- На консолі SageMaker під Висновок на панелі навігації виберіть Компіляційні роботи.
- Вибирати Створити завдання компіляції.
- Дайте своїй роботі назву та створіть або використовуйте наявну роль.
Якщо ви створюєте новий Управління ідентифікацією та доступом AWS (IAM), переконайтеся, що SageMaker має доступ до сегмента, у якому збережено модель.
- У Вхідна конфігурація розділ, для Розташування артефактів моделі, введіть шлях до
model.tar.gz
де ви зберегли файл (у цьому випадку,s3://feidemo/tfconnexmodel/connexmodel.tar.gz
). - для Конфігурація введення даних, введіть вхідний рівень моделі ML (його назву та форму). У цьому випадку це називається
keras_layer_input
і його форма [1,224,224,3], тому ми входимо{“keras_layer_input”:[1,224,224,3]}
.
- для Фреймворк машинного навчаннявиберіть TFLite.
- для Цільовий пристрійвиберіть sbe_c.
- Залишати Параметри компілятора
- для S3 Розташування виходу, введіть те саме місце, де збережено вашу модель, із префіксом (папка)
output
. Наприклад, входимоs3://feidemo/tfconnexmodel/output
.
- Вибирати Надіслати щоб розпочати роботу компіляції.
Тепер ви створюєте пакет розгортання моделі для використання Edge Manager.
- На консолі SageMaker під Edge Managerвиберіть Роботи з упаковки країв.
- Вибирати Створити завдання пакування Edge.
- У Властивості роботи розділ, введіть відомості про роботу.
- У Джерело моделі розділ, для Назва завдання компіляції, введіть назву, яку ви надали для завдання компіляції Neo.
- Вибирати МАЙБУТНІ.
- У Вихідна конфігурація розділ, для URI сегмента S3, введіть, де ви хочете зберегти пакет в Amazon S3.
- для Назва компонента, введіть назву для свого компонента AWS IoT Greengrass.
Цей крок створює компонент моделі AWS IoT Greengrass, де модель завантажується з Amazon S3 і розпаковується в локальне сховище на Snowball Edge.
- Створіть групу пристроїв для керування групою пристроїв, у даному випадку лише одним (SBE).
- для Роль IAM¸ введіть роль, згенеровану AWS IoT Greengrass раніше (–tes-role-name).
Переконайтеся, що він має необхідні дозволи, перейшовши на консоль IAM, знайшовши роль і додавши до нього необхідні політики.
- Зареєструйте пристрій Snowball Edge у створеному вами флоті.
- У Джерело пристрою введіть назву пристрою. Ім’я IoT має збігатися з ім’ям, яке ви використовували раніше — у цьому випадку —thing-name MyGreengrassCore.
Ви можете зареєструвати додаткові пристрої Snowball на консолі SageMaker, щоб додати їх до парку пристроїв, що дає змогу групувати та керувати цими пристроями разом.
Розгортайте моделі ML на Snowball Edge за допомогою AWS IoT Greengrass
У попередніх розділах ви розблокували та налаштували свій пристрій Snowball Edge. Модель ML тепер скомпільовано та оптимізовано для роботи на Snowball Edge. Пакет Edge Manager створюється зі скомпільованою моделлю, а пристрій Snowball реєструється у групі. У цьому розділі ви розглянете кроки, пов’язані з розгортанням моделі ML для виводу на Snowball Edge за допомогою останньої версії AWS IoT Greengrass.
компоненти
AWS IoT Greengrass дозволяє розгортати на периферійних пристроях як комбінацію компонентів і пов’язаних артефактів. Компоненти — це документи JSON, які містять метадані, життєвий цикл, що розгортати, коли та що встановлювати. Компоненти також визначають, яку операційну систему використовувати та які артефакти використовувати під час роботи на різних варіантах ОС.
Артефакти
Артефакти можуть бути файлами коду, моделями або зображеннями контейнерів. Наприклад, можна визначити компонент для встановлення бібліотеки Python pandas і запуску файлу коду, який трансформуватиме дані, або для встановлення бібліотеки TensorFlow і запуску моделі для висновку. Нижче наведено приклади артефактів, необхідних для розгортання програми виводу:
- gRPC proto та заглушки Python (це може відрізнятися залежно від вашої моделі та фреймворку)
- Код Python для завантаження моделі та виконання висновку
Ці два елементи завантажуються в сегмент S3.
Розгорніть компоненти
Для розгортання потрібні такі компоненти:
- Агент Edge Manager (доступний у загальнодоступних компонентах GA)
- Model
- додаток
Виконайте наступні кроки, щоб розгорнути компоненти:
- На консолі AWS IoT під Зелена трававиберіть компонентиі створіть компонент програми.
- Знайдіть компонент агента Edge Manager у загальнодоступному списку компонентів і розгорніть його.
- Розгорніть компонент моделі, створений Edge Manager, який використовується як залежність у компоненті програми.
- Розгорніть компонент програми на крайньому пристрої, перейшовши до списку розгортань AWS IoT Greengrass і створивши нове розгортання.
Якщо у вас є наявне розгортання, ви можете переглянути його, щоб додати компонент програми.
Тепер ви можете протестувати свій компонент.
- У вашому коді передбачення або логічного висновку, розгорнутому з компонентом програми, закодуйте логіку доступу до файлів локально на пристрої Snowball Edge (наприклад, у вхідній папці) і перемістіть передбачення або оброблені файли до обробленої папки.
- Увійдіть на пристрій, щоб перевірити, чи були зроблені передбачення.
- Налаштуйте циклічний запуск коду, перевірку вхідної папки на наявність нових файлів, обробку файлів і переміщення їх до обробленої папки.
На наступному знімку екрана показано приклад налаштування файлів перед розгортанням у Snowball Edge.
Після розгортання всі тестові зображення мають класи інтересу, тому їх переміщують до обробленої папки.
Прибирати
Щоб очистити все або повторно застосувати це рішення з нуля, зупиніть усі екземпляри EC2, викликавши TerminateInstance
API проти EC2-сумісних кінцевих точок, що працюють на вашому пристрої Snowball Edge. Щоб повернути пристрій Snowball Edge, див Вимкнення Snowball Edge та Повернення пристрою Snowball Edge.
Висновок
У цій публікації ви дізналися, як замовити пристрій Snowball Edge із обраним вами AMI. Потім ви компілюєте модель для краю за допомогою SageMaker, пакуєте цю модель за допомогою Edge Manager, а також створюєте та запускаєте компоненти з артефактами для виконання висновків машинного навчання на Snowball Edge за допомогою останньої версії AWS IoT Greengrass. За допомогою Edge Manager ви можете розгортати та оновлювати свої моделі ML на парку пристроїв Snowball Edge, а також відстежувати продуктивність на периферії за допомогою збережених вхідних і прогнозованих даних на Amazon S3. Ви також можете запускати ці компоненти як довгострокові AWS Lambda функції, які можуть розкручувати модель і чекати даних для висновку.
Ви поєднуєте кілька функцій AWS IoT Greengrass, щоб створити клієнт MQTT і використовувати модель pub/sub для виклику інших служб або мікросервісів. Можливості безмежні.
Запустивши висновок ML на Snowball Edge за допомогою Edge Manager і AWS IoT Greengrass, ви можете оптимізувати, захистити, контролювати та підтримувати моделі ML на парках пристроїв Snowball Edge. Дякуємо за прочитання та, будь ласка, не соромтеся залишати запитання чи коментарі в розділі коментарів.
Щоб дізнатися більше про AWS Snow Family, AWS IoT Greengrass і Edge Manager, перегляньте наступне:
Про авторів
Радж Кадіяла є менеджером з розвитку бізнесу з AI/ML Tech у партнерській організації AWS WWPS. Радж має понад 12-річний досвід машинного навчання і любить проводити свій вільний час, вивчаючи машинне навчання для практичних повсякденних рішень і залишаючись активним на природі Колорадо.
Ніда Бейг є старшим менеджером із продуктів – технічний спеціаліст Amazon Web Services, де вона працює в команді AWS Snow Family. Вона захоплена розумінням потреб клієнтів і використанням технологій як провідника трансформаційного мислення для доставки споживчих товарів. Окрім роботи, вона захоплюється подорожами, походами та бігом.
- 100
- 9
- доступ
- рахунки
- активний
- Додатковий
- ВСІ
- Amazon
- Amazon EC2
- Amazon SageMaker
- Amazon Web Services
- API
- додаток
- застосування
- AWS
- бізнес
- контроль
- класифікація
- код
- Колорадо
- коментарі
- компонент
- обчислення
- диригент
- зв'язок
- споживач
- Споживчі товари
- Контейнер
- Контейнери
- створення
- круїз
- дані
- день
- розробка
- прилади
- документація
- край
- досвід
- розпізнавання осіб
- завод
- сім'я
- риси
- Перший
- ФЛЕТ
- поверхи
- Рамки
- Безкоштовна
- великий
- Чудово на відкритому повітрі
- Group
- тут
- піший туризм
- Як
- How To
- HTTPS
- IAM
- Особистість
- зображення
- промислові
- інформація
- інтерес
- залучений
- КАТО
- IT
- Java
- робота
- останній
- УЧИТЬСЯ
- вивчення
- бібліотека
- обмеженою
- список
- загрузка
- місцевий
- локально
- розташування
- навчання за допомогою машини
- матч
- ML
- модель
- моніторинг
- навігація
- NEO
- мережу
- Нафта
- операційний
- операційна система
- варіант
- Опції
- порядок
- Інше
- на відкритому повітрі
- упаковка
- партнер
- Люди
- продуктивність
- Політика
- прогноз
- Прогнози
- Product
- Production
- Продукти
- громадськість
- Python
- піторх
- якість
- діапазон
- читання
- зменшити
- Вимога
- прогін
- біг
- мудрець
- Послуги
- комплект
- Доставка
- судів
- простий
- сніг
- So
- Рішення
- витрачати
- Спін
- старт
- почалася
- зберігання
- зберігати
- спостереження
- система
- технології
- Технологія
- тензорний потік
- тест
- Мислення
- час
- Оновити
- чекати
- Web
- веб-сервіси
- Work
- працює
- років