Глава 12. Тестирование, оптимизация и развертывание моделей
509
чений на ресурсы развертывание моделей на основе Node.js позволяет достичь более
высокой скорости работы и использовать модели большего размера. Однако основ
ной недостаток — большой размер пакетов вследствие большого размера библиотеки
libtensorflow (для tfjsnode — примерно 50 Мбайт в сжатом виде).
Рис. 12.7.
Снимок экрана из примера приложения, использующего модель TensorFlow.js,
для настольных компьютеров на основе фреймворка Electron.js
(из репозитория tfjs-examples/electron)
При развертывании в клиентской части рабочая нагрузка по глубокому обучению
ложится на WebGL, что вполне приемлемо в случае моделей небольшого и среднего
размера либо когда задержка при выполнении вывода не играет роли. Размер пакета
при этом варианте меньше, и благодаря обширной поддержке WebGL, все работает
сразу же, без дополнительных действий.
Рисунок 12.8 также демонстрирует, что выбор прикладной части для вычислений
в основном не зависит от загружающего и выполняющего модель JavaScript кода.
Для всех трех вышеупомянутых вариантов подходит один и тот же API, что ясно по
казывает наш пример приложения, в котором один и тот же модуль (
ImageClassifier
510
Часть IV • Резюме и заключительное слово
в файле
electron/image_classifier.js
) выполняет вывод в среде как прикладной,
так и клиентской части. Стоит также отметить, что, хотя в примере tfjsexamples/
electron показано только выполнение вывода, безусловно, TensorFlow.js можно
с тем же успехом использовать и для других технологических процессов глубокого
обучения, в частности создания и обучения (например, переноса обучения) модели
в приложениях Electron.js.
Рис. 12.8.
Архитектура основанного на Electron.js приложения для настольных компьютеров,
использующего TensorFlow.js для глубокого обучения с ускорением. Из основного процесса
прикладной части или процесса визуализации в браузере можно вызывать различные
вычислительные прикладные части TensorFlow.js. При выборе различных вариантов прикладной
части модели работают на различном аппаратном обеспечении. Вне зависимости от выбранной
вычислительной прикладной части, код загрузки, описания и выполнения моделей глубокого
обучения в TensorFlow.js практически одинаков. Стрелки на этой схеме обозначают вызовы
библиотечных функций и прочих вызываемых процедур
12.3.6. Развертывание моделей TensorFlow.js в WeChat
и прочих системах плагинов мобильных
приложений на основе JavaScript
Иногда основная платформа распространения мобильных приложений — не Play
Store Android и не Play Store Apple, просто небольшое количество «мобильных
сверхприложений», поддерживающих использование сторонних расширений внутри
управляемого основным приложением пространства.
Do'stlaringiz bilan baham: |