Нестандартный искусственный интеллект на грани

Вы, наверное, уже поняли, что я большой поклонник периферийных вычислений для машинного обучения. Но это не значит, что облаку нет места. Хотя некоторые устройства, такие как Coral Dev Board от Google, способны передавать обучение на устройство, на периферии это не так часто встречается. По крайней мере, пока. В обозримом будущем облако - это то место, где будет происходить обучение и будут храниться данные. То есть, если вам вообще нужно хранить данные.

SmartEdge Agile следует этой модели, и это то, что я обычно называю смешанным устройством. Он находится на периферии и может общаться с облаком через локальный шлюз. Но он также может выполнять логические выводы машинного обучения локально на периферии - без подключения к сети или облака.

Открытие коробки

SmartEdge Agile поставляется в блистерной упаковке, «готовой к розничной продаже».

Внутри упаковки находится устройство SmartEdge Agile,

вместе с кабелем USB-C - USB-A. Вот и все.

Поскольку аккумулятор в вашем устройстве SmartEdge Agile, вероятно, не заряжен, вам следует подключить его к зарядному устройству с помощью кабеля. Когда вы это сделаете, на дальнем конце от разъема кабеля должен загореться красный светодиод.

Регистрация в облаке

Первое, что вам нужно, чтобы начать работу со SmartEdge Agile, - это согласиться на лицензирование с переносом кликов и зарегистрироваться на портале Brainium. Затем вам будет предложено ввести свой адрес электронной почты, и вам будет выслан код, который вы будете использовать для создания учетной записи.

Когда вы зарегистрируетесь, вы получите до 180 дней бесплатного использования портала, 16 ГБ облачного хранилища или 2 ГБ трафика с мета-зондированием - в зависимости от того, что наступит раньше. Не совсем ясно, что произойдет по истечении этого периода, поскольку все FAQ по этому поводу говорят о том, что … y вы можете хранить свои данные, созданные в течение шести месяцев бесплатного периода. Если вы хотите продолжить использование AGILE или перейти к этапу индустриализации, вам следует обратиться к местному торговому представителю Avnet.

После входа в систему вы получите несколько основных инструкций по использованию портала и предложите установить приложение шлюза.

Установка Brainium Gateway

SmartEdge Agile использует Bluetooth для связи с локальным шлюзом, который будет служить прокси-сервером для трафика, возвращаемого в облако. Вы можете использовать свой телефон, есть приложение-шлюз для iPhone и Android, или Raspberry Pi, если на нем есть Bluetooth.

Возможно, несколько предсказуемо, я собираюсь использовать Raspberry Pi.

Доступны две версии приложения Raspberry Pi: одна с командной строкой, другая с графическим интерфейсом. Поскольку я почти всегда использую свои платы Raspberry Pi без головы, я собираюсь использовать версию для командной строки.

Скачайте последний выпуск Raspbian Lite и настройте Raspberry Pi. Если вы не используете проводную сеть или не подключили к Raspberry Pi дисплей и клавиатуру, вам нужно как минимум подключить Raspberry Pi к беспроводной сети и включить SSH.

После того, как вы настроили Raspberry Pi, включите его, а затем откройте окно терминала на своем ноутбуке и подключитесь к Raspberry Pi по SSH.

% ssh [email protected]

После входа в систему вы можете захотеть изменить имя хоста на что-нибудь менее общее, чтобы вы могли отличить его от всех других плат Raspberry Pi в вашей сети, используя приложение raspi-config. Я выбрал brain.

После этого установите BlueZ,

$ wget https://brainium.blob.core.windows.net/public/raspberry/bluez.run 
$ sudo sh bluez.run

а затем сервис Brainium Gateway.

$ wget https://brainium.blob.core.windows.net/public/raspberry/brainium-gateway-latest.run
$ sudo sh ./brainium-gateway-latest.run

