热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PyThon_Swift势必取代Python?

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Swift势必取代Python?相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Swift 势必取代 Python?相关的知识,希望对你有一定的参考价值。


@开发者,如果你正在研究深度学习,那么建议你开始学习Swift语言。

Swift 势必取代 Python?作者 | Max Pechyonkin

译者 | 弯月,责编 | 郭芮

出品 | CSDN(ID:CSDNnews)

以下为译文:

程序员听到Swift时,可能都会联想到ios或MacOS的应用开发。如果你正在研究深度学习,那么你一定听说过Swift版的TensorFlow。你可能不禁想问:“为什么Google会创建Swift版的TensorFlow?现在已经有Python和C++版本了,为什么还要添加另一种语言?”


我将在这篇文章中为你解答这个问题,并概述为什么你需要留意Swift版的TensorFlow以及Swift语言本身。我不打算在文本中提供详细的解释,但是我会提供大量链接,如果你对这个话题感兴趣的话,那么可以深入挖掘。



Swift 势必取代 Python?

Swift拥有强力的后援



Swift是由Chris Lattner在苹果工作时创建的。目前,Chris Lattner在Google Brain工作——这是世界上最先进的人工智能研究团队之一。 Swift语言的创始人如今在研究深度学习的实验室工作,这个事实说明这是一个重大的项目。


