TensorFlow.js — это библиотека JavaScript для обучения и развертывания моделей машинного обучения в веб-браузере и в Node.js. В этом руководстве показано, как начать работу с TensorFlow.js, обучив минимальную модель в браузере и используя ее для прогнозирования.
Код примера доступен на GitHub .
Предварительные условия
Для работы с этим руководством в вашей среде разработки необходимо установить следующее:
- Node.js ( скачать )
- Пряжа ( установить )
Установите пример
Получите исходный код и установите зависимости:
- Клонируйте или загрузите репозиторий tfjs-examples .
- Перейдите в каталог
getting-started
:cd tfjs-examples/getting-started
. - Установите зависимости:
yarn install
.
Если вы посмотрите на файл package.json
, вы можете заметить, что TensorFlow.js не является зависимостью. Это связано с тем, что пример загружает TensorFlow.js из CDN. Вот полный HTML-код из index.html
:
<html>
<head>
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@latest"> </script>
</head>
<body>
<h4>Tiny TFJS example<hr/></h4>
<div id="micro-out-div">Training...</div>
<script src="./index.js"> </script>
</body>
</html>
Элемент <script>
в заголовке загружает библиотеку TensorFlow.js, а элемент <script>
в конце тела загружает скрипт машинного обучения.
Другие способы получения зависимости от TensorFlow.js смотрите в руководстве по настройке .
Запустите пример
Запустите пример и посмотрите результаты:
- В каталоге
tfjs-examples/getting-started
запуститеyarn watch
. - Перейдите по адресу
http://127.0.0.1:1234
в браузере.
Вы должны увидеть заголовок страницы и номер, например 38.31612014770508 . Точное число может варьироваться, но оно должно быть близко к 39.
Что только что произошло?
Когда index.js
загружается, он обучает модель tf.sequential
используя значения $x$ и $y$, удовлетворяющие уравнению $y = 2x-1$.
// Create a simple model.
const model = tf.sequential();
model.add(tf.layers.dense({units: 1, inputShape: [1]}));
// Prepare the model for training: Specify the loss and the optimizer.
model.compile({loss: 'meanSquaredError', optimizer: 'sgd'});
// Generate some synthetic data for training. (y = 2x - 1)
const xs = tf.tensor2d([-1, 0, 1, 2, 3, 4], [6, 1]);
const ys = tf.tensor2d([-3, -1, 1, 3, 5, 7], [6, 1]);
// Train the model using the data.
await model.fit(xs, ys, {epochs: 250});
Затем он прогнозирует значение $y$ для невидимого значения $x$ 20
и обновляет DOM для отображения предсказания.
// Use the model to do inference on a data point the model hasn't seen.
// Should print approximately 39.
document.getElementById('micro-out-div').innerText =
model.predict(tf.tensor2d([20], [1, 1])).dataSync();
Результат $2*20 — 1$ равен 39, поэтому прогнозируемое значение $y$ должно быть примерно 39.
Что дальше
В этом руководстве представлен минимальный пример использования TensorFlow.js для обучения модели в браузере. Более глубокое введение в модели обучения с помощью JavaScript см. в руководстве по TensorFlow.js.
Дополнительные способы начать работу
Вот еще несколько способов начать работу с TensorFlow.js и веб-ML.
Посмотрите курс веб-ML по TensorFlow.js
Если вы веб-разработчик и ищете практическое введение в веб-ML, посмотрите видеокурс Google Developers «Машинное обучение для веб-разработчиков». Курс покажет вам, как использовать TensorFlow.js на ваших веб-сайтах и в приложениях.
Пишите программы ML, не работая напрямую с тензорами.
Если вы хотите начать работу с машинным обучением, не управляя оптимизаторами и не манипулируя тензорами, воспользуйтесь библиотекой ml5.js.
Библиотека ml5.js, созданная на основе TensorFlow.js, обеспечивает доступ к алгоритмам и моделям машинного обучения в веб-браузере с помощью лаконичного и доступного API.
Установите TensorFlow.js
Узнайте, как установить TensorFlow.js для реализации в веб-браузере или Node.js.
Преобразование предварительно обученных моделей в TensorFlow.js
Узнайте, как конвертировать предварительно обученные модели из Python в TensorFlow.js.
Изучите существующий код TensorFlow.js.
Репозиторий tfjs-examples
предоставляет небольшие примеры реализации различных задач машинного обучения с использованием TensorFlow.js.
Посмотреть примеры tfjs на GitHub
Визуализируйте поведение вашей модели TensorFlow.js.
tfjs-vis
— небольшая библиотека для визуализации в веб-браузере, предназначенная для использования с TensorFlow.js.
Посмотреть tfjs-vis на GitHub Посмотреть демо
Подготовьте данные для обработки с помощью TensorFlow.js
TensorFlow.js поддерживает обработку данных с использованием лучших практик машинного обучения.