Перезагрузитесь и снова войдите в свой Raspberry Pi. Теперь у вас должна быть возможность получить доступ к Brainium Gateway из командной строки.

$ brainium-gateway
Command (h for help):

Вы можете подключить свой новый шлюз к порталу Brainium в облаке, аутентифицируясь с использованием имени пользователя и пароля, которые вы создали ранее.

$ brainium-gateway
Command (h for help): login
User name: [email protected]
Password:
Authenticating ... completed successfully!

Вернувшись обратно на портал, мы увидим наш новый шлюз.

Вам, вероятно, стоит пойти дальше и переименовать шлюз во что-нибудь более запоминающееся, щелкнув значок карандаша рядом с именем шлюза по умолчанию. Я решил называть свой Raspberry Pi.

Добавление SmartEdge Agile

Щелкните значок плюса в столбце устройств рядом со своим шлюзом на портале. Это приведет вас к некоторому напоминанию об условиях «периода обнаружения», нажмите кнопку «Согласен», и ваш шлюз начнет поиск вашего устройства SmartEdge Agile.

Включите устройство SmartEdge Agile, нажав кнопку на торце под красным светодиодом зарядки. Нажмите и удерживайте около двух секунд.

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

Выберите новое устройство и нажмите кнопку «Подключить». Пройдет несколько секунд, пока шлюз и устройство SmartEdge Agile будут сопряжены. Но после вы должны увидеть что-то вроде этого:

Вы можете продолжить и, как мы сделали со шлюзом, переименовать наше устройство во что-нибудь более запоминающееся. Я решил назвать свой Module.

Вы можете убедиться, что устройство правильно подключено, открыв приложение шлюза на Raspberry Pi и проверив его с помощью команды gw. Это также покажет вам, насколько заряжен ваш SmartEdge Agile и подключен ли он к зарядному устройству.

$ brainium-gateway
Command (h for help): gw devices
Gateway information ...
-------------------------------------
|Device (ID): TO136-0202100001000902|
-------------------------------------
Name: Module
Device Connection: TRUE
Cloud Connection: CONNECTED
Battery: 66% , Charger connected

Нажмите кнопку «Закрыть» на портале, чтобы вернуться на главный экран.

Ваш первый проект

SmartEdge Agile - это то, что я обычно называю смешанным устройством для машинного обучения. Подобно оборудованию Google Coral или другим периферийным устройствам, о которых я говорил ранее, вы строите свою модель машинного обучения в облаке и развертываете ее на периферии. Портал предназначен только для обучения и хранения данных.

Щелкните значок «Проекты», а затем кнопку «Создать проект».

Назовите свой проект чем-нибудь запоминающимся, я просто выбрал «Тестовый проект».

Затем, когда вы вернетесь на главный экран портала, нажмите на свой недавно созданный проект. Вы увидите, что изначально нет никаких подключенных устройств.

Нажмите на большую фиолетовую кнопку «+» в правом нижнем углу экрана. Вы увидите диалоговое окно, в котором вы сможете добавить свое устройство в проект.

Выберите свое устройство, и вам будет представлена ​​кнопка «Добавить в проект». Нажмите кнопку, и ваше устройство SmartEdge Agile будет добавлено в проект.

Вы увидите модуль и шлюз, а также список доступных датчиков.

Добавление машинного обучения

Теперь у нас есть проект и подключенное к нему устройство, вы можете добавить машинное обучение. Нажмите кнопку «Распознавание движения» в строке меню портала.

Это приведет вас к рабочему пространству AI Studio. Теперь продолжайте и снова нажмите на большой фиолетовый значок «+» в правом нижнем углу браузера. Это позволит вам создать новую рабочую область, которую я назвал «Движения».

После создания новой рабочей области щелкните ее на портале, и вы увидите экран, позволяющий создавать несколько движений.

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

Теперь, когда мы создали этот ярлык, нам нужно добавить некоторые данные. Идите вперед и нажмите кнопку «Записать новый набор тренировок» в правом верхнем углу окна браузера.

