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更易上手。