TensorFlow.js — это мощная библиотека, которая позволяет создавать и обучать модели машинного обучения непосредственно в браузере или на Node.js с помощью JavaScript. Он позволяет разработчикам создавать приложения для машинного обучения, не требуя знаний других языков программирования. В этом блоге мы познакомим вас с основами использования TensorFlow.js в JavaScript для создания и развертывания моделей машинного обучения.

Что такое TensorFlow.js?

TensorFlow.js — это библиотека с открытым исходным кодом, разработанная Google, которая привносит возможности TensorFlow в JavaScript. Он позволяет создавать и обучать модели машинного обучения с использованием высокоуровневых API-интерфейсов, подобных тем, что используются в TensorFlow, что делает его отличным выбором как для начинающих, так и для опытных разработчиков.

Настройка TensorFlow.js

Для начала вам необходимо включить в свой проект библиотеку TensorFlow.js. Вы можете сделать это, включив следующий тег скрипта в свой HTML-файл:

‹script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs›‹/script›

В качестве альтернативы, если вы используете Node.js, вы можете установить TensorFlow.js с помощью npm:

npm установить @tensorflow/tfjs

Создание и обучение модели

Давайте рассмотрим процесс создания простой модели машинного обучения с использованием TensorFlow.js. В этом примере мы создадим базовую нейронную сеть для классификации рукописных цифр из набора данных MNIST.

1. Загрузка данных:

Во-первых, вам нужно загрузить данные обучения и тестирования. TensorFlow.js предоставляет утилиты для загрузки наборов данных, таких как MNIST.

2. Предварительная обработка данных:

Подготовьте данные для обучения. Как правило, это включает нормализацию значений пикселей изображений в диапазоне от 0 до 1.

3. Построение модели:

Определите архитектуру вашей модели. В этом примере давайте используем простую нейронную сеть с несколькими слоями.

const model = tf.sequential();
model.add(tf.layers.flatten({ inputShape: [28, 28, 1] }));
model.add(tf.layers.dense ({ единиц: 128, активация: 'relu' }));
model.add(tf.layers.dense({ единиц: 10, активация: 'softmax' }));

4. Компиляция модели:

Укажите оптимизатор, функцию потерь и метрики для модели.

model.compile({
оптимизатор: tf.train.adam(),
loss: ‘categoricalCrossentropy’,
metrics: [‘accuracy’]
});

5. Обучение модели:

Обучите модель, используя подготовленные данные.

const batchSize = 64;
const epochs = 10;

асинхронная функция trainModel() {
await model.fit(trainingData, trainingLabels, {
batchSize,
epochs,
validationData: [testingData, testingLabels],
shuffle: true
});
console.log('Обучение завершено');
}

модель поезда();

6. Делать прогнозы:

После обучения вы можете использовать модель для прогнозирования.

константные прогнозы = model.predict(someInputData);

Использование предварительно обученных моделей

TensorFlow.js также предоставляет предварительно обученные модели, которые можно использовать для различных задач, таких как классификация изображений, обнаружение объектов и многое другое. Вы можете импортировать эти модели и использовать их для выполнения логических выводов в вашем коде JavaScript.

async function loadAndUsePretrainedModel() {
const model = await tf.loadGraphModel('model-url/model.json');
const inputData = tf.tensor(/* ваши входные данные */);< br /> константные прогнозы = model.execute(inputData);
прогнозы.print();
}

loadAndUsePretrainedModel();

Развертывание моделей

После того, как вы обучили и настроили свою модель, вы можете развернуть ее в Интернете, сохранив в формате, который может быть загружен TensorFlow.js. Обычно это включает в себя сохранение архитектуры и весов модели.

Сохранение модели:

const saveResults = await model.save('localstorage://my-model');

Загрузка модели

constloadedModel = await tf.loadLayersModel('localstorage://my-model/model.json');

Заключение

TensorFlow.js открывает захватывающие возможности для внедрения машинного обучения в браузер и приложения Node.js. От обучения пользовательских моделей до использования предварительно обученных, TensorFlow.js предоставляет разработчикам полный набор инструментов, позволяющих использовать возможности машинного обучения в JavaScript. Продолжая свое путешествие, обязательно изучите обширную документацию и примеры, предоставленные TensorFlow.js, чтобы создавать еще более продвинутые и эффективные приложения. Удачного кодирования!