TensorFlow.js — это библиотека для машинного обучения на JavaScript, позволяющая создавать, обучать и использовать модели прямо в браузере или на сервере с Node.js. Доступ к библиотеке можно организовать двумя основными способами: через CDN или через пакетный менеджер npm. Каждый метод имеет свои особенности и области применения.
CDN (Content Delivery Network) предоставляет возможность подключить TensorFlow.js напрямую через URL без необходимости локальной установки пакетов. Этот способ особенно удобен для быстрого прототипирования, работы с учебными примерами и небольших веб-приложений.
Основной синтаксис подключения:
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@latest/dist/tf.min.js"></script>
@latest автоматически подключает последнюю стабильную
версию библиотеки.tf.min.js — минимизированная версия библиотеки, что
уменьшает размер загружаемых данных.Особенности подключения через CDN:
latest на конкретное число, например
@4.12.0.Пример использования:
<script>
// Создание тензора
const t = tf.tensor([1, 2, 3, 4]);
t.print();
// Простейшая операция
const t2 = t.square();
t2.print();
</script>
Такой способ позволяет моментально применять базовые функции TensorFlow.js без настройки сборщиков модулей.
Для крупных проектов, серверного выполнения или интеграции с современными сборщиками модулей (Webpack, Vite, Parcel) рекомендуется использовать npm. Это обеспечивает контроль версий, возможность работы с TypeScript и интеграцию с другими библиотеками.
Установка пакета:
npm install @tensorflow/tfjs
После установки пакет становится доступен для импорта в коде:
import * as tf from '@tensorflow/tfjs';
// Создание и вывод тензора
const t = tf.tensor([5, 6, 7, 8]);
t.print();
// Выполнение матричных операций
const a = tf.tensor([[1, 2], [3, 4]]);
const b = tf.tensor([[5, 6], [7, 8]]);
const result = tf.matMul(a, b);
result.print();
Преимущества использования npm:
package.json.Подключение дополнительных модулей:
TensorFlow.js имеет несколько специализированных пакетов:
@tensorflow/tfjs-node — ускорение вычислений на сервере
с использованием C++ backend.@tensorflow/tfjs-vis — визуализация данных и метрик
обучения.@tensorflow-models — готовые предобученные модели
(например, @tensorflow-models/mobilenet).Пример установки и использования серверного ускорения:
npm install @tensorflow/tfjs-node
const tf = require('@tensorflow/tfjs-node');
// Тензор с вычислениями на серверном backend
const t = tf.tensor([10, 20, 30]);
t.print();
| Характеристика | CDN | npm |
|---|---|---|
| Установка | Нет необходимости | Обязательна |
| Контроль версий | Да, через URL | Да, через package.json |
| Поддержка сборщиков | Ограничена | Полная |
| Применение в браузере | Прямое подключение | Через сборщик |
| Поддержка Node.js | Нет | Да |
| Оптимизация и tree shaking | Нет | Да |
Выбор метода зависит от целей проекта: CDN удобен для небольших демо и быстрых экспериментов, npm — для профессиональных приложений, требующих модульной структуры и производительности.
tfjs-node.Понимание этих подходов является фундаментом для построения любых проектов с TensorFlow.js, от простых демонстраций до сложных веб-приложений и серверных систем машинного обучения.