Python并不完美,Swift正在成长为深度学习语言

AI 时代:哪些开发语言将引领潮流 在科技飞速发展的当下,人工智能(AI)已从科幻构想走进现实生活,深刻改变着各个行业。随着 AI 的崛起,软件开发领域也迎来了巨大变革,开发语言的选择变得尤为关键。未来,哪些开发语言将在 AI 浪潮中脱颖而出,成为开发者们的得力工具?让我们一同探寻。 阅读详情

「人生苦短,我用 Python。」但在 Python 如日中天的今天,深度学习可能又需要一种新的编程语言。机器学习工程师 Max Pechyonkin 认为 Swift 可能将成为重要的深度学习语言,他在一篇博客中简要阐述了 Swift 的优势和发展前景。你会考虑学习 Swift 吗?

Python并不完美,Swift正在成长为深度学习语言

 

如果你懂编程,在听到 Swift 时,你可能会想到为 iOS 或 MacOS 开发应用程序。如果你懂深度学习,那么你肯定听闻过 Swift for Tensorflow(简称 S4TF):https://www.tensorflow.org/swift。那么你可能会问自己:「谷歌为什么要为 Swift 创建一个 TensorFlow 版本呢?毕竟已经有 Python 和 C++版本了;为什么还要增加一种语言?」我将在本文中尝试回答这一问题,并会列出你应该认真关注 S4TF 以及 Swift 语言本身的原因。本文的目的并非进行详尽的解释,而是要提供一般性的概述,文中也会带有大量链接以帮助你更深度地了解。

Swift 背后有强有力的支持

Swift 是 Chris Lattner 在苹果公司工作时创造的。现在,Chris Lattner 在谷歌大脑工作,而谷歌大脑是当今世界上最优秀的人工智能团队之一。Swift 语言的创造者现在正在一家研究深度学习的实验室工作,这足以说明这个项目是严肃的。

一段时间前,谷歌的人意识到,即使 Python 语言非常出色,也仍然存在一些难以克服的局限性。TensorFlow 需要一种新语言。经过长时间的斟酌之后,Swift 成为了一个候选项。我这里不会谈及细节,但这里有一份文档描述了 Python 以及其它被考虑过的语言的缺陷,还会解释为何最终将范围缩小到了 Swift:https://github.com/tensorflow/swift/blob/master/docs/WhySwiftForTensorFlow.md

Swift for TensorFlow 不只是一个软件库

Swift for TensorFlow 不只是另一种语言的 TensorFlow。它本质上是 Swift 语言本身的另一个分支。也就是说,S4TF 不只是一个软件库;它本身即是一门语言,其中内置了支持 TensorFlow 所需的所有功能。举个例子,S4TF 自带非常强大的自动微分系统,这是深度学习在计算梯度时所需的基础功能之一。对比一下 Python——自动微分并非该语言的核心组件。S4TF 中某些新开发的功能之后也被整合进了 Swift 语言。

Swift 速度很快

在我刚得知 Swift 的运行速度和 C 语言代码一样快时,我震惊了。我知道 C 语言经过高度优化,能够达到非常高的速度,但这需要对内存进行微管理(这让 C 语言不能保证内存安全)。另外,C 语言也非常不容易学习。

现在,Swift 在数值运算方面与 C 语言一样快,而且还没有内存安全问题,学习难度也低得多。Swift 背后的 LLVM 非常强大,能够进行非常高效的优化,这能确保你的代码高速运行。

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

因为用于机器学习的 Swift 还处于非常早期的阶段,所以目前针对 Swift 的机器学习库还不多。但你也不用过于担心这一点,因为 Swift 具备出色的 Python 解释能力。你可以直接将任何 Python 库导入 Swift 进行使用。类似地,你也可将 C 和 C++ 库导入 Swift(对于 C++,你要确保头文件是以 C 语言写的,没有 C++ 的特性)。

