0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

为什么Swift会是深度学习的下一个大热门?

电子工程师 来源:yxw 2019-05-31 09:21 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

如果你喜欢编程,当你听到Swift,你可能会想到iOS或MacOS的应用程序开发。如果你正在进行深度学习,那么你一定听说过Swift for Tensorflow(缩写为S4TF)。然后,你可以问自己:“为什么谷歌要为Swift创建一个TensorFlow版本?”Pythonc++已经有了版本;为什么要添加另一种语言?在这篇文章中,我将试着回答这个问题,并概述为什么你应该认真遵循S4TF以及Swift语言本身的原因。这篇文章的目的不是给出非常详细的解释,而是提供一个总体概述和大量的链接,这样,如果您感兴趣,就可以进行更深入的研究。

Swift背后有强大的支持

Swift是Chris Lattner在苹果工作时创造的。现在,Chris Lattner就职于谷歌Brain,世界上最好的人工Max Pechyonkin之一,5月27日·5分钟阅读智能研究团队。事实上,Swift语言的创造者现在在实验室从事深度学习的研究来告诉你,这是一个严肃的项目。

不久前,谷歌的人意识到,尽管Python是一种优秀的语言,但是它有许多难以克服的限制。TensorFlow需要一种新的语言,经过长时间的考虑,Swift被选为候选人。我不会在这里详细介绍,但是有一个文档描述了Python的缺点,以及考虑了哪些其他语言,以及最终如何将其缩小到Swift。

不仅仅是一个库

Swift对于TensorFlow不仅仅是另一种语言的TF。它本质上是Swift语言本身的另一个分支(在git的意义上)。这意味着S4TF不是一个库;它本身是一种语言,内置了支持TensorFlow所需的所有功能的特性。例如,S4TF中有一个非常强大的自动微分系统,这是计算梯度所需要的深度学习的基础之一。对比一下Python,在Python中,自动区分不是语言的核心组件。最初作为S4TF的一部分开发的一些功能后来被集成到Swift语言本身。

Swift很快

当我第一次知道Swift的运行速度和C代码一样快时,我很惊讶。我知道C是高度优化的,可以达到非常高的速度,但这是以微管理内存为代价的,这导致C的内存不安全)。此外,C语言不是一门很容易学的语言。

现在,Swift在数值计算中运行得和C一样快,而且它没有内存安全问题,而且它更容易学习。Swift背后的LLVM编译器非常强大,并且有非常高效的优化,这将确保您的代码运行得非常快。

在SWIFT中可以使用多种代码

因为机器学习的Swift还处于非常早期的阶段,这意味着适合Swift的机器学习库并不多。不必担心,因为Swift具有惊人的Python互操作性。只需导入Swift中的任何Python库,它就能正常工作。

类似地,您可以将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(汇编语言)的语法糖”。这意味着从本质上说,Swift非常接近硬件,而且在硬件之间没有其他用C编写的代码层。这也意味着Swift代码非常快,如上所述。这一切都使您作为开发人员能够从一个非常高的级别检查代码到一个非常低的级别,而不需要进入C语言。

接下来是什么

Swift只是谷歌深度学习创新的一部分。还有一个非常密切相关的组件:MLIR,它代表多级中间表示。MLIR将是谷歌统一的编译器基础设施,允许用Swift(或任何其他受支持的语言)编写代码,并将其编译到任何受支持的硬件。目前,针对不同的目标硬件有大量的编译器,但是MLIR将改变这一点,不仅允许代码重用,还允许编写定制的编译器底层组件。它还将允许研究人员应用机器学习来优化底层算法:

虽然MLIR充当ML的编译器,但是我们也看到它支持在编译器中使用机器学习技术!这一点尤其重要,因为开发数字库的工程师的扩展速度赶不上ML模型或硬件的多样化。

想象一下能够使用深度学习来帮助优化数据的底层内存平铺算法(类似于Halide试图完成的任务)。而且,这仅仅是机器学习在编译器中的开始和其他创造性应用!

总结

如果你喜欢深度学习,那么Swift是一门你应该开始学习的语言。与Python相比,它具有许多优势。谷歌正在大力投资,使Swift成为其TensorFlow ML基础设施的一个关键组件,而且很有可能Swift将成为深度学习的语言。所以,早点开始学习Swift也会是你一个先发制人的优势。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 谷歌
    +关注

    关注

    27

    文章

    6245

    浏览量

    110269
  • SWIFT
    +关注

    关注

    0

    文章

    125

    浏览量

    24692

