AiTechYun
编辑:chux
在三月的TensorFlow开发者大会上,TensorFlow发布并演示了Swift for TensorFlow,如今已在GitHub上开源。
GitHub:https://github.com/tensorflow/swift
Swift for TensorFlow提供了一种新的编程模型,将图形性能与具有灵活性和表现力的Eager execution结合起来,重点在于提高每个堆栈水平的可用性。在Swift中加入的编译器和语言增强,为机器学习开发者提供了一流的用户体验,因此这并不仅仅是写入Swift的TensorFlow API wrapper。
这次,采用全新的方法来使用TensorFlow,不仅开放了新的设计机会,也为解决现有问题提供了新思路。尽管这个项目的开发还处于早期阶段,团队还是决定将它开源,并把设计讨论放入一个公共邮件列表中,任何对此项目感兴趣的人都可以参与进来。
设计文件
TensorFlow编写过一些详细的文档,概述了方法并解释了使用方法,这些都可以从项目的README中找到。可以从Swift for TensorFlow Design Overview开始了解,其中包括项目的重要内容以及二者如何配合使用的说明。
然后,TensorFlow提供了一些可以深入到项目重要领域的文件。设计的基础是一种被称为图程序提取(Graph Program Extraction)的算法,使你能够写入eager execution风格的程序模型,同时保留图形所有的优点。设计还支持直接在Swift中建构的高级自动微分。此外,将Python与Swift整合后进行深入研究,这样可以直接通过Swift代码使用任意的Python API。
最后,用图程序提取方法在执行过程中存在几个技术性限制,所以我们选择Swift作为主语言。
为什么将Swift用于TensorFlow?这篇进行深入研究的文章更细致地解释了关于两方折衷的考虑,以及做出这种选择的决定过程。
链接:https://github.com/tensorflow/swift/blob/master/docs/WhySwiftForTensorFlow.md
参与进来吧
使用Swift for TensorFlow来重新改写深度学习模型还为时过早,但如果你对ML、语言和编译器感兴趣,那么你可以通过多种方式参与进来,为这一研究贡献出自己的一份力量。TensorFlow已经为macOS和Linux准备了预建软件包,你可以进行尝试,还有一个MNIST模型样本。TensorFlow也有利用源码进行构建的说明。
包:https://github.com/tensorflow/swift/blob/master/Installation.md
模型样本:https://github.com/tensorflow/swift-models
构建说明:https://github.com/tensorflow/swift/blob/master/README.md