介绍 Swift For TensorFlow
2018 年 4 月 26 日
Google Swift for TensorFlow 团队发布

Swift logo and TensorFlow logo

在 3 月份的 TensorFlow 开发者峰会上,我们 宣布并演示了 Swift for TensorFlow 项目。现在,我们很高兴在 GitHub 上将 Swift for TensorFlow 作为开源项目发布!



Swift for TensorFlow 提供了一种新的编程模型,它将图的性能与 Eager 执行的灵活性和表现力相结合,并着重于在堆栈的每个级别上提高可用性。这不是用 Swift 编写的 TensorFlow API 包装器——我们为 Swift 添加了编译器和语言增强功能,为机器学习开发人员提供一流的用户体验。

我们的方法是使用 TensorFlow 的一种全新方式,它为解决现有问题打开了新的设计机会和途径。虽然该项目还处于早期开发阶段,但我们已决定将其开源并将我们的设计讨论转移到公开邮件列表,以便任何对该项目感兴趣的人都可以参与其中。

设计文档

我们编写了一些详细的文档,以概述我们的方法并解释事物的工作原理,所有这些文档都可以从我们的 项目 README 中访问。一个好的起点是 Swift for TensorFlow 设计概述,它解释了该项目的主要组成部分以及它们如何相互配合。

之后,我们有一些文档更深入地探讨了该项目的重要领域。我们设计的一个基石是称为 图程序提取 的算法,它允许您在保持图的所有优势的同时以 Eager 执行样式的编程模型编写代码。我们的设计还包括对直接内置于 Swift 的高级 自动微分 的支持。我们还对 Swift 与 Python 的集成 进行了深入探讨,它允许您直接从 Swift 代码使用任意 Python API。

最后,我们的图程序提取方法对我们的实现施加了一些技术限制,这导致我们选择 Swift 作为宿主语言。 为什么选择 *Swift* 来进行 TensorFlow? 深入探讨更详细地解释了权衡,以及导致做出此选择的决策过程。

参与进来!

现在使用 Swift for TensorFlow 重写您的深度学习模型还为时过早,但如果您对 ML、语言和编译器感兴趣,您可以通过多种方式参与并做出贡献。我们为 macOS 和 Linux 提供了 预构建 的软件包,您可以 立即尝试,以及 MNIST 示例模型。我们还提供了 从源代码构建 的说明。在项目的这一阶段,存在许多已知问题——如果您遇到问题,请通过我们的 邮件列表 与我们联系。

我们很高兴构建一个用户喜欢的 TensorFlow 的漂亮新界面,我们非常想听听您对该项目的看法!

Swift for TensorFlow 团队
下一篇文章
Introducing Swift For TensorFlow

Google Swift for TensorFlow 团队发布


在 3 月份的 TensorFlow 开发者峰会上,我们 宣布并演示了 Swift for TensorFlow 项目。现在,我们很高兴在 GitHub 上将 Swift for TensorFlow 作为开源项目发布!



Swift for TensorFlow 提供了一种新的编程模型,它将图的性能与 Eager 执行的灵活性和表现力相结合,并着重于在堆栈的每个级别上提高可用性。这…