TensorFlow.js — библиотеке от Google, которая позволяет создавать и обучать нейросети прямо в браузере или Node.js. Забудьте про Python: всё, что вам нужно, — это браузер и базовые знания JS. Давайте начнём!
1. Установка и подключение
В браузере:
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@4.10.0/dist/tf.min.js"></script>
В Node.js:
npm install @tensorflow/tfjs
Для GPU:
npm install @tensorflow/tfjs-node-gpu
2. Пример простой модели
Задача: обучить модель предсказывать Y = 2X - 1.
Подготовка данных
const xs = tf.tensor2d([[0], [2], [4], [6], [8]]); // Входные значения
const ys = tf.tensor2d([[-1], [3], [7], [13], [15]]); // Цель
Создание и компиляция модели
const model = tf.sequential();
model.add(tf.layers.dense({inputShape: [1], units: 1}));
model.compile({
optimizer: 'sgd',
loss: 'meanSquaredError'
});
Обучение и прогнозирование
await model.fit(xs, ys, {epochs: 50});
const prediction = model.predict(tf.tensor2d([[10]]));
prediction.print(); // Ожидаем ~19
3. Визуализация и сохранение
Графики обучения: Используйте tfjs-vis для отображения потерь.
Сохранение модели:await model.save('localstorage://my-model');
Загрузка модели:const loadedModel = await tf.loadLayersModel('localstorage://my-model');
4. Готовые модели
ImageNet (Mobilenet):npm install @tensorflow-models/mobilenet
Пример:const model = await mobilenet.load();
const predictions = await model.classify(document.getElementById('img'));
Голосовые команды:npm install @tensorflow-models/speech-commands
5. Советы и ограничения
Очистка памяти: Используйте tf.tidy() или .dispose() для управления тензорами.
Производительность: В браузере медленнее, чем в Python. Лучше использовать для простых задач.
Сложные модели: Обучайте на Python, затем импортируйте в TensorFlow.js.