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.
Посмотрите курс 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 поддерживает обработку данных с использованием лучших практик машинного обучения.