本文作者

蔡善清(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元就可以获得抢读期免费在线阅读全本+一本纸书,快来扫码抢读吧。

图 灵 社 群

来自前端开发者的灵魂发问:TensorFlow.js 好学吗?相关推荐

  1. 谷歌开发者大会焦点:TensorFlow.js可制作微信小程序,Android 10原生支持5G,TF2.0大更新...

    2016 年谷歌开发者大会在中国首次举办,2017 年谷歌宣布成立"AI 中国研发中心",2018年谷歌的"AI+小程序"的产物"猜画小歌" ...

  2. 为什么 那么多 前端开发者都想学 Vue.js

    根据JavaScript 2017 前端库状况调查 Vue.js是开发者最想学的前端库.我在这里说明一下我为什么认为这也是和你一起通过使用 Vue 构建一个简单的 App 应用程序的原因. 我最近曾与 ...

  3. 智能化时代:前端开发者进阶史

    文中为大家介绍的算法工程框架 Pipcook,它是一款面向前端开发者的机器学习框架,我们希望它会成为前端开发者学习和实践机器学习的平台,从而推进前端智能化的进程. 助力 2020 双十一 imgcoo ...

  4. tensorflow sigmoid 如何计算训练数据的正确率_“来自蒙娜丽莎的凝视”— 结合 TensorFlow.js 和深度学习实现...

    客座博文 / Emily Xie,软件工程师 背景 坊间传闻,当您在房间里走动时,蒙娜丽莎的眼睛会一直盯着您. 这就是所谓的"蒙娜丽莎效应".兴趣使然,我最近就编写了一个可互动的数 ...

  5. 前端开发者如何用JS开发后台

    学习交流微信: 万能的JavaScript 有一条 Atwood 定律:any application that can be written in JavaScript, will eventual ...

  6. 前端人工智能?TensorFlow.js 学会游戏通关

    题注:如果喜欢我们的文章别忘了点击关注阿里南京技术专刊呦~ 本文转载自 阿里南京技术专刊-知乎,欢迎大牛小牛投递阿里南京前端/后端开发等职位,详见 阿里南京诚邀前端小伙伴加入~. 关键字:Tensor ...

  7. html鼠标悬停改变背景,js设置鼠标悬停改变背景色实现详解_哒哒_前端开发者

    看了网上那么多的 this is test! }); function changBkColor(obj){ obj.οnmοuseοver=function(){ this.className=&q ...

  8. JavaScript武力值飙升!用TensorFlow.js轻松实现在浏览器里搞深度学习......

    近年来,AI 与人类的生活越来越紧密,慢慢变得无处不在.那么提到 AI ,我们会想到什么?小编最先想到的是机器人.早在小学作文中,我就写到 2021 年到处都是机器人,机器人汽车到处飞.结果 2021 ...

  9. web前端怎么获取cookie?新手前端开发者需了解

    在前端开发中有些情况下需要获取用户的cookies,这样当用户下次登录网站的时候就不需要重复的去调整功能,那么你知道如何去实现吗? 先放一段完整的JS代码,后面都有功能备注,大家可以自己先看一下. 下 ...

最新文章

  1. 【Android 安装包优化】动态库打包配置 ( “armeabi-v7a“, “arm64-v8a“, “x86“, “x86_64“ APK 打包 CPU 指令集配置 | NDK 完整配置参考 )
  2. 李开复:白手起家的10个步骤
  3. pdm生成mysql sql语句_如何用Powerdesigner的PDM生成数据库
  4. apache压力测试
  5. 好看的php验证码,一漂亮的PHP图片验证码实例
  6. What's the best way to get rid of get parameters from url string?
  7. 深入浅出自定义标签(二)生成javascript
  8. 振华重工携手微软,开启港口运营数字化转型新纪元
  9. 世纪互联云和华为共同打造的数据中心是一个很好的一步标志!
  10. 查看mysql 更新命令_MySQL UPDATE 查询
  11. 关于数据库的一些基本操作语句
  12. MATLAB dsolve 函数求解偏微分方程一例
  13. 02怎么学数据结构?
  14. JQ插件OrgChart实现组织结构图
  15. NOIP模拟赛 czy的后宫5
  16. 谁在用生命为错误买单?
  17. 金九银十的你准备好了吗?Python 100道基础面试题先收藏!【附答案】
  18. Qt中qrc文件编译后缺少预编译头文件
  19. Python爬虫4.2 — ajax(动态网页数据抓取)用法教程
  20. SSM项目之注册页面知识点整理

热门文章

  1. java确定一个整数是否溢出,java-判断一个整数是不是回文,考虑溢出
  2. linux mysql 权限设置_Linux下mysql新建账号及权限设置
  3. c# oldb连接_C#使用 OleDbConnection 连接读取Excel
  4. sql 游标_SQL基础丨游标
  5. php goto call,Php中的goto用法
  6. php个人中心代码,wordpress个人中心页author_user的相关判断处理php代码
  7. mysql每日备份_Linux下如何实现Mysql数据库每天自动备份定时备份
  8. excel打不开怎么修复_SD卡坏了怎么办?一招教你拯救文件!
  9. 【c语言】蓝桥杯算法提高 选最大数
  10. python 读取图片成为一维数组_python+opencv 图像的数组和矩阵操作