大家都掌握课程重点了吗?
上周日,第二次 Office Hours 在线答疑如期举行
谷歌开发者专家 (GDE) 李卓桓在直播间分享了
新一波关于 TensorFlow 2 的知识点
想知道老师具体讲了什么?往下就对了!
(一定要看到最后噢!)
Office Hours 问题精选
Q1. 请问 tf.js 是不需要冻结模型了吗?
A1: 在浏览器里跑的话,还是要冻结之后 SavedModel 出来,前端浏览器里加载之后才可以。如果是在后端用 node 跑的话,可以试一下 TensorFlow 的 SavedModel 直接把模型转过来,也可以在 JavaScript 里进行后续训练。当然在前端浏览器也可以做后续训练,但性能会稍微差一些。所以一般来讲,我们在 html 里会部署一个模型,模型会压缩,会想办法让它变得更小,到页面里做 inference,但在后端页面的话,在 node.js 里可以做任何 Python 的 TensorFlow 可以做的事。
Q2. 请问跑在浏览器上会有性能问题吗?
A2: 性能问题是绝对存在的,取决于我们如何优化它达到最终的实际效果。如果在浏览器中加载 BERT 模型,虽然 BERT 有点太重了,比如有 1G 的参数,到正式使用时可能要压缩到 100M 才能正式使用。那么在前端浏览器也是一样,我们有很多 TensorFlow Lite 各种模型的压缩和精简,我们把精简的模型拿过来放到合适的场景下用,这是现阶段比较好用的。如果是模型很大的话,放在后端去做训练微调,如果在前端应用的话要压缩得尽量小才行。
Q3. TensorFlow 方便训练 transformer 吗?
A3: 不太容易,但不排除以后可以,如果用了 TensorFlow 的 binding ,又可以在 Google Cloud 上用 TPU 的话,那时候你用的是 JavaScript 还是 Python,本质区别就不大了。目前还是建议大家把 tf.js 用做一个 deployed 的部署工具,把它用起来,去解决一些前端领域的问题,不要去挑战算力和性能。
Q4. tf.js 放在前端的优势是什么?
A4: 优势在于能让前端用户不通过访问后端就可以得到人工智能判断的结果。一,对于用户来说,可以快速得到反馈,无需通过网络,可以省掉很多网络延时;对于产品来说,可以在客户端去设计更多结合人工智能的点,省掉后端服务器的限制;另外一点,对于服务提供方来讲,可以直接在前端处理掉大量的访问请求,后端可以降低配置,无需很多资源,同时也可以减少复杂度。
Q5. 如果用推理的话,在线训练效果如何?
A5: tf.js 推理和在线训练的效果可以去 TensorFlow 官网上看一下相关例子,分别是你可以在线让摄像头学习你的动作,让它学到你的动作代表什么意思,也有一些例子是语音识别,在浏览器里录一段语音,当你再说这句话时,它能够识别出大概意思,非常简单,很适合去看 demo,代码也不长。如果你能设计出一个好的场景,在前端去训练是完全没有问题的。
Q6. Python 与 Swift 的对比?
A6: 可以去官网看一下 Swift 中关于自动微分的部分,如果在 Swift 里写一个函数,把它的参数传进去之后得到了一个结果,那么在 Swift 里可以直接得到整个函数,也就是声明这个函数时要自动微分它,声明之后每一次传递的数据,Swift 可以把自动微分的结果直接给出来,无需其他操作。Python 里面,不是语言集能够解决的,需要做其他工作。建议大家看下 Swift 官网上自动微分的相关例子,也可以去看一下今年 Swift Summit 和去年 Google 的发布会视频,每年都有一个环节专门介绍 Swift,他们工程师介绍地非常完整。
Q7. Swift 调用 Python 的 TensorFlow,和用 Swift for TensorFlow 的区别?
A7: Swift 调用 Python 的 TensorFlow,使用的功能还是 Python 里的功能,只有用 Swift for TensorFlow 才能享受到 Swift 的一些特定功能。
以上,就是第二次 Office Hours 中大家感兴趣的重点问题与老师在直播中给出的回答。
如有其他问题,你也可以和学习小队队友一起探讨,或查看“相关阅读”中的往期答疑精选。
经过近三周学习和两次在线答疑,本期的机器学习 Study Jam 项目也将进入尾声啦,大家是不是都已经学会用 TensorFlow 搭建基础模型了呢?
是时候来一波结课小测验,让大家展示自己的真正实力了!
结课小测验:https://services.google.cn/fb/forms/studyjam2ndquiz/
(扫码或输入链接,即可参与结课小测验)
所有成功报名的学习小队,从今天起均可直接扫码参加结课小测验,用实践再次巩固所学。结课小测验的截止时间是 8 月 27 日 23:59,各小队队长记得注意时间噢。
每位成员都独立完成提交结课小测验的小队,将参与最终评奖,全员都有机会获得夏日礼包一份。小测通过人数大于等于 3 人的小队,优秀队长还将额外获得一份特别礼。
此外,两次答疑的回放视频链接也会在后续推送中公布。继续关注我们,第一时间获得关于 TensorFlow 的更多新知识、新技巧和新应用~
了解更多,请点击“相关阅读”查看。