С 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/
Если вы нашли этот урок полезным, нажмите кнопку хлопка :)