原文标题:为什么Swift会是深度学习的下一个大热门?

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    AI驱动的人形机器人,成为激光雷达产业的下一个爆发点

    速腾和禾赛最新的财报电话会议上,都提到了不少机器人的应用。禾赛在近期还预告了在明年1月的CES上,将会发布款全新的面向机器人领域的迷你3D激光雷达产品。   从汽车到机器人,激光雷达产业找到了下一个增长点?   机器人需要怎样
    的头像 发表于 12-23 09:07 3690次阅读
    AI驱动的人形机器人,成为激光雷达产业的<b class='flag-5'>下一个</b>爆发点

    下一个“电子茅台”,会是连接器吗?

    近段时间,内存条的持续涨价引发了科技行业的广泛关注。有人感叹“涨得比茅台还猛”,也有人戏称“电子茅台”终于回归。 “电子茅台”这概念,并不单指价格高昂,而是形容某电子品类具备类似茅台白酒的三
    的头像 发表于 11-18 10:56 160次阅读
    <b class='flag-5'>下一个</b>“电子茅台”,<b class='flag-5'>会是</b>连接器吗?

    科技云报到:西湖大学、智元机器人都选它,存储成为AI下一个风口

    科技云报到:西湖大学、智元机器人都选它,存储成为AI下一个风口
    的头像 发表于 09-03 11:24 537次阅读

    芯动科技与知存科技达成深度合作

    随着3D堆叠方案凭借低功耗、高带宽特性,有望成为下一代移动端高端热门技术。芯动科技瞄准3DIC市场,与全球领先的存算体芯片企业知存科技达成深度合作,正式量产面向Face2Face键合
    的头像 发表于 08-27 17:05 1037次阅读

    深度学习对工业物联网有哪些帮助

    、实施路径三维度展开分析: 深度学习如何突破工业物联网的技术瓶颈? 1. 非结构化数据处理:解锁“沉睡数据”价值 传统困境 :工业物联网中70%以上的数据为非结构化数据(如设备振
    的头像 发表于 08-20 14:56 764次阅读

    自动驾驶中Transformer大模型会取代深度学习吗?

    [首发于智驾最前沿微信公众号]近年来,随着ChatGPT、Claude、文心言等大语言模型在生成文本、对话交互等领域的惊艳表现,“Transformer架构是否正在取代传统深度学习”这
    的头像 发表于 08-13 09:15 3923次阅读
    自动驾驶中Transformer大模型会取代<b class='flag-5'>深度</b><b class='flag-5'>学习</b>吗?

    【原创】TDMS设置下一个写入位置函数的摸索

    labview在20版本前,tdms都有高级函数,写入文件位置set file positon,但是在20版本后被取消了。取而代之是‘tdms设置下一个写入位置函数’ 本意是想利用tdms设置
    发表于 08-11 20:54

    AI玩具或成为下一个万亿新赛道

    如果你将拥有家庭新成员,你首先会想到什么?是孩子还是宠物?如果我说你下一个家庭成员,或许是会“察言观色”的AI玩具,这件事是不是听上
    的头像 发表于 07-29 10:15 904次阅读

    深度学习遇上嵌入式资源困境,特征空间如何破局?

    近年来,随着人工智能(AI)技术的迅猛发展,深度学习(Deep Learning)成为最热门的研究领域之。在语音识别、图像识别、自然语言处理等领域,
    发表于 07-14 14:50 1121次阅读
    当<b class='flag-5'>深度</b><b class='flag-5'>学习</b>遇上嵌入式资源困境,特征空间如何破局?

    无人配送车卷至不到2万元,激光雷达下一个增量市场来了

    的无人轻卡。   而值得提的是,近期这三家品牌的商用无人配送车,均搭载了激光雷达。在Robotaxi之外,或许商用无人配送车会成为激光雷达的下一个增量市场?   豪华传感器配置:3 颗激光雷达、20 颗摄像头、12 颗毫米波雷达   京东物流最
    的头像 发表于 07-09 00:12 6036次阅读
    无人配送车卷至不到2万元,激光雷达<b class='flag-5'>下一个</b>增量市场来了

    ad7616 burst模式读取数据时,是否可以在下一个convst启动转换?

    ad7616 burst模式读取数据时,是否可以在下一个convst启动转换,但busy还没有拉低的情况下继续读取上次转换的数据吗?主要是串行读取时,有可能出现convst临界的情况,如果这样可以的话,能够提升小部分con
    发表于 04-15 07:50

    如何排除深度学习工作台上量化OpenVINO™的特定层?

    无法确定如何排除要在深度学习工作台上量化OpenVINO™特定层
    发表于 03-06 07:31

    军事应用中深度学习的挑战与机遇

    ,并广泛介绍了深度学习在两主要军事应用领域的应用:情报行动和自主平台。最后,讨论了相关的威胁、机遇、技术和实际困难。主要发现是,人工智能技术并非无所不能,需要谨慎应用,同时考虑到其局限性、网络安全威胁以及
    的头像 发表于 02-14 11:15 825次阅读

    BP神经网络与深度学习的关系

    ),是种多层前馈神经网络,它通过反向传播算法进行训练。BP神经网络由输入层、或多个隐藏层和输出层组成,通过逐层递减的方式调整网络权重,目的是最小化网络的输出误差。 二、深度
    的头像 发表于 02-12 15:15 1358次阅读

    Chiplet,半导体的下一个前沿?

    的服务器等切设备提供动力。现代设备的明显趋势是可用于专门任务的空间越来越小,要求这些设备在有限的物理限制内有效处理多个工作负载。半导体行业正在经历重大转型。随着
    的头像 发表于 12-30 10:53 1113次阅读
    Chiplet,半导体的<b class='flag-5'>下一个</b>前沿?