TensorFlow的Swift现在是开源的

TensorFlow在2017年至2018年一直保持着成功。它正在迅速扩展其功能,我们开始看到它被不是数据专家的工程师使用。 我们已经在TensorFlow.js的发布中看到了这一点,它使您可以将机器学习带入浏览器。 但是Swift for TensorFlow是一个稍微不同的主张。 实际上,它有两件事。 一方面,它提供了一种接近TensorFlow的新方法,但也有助于重新定义Swift。

坦白地说,自Apple在WWDC 2014首次发布以来,Swift已经走了很长一段路。当时,Swift是一种新语言,旨在重振iOS开发。 这旨在使Apple移动开发人员更快乐,更高效。 当然,这是一个崇高的目标,而且总的来说,它似乎奏效了。 如果没有,我们可能不会再谈论它。 但是Swift for TensorFlow将Swift标记为一种强大的现代编程语言,可以应用于某些最复杂的工程问题。

TensorFlow的Swift是什么?

Swift for TensorFlow于2018年3月在TensorFlow开发峰会上首次亮相。现在它是开源的,很有趣的是它如何影响工程师使用TensorFlow的方式-当然,工具链可能会如何变化。

但是到底是什么呢? 观看下面在TensorFlow Dev Summit上录制的视频,以了解更多信息。

这是TensorFlow团队在Medium上的详细帖子中对TensorFlow的Swift的评价。

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

TensorFlow为什么选择Swift?

这也许是关键问题:TensorFlow团队为什么决定在该项目中使用Swift? 团队自己注意到,他们经常自己被问到这个问题。 考虑到Swift for TensorFlow的许多功能可以轻松地在其他编程语言中实现,这是一个合理的问题。

要正确理解TensorFlow为什么选择Swift,您需要回到项目的目标。 而且它们实际上非常简单-团队希望使TensorFlow更加可用。 他们解释:

“我们很快意识到,基于Python的高度动态特性,基于静态分析的核心Graph程序提取算法不适用于Python。 这导致我们不得不选择另一种语言来工作,我们希望有条不紊地进行处理。”

GitHub上的帖子非常值得阅读。 它提供了有关如何最好地评估一种编程语言相对于另一种编程语言的优缺点的详细见解。

TensorFlow团队顺便说一句,语言的最终候选清单是Swift,Rust,Julia和C ++。 Swift最终赢得了胜利-有关C ++和Rust的“可用性问题”,与Julia相比,不仅存在一个更大,更活跃的社区,而且在语法方面它与Python更加相似。