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, чтобы создавать еще более продвинутые и эффективные приложения. Удачного кодирования!