Благодарим за настройку Google I/O. Посмотреть все сеансы по запросу Смотреть по запросу

Начните работу с TensorFlow.js

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

Код примера доступен на GitHub .

Предпосылки

Для выполнения этого руководства в вашей среде разработки должны быть установлены следующие компоненты:

Установить пример

Получите исходный код и установите зависимости:

  1. Клонируйте или скачайте репозиторий tfjs-examples .
  2. Перейдите в каталог getting-started работы: cd tfjs-examples/getting-started .
  3. Установите зависимости: 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, см. руководство по настройке .

Запустите пример

Запустите пример и проверьте результаты:

  1. В tfjs-examples/getting-started запустите yarn watch .
  2. Перейдите по 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

Кодируйте программы ML, не имея дело напрямую с тензорами

Если вы хотите начать работу с машинным обучением без управления оптимизаторами или манипуляциями с тензорами, ознакомьтесь с библиотекой ml5.js.

Библиотека ml5.js, созданная на основе TensorFlow.js, обеспечивает доступ к алгоритмам и моделям машинного обучения в веб-браузере с помощью лаконичного и доступного API.

Проверить ml5.js

Установите TensorFlow.js

Узнайте, как установить TensorFlow.js для реализации в веб-браузере или Node.js.

Установите TensorFlow.js

Преобразование предварительно обученных моделей в TensorFlow.js

Узнайте, как преобразовать предварительно обученные модели из Python в TensorFlow.js.

Модель Keras Модель GraphDef

Учитесь на существующем коде TensorFlow.js

tfjs-examples содержит небольшие примеры реализации различных задач машинного обучения с использованием TensorFlow.js.

Посмотреть примеры tfjs на GitHub

Визуализируйте поведение вашей модели TensorFlow.js

tfjs-vis — это небольшая библиотека для визуализации в веб-браузере, предназначенная для использования с TensorFlow.js.

Посмотреть tfjs-vis на GitHub Посмотреть демо

Подготовьте данные для обработки с помощью TensorFlow.js

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

Посмотреть документацию