Julia vs Python:哪種編程語言會是2019年機器學習界的No 1?
譯文【51CTO.com快譯】Julia于2018年嶄露頭角,現(xiàn)成為增長速度最快的編程語言之一,因結(jié)合幾種主要語言的優(yōu)勢而備受推崇。
Julia最近迎來了1.0版本,其背后的開發(fā)者現(xiàn)在致力于讓它成為機器學習領域的***語言。
幫助實現(xiàn)這個目標的是Flux,這是一種面向Julia的機器學習軟件庫,旨在使機器學習代碼更易于編寫、簡化訓練過程,并且在GPU和谷歌的張量處理單元(TPU)之類的硬件加速器上提供與競爭性框架相比明顯的性能優(yōu)勢。
如今,Python和R兩大語言通常在機器學習領域占主導地位,就開發(fā)人員當中的人氣指數(shù)而言,Python仍然是增長速度最快的編程語言,這在很大程度上取決于它擁有強大的機器學習框架和庫。相比之下,只有比較少的開發(fā)人員使用剛剛興起的Julia。
話雖如此,Julia背后的團隊表示,他們開發(fā)的這種語言非常適合構(gòu)建可微分算法,可微分算法是指數(shù)據(jù)驅(qū)動的過程代碼,可用于構(gòu)建機器學習中所使用的神經(jīng)網(wǎng)絡。
Julia團隊在一篇博文中寫道:“我們需要一種語言來編寫可微分算法,而Flux助力Julia成為這種語言。”
“Julia是針對數(shù)學和數(shù)值計算從頭開始設計的,異常適合表達機器學習算法。與此同時,它融合了編譯器方面的現(xiàn)代設計和新穎想法,因而更容易滿足先進機器學習的高性能要求。”
據(jù)博文聲稱,F(xiàn)lux庫使用各種面向機器學習的工具擴展了Julia的編譯器,支持在性能與開發(fā)人員的控制之間取得更好平衡的一級梯度、面向GPU的即時CUDA內(nèi)核編譯、訓練期間減少開銷的自動批量處理以及便于在谷歌TPU上運行的優(yōu)化。
該團隊表示,Julia連同F(xiàn)lux以及即將推出的可微分編程語言Myia和最近的Swift for Tensorflow,可能很快就會挑戰(zhàn)傳統(tǒng)的機器學習框架和方法。
該團隊寫道:“我們認為,機器學習的未來在于語言和編譯器技術,尤其在于擴展新舊語言以滿足機器學習研究的高要求。”他們補充道,“支持微分、矢量化和異種硬件的”語言將“推動科學領域的諸多進步。”
Julia團隊稱:“這些下一代工具(Myia、Swift/TF和Flux)想成為與現(xiàn)有的對應框架(TensorFlow、PyTorch和Knet)一樣適用于生產(chǎn)環(huán)境還有一段路要走。”
“但如果你在機器學習取得新的突破,它們可能是你***的選擇。試用一下它們,看看機器學習的未來是什么樣子。”
今年早些時候Julia迎來版本1.0后,這種語言的用戶們大體看好它的進展情況,不過一些人仍對其錯誤處理和說明文檔毫無幫助的現(xiàn)狀感到擔憂。
據(jù)LinkedIn聲稱,機器學習工程師是近幾年發(fā)展速度最快的工作類別,現(xiàn)在有越來越多的免費課程可供想要主攻這個領域的開發(fā)人員使用。
原文標題:Julia vs Python: Which programming language will rule machine learning in 2019?,作者:Nick Heath
【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】