TensorFlow 1.x最后一更、Android 10最新特性,这是谷歌开发者日

简介: 教程、体验、实战?谷歌开发者日能满足你对开发工具与开发体验的所有好奇心。

2019 谷歌开发者大会于 9 月 10 日和 11 日在上海举办,大会将分享众多开发经验与工具。在第一天的 KeyNote 中,谷歌发布了很多开发工具新特性,并介绍而它们是如何构建更好的应用。值得注意的是,TensorFlow 刚刚发布了 2.0 RC01 版和 1.15,谷歌表示 1.15 是 1.x 的最后一次更新了。


除此之外,微信小程序的 TensorFlow.js 插件、Android 10 的发布、Flutter 1.9 的发布都非常吸引人,其中 Flutter 是最主流的跨平台 UI 框架之一。


TensorFlow 从 1.x 到 2.0 RC


在 KeyNote 中,非常令人惊奇的是,谷歌高级软件工程师 Anna Goldie 用中文向大家介绍了 TensorFlow 2.0 近来的发展。TensorFlow 2.0 不仅发布了 Release Candidate,与此同时,谷歌还发布了 TensorFlow 1.x 的最后一版 1.15。Goldie 表示,谷歌同样也为微信小程序配置了 TensorFlow.js 插件。所有这些更新,都是为了能更高效地构建与应用机器学习模型。


TensorFlow 2.0 相信大家已经非常熟悉了,机器之心之前也介绍过 2.0 的很多新特性。但是在刚刚发布的 TF 2.0 RC01 版中,它重点还是放在优化 Keras 和 Eager Execution 的能力,它希望通过这这两种 API 简化整个开发流程。


微信图片_20211201225710.jpg


整个 TF 2.0 RC 版去除了很多不必要的 API,例如它统一了 tf.train.Optimizers 和 tf.keras.Optimizers,以后可能只需要使用第二种 API 了,尽管第一种在以前是最为常见的。总体而言,整个 TF 2.0 的 API 会改动很多,甚至 tf.app、tf.flags 和 tf.logging 在 RC 版中都去除了。


微信图片_20211201225713.png


此外,非常令人惊讶的是,TF 2.0 RC 版准备对 tf.Session 下手了,它以前在 1.x 中是必不可少的模块。谷歌表示,以前都是通过声明式的编程来构建并执行静态计算图,但是最新的 RC 版已经不再鼓励使用这种方式了,我们可以正常地写 Python 函数,然后再加上 tf.function 装饰器就能将其转化为计算图。这种方式转化的计算图还经过了一系列性能优化,它的表现更好。


在谷歌开发者日 KeyNote 过后,我们发现 TensorFlow 发布了 1.x 的最后一版。1.x 以后就不会再针对新特性进行更新了,不过至少在一年内,它还是会针对 Issue 或 Bug 进行维护的。


微信图片_20211201225717.jpg


支持微信的 TensorFlow


除了常规平台上的框架更新,Goldie 在 KeyNote 中还介绍了用于微信小程序的 TensorFlow.js 插件,该插件封装了 TensorFlow.js 库,用于提供给第三方小程序调用。


我们可以在小程序管理后台的「第三方服务-插件管理」中添加插件,就能直接在小程序上部署机器学习模型。更便捷的是,我们可以直接从 tfjs 模型库调用预训练模型,不论是视觉、语音还是自然语言相关的能力。此外,为了方便国内开发者的使用,该插件的 URL 调用参数都提供了国内镜像,这样才能流畅地打造整个小程序。



Android 10 与 Flutter


几天前谷歌发布了 Android 10,它利用前沿机器学习技术,帮助折叠屏和 5G 的实际应用,从而提供更好的移动端体验。KeyNote 重点介绍了 Android 10 的两大更新主题,即用户与开发。其中用户主要体现在原生支持 5G 以及更强大的安全与隐私控制,而开发主要体现在编程语言与工具的创新。


对于 Android 10 的 5G 平台支持,我们可调用网络连接 API 判定设备是否可以高速联网,以及当前的网络是否计费,这样开发调用 5G 网络的 APP 就会方便很多。因为 5G 网络能大幅度降低网络延迟并提高数据传输速度,那么它对机器学习模型的宽容度会增加很多,更多适合用云计算的大模型也能通过 API 直接调用。


