91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Swift“背景硬”:背后有強大的支持

DPVg_AI_era ? 來源:lq ? 2019-06-07 11:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Yann LeCun曾說,深度學習可能需要一種新的編程語言了?,F(xiàn)在Swift來了!沒錯,這就是讓萬千飽受Python缺點困擾的開發(fā)者興奮不已的深度學習語言。本文便將帶領(lǐng)讀者詳細了解一下為什么Swift將成為深度學習的下一大熱門。

當你聽到Swift的時候,第一反應肯定會想到iOS或者MacOS的應用程序開發(fā)。當你玩兒過深度學習,也肯定聽說過Swift for Tensorflow(縮寫為S4TF)。

而后你就會產(chǎn)生困惑:“為什么谷歌要為Swift創(chuàng)建TensorFlow版本呢?已經(jīng)有了Python和C++版本了,為什么還要添加另一種語言?”

在這篇文章中,作者將嘗試回答這些問題,并告訴你為什么要認真遵循S4TF以及Swift語言本身。 本文的目的不是提供非常詳細的解釋,而是提供下文大量鏈接內(nèi)容的一般概述,方便讀者深入挖掘。

Swift for Tensorflow官方地址:

https://www.tensorflow.org/swift/

Swift“背景硬”:背后有強大的支持

Swift是Chris Lattner在蘋果公司工作時創(chuàng)建的。Swift語言的創(chuàng)造者現(xiàn)在在實驗室從事深度學習的研究,這一事實應該告訴你,這就是一個嚴肅的項目。

前段時間,谷歌的員工意識到一件事情:盡管Python是一種優(yōu)秀的語言,但它有許多難以克服的局限性——TensorFlow需要一種新的語言。

經(jīng)過長時間的考慮,Swift被選為候選語言。作者沒有在本文詳細介紹,但下方鏈接中的文檔描述了Python的缺點、在候選語言篩選過程中考慮哪些語言,以及最終為何Swift當選。

https://github.com/tensorflow/swift/blob/master/docs/WhySwiftForTensorFlow.md

對于TensorFlow來說,Swift不僅僅是一個庫

Swift對于TensorFlow不僅僅是另一種語言的TF。

它本質(zhì)上是Swift語言本身的另一個分支(在git術(shù)語中)。這意味著S4TF不是一個庫;它本身就是一種語言,內(nèi)置了支持TensorFlow所需的所有功能的特性。

例如,S4TF中有非常強大的自動微分系統(tǒng),這是計算梯度所需要的深度學習的基礎(chǔ)之一。對比一下Python,在Python中,自動微分不是語言的核心組件。最初作為S4TF的一部分開發(fā)的功能后來被集成到Swift語言本身。

Git地址:

https://git-scm.com/book/en/v1/Git-Branching-What-a-Branch-Is

有關(guān)自動微分:

https://github.com/tensorflow/swift/blob/master/docs/AutomaticDifferentiation.md

Swift速度極快

當作者第一次知道Swift的運行速度和C代碼一樣快時,作者表示非常驚訝。

我們知道C語言是高度優(yōu)化的,可以達到非常高的速度,但這是以微管理內(nèi)存為代價的,這導致C語言不是內(nèi)存安全的。此外,C語言并不是一門很容易學的語言。

現(xiàn)在,Swift在數(shù)值計算中運行得和C一樣快,而且它沒有內(nèi)存安全問題,而且它更容易學習。Swift背后的LLVM編譯器非常強大,并且有非常高效的優(yōu)化,這就確保了代碼運行的速度。

Swift為何和C一樣快:

https://www.fast.ai/2019/01/10/swift-numerics/

在Swift中可以使用Python,C和C ++代碼

由于適用于機器學習的Swift還處于早期階段,這意味著適合Swift的機器學習庫并不多。

但不必過于擔心這一點,因為Swift具有驚人的Python互操作性。

只需導入Swift中的任何Python庫,它就能正常工作。類似地,可以將C和C++的庫導入Swift(對于C++,需要確保頭文件是用純C編寫的,沒有C++特性)。

有關(guān)Python互操作性:

https://github.com/tensorflow/swift/blob/master/docs/PythonInteroperability.md

導入C和C++庫:

https://oleb.net/blog/2017/12/importing-c-library-into-swift/

總而言之,如果需要特定功能,但尚未在Swift中實現(xiàn),則可以導入相應的Python,C或C ++包。

Swift可以在非常底層的地方運行

如果你曾經(jīng)使用過TensorFlow,那么通常情況下可能是通過Python包完成的。

在底層,Python版本的TensorFlow庫底層有C代碼。所以當你調(diào)用TensorFlow中的任何函數(shù)時,在某種程度上你會碰到一些C代碼。