前段时间,Google意识到尽管Python是一种优秀的语言,但它仍有许多难以克服的局限性。TensorFlow需要一种新语言,经过长时间的考虑后,这个重任落到了Swift肩上。我不打算对此做详细的介绍,但是你可以自行阅读这篇文档(https://github.com/tensorflow/swift/blob/master/docs/WhySwiftForTensorFlow.md),文中描述了Python的缺点,有关其他语言的考量,以及最终选中了Swift的经过。



Swift 势必取代 Python?

Swift版的TensorFlow不仅仅是一个代码库



Swift版的TensorFlow不仅仅是另一种语言的TensorFlow。


从本质上来说,它是Swift语言的另一个分支(就像在git上创建branch一样)。这意味着Swift版的TensorFlow并不是一个代码库, 它本身就是一种语言,它内置的功能支持TensorFlow所需的所有功能。


例如,Swift版的TensorFlow拥有非常强大的自动微分系统,这是深度学习计算梯度所需的基础。相比之下,Python的自动微分系统不是语言的核心组成部分。有一些最初为Swift版的TensorFlow开发的功能后来被集成到了Swift语言本身中。



Swift 势必取代 Python?

Swift非常快



当第一次得知Swift的运行速度与C代码一样快时,我感到非常惊讶。我知道C经过了高度优化,且可以实现非常高的速度,但这需要以微内存管理为代价,因此C不能保证内存的安全。此外,C不是一种非常容易学习的语言。


如今,Swift的数值计算速度与C一样快,还没有内存安全的问题,而且更容易学习。Swift背后的LLVM编译器功能非常强大,并且拥有非常高效的优化功能,可以确保代码快速地运行。



Swift 势必取代 Python?

你可以在Swift中使用Python、C和C++代码



由于Swift的机器学习才刚刚开始,因此Swift的机器学习库并不多。然而,你无需担心,因为Swift可以很好地与Python语言结合。你只需在Swift中导入Python库,就可以放心使用了。


与此同时,你还可以将C和C++库导入到Swift中(对于C++,你需要确保头文件是用纯C编写的,没有C++的特性)。


总而言之,如果你需要的某个特定的功能尚未在Swift中实现,则可以导入相应的Python、C或C++包。这一点简直逆天了!



Swift 势必取代 Python?

Swift还可以深入底层



如果你曾经使用过TensorFlow,那么很可能是通过Python包来实现的。在底层,Python版的TensorFlow是用C实现的。所以在TensorFlow中调用函数时,你一定会在某个层面上遇到一些C代码。这意味着在你查看源代码的时候,会遇到一些限制。例如,你想看看卷积的实现方式,却发现看不到Python代码,因为它是用C实现的。


然而,在Swift中情况有所不同。Chris Lattner称Swift是“LLVM [汇编语言]的语法糖”。这意味着从本质上讲,Swift非常靠近硬件,Swift与硬件之间没有其他用C写的附加层。这也意味着Swift代码非常快,如上所述。


因此,开发人员能够检查所有的代码,无论是高层的代码还是非常底层的代码,都无需深入C。



Swift 势必取代 Python?

将来的发展



Swift只是Google深度学习创新的一部分。还有另一个非常密切相关的组件:MLIR(Multi-Level Intermediate Representation,多层中间表示)。MLIR将会成为Google统一的编译基础设施,它允许你用Swift(或任何其他支持的语言)编写代码,并编译成任何支持的硬件。


目前,有许多针对不同目标硬件的编译器,但MLIR将改变这种局面,它不仅可以支持代码的可重用性,而且还允许你编写编译器自定义的底层组件。同时,它还允许研究人员应用机器学习来优化低级算法:




虽然MLIR是机器学习的编译器,但我们也看到它可以将机器学习的技术应用到编译器本身!这一点非常重要,因为工程师开发数值计算库的速度跟不上机器学习模型或硬件多元化的速度。



想象一下,我们能够使用深度学习来优化处理数据的底层内存切片算法(类似于Halide正在努力完成的任务)。而且,这只是一个开端,还有其他机器学习的创造性应用也可以在编译器中使用!



Swift 势必取代 Python?

总结



如果你正在研究深度学习,那么我建议你开始学习Swift语言。与Python相比,Swift拥有多方面的优势。Google正在大力投资,让Swift成为TensorFlow多层基础设施的关键组成部分,而且Swift很可能成为深度学习的语言。 因此,先下手为强,尽早开始学习Swift吧。


链接:https://towardsdatascience.com/why-swift-may-be-the-next-big-thing-in-deep-learning-f3f6a638ca72

本文为 CSDN 翻译,转载请注明来源出处。

【END】

Swift 势必取代 Python?

作为码一代,想教码二代却无从下手:

听说少儿编程很火,可它有哪些好处呢?

孩子多大开始学习比较好呢?又该如何学习呢?

最新的编程教育政策又有哪些呢?

下面给大家介绍CSDN新成员:极客宝宝(ID:geek_baby)

戳他了解更多↓↓↓

Swift 势必取代 Python?

 热 文 推 荐 

点击阅读原文,输入关键词,即可搜索您想要的 CSDN 文章。










你点的每个“在看”,我都认真当成了喜欢






推荐阅读
  • Python与R语言在功能和应用场景上各有优势。尽管R语言在统计分析和数据可视化方面具有更强的专业性,但Python作为一种通用编程语言,适用于更广泛的领域,包括Web开发、自动化脚本和机器学习等。对于初学者而言,Python的学习曲线更为平缓,上手更加容易。此外,Python拥有庞大的社区支持和丰富的第三方库,使其在实际应用中更具灵活性和扩展性。 ... [详细]
  • 兆芯X86 CPU架构的演进与现状(国产CPU系列)
    本文详细介绍了兆芯X86 CPU架构的发展历程,从公司成立背景到关键技术授权,再到具体芯片架构的演进,全面解析了兆芯在国产CPU领域的贡献与挑战。 ... [详细]
  • OpenAI首席执行官Sam Altman展望:人工智能的未来发展方向与挑战
    OpenAI首席执行官Sam Altman展望:人工智能的未来发展方向与挑战 ... [详细]
  • 机器学习实践:逻辑回归与过拟合控制
    本文深入探讨了逻辑回归在机器学习中的应用,并详细解释了如何通过正则化等方法来有效避免模型的过拟合问题。 ... [详细]
  • Python 领跑!2019年2月编程语言排名更新
    根据最新的编程语言流行指数(PYPL)排行榜,Python 在2019年2月的份额达到了26.42%,稳坐榜首位置。 ... [详细]
  • 区块链与IDCC大数据产业的深度融合
    本文探讨了区块链技术如何与IDCC大数据产业结合,推动新型基础设施建设的发展,解决了传统数据处理中的诸多难题,并提出了具体的解决方案。 ... [详细]
  • 2017年软件开发领域的七大变革
    随着技术的不断进步,2017年对软件开发人员而言将充满挑战与机遇。本文探讨了开发人员需要适应的七个关键变化,包括人工智能、聊天机器人、容器技术、应用程序版本控制、云测试环境、大众开发者崛起以及系统管理的云迁移。 ... [详细]
  • 英特尔推出第三代至强可扩展处理器及傲腾持久内存,AI性能显著提升
    英特尔在数据创新峰会上发布了第三代至强可扩展处理器和第二代傲腾持久内存,全面增强AI能力和系统性能。 ... [详细]
  • 本文通过基准测试(Benchmark)对.NET Core环境下Thrift和HTTP客户端的微服务通信性能进行对比分析。基准测试是一种评估系统或组件性能的方法,通过运行一系列标准化的测试来衡量其表现。 ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • V8不仅是一款著名的八缸发动机,广泛应用于道奇Charger、宾利Continental GT和BossHoss摩托车中。自2008年以来,作为Chromium项目的一部分,V8 JavaScript引擎在性能优化和技术创新方面取得了显著进展。该引擎通过先进的编译技术和高效的垃圾回收机制,显著提升了JavaScript的执行效率,为现代Web应用提供了强大的支持。持续的优化和创新使得V8在处理复杂计算和大规模数据时表现更加出色,成为众多开发者和企业的首选。 ... [详细]
  • 在CentOS 7上部署WebRTC网关Janus
    在CentOS 7上部署WebRTC网关Janus ... [详细]
  • 中国学者实现 CNN 全程可视化,详尽展示每次卷积、ReLU 和池化过程 ... [详细]
  • Python学习:环境配置与安装指南
    Python作为一种跨平台的编程语言,适用于Windows、Linux和macOS等多种操作系统。为了确保本地已成功安装Python,用户可以通过终端或命令行界面输入`python`或`python3`命令进行验证。此外,建议使用虚拟环境管理工具如`venv`或`conda`,以便更好地隔离不同项目依赖,提高开发效率。 ... [详细]
author-avatar
沧桑的悟空2502859857
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有