另外对于开发者,Android 10 好不好很大程度在于开发工具是不是高效。KeyNote 介绍了非常多的开发工具,例如下图所示的 Kotlin 语言,如果要实现相同的功能,它的代码量远远少于一版的 Java 编程。Android 首席技术推广工程师 Chet Haase 表示,Kotlin 是近年发展最迅速的编程语言之一。


微信图片_20211201225720.gif


值得注意的是,Android 10 内置了很多机器学习特性,包括利用离线的语音识别模型自动生成视频字幕、利用本地的机器学习模型实现操作推荐等等,其中操作推荐即在通知中显示与当下场景相关的建议操作。


在 Android 之外,另一大亮点即最新稳定版 Flutter 1.9 的正式发布。Flutter 是谷歌开源并维护的移动 UI 框架,可以快速在 iOS 和 Android 上构建高质量的原生用户界面。在 KeyNote 中,我们注意到 Flutter 目前还利用机器学习自动补全代码,这应该比较有意思。


微信图片_20211201225724.jpg


Flutter 团队产品经理樊舟颖表示,从去年 12 月到现在,Flutter 的用户已经增长了一倍多,且它在中国非常流行,有 1/5 的 Flutter 开发者都来自中国。1.9 目前是 Flutter 最大的一次版本更新,它合并了核心代码库与网页版 Flutter,甚至针对最新的 macOS Catalina,Flutter 也做好升级准备,顺利适配新平台。


好玩的开发者日


除了这些更新发布外,开发者日还发布了很多「好玩」的体验,包括*谷歌*艺术与文化 APP、Grow with Google 成长计划等等。其中谷歌艺术与文化通过「观妙中国」APP 允许爱好者足不出户欣赏高清艺术藏品,Grow with Google 则提供了一系列免费线上课程与学习工具,从而扩宽我们的数字化技能树。


在展区中,谷歌艺术与文化提供了智玩皮影、智舞窑变、智绘甲骨三大体验项目,它们都基于 TensorFlow 机器学习模型。例如智舞窑变,它会利用姿态检测模型识别人体的各种「舞姿」,然后根据你的姿态实时生成对应的瓷器形状及花纹。这些体验项目都挺受欢迎的,排队也就不会短啦。


微信图片_20211201225728.jpg


如上所示为展区的一角,我发现它还有另一个很吸引人的特色,即不同的主题都会配一个「Ask XXX」展台,我们可以问该主题的任何问题,如上 Google Cloud 就可以询问使用过程中的各种疑难杂症。


整体体验下来,谷歌开发者日的参与度非常高,KeyNote 的各个主题也有更详尽的专题演讲。甚至第二天整天都有 TensorFlow 的专题讲座,我们可以找到关于 TF 各种模块、各种功能特性的指南讲座。


文为机器之心报道,转载请联系本公众号获得授权