這意味著檢查源代碼的速度是有限的。例如,如果你想了解卷積是如何實現(xiàn)的,你無法看到Python代碼,因為它是在C語言中實現(xiàn)的。

在Swift中,情況就不同了。Chris Lattner稱Swift是“LLVM(匯編語言)的語法糖”。

從本質(zhì)上說,Swift非常接近硬件,而且在硬件之間沒有其他用C編寫的代碼層。這也意味著Swift代碼運行速度非???。這就使得開發(fā)人員能夠從高到低,任何層次都可以開始檢查代碼,而無需使用C。

有關(guān)“LLVM(匯編語言)的語法糖”:

https://www.fast.ai/2019/03/06/fastai-swift/

接下來的一步

Swift只是谷歌深度學習創(chuàng)新的一部分。還有一個非常相關(guān)的組件:MLIR,代表多級中間表示。

MLIR將是谷歌統(tǒng)一的編譯器基礎(chǔ)設(shè)施,允許用Swift(或任何其他受支持的語言)編寫代碼,并將其編譯到任何受支持的硬件。

目前,針對不同的目標硬件有大量的編譯器,但是MLIR將改變這一點,不僅允許代碼重用,還允許編寫定制的編譯器底層組件。它還將允許研究人員應用機器學習來優(yōu)化底層算法

雖然MLIR充當ML的編譯器,但我們也看到它可以在編譯器中使用機器學習技術(shù)!一點尤其重要,因為開發(fā)數(shù)值庫的工程師的擴展速度趕不上ML模型或硬件的多樣化。

想象一下,如果我們能夠使用深度學習來幫助優(yōu)化數(shù)據(jù)的低級內(nèi)存分塊算法(類似于Halide試圖完成的任務)會怎么樣。

有關(guān)MLIR:

https://medium.com/tensorflow/mlir-a-new-intermediate-representation-and-compiler-framework-beba999ed18d

有關(guān)Halide:

https://www.youtube.com/watch?v=3uiEyEKji0M

總結(jié)

如果你對深入學習感興趣,那么Swift是一門你應該開始學習的語言。

與Python相比,它有許多優(yōu)勢。谷歌正在大力投資,使Swift成為其TensorFlow ML基礎(chǔ)設(shè)施的一個關(guān)鍵組件,而且很有可能Swift將成為深度學習的語言。

所以,早點學習Swift總不會有錯的。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • SWIFT
    +關(guān)注

    關(guān)注

    0

    文章

    125

    瀏覽量

    24784
  • python
    +關(guān)注

    關(guān)注

    57

    文章

    4876

    瀏覽量

    90048
  • 深度學習
    +關(guān)注

    關(guān)注

    73

    文章

    5599

    瀏覽量

    124400

原文標題:為什么說Swift將接任Python成為深度學習下一任“掌門”?

