TensorFlow 2.0 Alpha
在今天举行的 2019 年 TensorFlow 开发者峰会上,谷歌正在推出 TensorFlow 2.0 的 alpha 版本,谷歌称其更简单,更直观易用。
去年 11 月,TensorFlow 庆祝了它的第三个生日,自 2015 年 11 月推出以来,TensorFlow 已被下载超过 4100 万次,目前已有超过 1,800 名来自世界各地的贡献者。
谷歌使 TensorFlow 2.0 更容易使用的一种方法是:指定 Keras 作为构建和培训深度学习模型的高级 API,尤其是对于刚接触机器学习的开发人员来说,这是件好事儿。其他废弃的和冗余的 api 已经被删除或替换为等价的 api。此外,Eager Execution 在 2.0 版本中变成了默认设定,“开箱即用”性能也得到了提升。
目前的 alpha 版本提供了 API 更改的早期预览,谷歌提供了转换和迁移工具,以及帮助用户从 1.x 版本过渡到到 2.0 版。Tensorflow.org 也进行了类似的修改,增加了新的内容和资源。
与此同时,用于手机和其他嵌入式系统 ML 的 TensorFlow Lite 目前正在 20 亿部移动设备上运行,包括搜索、智能助手、拍照和 Pixel 视觉核心等第三方产品。在接下来的一年里,谷歌将改进设备上的训练和单片机支持。
此外,谷歌今天还发布了:针对移动开发人员的 TensorFlow Lite 1.0、针对苹果程序员的 TensorFlow with Swift version 0.2,以及针对 JavaScript 社区的 TensorFlow.js 1.0。据了解,TensorFlow.js 已经有 30 万次下载和 100 个贡献者。
Coral & Coral USB
除了 TensorFlow 新版本,本次峰会的另一大亮点就是两款硬件产品。
在去年于旧金山召开的 Google Next 大会上,Injong Rhee 通过主题演讲披露了谷歌公司的两款全新硬件产品:一款开发单片,外加一款 USB 加速棒。作为这两款产品的核心,谷歌的 Edge TPU 扮演着关键角色——这款专用 ASIC 旨在将机器学习推理能力引入边缘设备。
在近一年之后,两款产品以“Coral”的名号推出了“Beta 测试版”,并在本次 TensorFlow 开发者大会上正式亮相。
Coral(beta 版)
Coral 开发单片是一款单片机,其中配备有可拆卸的系统模组(简称 SOM),包含 SOC、eMMC、无线电与谷歌 Edge TPU。它非常适合那些需要快速实现 ML 推理功能的物联网设备及其它嵌入式系统。
Coral 开发单片运行 Debian Linux 系统,其中包含一个拥有外设连接口的基板;此外,其还具备 USB 2.0/3.0 接口、DSI 显示接口、MIPI-CSI 摄像头接口、千兆以太网接口、3.5 毫米音频插孔、用于立体声扬声器的 2.54 毫米 4 针终端、全尺寸 HDMI 2.0a 接口,两个数字 PDM 麦克风外加“与 Raspberry Pi 类似的”40 针 GPIO 接头。
连接到基板上的是一个可拆卸的 40 x 48 毫米系统模组(简称 SoM),其中央为一块 NXP i.MX 8M 处理器以及 Edge TPU 本体。该 SoM 具有加密协处理器、板载 Wi-Fi 并支持蓝牙 4.1,外加 1G LPDDR4 内存与 8GB eMMC。
与能够开箱即用的 USB 加速棒不同,这款开发单片明显只是 SoM 单片的一种示例性方案。谷歌公司计划未来“批量”推出这类 SoM 单片,允许用户自行组装并利用单片之间的连接器实现 PCB 硬件定制,最终将其集成至各类商业产品当中。
作为产品开发工具,这款单片适用于那些希望在原型物联网设备及其嵌入式系统中快速引入机器学习推理能力的硬件开发人员。
Coral 摄像头(图左)与 Coral(beta 版)开发单片
另外,谷歌还提供与这款开发单片配套的摄像头。此摄像头采用 500 万像素(2582 x 1933 像素)Omnivision OV5645 传感器,并可接入开发单片的 MIPI-CSI 连接器中。摄像头的焦距为 2.5 毫米,定焦范围从 10 厘米到无限远,视野为 84 度。
Coral(beta 版)USB 加速棒
Coral USB 加速棒是一款插入式 USB 记忆棒,能够为现有 Linux 系统提供强大的 ML 推理功能。通过 USB 3.0 接口连接 Edge TPU,设备即可快速对本地 AI 应用程序进行原型设计。
正如一年半之前英特尔公司发布的 Movidius 神经计算棒一样,Coral USB 加速棒同样将谷歌的定制化 ASIC 设计成易拿易用的棒状外形,这看起来与普通 U 盘非常相似。然而,把二者放在一起,就能看出明显的区别。首先,Coral 棒要小得多;之所以刻意关注体积,是因为此前已经有不少用户抱怨英特尔 Movidius 棒太大,插上之后会挡住邻近接口并导致其它设备无法接入。
另外,Movidius 棒在与采用 ARM 芯片的计算设备对接时(例如 Raspberry Pi)存在不少早期兼容问题。好在 Cora 加速棒能够与 Raspberry Pi 良好配合,当然只能实现 USB 2.0 的传输速度。事实上,Coral 同样适用于 Debian Linux 系统支持的任何 64 位 ARM 或 x86 平台。
Coral 加速棒利用 32 位 ARM Cortex-M0+ 微处理器构建而成,其运行主频为 32 MHz,仅配备 16 KB 闪存与 2 KB 内存——这就是棒内 Edge TPU 所拥有的全部资源支持。有趣的是,产品参数表显示该 USB 加速棒在运行时应用需要消耗 500 mA 电量。
有关 Coral 的更多详细信息可以参考我们之前的报道:
https://www.infoq.cn/article/5_kO8t9SZbyruqqZwZyV
参考链接:
https://9to5google.com/2019/03/06/tensorflow-2-0-alpha/
评论