谷歌开发者大会焦点:Android 10原生支持5G

2016 年谷歌开发者大会在中国首次举办,2017 年谷歌宣布成立“AI 中国研发中心”,2018年谷歌的“AI+小程序”的产物“猜画小歌”火遍中国,今年的谷歌开发者大会为我们带来了什么?

  2019谷歌开发者大会(Google Developer Days,简称GDD)刚刚落下帷幕,在为期两天的大会中,谷歌推出了不少新产品和开发工具:Android团队更新了最新产品Android 10,TensorFlow团队发布了TensorFlow 2.0,Flutter推出了Flutter 1.9,Web, Firebase, Wear OS和ARCore团队也都介绍了相关产品更新。

  此外,新任谷歌大中华区总裁陈俊廷登场,宣布正式推出 Grow with Google 成长计划,将提供一系列免费线上课程、学习工具和线下培训,帮助更多人解锁数字时代必备技能。接下来看看本届谷歌开发者大会的亮点。

  谷歌大中华区新总裁陈俊廷首次现身:推出 Grow with Google 成长计划

  在 KeyNote 主题演讲环节中,新任谷歌大中华区总裁陈俊廷(Stanley Chen)首先登场。这是陈俊廷在今年 6 月担任该职位后首次在公开大会中亮相。

  他公布了谷歌的数据技术分享计划,已经让 80 多个国家及地区,超过 4300 万人从中受益。在回顾了谷歌的近期的一些动作之后,宣布正式推出 Grow with Google 成长计划,向广大开发者们提供免费的课程学习计划。

  陈俊廷在演讲中还表示,希望通过网上的共享平台提供免费的课程,将谷歌的技术带给更多需要的人,帮助用户使用和体验谷歌的产品。

  陈俊廷毕业于国立台湾大学经济系,于 2011 年加入 Google 中国台湾,任台湾地区总经理一职。负责销售业务,职责涵盖大型企业客户、经销与线上业务。

  在加入 Google 前,陈俊廷曾任职于苹果,担任中国台湾分公司业务协理和亚洲区校园业务主管。

  Android 10重磅亮相,原生支持 5G,更注重数据安全

  本次大会正式推出新版本的安卓操作系统Android 10。实际上在本次开发者大会召开一周前,谷歌高级安卓产品经理Stephanie Cuthbertson已经在安卓开发者公众号上宣布了这个消息。

  Cuthbertson表示,新推出的Android 10聚焦移动创新安全隐私数字健康三大主题,全面打造最佳用户体验。

  在移动创新上,Android 10的几大亮眼新特性包括:

  对5G网络的强大支持:Android10 提供 5G 平台支持,对现有 API 进行扩展,更好地帮助开发者利用 5G 技术推动应用创新。

  通知中的智能回复: 利用设备内置机器学习技术,在通知中显示与当下场景相关的建议操作,例如消息智能回复,或者当通知中包含地址信息时,建议用户开启地图应用。

  智能回复功能会根据通知内容向用户提供建议操作

  官方深色主题: Android 10添加了系统全局深色主题,让用户可以在光线较暗的环境中更轻松的使用设备,并且大幅度减少设备耗电量。

  深色主题背景下的 Google Keep

  手势导航: 启用后,原有的底部导航栏设计会消失,让应用真正实现全屏显示。

  手势导航允许应用全屏显示内容

  在隐私保护、数据安全和网络性能上,Android 10也作出多项改进和更新,主要有以下几方面:

  给予用户更多地理位置控制: 为了提高用户的可控性,用户可以通过一个全新的地理位置权限,仅允许正在被使用的应用 (运行在前台) 访问设备位置信息。

  防止设备追踪: 为了防止应用追踪设备,Android10 不允许一般应用访问 IMEI 码、序列号等不可重置的设备识别号。

  P2P 及网络连接优化: 在 Android 10 中,我们对 Wi-Fi 堆栈进行了重构,这不仅提升了应用在隐私及性能方面的表现,而且对许多常见用例也有一定的优化,

  Wi-Fi 性能模式: Android10 允许应用启用高性能、低延迟的自适应 Wi-Fi 模式,这样一来,即使是在网络延迟比较敏感的场景下,如实时游戏、音频通话等,应用依旧能保障流畅的用户体验。在性能模式下,Android 平台将配合设备固件协同工作,实现最低能耗。

  TensorFlow 2.0,更直观、更强大、更灵活

  本次GDD,TensorFlow 2.0依然是重头戏。TensorFlow亚太区产品经理梁信屏展开了《机器学习的现在和未来》的分享,并把 TensorFlow 目前的家底透露了一遍:从 2015 年发布以来,达到了 4100 万的下载,超过 5 万次提交量,9900 次代码改动请求,以及 1800 多位贡献者。目前围绕TensorFlow已经构建起一个庞大的生态,TensorFlow也成为最成功的机器学习平台。

  TensorFlow 2.0 代码和 NumPy 很像,二者也可以很容易的相互置换对象。开发者也不用为 placeholders、Sessions 以及 feed_dictionaties 等伤脑筋了。

  2.0 版本围绕易用性、高性能、可扩展,三个方面进行了升级。下面我们列举一些主要的升级方面:

  即时执行(Eager Execution)变为默认模式

  1.0时代创建一个神经网络代码如下:

  但是到了2.0时代就变成了:

  API 清理和初级API

  像 TensorFlow.gans、TensorFlow.App、TensorFlow.contrib 以及 TensorFlow.flags 等很多 API,要么被直接移除,要么就是转移到单独的库。

  在 TensorFlow 1.x 中不止一种方法来创建和训练 ML 模型。而大多数时候,开发者都不是很清楚应该在什么情况下使用哪个 API。而且一旦使用了其中一种 API 训练模型,接下来就很难再切换到别的 API 了。

  所以在TensorFlow 2.0 中,TensorFlow.keras 是推荐使用的高级 API。

  初级API从 TensorFlow 1.x 到 2.0,没有发生太大的改变。通过 pip 来安装 TensorFlow 的时候,一般会得到完整的 Keras API 以及一些额外的函数工具集。

  定义训练循环

  在 TensorFlow 2.0 中,训练模型最简单的方法是使用 fit() 方法,它同时支持序列化和子类化模型。开发者也可以通过 fit() 方法很容易地配置一个 TensorBoard 实例。它同样适用于 Jupyter/Colab 笔记本。

  在使用模型子类化的时候,唯一需要做的是重写类成员函数 compute_output_shape(),或干脆弃用这个函数。

  以外,开发者可以使用 TensorFlow.data.Dataset 或 NumPy 的标准 nd-arrays 来作为 fit() 的输入。

  模型保存和恢复

  TensorFlow 1.x 中如何为产品保存和装载模型的标准是缺失的。而 TensorFlow 2.0 则试图通过定义一个单一 API 来解决这个问题。

  另外,TensorFlow 生态系统还整合了 SavedModels,这样就可以部署到手机、边缘设备以及服务器等里面。

  TF.Text:训练 NLP 模型

  TF.Text 是一个 TensorFlow 2.0 库,可以使用 PIP 命令轻松安装。能够在基于文本的模型中定期执行预处理过程,并提供 TensorFlow 核心组件中并未提供的、关于语言建模的更多功能和操作,为 TensorFlow 2.0 提供了强大的文本处理功能,且兼容动态图模式。

  TensorFlow Lite:在端上部署机器学习

  TensorFlow Lite 适用于手机以及嵌入式设备上,部署机器学习应用的框架,特点是:几乎没有延迟、不需要连接网络以及隐私保护。

  比如,闲鱼 App 在租房场景,用 TensorFlow Lite 自动对图片打标签,提高了租房效率;科沃斯机器人将 TensorFlow Lite 部署在扫地机器人中,实现自动避障等等。TensorFlow Lite 在谷歌产品中也被广泛应用,如 Google 相册、输入法、云助理等。

  根据统计,有超过 20 亿的移动设备,已经安装了基于 TensorFlow Lite 的应用。

  TensorFlow.js:可制作微信小程序的平台

  TensorFlow.js 是为 JavaScript 定制的深度学习平台。可以运行已有模型、对已有模型进行再训练、以及训练新的模型,支持多平台:浏览器、无线端(如微信小程序)、服务器、台式机。

  TensorFlow.js 除了可在多个平台运行机器学习模型,还可以对模型训练,此外具有 GPU 加速功能,并自动支持 WebGL。

  工程师现场演示了利用 TF.js 实现的最小最快的虚拟试妆的小程序。据悉,后续还将实现发型转换、年龄转化模拟、肤质检测等功能。

  Flutter 1.9 稳定版发布,支持 macOS Catalina 和 iOS 13

  Flutter 是谷歌的一款 UI 工具包,通过它的使用,开发者仅需一套代码,就可以为移动、网页和桌面构建美观的应用。

  据称,Flutter 1.9 是迄今为止最大的一次版本更新,有 100 多名 contributor 在此次开发周期中提交了超过 1500 个 pull request。

  新版本已经将 Flutter for web 合并至 Flutter 主仓库,并支持 macOS Catalina 和 iOS 13,改进工具链,支持新的 Dart 语言特性和新的 Material widget等。