TensorFlow.js: машинное обучение на JavaScript с доставкой в браузер |
||||||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2018-05-12 14:00 Кратко рассмотрены основные особенности недавно вышедшей JavaScript-версии популярного фреймворка машинного обучения от Google – TensorFlow.js. Предыстория В прошлом году компания Google представила библиотеку deeplearn.js, позволяющую пользователям непосредственно в браузере строить модели машинного обучения, используемые, например, для классификации изображений. Эта библиотека была усовершенствована и представлена под названием TensorFlow.js: код стал более читаемым, функции заработали быстрее и пополнились решениями, позволяющими строить детализированные модели, а использование WebGL-технологии все так же позволяет на лету обрабатывать графические данные. Устройство TensorFlow.js Для обучения модели обычно как разработчику, так и конечному потребителю моделей машинного обучения, требуется установка соответствующих библиотек. Однако в TensorFlow.js интерфейсом является браузер, поэтому при подключении скриптового файла исчезает необходимость в установке библиотек и отслеживании зависимостей, все «доставляется на дом». Строение библиотеки можно представить в виде оболочечной структуры – ядерного API и покрывающих его высокоуровневых слоев:
На основе высокоуровневого API можно построить собственный интерфейс для взаимодействий пользователя с моделью. Это открывает новые возможности для быстрого создания веб-приложений с захватом данных с сенсоров переносимых устройств (акселерометра, гироскопа, камеры, GPS и т.д.) и обучения моделей для подбора релевантного контента, исходя из поведения пользователя. При этом автоматически обеспечивается безопасность, так как данные создаются и хранятся на стороне клиента. Кроме того, TensorFlow.js позволяет использовать предобученные модели, что крайне удобно для трудоемких задач, например, таких как распознавание образов (в качестве примера посмотрите код и демо для задачи распознавания расположенных перед веб-камерой объектов). Как выглядит работа с TensorFlow.js Ключевой структурой данных в TensorFlow.js являются тензоры – обобщения матриц на случаи потенциально бо?льших размерностей. Создание и обучение модели в TensorFlow.js возможно двумя способами. Первый вариант создания модели – в результате запуска HTML-файла, в скриптовом блоке которого между тегами <script></script> помещен написанный вами код команд API фреймворка. Например, следующий код решает задачу линейной регрессии: XHTML
Другой подход состоит в том, чтобы использовать не внешний ресурс, а добавить TensorFlow.js в ваш проект, используя yarn или npm. В этом случае описанный выше код будет содержаться в js-файле: JavaScript
Код идентичен тому, что запускался в HTML-блоке (комментарии проопущены), за исключением процедуры импорта, так как теперь мы используем локально установленную библиотеку. Для того, чтобы поиграть с этим кодом, воспользуйтесь ссылкой на ресурс с предустановленной библиотекой. Примеры демо-приложений с обучением многослойных нейросетей и применением дополнительных библиотек с соответствующими примерами кода можно найти на сайте js.tensorflow.org. Видеопрезентация проекта с запуском упомянутых примеров расположена на YouTube. Документацию проекта вы найдете по этой ссылке. Вас также могут заинтересовать: Источник: proglib.io Комментарии: |
|||||