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

Я наткнулся на учебник на angularfirebase.com, в котором объясняется, как построить модель ML и интегрировать ее в браузер с помощью Angular.
Ссылка: https://angularfirebase.com/lessons/tensorflow-js-quick-start/

Вот попытка упростить интеграцию модели машинного обучения в приложение Angular.

Демо: https://dhormale.github.io/angular-tensorFlow-integration/

Существует множество успешных моделей на основе Python, которые вы можете загрузить в браузер и начать выполнять прогнозы с минимальным кодом.

Код ниже импортирует MNIST ConvNet, обученную на Keras Python, а затем делает прогнозы с помощью TensorFlow.js в приложении Angular.

Шаг 1. Установите tenorflow js.

$ npm install @tensorflow/tfjs -- save

Шаг 2. Добавьте модель машинного обучения в папку с ресурсами.

Как сгенерировать файлы моделей машинного обучения:
TensorFlow.js имеет инструмент командной строки Python, который преобразует h5 модель, сохраненную в Keras, в набор файлов, которые можно использовать в Интернете. < br /> Чтобы преобразовать такой файл в формат слоев TF.js, выполните следующую команду.

$ pip install tensorflowjs
$ tensorflowjs_converter --input_format keras \
                       keras/cnn.h5 \
                       src/assets

Шаг 3: загрузите модель при инициализации

ngOnInit() {
   this.loadModel();
}
...
loadModel() {
   this.model = await tf.loadModel('/assets/model.json');
}

Шаг 4: добавьте холст для захвата изображения. Добавьте к нему прогнозируемое событие.

<div class="wrapper">
   <canvas drawable (newImage)="predict($event)"></canvas>
</div>

Шаг 5: при прогнозировании события преобразуйте холст в изображение, и модель TensorFlow будет прогнозировать число по изображению.

predict(imageData: ImageData) {
   const pred = await tf.tidy(() => {
      // Convert the canvas pixels to
      let img = tf.fromPixels(imageData, 1);
      img = img.reshape([1, 28, 28, 1]);
      img = tf.cast(img, 'float32');
      // Make and format the predications
      const output = this.model.predict(img) as any;
      // Save predictions on the component
      this.predictions = Array.from(output.dataSync());
   }
});
}

Полный исходный код находится по адресу: https://github.com/dhormale/angular-tensorFlow-integration

Ссылка:

Данные Digit Recognizer: https://www.kaggle.com/c/digit-recognizer

Ускоренный курс машинного обучения с API TensorFlow:
https://developers.google.com/machine-learning/crash-course/

Если вы нашли этот урок полезным, нажмите кнопку хлопка :)