<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          PyTorch核心開發(fā)者靈魂發(fā)問:我們怎么越來越像Julia了?

          共 2883字,需瀏覽 6分鐘

           ·

          2021-12-09 20:47

          ↑ 點擊藍字?關(guān)注極市平臺

          來源丨量子位
          編輯丨極市平臺

          極市導讀

          ?

          PyTorch社區(qū)最近有一種聲音:下個版本應該拋棄Python改用Julia語言。現(xiàn)在就連PyTorch團隊內(nèi)部也會拿這個說法來開玩笑。>>加入極市CV技術(shù)交流群,走在計算機視覺的最前沿

          PyTorch社區(qū)最近有一種聲音:下個版本應該拋棄Python改用Julia語言。

          現(xiàn)在就連PyTorch團隊內(nèi)部也會拿這個說法來開玩笑。

          對這個問題,核心開發(fā)成員中的Edward Yang在論壇上作出過一些回應。

          他認為PyTorch的確越來越像Julia了,比如借鑒Julia的多重分派特性開發(fā)了Pytorch Dispatcher。

          PyTorch總體的發(fā)展方向也和Julia的愿景一致,也就是同時具備拓展性、易用性和執(zhí)行性能。

          一方面PyTorch的底層代碼后期用C++重寫以獲得更好的性能,另一方面functorch、fx等新功能又讓用戶可以直接使用Python做以前必須借助C++完成的工作。

          那為什么不直接改用Julia呢?

          害,其實是舍不得Python那無可替代的生態(tài)。

          當初從原版Torch使用的Lua改用Python就是看中了生態(tài)這一點。這么多年過去了其他語言生態(tài)連一點可能超過Python的跡象都沒有。

          簡而言之,Julia語言本身的特性和Python的生態(tài)他們全都要,向Julia的優(yōu)點學習也是團隊未來的努力方向。

          那么,Julia這種語言到底好在哪,讓PyTorch開發(fā)團隊都向它學習?

          面向科學計算設(shè)計的語言

          Julia來自麻省理工CSAIL實驗室,設(shè)計初衷就是想要一個既有C的速度又有Ruby的動態(tài)性、既能像Matlab一樣使用數(shù)學表達式又有Python的通用性。

          Julia要能像Perl一樣自然地處理字符串、像R一樣適用于統(tǒng)計,像Shell一樣作為膠水語言去和其他語言交互。

          要有Hadoop的并行計算能力,又不想要那些繁雜的配置。

          最后做出來的Julia采用即時編譯(Just In Time),速度比需要解釋器的Python快得多,又沒有失去交互性。

          通過多重分派(Multiple Dispatch)特性來實現(xiàn)類型穩(wěn)定又不時腳本語言的簡潔靈活。

          同一個函數(shù)名對不同參數(shù)類型的調(diào)用分派不同的操作,因為適合處理多種數(shù)據(jù)類型還被PyTorch給學了去。

          具體到機器學習來說,Julia執(zhí)行各類算法包括矩陣運算的速度都比Python快得多。

          Julia生態(tài)里也有自己的開源深度學習框架Julia Flux。

          此外Julia還在語法上對線性代數(shù)、數(shù)據(jù)處理這些場景有額外的優(yōu)化。

          比如支持Unicode數(shù)學符號,數(shù)字乘以變量時候可以省略「*」,以及索引從1而不是0開始更符合人類直覺….

          Julia代碼可以寫成這樣:

          α = 0.5 ?f(u) = α*u; ?f(2) sin(2π)

          以至于有些數(shù)學背景的開發(fā)者認為,Julia代碼寫起來就像在黑板上做數(shù)學題一樣的,很親切。

          相比之下,用Python做矩陣運算感覺就……不是那么好。

          Python:

          np.dot(array1,array2)

          Julia:

          array1?.*?array2

          Julia的歷史可以追溯到2009年,由于想實現(xiàn)的功能太多,直到2018年才對外發(fā)布1.0正式版。

          不過最近幾年Julia已迅速被金融、醫(yī)藥、航天等一些行業(yè)接受,使用者包括摩根大通、輝瑞、NASA等。

          ?TIOBE指數(shù)中的Julia流行趨勢變化

          Julia改變了過去他們只能用C等高性能語言做底層開發(fā)、同時用高易用性的Python等語言做擴展開發(fā)的割裂問題。

          今年7月,Julia創(chuàng)始團隊成立的公司Julia Computing還獲得2400萬美元的A輪融資。

          Julia語言速度快、天生適合機器學習又在高速成長,也難怪PyTorch社區(qū)會有用Julia替代Python的聲音出現(xiàn)。

          有人認為Python是一種糟糕的語言,雖然有優(yōu)秀的生態(tài),但生態(tài)中對機器學習最有價值的部分(Numpy)其實是用C實現(xiàn)的。

          Python生態(tài)雖然強大,但人們對其中的混亂也有不少詬病,各種重復開發(fā)的包管理系統(tǒng)讓配置好Python開發(fā)環(huán)境都不是一件容易事。

          相比之下,Julia的包管理方案就很統(tǒng)一,雖然有可能是還在起步階段沒來得及混亂。

          也有人認為Python這些所謂的缺點其實正是它流行的原因。

          像Python、Javascript和PHP這種看起來糟糕的語言,正是因為能夠輕松的編寫糟糕代碼,降低了門檻而流行。

          這位要提醒大家Julia自身就帶有和其他語言的交互功能,他平常會在Julia代碼里調(diào)用Huggingface的Python模型作開發(fā),兩種生態(tài)都用上才是墜吼的。

          最后,有人很不理解PyTorch開發(fā)團隊不選擇遷移到Julia的做法,既然Julia語言有所有他們需要的特性,還要花時間在Python里重新造輪子是自找麻煩。

          另一位的視角有些微妙的不同:

          這正是PyTorch團隊想把方便留給用戶,而把麻煩留給自己。對這種態(tài)度我很感激。

          參考鏈接:
          [1]
          https://dev-discuss.pytorch.org/t/where-we-are-headed-and-why-it-looks-a-lot-like-julia-but-not-exactly-like-julia/276
          [2]https://news.ycombinator.com/item?id=29354474
          [3]https://ucidatascienceinitiative.github.io/IntroToJulia/Html/WhyJulia


















          如果覺得有用,就請分享到朋友圈吧!


          △點擊卡片關(guān)注極市平臺,獲取最新CV干貨

          公眾號后臺回復“transformer”獲取最新Transformer綜述論文下載~


          極市干貨
          課程/比賽:珠港澳人工智能算法大賽保姆級零基礎(chǔ)人工智能教程
          算法trick目標檢測比賽中的tricks集錦從39個kaggle競賽中總結(jié)出來的圖像分割的Tips和Tricks
          技術(shù)綜述:一文弄懂各種loss function工業(yè)圖像異常檢測最新研究總結(jié)(2019-2020)


          #?CV技術(shù)社群邀請函?#

          △長按添加極市小助手
          添加極市小助手微信(ID : cvmart4)

          備注:姓名-學校/公司-研究方向-城市(如:小極-北大-目標檢測-深圳)


          即可申請加入極市目標檢測/圖像分割/工業(yè)檢測/人臉/醫(yī)學影像/3D/SLAM/自動駕駛/超分辨率/姿態(tài)估計/ReID/GAN/圖像增強/OCR/視頻理解等技術(shù)交流群


          每月大咖直播分享、真實項目需求對接、求職內(nèi)推、算法競賽、干貨資訊匯總、與?10000+來自港科大、北大、清華、中科院、CMU、騰訊、百度等名校名企視覺開發(fā)者互動交流~



          覺得有用麻煩給個在看啦~??


          瀏覽 63
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  天天看再黄视频 | 含羞草自拍原创一区二区三区视频 | 久久久中文字幕三级电影网 | 国产一级a毛一级a在线 | 91在线无码 |