在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

    文章

    6219

    瀏覽量

    107219
  • SWIFT
    +關注

    關注

    0

    文章

    116

    瀏覽量

    24198

原文標題:為什么Swift會是深度學習的下一個大熱門?

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    ad7616 burst模式讀取數據時,是否可以在下一個convst啟動轉換?

    ad7616 burst模式讀取數據時,是否可以在下一個convst啟動轉換,但busy還沒有拉低的情況下繼續讀取上次轉換的數據嗎?主要是串行讀取時,有可能出現convst臨界的情況,如果這樣可以的話,能夠提升小部分con
    發表于 04-15 07:50

    給您下一個FPGA項目選擇Pluto XZU20五大理由!

    您的下一個FPGA項目從PlutoXZU20開始1.屢獲殊榮PlutoXZU20憑借其卓越的設計和性能,在2024年北美嵌入式世界大會上被評為“最佳展品”。2.迷你外形PlutoXZU20外形超緊湊
    的頭像 發表于 11-19 01:01 ?391次閱讀
    給您<b class='flag-5'>下一個</b>FPGA項目選擇Pluto XZU20五大理由!

    NPU在深度學習中的應用

    隨著人工智能技術的飛速發展,深度學習作為其核心驅動力之,已經在眾多領域展現出了巨大的潛力和價值。NPU(Neural Processing Unit,神經網絡處理單元)是專門為深度
    的頭像 發表于 11-14 15:17 ?1570次閱讀

    GPU深度學習應用案例

    能力,可以顯著提高圖像識別模型的訓練速度和準確性。例如,在人臉識別、自動駕駛等領域,GPU被廣泛應用于加速深度學習模型的訓練和推理過程。 二、自然語言處理 自然語言處理(NLP)是深度學習
    的頭像 發表于 10-27 11:13 ?950次閱讀

    FPGA加速深度學習模型的案例

    FPGA(現場可編程門陣列)加速深度學習模型是當前硬件加速領域的熱門研究方向。以下是些FP
    的頭像 發表于 10-25 09:22 ?927次閱讀

    FPGA做深度學習能走多遠?

    ,共同進步。 歡迎加入FPGA技術微信交流群14群! 交流問題() Q:FPGA做深度學習能走多遠?現在用FPGA做深度學習加速成為
    發表于 09-27 20:53

    使用tSPI協議減少下一個多電機BLDC設計的布線

    電子發燒友網站提供《使用tSPI協議減少下一個多電機BLDC設計的布線.pdf》資料免費下載
    發表于 09-26 10:40 ?0次下載
    使用tSPI協議減少<b class='flag-5'>下一個</b>多電機BLDC設計的布線

    能否在ESP結束之前通過串行端口停止傳入的UDP數據包的傳輸以解析下一個UDP數據包?

    丟棄在ESP完成之前不需要的數據包,以便通過串行端口發送它以接收下一個數據包, 如果沒有,我必須按順序讀取所有傳入的數據包,需要的和不需要的, 而且波特率不足,主機處理器開銷大, 我能否在 ESP 結束之前通過串行端口停止傳入的 UDP 數據包的傳輸以解析下一個 UDP
    發表于 07-16 06:18

    一下一個單片機的io口分別控制四燈板該怎么設計電路?

    各位大佬,我想問一下一個單片機的io口分別控制四燈板該怎么設計電路,每個燈板上有四種不同類型的燈,每種類型的燈有兩都通過三極管來驅動,那么每種類型的燈都連接到同一個io口,有四塊板
    發表于 07-15 19:03

    利用Matlab函數實現深度學習算法

    在Matlab中實現深度學習算法是復雜但強大的過程,可以應用于各種領域,如圖像識別、自然語言處理、時間序列預測等。這里,我將概述
    的頭像 發表于 07-14 14:21 ?3109次閱讀

    基于Python的深度學習人臉識別方法

    基于Python的深度學習人臉識別方法是涉及多個技術領域的復雜話題,包括計算機視覺、深度學習
    的頭像 發表于 07-14 11:52 ?1475次閱讀

    深度學習中的無監督學習方法綜述

    深度學習作為機器學習領域的重要分支,近年來在多個領域取得了顯著的成果,特別是在圖像識別、語音識別、自然語言處理等領域。然而,
    的頭像 發表于 07-09 10:50 ?1377次閱讀

    深度學習與nlp的區別在哪

    深度學習和自然語言處理(NLP)是計算機科學領域中兩非常重要的研究方向。它們之間既有聯系,也有區別。本文將介紹深度學習與NLP的區別。
    的頭像 發表于 07-05 09:47 ?1404次閱讀

    深度學習常用的Python庫

    深度學習作為人工智能的重要分支,通過模擬人類大腦中的神經網絡來解決復雜問題。Python作為種流行的編程語言,憑借其簡潔的語法和豐富的
    的頭像 發表于 07-03 16:04 ?983次閱讀

    深度學習模型訓練過程詳解

    深度學習模型訓練是復雜且關鍵的過程,它涉及大量的數據、計算資源和精心設計的算法。訓練
    的頭像 發表于 07-01 16:13 ?2189次閱讀
    主站蜘蛛池模板: 免费看国产黄色片 | 久久99精品久久久久久久不卡 | 亚洲人成毛片线播放 | 亚洲成a人v在线观看 | 青草91 | 在线观看你懂得 | 色六月婷婷 | 久久久噜噜噜 | 147西西人体大胆免费网 | 午夜视频h| 日本三级午夜 | 性视频软件| 国产91色综合久久免费分享 | 一级女人毛片人一女人 | 免费一级特黄特色大片在线观看看 | 四虎影院中文字幕 | 色多多在线观看播放 | 亚洲免费小视频 | 午夜国产在线 | 国外精品视频在线观看免费 | 国产美女精品一区二区三区 | 5151四虎永久在线精品免费 | 校园春色亚洲欧美 | 日韩亚洲人成在线综合日本 | 日韩在线影院 | 亚洲狠狠综合久久 | 久久精品亚洲精品国产欧美 | 久久夜色撩人精品国产 | 欧美色视频日本片高清在线观看 | 亚洲成人资源 | 人人插人人 | 成人精品一级毛片 | 久草丁香 | 久久久综合视频 | 国产精品夜夜春夜夜爽 | 美女毛片免费看 | 苍井优一级毛片免费观看 | 大黄网站色多多 | 欧美777| 四虎在线视频观看 | 三级天堂 |