Выберите свой модуль из раскрывающегося списка устройств и установите «количество движений» на 10 для этой тренировки.

Теперь отключите устройство SmartEdge Agile от зарядного устройства, если оно все еще подключено, возьмите его одной рукой и нажмите кнопку «Пуск». Вам будет представлен обучающий экран. Выполняйте движение с помощью SmartEdge Agile в руке, ранее мы выбрали круговое.

Когда вы закончите, нажмите кнопку «Запись» в верхнем левом углу окна браузера. Вам будет предложено диалоговое окно для сохранения данных тренировки. Нажмите кнопку «Сохранить», и вы вернетесь к экрану рабочей области.

Вы можете нажать на строку состояния «Обработка» под названием записи, чтобы проверить, как идет процесс. В конце концов вы должны увидеть что-то вроде этого:

поэтому мы должны пойти дальше и сгенерировать второй набор обучающих данных таким же образом, как и раньше. После этого, выбрав оба набора данных, мы теперь можем нажать кнопку «Создать вашу модель», чтобы обучить нашу модель машинного обучения.

Это займет некоторое время, в зависимости от того, сколько обучающих данных и сколько жестов мы используем. По окончании тренировки вы должны увидеть что-то вроде этого:

Теперь у нас есть модель, мы можем вернуться к экрану нашего проекта и щелкнуть вкладку «Устройства». Затем щелкните раздел «AI Studio Rules» в записи «Устройство»,

и мы можем выбрать нашу рабочую область и модель. Нажмите кнопку «Применить».

После этого щелкните по представленной кнопке Добавить новое правило AI. Это позволит нам генерировать предупреждения, электронные письма или ссылки на действие в IFTTT при обнаружении движения нашего круга. А пока давайте просто сделаем Предупреждение.

После добавления нового правила вы можете закрыть всплывающее окно, щелкнув крестик в правом верхнем углу окна браузера.

Затем перейдите на вкладку «Отслеживание данных / запись» и нажмите кнопку «Создать виджет», чтобы создать новый виджет, чтобы мы могли видеть наши предупреждения.

Мы собираемся создать «AI Widget» под названием «Motions», который будет показывать детали последнего движения, обнаруженного нашей моделью, работающей на SmartEdge Agile.

Свяжите его с нашим устройством, нажмите «Готово», и вы вернетесь на главную страницу портала. Нажмите кнопку «Начать отслеживание» и добавьте свое устройство.

Нажмите кнопку «Начать отслеживание», и вы снова вернетесь к основному экрану портала. Однако на этот раз мы ждем событий от нашей модели на устройстве SmartEdge Agile. Давай, сделай несколько кругов, я подожду.

При обнаружении кругового движения в нашем виджете должно появиться уведомление. Поздравляю, все работает. Теперь вы можете нажать «Прекратить отслеживание».

Вы также сможете увидеть запись событий в раскрывающемся списке "Оповещения".

Выход из портала

Хотя портал предлагает большую гибкость, а связь с IFTTT означает, что есть еще больше, поскольку вы можете эффективно запускать произвольные события с помощью Makers Channel, если вы хотите пойти дальше, есть API разработчика.

Конечным пользователям доступны два разных API. Существует REST API, который обеспечивает доступ к историческим данным, и MQTT API через WebSockets, который обеспечивает доступ к данным в реальном времени и к событиям.

Резюме

Вы можете узнать больше об использовании SmartEdge Agile и портала Brainium, прочитав Вводное руководство, а если вы вдохновлены и креативны, то также есть конкурс на Hackster в Привнесите интеллект в реальный мир. Прием заявок не заканчивается 23 августа, так что у вас еще есть достаточно времени, чтобы реализовать свой проект машинного обучения в мире. SmartEdge Agile доступен уже сейчас по цене 109,99 долларов.