浏览器端机器学习 —— TensorFlow.js

文章目录

  • 1、简介
  • 2、官方手册
  • 3、优点
  • 4、程序示例
  • 5、个人理解

1、简介

TensorFlow.js 是一个 JavaScript 库,用于在浏览器和 Node.js 训练和部署机器学习模型。

TensorFlow.js 可以为你提供高性能的、易于使用的机器学习构建模块,允许你在浏览器上训练模型,或以推断模式运行预训练的模型。TensorFlow.js 不仅可以提供低级的机器学习构建模块,还可以提供高级的类似 Keras 的 API 来构建神经网络。

2、官方手册

具体内容这里就不介绍了
详见:https://tensorflow.google.cn/js/tutorials

3、优点

  • 不用安装驱动器和软件,通过链接即可分享程序

  • 网页应用交互性更强

  • 有访问GPS,Camera,Microphone,Accelerator,Gyroscope等传感器的标准api(主要是指手机端)

  • 安全性,因为数据都是保存在客户端的

4、程序示例

模型:https://tensorflow.google.cn/js/models
演示:https://tensorflow.google.cn/js/demos

5、个人理解

之前一直用Python,昨天的team的一个会议才发现原来还有tensorflow.js的存在。对于一个产品来说,之前我们对机器学习的理解普遍认为训练模型在服务器进行,之后部署会在服务器或用户端,但是TensorFlow.js 就是一个可以在客户浏览器端训练部署机器学习模型的库。

笔者认为,对于TensorFlow.js就像它的重点一样,主要将应用于两方面:

  • 1、轻量级模型的训练:受用户浏览器端硬件设备的限制,大规模数据的训练还将以服务器端为主。但是由于安全问题,如处于对用户数据的保护考虑,希望能够在用户本地完成训练,防止本地数据上传服务器发生数据泄露,此时可以考虑采用TensorFlow.js对用户数据进行训练,将训练好的模型上传服务器即可。(联邦学习初衷)
  • 2、迁移学习:可以考虑利用在服务器端训练好的模型之上,客户端集合自身需求,对本地数据进行迁移学习,从而既能解决全部训练在客户端复杂工作量的问题,又能解决服务器端训练模型不能适应用户实际需求的问题。

ps:对于只是想利用神经网络完成个毕设、课设,或者做个demo的小伙伴是个好消息,因为第四章给出了示例,真的超级方便,显示效果也很棒,比Python的TensorFlow更易上手。

你可能感兴趣的:(TensorFlow)