文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    內(nèi)存泡沫,和它背后的幽靈訂單

    內(nèi)存泡沫,和它背后的幽靈訂單
    的頭像 發(fā)表于 02-10 00:37 ?1.2w次閱讀
    內(nèi)存泡沫,和它<b class='flag-5'>背后</b>的幽靈訂單

    PC制造鏈的“軟工藝”突圍,以等離子技術(shù)應對成本壓力

    近期,全球主要PC廠商計劃提價,其背后是AI發(fā)展對高端芯片產(chǎn)能的虹吸效應,導致了通用內(nèi)存等關(guān)鍵部件的成本結(jié)構(gòu)性上揚。當供應鏈上游的“成本”難以控制時,制造鏈的競爭力便更依賴于在“軟工藝”上實現(xiàn)極致
    的頭像 發(fā)表于 12-26 09:05 ?37次閱讀

    飛凌嵌入式ElfBoard-軟連接(符號鏈接)與連接

    Linux系統(tǒng)中,有軟連接和連接兩種不同的文件鏈接方式。連接是對文件的另一個目錄項,所有連接都指向相同的inode,就好比一塊存儲數(shù)據(jù)的內(nèi)存有著多個名字,每增加一個連接,連接數(shù)
    發(fā)表于 12-26 08:52

    請問CW32F030進入休眠模式后有什么影響?

    CW32F030進入休眠模式后有什么影響?
    發(fā)表于 12-24 06:40

    Amphenol ExtremePort? Swift Connectors – G99 Series:高速低輪廓連接新選擇

    Amphenol ExtremePort? Swift Connectors – G99 Series:高速低輪廓連接新選擇 在當今對網(wǎng)絡設(shè)備和服務器性能要求不斷提升的時代,高速且小型化的連接
    的頭像 發(fā)表于 12-11 15:30 ?307次閱讀

    芯源的CW32F030能用arduino開發(fā)嗎?或者以后有這方面的支持嗎?

    芯源的CW32F030能用arduino開發(fā)嗎?或者以后有這方面的支持嗎?
    發(fā)表于 12-08 07:13

    Swift Navigation與導遠科技合作打造高精度衛(wèi)星定位解決方案

    2025 年 11 月 4 日,導遠科技與面向大眾市場的精準定位技術(shù)全球領(lǐng)導者 Swift Navigation 共同宣布, 導遠 NAV3120 高精度 GNSS 定位模組與 Swift
    的頭像 發(fā)表于 11-06 16:07 ?756次閱讀

    政策加碼加氫站,背后有哪些考量與機遇?

    加氫站是兌現(xiàn)氫能源價值的出口,在整個氫能源供應體系中,加氫站是鏈接上游制備、運輸與終端應用的關(guān)鍵節(jié)點,2025 年上半年,從頂層設(shè)計到地方實踐,眾多支持氫能產(chǎn)業(yè)的政策紅利持續(xù)釋放,其中涉及加氫站建設(shè)、運營等方面的支持力度更勝以往,政策加碼加氫站
    的頭像 發(fā)表于 09-04 14:59 ?504次閱讀
    政策加碼加氫站,<b class='flag-5'>背后有</b>哪些考量與機遇?

    深度解析:SiLM1040SCA-DG-支持CAN FD與強大保護的±65V故障保護CAN收發(fā)器

    (1.8V-5.5V)、強大的±65V總線故障保護等關(guān)鍵特性,以及完備的診斷與保護功能(欠壓、過溫、TXD超時)。其優(yōu)化的未上電行為和熱插拔支持進一步提升了系統(tǒng)的穩(wěn)健性。#SiLM1040SCA-DG #SiLM1040 #CAN 收發(fā)器 #高速控制器局域網(wǎng)收發(fā)器
    發(fā)表于 07-10 09:07

    Mpp支持RK3576么

    想問下,https://github.com/rockchip-linux/mpp這里面支持RK3576么,看介紹沒有提到說支持RK3576 目前是買了個rk3576的機頂盒,搭載了安卓14,想做安卓視頻解。
    發(fā)表于 06-13 15:35

    電機引線螺栓釬焊工藝研究

    通過不同加熱方式對電機引線螺栓釬焊的工藝試驗進行比較,結(jié)果表明,采用感應釬焊的產(chǎn)品,質(zhì)量穩(wěn)定可靠,各項性能指標合格,能滿足產(chǎn)品要求,為行業(yè)應用提供參考。 高壓三相異步電動機引線螺栓接頭的焊接,采用
    發(fā)表于 05-14 16:34

    登頂!沃飛長空獲評成都科技撲克牌“大王”稱號

    近日,作為中西部地區(qū)一年一度的科技盛會,由成都科技科技聯(lián)盟、雨前顧問主辦的“2025成都科技企業(yè)撲克牌”榜單公布,沃飛長空獲評“大王”稱號。此榜單聚焦“鍛造科技‘鎮(zhèn)園之寶’”,
    的頭像 發(fā)表于 04-24 15:23 ?683次閱讀
    登頂!沃飛長空獲評成都<b class='flag-5'>硬</b>科技撲克牌“大王”稱號

    芯盛智能榮登2025成都科技企業(yè)撲克牌榜單

    近日,以“鍛造科技‘鎮(zhèn)園之寶’”為主題的“2025成都科技年會”在蓉城盛大啟幕。芯盛智能科技有限公司(以下簡稱“芯盛智能”)憑借在存儲芯片領(lǐng)域的硬核實力與創(chuàng)新突破,榮登“2025成都科技企業(yè)撲克牌”榜單,并受邀出席頒獎典禮
    的頭像 發(fā)表于 04-21 11:29 ?1103次閱讀

    小米AR眼鏡背后有多少技術(shù)難點

    在前不久結(jié)束的小米發(fā)布會上,眾多米粉期待已久的AR眼鏡可以說是“千呼萬喚未出來”,這一“缺席”也引發(fā)了行業(yè)內(nèi)外的廣泛關(guān)注與討論。事實上,這也恰恰說明AR眼鏡的研發(fā)與量產(chǎn)絕非易事,其背后涉及的技術(shù)門檻極高,尤其是光學、材料、整機設(shè)計與軟件算法等核心技術(shù)領(lǐng)域。
    的頭像 發(fā)表于 03-10 11:47 ?1687次閱讀

    IAR無法跳轉(zhuǎn)定義,系統(tǒng)庫文件文件名后有[RO]是怎么回事?

    IAR無法跳轉(zhuǎn)定義,系統(tǒng)庫文件文件名后有[RO]
    發(fā)表于 03-10 07:36