总的来说,如果你需要特定的功能,但 Swift 中尚未实现,那么你可以导入对应的 Python、C 或 C++ 软件包。很了不起!

Swift 可以做到非常低层

如果你用过 TensorFlow,那么你很可能是通过 Python 使用的。在表层之下,Python 版本的 TensorFlow 库的下面是 C 代码。所以当你调用 TensorFlow 中的任意函数时,你都会在某个层级上遇到 C 代码。这意味着如果你要检查其源代码,你所能到达的层级是很有限的。比如说,如果你想要查看卷积的实现方式,那么你不会看到为此编写的 Python 代码,因为它是用 C 语言实现的。

Swift 则不一样。Chris Lattner 将 Swift 称为「LLVM(汇编语言)的句法糖果(https://www.fast.ai/2019/03/06/fastai-swift/)」。这意味着 Swift 本质上非常靠近硬件,其间没有用 C 语言编写的其它层的代码。这也意味着 Swift 代码非常快,就像前面提到的那样。这样的特性让开发者既能在非常高的层级上检查代码,也能深入非常低的层级,同时无需涉及 C 语言。

Swift 的未来发展

Swift 只是谷歌在深度学习领域的创新的一部分。另外还有一个非常相关的组件:MLIR:https://medium.com/tensorflow/mlir-a-new-intermediate-representation-and-compiler-framework-beba999ed18d。MLIR 全称为 Multi-Level Intermediate Representation,即多级中间表示。MLIR 将会成为谷歌的统一编译器基础设施,让开发者可以用 Swift(或其它任何支持的语言)写代码,然后将其编译到任何支持的硬件。目前,针对不同的目标硬件有很多不同的编译器,而 MLIR 将改变这种情况。这不仅能让代码实现复用,而且还支持开发者为该编译器编写定制的低层组件。它还允许研究者应用机器学习来优化低层算法:

尽管 MLIR 是用作机器学习的编译器,我们也看到它也能在编译器内部实现机器学习技术的应用!这是尤其重要的,因为开发数值库的工程师的增长速度赶不上机器学习模型或硬件多样化的速度。

想象一下,如果能够基于数据使用深度学习来帮助优化低层的内存分片算法(这正是 Halide 语言想要实现的功能),会怎么样?有关 Halide 语言的更多信息:https://www.youtube.com/watch?v=3uiEyEKji0M。这还仅仅是个开始,机器学习在编译器中更多有创意的应用正在路上!

Python与Swift的比较:特性、语法和示例 Swift拥有安全性、高性能和易用性,具有先进的语法和特性,如可选类型、类型推断和模式匹配。总结起来,Python和Swift是两种不同的编程语言,它们在特性、语法和用途上有所区别。Python更加灵活和简洁,适合各种任务,而Swift则更专注于移动应用开发,并提供了更强大的类型系统和现代化的语法。Python和Swift是两种不同的编程语言,它们在特性、语法和用途上有一些显著的区别。注:由于回答的文本格式限制,示例代码中的注释被省略,但代码本身是可以运行的。这里我们使用了闭包来定义过滤和映射的逻辑。 阅读详情

相关推荐

在 Windows 系统下使用 VMware 安装 Ubuntu 24.04 LTS 系统

Ubuntu24.04桌面端官方下载:https://cn.ubuntu.com/download/desktop。

u014695938的博客 1万+

swift编程入门(非常详细)从零基础入门到精通,看完这一篇就够了

阅读完《the swift programming language 中文版》,对swift语言有了初步的认识。在特点是:swift既是项目开发的编程语言,又有脚本语言的特点;在学习上:swift可以在xcode的playground进行编写,所见即所得,非常适合语法学习。对于swift语言,个人认为就是"站在巨人的肩膀上"的一门语言,及众家之所长。只要熟悉一门主流的编程语言,学习swift的语法都不会太困难。swift和Java语言在某些语法和关键字上面甚是相似,因此在学习时困难不大。

leah126的博客 2万+

别再写前端了!用Gradio 3.x + HuggingFace Spaces,5分钟把你的Python算法变成网页应用

本文介绍如何利用Gradio 3.x和HuggingFace Spaces快速将Python算法转化为网页应用,无需前端开发经验。通过5行代码和简单的Git命令,即可实现专业级Web界面部署,大幅提升算法展示效率。特别适合算法工程师和数据科学家快速分享模型成果。

weixin_33443333的博客 332

Python和Swift的区别

Swift是一种通用的、强大的、编译过的编程语言。Python、JavaScript、C(编程语言)、C++、Ruby、C#、Go、Rust等都是支持的编程语言。Python的优点: 简单的代码和可读性 既有面向对象的语言,也有程序性的语言 可扩展和开放源代码 可移植性和库支持 Python的缺点: 某些设计限制 高内存消耗 移动开发的虚幻性 Swift Swift是一种通用的、已编译的编程语言,是苹果公司在2014年推出的现代软件设计模式的方法,如macOS、iOS、watchOS、tvOS等。

weixin_48077282的博客 1590

Quartus的Signal Tap II的使用技巧

Signal Tap II全称Signal Tap II Logic Analyzer,是第二代系统级调试工具,它集成在Quartus II软件中,可以捕获和显示实时信号,是一款功能强大、极具实用性的FPGA片上调试工具软件。传统的FPGA板级调试是由外接的逻辑分析仪连接到FPGA的控制引脚,将内部引号引出至引脚I/O上,接着进行板级调试。

qq_37624854的博客 5899

使用BK3432芯片进行蓝牙开发的详细指南:编程手册与实际应用

BK3432是一款蓝牙4.2双模式芯片,支持蓝牙低功耗(BLE)和经典蓝牙(BR/EDR)模式。它集成了高性能的RF收发器、基带处理器、ARM9E内核、丰富的功能外设单元,并支持BLE应用的可编程协议和概要文件。蓝牙版本:4.2数据速率:最高支持2Mbps内核:ARM9ERF收发器:高性能、低功耗外设单元:包括UART、SPI、I2C、GPIO等功耗:超低功耗设计,适合电池供电的应用。

m0_57781768的博客 4447

swift 性能_Swift for TensorFlow旨在实现高性能机器学习

swift 性能 谷歌开发人员在Swift for TensorFlow背后进行了开发,该开发人员针对Apple为机器学习应用程序设计的Swift编程语言进行了调整,在最近的一次演讲中共享了项目路线图信息。 TensorFlow的Swift未来计划包括诸如C ++互操作性,改进的自动差异化以及对分布式培训的支持等功能。 Swift for TensorFlow是一个由Google领导的早期项...

cxu0262的博客 403

Cortex-M内核DWT周期计数器:从原理到STM32实战时间测量与性能分析

在嵌入式开发中,代码执行耗时测量是性能优化的基础。除了依赖外设定时器或SysTick,ARM Cortex-M3/M4/M7内核自带的DWT(Data Watchpoint and Tracker)调试组件提供了一种极低侵入性的硬件计时方案。其内部的32位周期计数器CYCCNT跟随内核时钟递增,无需占用额外引脚或定时器资源,即可实现纳秒级分辨率的函数耗时测量、中断响应分析及延时实现。从DWT寄存器配置、周期差值计算到基于SystemCoreClock的微秒换算,开发者可以快速搭建一套轻量级性能分析工具。本文

weixin_34216614的博客 187

Swift初步入门

本文介绍苹果Apple公司开发的Swift编程语言,帮助感兴趣但尚未接触Swift编程语言的人初步了解它。主要介绍Swift里的一些基本语句及其功能和规则。

weixin_41640959的博客 2505

Upload Symbols Failed:The archive did not include a dSYM for the LiveKitWebRTC.framework with the UU

你需要从源码构建 LiveKitWebRTC,而不是使用 CocoaPods 安装的预编译 .xcframework。Step 2: 修改 Podfile 使用本地路径引用(不是从源下载的 xcframework)方法 :强制从源码构建 LiveKitWebRTC.framework(推荐)这样它就会编译 WebRTC 并带上正确 UUID 的 dSYM。替换路径为你 clone 下来的 LiveKit 源码位置。Step 1: 克隆源码仓库。

baidu_40537062的博客 2135

USB PD Sink HUSB238A可应用于24V电动风扇/电动工具

HUSB238A在I2C模式下,可申请PD3.1 EPR AVS功率,可申请24V电压直接给电机供电

Hynetek的博客 759

swift 项目_Python并不完美,Swift正在成长为深度学习语言

「人生苦短,我用 Python。」但在 Python 如日中天的今天,深度学习可能又需要一种新的编程语言。机器学习工程师 Max Pechyonkin 认为 Swift 可能将成为重要的深度学习语言,他在一篇博客中简要阐述了 Swift 的优势和发展前景。你会考虑学习 Swift 吗?如果你懂编程,在听到 Swift 时,你可能会想到为 iOS 或 MacOS 开发应用程序。如果你懂深度学习,那么...

weixin_39647734的博客 137

zemax 如何编译用户自定义DLL(含VS下载教程)

zemax 如何编译用户自定义DLL(含VS下载教程)

weixin_72050316的博客 492

初学python还是swift-Python并不完美,Swift正在成长为深度学习语言 !

如果你懂编程,在听到 Swift 时,你可能会想到为 iOS 或 MacOS 开发应用程序。如果你懂深度学习,那么你肯定听闻过 Swift for Tensorflow(简称 S4TF):https://www.tensorflow.org/swift。那么你可能会问自己:「谷歌为什么要为 Swift 创建一个 TensorFlow 版本呢?毕竟已经有 Python 和 C++版本了;为什么还要增...

weixin_37988176的博客 923

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

swift取代python_Python并不完美,Swift正在成长为深度学习语言

如果你懂编程,在听到 Swift 时,你可能会想到为 iOS 或 MacOS 开发应用程序。如果你懂深度学习,那么你肯定听闻过 Swift for Tensorflow(简称 S4TF):https://www.tensorflow.org/swift。那么你可能会问自己:「谷歌为什么要为 Swift 创建一个 TensorFlow 版本呢?毕竟已经有 Python 和 C++版本了;为什么还要增...

weixin_39758041的博客 191

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

swift语言与python_Python并不完美,Swift正在成长为深度学习语言

如果你懂编程,在听到 Swift 时,你可能会想到为 iOS 或 MacOS 开发应用程序。如果你懂深度学习,那么你肯定听闻过 Swift for Tensorflow(简称 S4TF):https://www.tensorflow.org/swift。那么你可能会问自己:「谷歌为什么要为 Swift 创建一个 TensorFlow 版本呢?毕竟已经有 Python 和 C++版本了...

weixin_39729784的博客 158

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

swift取代python_Python并不完美,Swift正在成长为深度学习语言 !

如果你懂编程,在听到 Swift 时,你可能会想到为 iOS 或 MacOS 开发应用程序。如果你懂深度学习,那么你肯定听闻过 Swift for Tensorflow(简称 S4TF):https://www.tensorflow.org/swift。那么你可能会问自己:「谷歌为什么要为 Swift 创建一个 TensorFlow 版本呢?毕竟已经有 Python 和 C++版本了;为什么还要增...

weixin_39997194的博客 103

c语言 python rsa库_Python并不完美,Swift正在成长为深度学习语言

点击图片上方蓝色字体“慧天地”即可订阅“欧比特杯”高光谱遥感影像智能处理行业应用大赛已于2019年5月24日开始接受网上报名。报名请关注《慧天地》微信平台大赛通知比赛通知|关于举办“欧比特杯” 高光谱遥感影像智能处理行业应用大赛的通知或欧比特网站https://ohs.obtdata.com「人生苦短,我用 Python。」但在 Python 如日中天的今天,深度学习可能又需要一种新的编...

weixin_31545945的博客 97

swift语言和python区别_Swift为什么能成为编程语言中的黑马?

你好,这里是卖桃者说,今天跟你聊一门年轻又很受欢迎的编程语言,Swift。Swift 是苹果于 2014 年在苹果全球开发者大会(WWDC)上发布的编程语言,它可以与 Objective-C 共同运行于 macOS 和 iOS 平台,用于搭建基于苹果平台的应用程序。虽然 Swift 发布至今不过短短 6 年时间,但它的普及程度早就超出了所有人的预期。在最新的 2 月份 TIOBE 编程语言排行榜中...

weixin_39517054的博客 1389

swift官方文档_谷歌为何要养苹果的亲儿子Swift?原来意在可微分编程

选自tryolabs作者:JoaquínThu机器之心编译参与:Panda、RacoonPython 并不完美,而 Swift 则正在谷歌和苹果的共同养育下茁壮成长,有望成长为深度学习领域一门新的主要语言。近日,Tryolabs 的研究工程师 Joaquín Alori 发布了一篇长文,从 Python 的缺点一路谈到了谷歌在 Swift 机器学习方面的大计划,并且文中还给出了相当多一些具体的代码...

weixin_39605004的博客 295

swift 项目_谷歌为何要养苹果的亲儿子Swift?原来意在可微分编程

Python 并不完美,而 Swift 则正在谷歌和苹果的共同养育下茁壮成长,有望成长为深度学习领域一门新的主要语言。近日,Tryolabs 的研究工程师 Joaquín Alori 发布了一篇长文,从 Python 的缺点一路谈到了谷歌在 Swift 机器学习方面的大计划,并且文中还给出了相当多一些具体的代码实例。可微分编程真如 Yann LeCun 所言的那样会成为新一代的程序开发范式吗?Sw...

weixin_39846664的博客 307

谷歌为何要养苹果的亲儿子Swift?原来意在可微分编程

Python实战社群Java实战社群长按识别下方二维码,按需求添加扫码关注添加客服进Python社群▲扫码关注添加客服进Java社群▲转自:机器之心 ,英文作者:Joaquín Thu【...

iOS_开发 483

Music-dl:5分钟掌握命令行音乐下载神器,一键聚合6大音乐平台

还在为找不到想听的音乐而烦恼吗?不同音乐平台的版权分散让寻找歌曲变得异常困难。今天我要介绍一款神奇的工具——Music-dl,它能让你在命令行中一键搜索并下载来自网易云音乐、QQ音乐、酷狗音乐、百度音乐、虾米音乐、咪咕音乐等主流平台的音乐资源!无论你是技术爱好者还是普通用户,这款工具都能极大地简化你的音乐获取流程。 ## 为什么选择Music-dl?三大核心优势解析 ### 1. 聚合搜索,告

gitblog_00679的博客 651

python编程语言的缺点-几种主流编程语言的优点和缺点比较,不服来怼

在初级程序员阶段,每个人都不可避免遇到选择编程语言和职业方向的难题。我挑选了几个常见的编程语言,分析了优缺点和职业方向,以供想当程序员的人参考。C/C++一句话概括:大多数中国程序员的第一个语言C语言是面向过程语言在当代的鲁殿灵光,常用于编写操作系统。C++是C语言的一个超集,既有指针又有对象使它成为最复杂的语言。C/C++的优势:几乎所有现代编程语言都脱胎于C/C++,因此了解了C/C++,就了...

weixin_37988176的博客 294
上一篇: 99% 的人都倒在了入门的门口
下一篇: Python入门教程 超详细1小时学会Python,学不会任你伺候
程序员林子
博客等级 码龄7年 369粉丝 149原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值