热门标签 | 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 文章。










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






推荐阅读
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 2017年人工智能领域的十大里程碑事件回顾
    随着2018年的临近,我们一同回顾过去一年中人工智能领域的重要进展。这一年,无论是政策层面的支持,还是技术上的突破,都显示了人工智能发展的迅猛势头。以下是精选的2017年人工智能领域最具影响力的事件。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 本文详细介绍了macOS系统的核心组件,包括如何管理其安全特性——系统完整性保护(SIP),并探讨了不同版本的更新亮点。对于使用macOS系统的用户来说,了解这些信息有助于更好地管理和优化系统性能。 ... [详细]
  • FinOps 与 Serverless 的结合:破解云成本难题
    本文探讨了如何通过 FinOps 实践优化 Serverless 应用的成本管理,提出了首个 Serverless 函数总成本估计模型,并分享了多种有效的成本优化策略。 ... [详细]
  • 本文将详细介绍温莎大学的计算机科学硕士项目,尤其是其应用计算机科学分支,探讨其申请条件、课程设置及为何成为国际学生的热门选择。 ... [详细]
  • 探索电路与系统的起源与发展
    本文回顾了电路与系统的发展历程,从电的早期发现到现代电子器件的应用。文章不仅涵盖了基础理论和关键发明,还探讨了这一学科对计算机、人工智能及物联网等领域的深远影响。 ... [详细]
  • 本文介绍了如何利用 Spring Boot 和 Groovy 构建一个灵活且可扩展的动态计算引擎,以满足钱包应用中类似余额宝功能的推广需求。我们将探讨不同的设计方案,并最终选择最适合的技术栈来实现这一目标。 ... [详细]
  • 华为智慧屏:超越屏幕尺寸的智能进化
    继全球发布后,华为智慧屏于9月26日在上海正式亮相,推出65英寸和75英寸版本。该产品不仅在屏幕尺寸上有所突破,更在性能和智能化方面实现了显著提升。 ... [详细]
  • Python 工具推荐 | PyHubWeekly 第二十一期:提升命令行体验的五大工具
    本期 PyHubWeekly 为大家精选了 GitHub 上五个优秀的 Python 工具,涵盖金融数据可视化、终端美化、国际化支持、图像增强和远程 Shell 环境配置。欢迎关注并参与项目。 ... [详细]
  • vivo Y5s配备了联发科Helio P65八核处理器,这款处理器采用12纳米工艺制造,具备两颗高性能Cortex-A75核心和六颗高效能Cortex-A55核心。此外,它还集成了先进的图像处理单元和语音唤醒功能,为用户提供卓越的性能体验。 ... [详细]
  • 本文介绍百度AI Studio这一集成开发平台,涵盖丰富的AI教程、经典数据集及云端计算资源。通过具体示例——在AI Studio上构建线性回归项目,帮助初学者快速掌握其核心功能与操作方法。 ... [详细]
  • 2017年苹果全球开发者大会即将开幕,预计iOS将迎来重大更新,同时Siri智能音箱有望首次亮相,AI技术成为大会焦点。 ... [详细]
  • 本文探讨了亚马逊Go如何通过技术创新推动零售业的发展,以及面临的市场和隐私挑战。同时,介绍了亚马逊最新的‘刷手支付’技术及其潜在影响。 ... [详细]
  • 图像分类算法的优化策略与实践
    本文探讨了《Bag of Tricks for Image Classification with Convolutional Neural Networks》论文中的多项技术,旨在通过具体实例和实验验证,提高卷积神经网络在图像分类任务中的性能。文章详细介绍了从模型训练加速、网络结构调整到训练参数优化等多个方面的改进方法。 ... [详细]
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社区 版权所有