TensorFlow.js предоставляет широкий спектр предобученных моделей для задач машинного обучения в браузере и на сервере с использованием JavaScript. Эти модели позволяют быстро интегрировать сложные алгоритмы, не требуя обучения с нуля, что особенно важно для веб-приложений с ограниченными вычислительными ресурсами.
Предобученные модели можно разделить на несколько категорий в зависимости от типа задачи:
Компьютерное зрение
Классификация изображений: модели, способные определять объекты на изображении и присваивать им метки. Примеры: MobileNet, ResNet.
Обнаружение объектов (Object Detection): модели для локализации и классификации объектов на изображении. Пример: COCO-SSD, YOLO.
Сегментация изображений (Semantic Segmentation): модели, выделяющие объекты на уровне пикселей. Пример: BodyPix, DeepLab.
Обработка текста
Классификация текста и анализ тональности: модели для распознавания категорий текста или определения эмоциональной окраски. Примеры: Toxicity, Universal Sentence Encoder (USE).
Распознавание именованных сущностей (NER) и генерация текста: использование трансформеров и моделей BERT в TensorFlow.js позволяет реализовать продвинутый NLP прямо в браузере.
Распознавание речи и аудио
Генеративные модели
Предобученные модели в TensorFlow.js доступны в нескольких форматах:
tf.GraphModel) —
оптимизированная модель, обычно экспортированная из TensorFlow
SavedModel или Keras. Поддерживает выполнение как в браузере, так и в
Node.js.tf.LayersModel) —
эквивалент Keras-модели, подходит для более гибкого дообучения или
тонкой настройки на новых данных.Загрузка модели осуществляется через метод
tf.loadGraphModel() или tf.loadLayersModel().
Например:
const model = await tf.loadGraphModel('https://tfhub.dev/tensorflow/ssd_mobilenet_v2/2/default/1', { fromTFHub: true });
После загрузки модель готова к предсказаниям на изображениях, текстах или других данных.
TensorFlow.js поддерживает регулярное обновление моделей через TensorFlow Hub и npm-пакеты. Многие модели совместимы с мобильными устройствами и браузерами, включая Chrome, Firefox и Safari. При этом важно учитывать версию TensorFlow.js и возможные изменения API между релизами.
Предобученные модели TensorFlow.js обеспечивают баланс между производительностью и точностью, позволяют минимизировать затраты на обучение и предоставляют мощный инструмент для реализации сложных машинно-обучающих решений непосредственно в браузере или на сервере с Node.js.