相关文章
|
3月前
|
Android开发 Swift iOS开发
iOS和安卓作为主流操作系统,开发者需了解两者差异以提高效率并确保优质用户体验。
【10月更文挑战第1天】随着移动互联网的发展,智能手机成为生活必需品,iOS和安卓作为主流操作系统,各有庞大的用户群。开发者需了解两者差异以提高效率并确保优质用户体验。iOS使用Swift或Objective-C开发,强调简洁直观的设计;安卓则采用Java或Kotlin,注重层次与动画。Swift和Kotlin均有现代编程特性。此外,iOS设备更易优化,而安卓需考虑更多兼容性问题。iOS应用仅能通过App Store发布,审核严格;安卓除Google Play外还可通过第三方市场发布,审核较宽松。开发者应根据需求选择合适平台,提供最佳应用体验。
75 3
|
29天前
|
存储 安全 Android开发
探索Android系统的最新安全特性
在数字时代,智能手机已成为我们生活中不可或缺的一部分。随着技术的不断进步,手机操作系统的安全性也越来越受到重视。本文将深入探讨Android系统最新的安全特性,包括其设计理念、实施方式以及对用户的影响。通过分析这些安全措施如何保护用户免受恶意软件和网络攻击的威胁,我们希望为读者提供对Android安全性的全面了解。
|
30天前
|
搜索推荐 Android开发 开发者
探索安卓系统的最新特性与发展趋势
本文深入分析了Android 13的新功能和改进,以及这些更新对用户体验和开发者社区的影响。文章还预测了未来Android系统的发展方向,为技术爱好者提供了宝贵的信息。
|
1月前
|
安全 Android开发 iOS开发
深入探索iOS与Android系统架构差异及其对开发者的影响
本文旨在通过对比分析iOS和Android两大移动操作系统的系统架构,探讨它们在设计理念、技术实现及开发者生态方面的差异。不同于常规摘要仅概述内容要点,本摘要将简要触及核心议题,为读者提供对两大平台架构特点的宏观理解,铺垫
|
2月前
|
机器学习/深度学习 数据采集 数据可视化
TensorFlow,一款由谷歌开发的开源深度学习框架,详细讲解了使用 TensorFlow 构建深度学习模型的步骤
本文介绍了 TensorFlow,一款由谷歌开发的开源深度学习框架,详细讲解了使用 TensorFlow 构建深度学习模型的步骤,包括数据准备、模型定义、损失函数与优化器选择、模型训练与评估、模型保存与部署,并展示了构建全连接神经网络的具体示例。此外,还探讨了 TensorFlow 的高级特性,如自动微分、模型可视化和分布式训练,以及其在未来的发展前景。
110 5
|
2月前
|
安全 Java Linux
深入解析Android系统架构及其对开发者的意义####
【10月更文挑战第21天】 本文旨在为读者揭开Android操作系统架构的神秘面纱,探讨其如何塑造现代移动应用开发格局。通过剖析Linux内核、硬件抽象层、运行时环境及应用程序框架等关键组件,揭示Android平台的强大功能与灵活性。文章强调了理解Android架构对于开发者优化应用性能、提升用户体验的重要性,并展望了未来技术趋势下Android的发展方向。 ####
49 0
|
3月前
|
IDE Android开发 iOS开发
探索安卓与iOS系统的技术差异:开发者的视角
本文深入分析了安卓(Android)与苹果iOS两大移动操作系统在技术架构、开发环境、用户体验和市场策略方面的主要差异。通过对比这两种系统的不同特点,旨在为移动应用开发者提供有价值的见解,帮助他们在不同平台上做出更明智的开发决策。
|
4月前
|
监控 Android开发 iOS开发
深入探索安卓与iOS的系统架构差异:理解两大移动平台的技术根基在移动技术日新月异的今天,安卓和iOS作为市场上最为流行的两个操作系统,各自拥有独特的技术特性和庞大的用户基础。本文将深入探讨这两个平台的系统架构差异,揭示它们如何支撑起各自的生态系统,并影响着全球数亿用户的使用体验。
本文通过对比分析安卓和iOS的系统架构,揭示了这两个平台在设计理念、安全性、用户体验和技术生态上的根本区别。不同于常规的技术综述,本文以深入浅出的方式,带领读者理解这些差异是如何影响应用开发、用户选择和市场趋势的。通过梳理历史脉络和未来展望,本文旨在为开发者、用户以及行业分析师提供有价值的见解,帮助大家更好地把握移动技术发展的脉络。
126 6
|
4月前
|
前端开发 Java 数据库
💡Android开发者必看!掌握这5大框架,轻松打造爆款应用不是梦!🏆
在Android开发领域,框架犹如指路明灯,助力开发者加速应用开发并提升品质。本文将介绍五大必备框架:Retrofit简化网络请求,Room优化数据库访问,MVVM架构提高代码可维护性,Dagger 2管理依赖注入,Jetpack Compose革新UI开发。掌握这些框架,助你在竞争激烈的市场中脱颖而出,打造爆款应用。
445 3
|
3月前
|
开发工具 Android开发 iOS开发
移动应用开发的艺术:探索Android与iOS的操作系统特性
【9月更文挑战第33天】在数字时代的浪潮中,移动应用已成为我们日常生活不可或缺的一部分。本文将深入探讨两个主流移动操作系统——Android和iOS——的独特特性,并分析它们如何影响移动应用的开发过程。我们将通过比较这两个系统的设计哲学、用户界面(UI)设计、开发工具以及市场策略,来揭示开发者如何在这些不同的平台上打造出色的用户体验。无论你是开发者还是对移动技术感兴趣的读者,这篇文章都将为你提供宝贵的见解。