本文作者
蔡善清(Shanqing Cai),谷歌公司软件工程师,深度参与了 TensorFlow 和 TensorFlow.js 的开发工作。从清华大学毕业后,他前往约翰斯 · 霍普金斯大学和麻省理工学院深造,并取得了麻省理工学院博士学位。 《JavaScript深度学习》作者。
“TensorFlow.js 好学吗?入门大约需要多长时间?” 这个问题问得很笼统,所以需要分情况讨论。以下所有讨论假设你熟悉 JavaScript(以下部分链接可能需要VPN支持)。
01
情况1. 你只是想用一些基于 TensorFlow.js 的模型来实现一些网页里的功能,比如图像里的物体检测。
那你不需要系统学习TensorFlow.js,只需要用现成的、被包装成 NPM 包的模型。比如:
MobileNet(图像分类)
https://www.npmjs.com/package/@tensorflow-models/mobilenet
COCO-SSD(物体检测)
https://www.npmjs.com/package/@tensorflow-models/coco-ssd
PoseNet(人体姿态识别)
https://www.npmjs.com/package/@tensorflow-models/posenet
SpeechCommands(声音识别)
https://www.npmjs.com/package/@tensorflow-models/speech-commands
这些模型的 NPM 页面都有比较详细的代码实例,照抄就可以了。
另外还有一些第三方开发的现成模型包,比如 ML5,里面有 pix2pix,SketchRNN 等好玩的模型 https://github.com/ml5js/ml5-library。
还有人脸识别和关键点标注的 face-api.js。
https://itnext.io/face-api-js-javascript-api-for-face-recognition-in-the-browser-with-tensorflow-js-bcc2a6c4cf07
0
02
情况2. 你是机器学习工程师,有一个 Python 训练好的模型想要在网页里面做推断。
那你可以学习一下 TensorFlow.js Converter 的使用。官网上有具体教程:
针对 Keras 模型
https://www.tensorflow.org/js/tutorials/conversion/import_keras
针对TensorFlow SavedModel
https://www.tensorflow.org/js/tutorials/conversion/import_saved_model
03
情况3. 作为熟悉各种 Python 框架的机器学习工程师,你想学习 TensorFlow.js 这一 JavaScript 框架,用来做训练、迁移学习、推断等。
这里的好消息是:TensorFlow.js 的 API 和 Python 里的 TensorFlow 和 Keras 基本上是对标的。所以对于你来说学习曲线应该很平缓:
底层op level的API直接对应到tf.*和tf.math.*。这里要指出的是,TensorFlow.js采用的是eager execution模式,所以不需要管计算图,tf.Session等概念。
高层layers API直接对应到Keras。见官方撰写的“给Keras用户的TensorFlow.js” https://www.tensorflow.org/js/guide/layers_for_keras_users 。
04
情况4. 你想要用 TensorFlow.js 作为工具,来从头自学机器学习和深度学习技术。
那你可以看一下官方的开源代码例子库 https://github.com/tensorflow/tfjs-examples ,这里面现在有近30个左右的模型,涵盖深度学习里面的基本概念,包括:
数据的表示和输入流水线
底层张量运算
分类和回归
目标函数,训练循环
超参数优化
各种问题类型:图像,文字
各种模型类型:线性回归,Multi-layer perceptron,卷积网络(CNN),循环网络(RNN),强化学习,生成性对抗网络(GAN)等
模型的序列化
数据和模型的可视化
各种运行环境,包括浏览器和Node.js
官方撰写的配套的书籍 Deep Learning with JavaScript 中文版《JavaScript 深度学习》,目前已在图灵出版(详情见文末)。
本文经作者授权,转载请联系出处
知乎链接:
https://www.zhihu.com/question/311028398/answer/588403059
上面提到的 TensorFlow.js 官方配套教程,现已在图灵社区独家上线,有意向的同学欢迎来试读。
深度学习扛鼎之作《Python深度学习》姊妹篇
《JavaScript深度学习》
重磅上市
本书教你使用 TensorFlow.js 构建强大的 JavaScript 深度学习应用程序。谷歌大脑团队官方解读 TensorFlow.js,前端工程师不可错过的 AI 入门书。
| 本书作者阵容
蔡善清(Shanqing Cai)
谷歌公司软件工程师,深度参与了 TensorFlow 和 TensorFlow.js 的开发工作。从清华大学毕业后,他前往约翰斯·霍普金斯大学和麻省理工学院深造,并取得了麻省理工学院博士学位。
斯坦利·比列斯奇(Stanley Bileschi)
谷歌公司 TensorFlow 可用性团队技术负责人,领导团队构建了 TensorFlow.js高阶 API。
埃里克·D. 尼尔森(Eric D. Nielsen)
谷歌公司软件工程师,深度参与了 TensorFlow.js 的开发工作。
弗朗索瓦·肖莱(François Chollet)
Keras 之父,TensorFlow 机器学习框架贡献者,Kaggle 竞赛教练,目前任职于谷歌公司,从事人工智能研究,另著有《Python 深度学习》。
| 图灵抢读
本书目前仅在图灵社区有售。只需1元,可以提前解锁本书20%的干货内容,在达成继续阅读意向后,原价129元的书,仅需88元就可以获得抢读期免费在线阅读全本+一本纸书,快来扫码抢读吧。
图 灵 社 群