基于Tensorflow.js实现浏览器级别的目标识别应用实践
tensorflow.js 是谷歌于今年推出的浏览器级别的深度学习框架,TensorFlow 团队在其github官网上也公开了表示基于网页的 JavaScript 库 TensorFlow.js 库框架及其相关的例子。基于该应用能训练并部署机器学习模型。
1、Tensorflow.js介绍
TensorFlow.js 是一个开源的用于开发机器学习项目的 WebGL-accelerated JavaScript 库。TensorFlow.js 可以为你提供高性能的、易于使用的机器学习构建模块,允许你在浏览器上训练模型,或以推断模式运行预训练的模型。TensorFlow.js 不仅可以提供低级的机器学习构建模块,还可以提供高级的类似 Keras 的 API 来构建神经网络。TensorFlow.js 的安装非常简单,我们可以直接使用 NMP 或脚本完成构建。它的使用也有非常多的文档与教程,我们只需要掌握一些基本的核心概念就能快速入手这一 JS 库。接下来,我们介绍这个库的一些核心概念。
2、官网例子介绍
在其示例官网https://github.com/tensorflow/tfjs-examples中已经公开了诸多的例子,如下:
3、mobilenet的示例编译和测试
(1)由于tfjs需要用到node.js,需要进行安装,在linux和windows都可以运行。
在node.js环境下安装yarn,用这个来进行编译速度远远快于npm。
(2)mobilenet编译结果如下所示:
(3)在弹出的浏览器上,输入相应的网址,并进行相关图片测试。由于采用了简化版本的mobilenet,而且整个大小才2M,因此在目标识别分类精度还是有点弱。