Bog'liq Цэй Ш., Байлесчи С., и др. - JаvaScript для глубокого обучения (Библиотека программиста) - 2021
Часть IV • Резюме и заключительное слово
По состоянию на конец 2019 года разработка функциональности машинного
обучения для плагинов сверхмобильных приложений — совершенно нехоженая
территория. Высокое быстродействие порой требует определенной помощи со сто
роны самой платформы. Тем не менее это оптимальный способ для предоставления
доступа к своему приложению сотням миллионов человек, для которых сверхмо
бильное приложение
и есть Интернет.
12.3.7. Развертывание моделей TensorFlow.js
на одноплатных компьютерах
Для многих вебразработчиков сама идея развертывания программы на автономных
одноплатных компьютерах представляется чуждой и технически слишком слож
ной. Однако благодаря успеху Raspberry Pi проектирование и создание простых
аппаратных устройств невероятно упростилось. Одноплатные компьютеры предо
ставляют платформу для создания «умных» устройств без необходимости сетевого
соединения с облачными серверами или громоздких, дорогостоящих компьютеров.
Одноплатные компьютеры можно использовать для приложений системы безопас
ности, контроля интернеттрафика, управления ирригацией почв — пределов их
возможностям нет.
Многие из таких одноплатных компьютеров предоставляют контакты универ
сального интерфейса ввода/вывода (generalpurpose inputoutput, GPIO) для про
стого подключения аппаратных систем управления и включают полный дистрибутив
Linux, с помощью которых преподаватели, разработчики и хакеры могут создавать
широкий спектр интерактивных устройств. Одним из популярных языков програм
мирования для создания подобных устройств быстро стал JavaScript. Для взаимо
действия на нижнем, физическом уровне разработчики могут использовать такие
библиотеки node, как rpigpio, все — на JavaScript.
В TensorFlow.js, для поддержки таких пользователей есть в настоящее время
две среды выполнения для этих встроенных устройств ARM: tfjsnode (CPU
1
)
и tfjsheadlessnodegl (GPU). С помощью этих двух прикладных частей можно ис
пользовать на этих устройствах всю библиотеку TensorFlow.js. Разработчики могут
выполнять вывод с помощью готовых моделей или обучать свои собственные моде
ли, все — на аппаратном обеспечении такого устройства!
В недавно появившихся устройствах, таких как NVIDIA Jetson Nano и Raspberry
Pi 4, появилась технология
«система на микросхеме» (systemonchip, SoC) с со
временным графическим стеком. Применяемый в ядре TensorFlow.js код WebGL
позволяет использовать GPU этих устройств. С помощью автономного пакета
WebGL (tfjsheadlessnodegl) пользователи могут запускать TensorFlow.js на Node.js
с ускорением исключительно за счет GPU этих устройств (рис. 12.9). Благодаря
1
Для использования возможностей CPU с ускорением ARM NEON следует применять на
этих устройствах пакет tfjsnode, обеспечивающий поддержку как архитектуры ARM32, так
и ARM64.