Глава 12. Тестирование, оптимизация и развертывание моделей
511
Небольшая часть этих сверхмобильных приложений создана китайскими техно
логическими гигантами, в частности WeChat компании Tencent, Alipay компании
Alibaba и Baidu. Основной технологией, открывающей возможность создания сто
ронних расширений, в них служит JavaScript, так что TensorFlow.js идеально под
ходит для развертывания машинного обучения на этих платформах. Набор доступ
ных в системах плагинов этих мобильных приложений API отличается от набора
нативных API JavaScript, прочем так, что для развертывания на них потребуются
определенные дополнительные знания и усилия.
Возьмем для примера WeChat. WeChat — наиболее распространенное приложе
ние социальных медиа в Китае, более чем с миллиардом активных пользователей.
В 2017 году WeChat запустил Mini Program — платформу, позволяющую разработ
чикам приложений создавать минипрограммы внутри системы WeChat. Пользо
ватели могут обмениваться этими минипрограммами и устанавливать их внутри
приложения WeChat во время работы. Успех этой платформы был колоссальным.
Ко второму кварталу 2018 года в экосистеме WeChat было более 1 миллиона ми
нипрограмм и более 600 миллионов их активных пользователей. А также более
1,5 миллиона разработчиков приложений на этой платформе, частично вследствие
популярности JavaScript.
API минипрограмм WeChat нацелены на предоставление разработчикам про
стого доступа к датчикам мобильных устройств (камере, микрофону, акселероме
тру, гироскопу, GPS и т. д.). Однако нативные API предлагают лишь очень огра
ниченную встроенную функциональность для машинного обучения. TensorFlow.js
как решение для машинного обучения для минипрограмм обладает несколькими
достоинствами. До него, если разработчик хотел встроить в приложение машинное
обучение, он должен был работать вне среды разработки минипрограмм с сервер
ным или облачным стеком инструментов машинного обучения. Что значительно
усложняло для многих разработчиков минипрограмм создание кода и применение
машинного обучения. Развертывание внешней инфраструктуры выходит за рамки
возможностей большинства разработчиков минипрограмм. А при использовании
TensorFlow.js разработка кода машинного обучения происходит прямо внутри
нативной среды. Более того, подобное решение на стороне клиента помогает
уменьшить сетевой трафик и снизить задержку, а также использует возможности
GPUускорения на основе WebGL.
Создавшая TensorFlow.js команда разработала минипрограмму для WeChat,
с помощью которой можно подключить TensorFlow.js к своей собственной мини
программе (см.
https://github.com/tensorflow/tfjs-wechat
). Указанный репозиторий также
содержит пример минипрограммы, использующей PoseNet для подписи позиций
и поз людей, замеченных камерой мобильного устройства. В ней используется
TensorFlow.js с ускорением на основе недавно добавленного API WebGL от WeChat.
Без доступа к GPU эта модель работала бы слишком медленно для большинства
приложений. А в этом плагине скорость работы модели в минипрограмме WeChat
будет такой же, как и у JavaScriptприложения, работающего в мобильном браузере.
На самом деле мы даже заметили, что API датчиков WeChat обычно работает
бы-
стрее
, чем его аналог в браузере.
512
Do'stlaringiz bilan baham: |