首頁 後端開發 Python教學 開發者親自上場:Julia語言搞機器學習和Python比,哪個好用?

開發者親自上場:Julia語言搞機器學習和Python比,哪個好用?

Apr 11, 2023 pm 12:28 PM
開發 程式碼 技能

 

2022 年,你會選擇哪一種程式語言呢?

前幾年就流傳著這樣一種說法:Julia會取代 Python,成為新的最受歡迎的程式語言之一。我們暫且對這種說法持觀望態度,但作為科學計算方面的強大工具,Julia優勢已然顯現,這意味著程式設計師的選擇又多了一種。

在資料科學、人工智慧等領域,仔細對比Julia和Python,我們會發現:相同的任務,只要Python 能實現的的,Julia都可以做,而且效率高得多,語法也簡潔優雅,只是在傳播度上,名氣不如Python。

近日,reddit 上的一則熱帖引來廣大網友的討論,這個帖子提到,最近,一些Julia語言包的開發人員討論了Julia中ML 的當前狀態,並將其狀態與Python ML 生態系統進行了比較。

原文貼網址:

https://www.reddit.com/r/MachineLearning/comments/s1zj44/r_julia_developers_discuss_the_current_state_of /

來自烏得勒支大學的JordiBolibar 認為,「Julia確實在機器學習方面擁有巨大的潛力,但它目前的狀態有點喜憂參半。更具體地說,我在SciML 中堅持使用Julia的主要原因是,DifferentialEquations.jl 庫工作得非常好,但在Python 中沒有發現任何類似的東西。然而,對於我的研究來說,真正痛苦的是AD 部分。自從我開始使用Julia,我在Zygote 中遇到了兩個錯誤,這使我的工作速度減慢了幾個月。但我仍然認為Julia是SciML 的最佳選擇,但這些庫(及其文件)應該優化的更加用戶友好。」

網友@jgreener64 表示:「Julia中的ML 在某些領域應用非常強大,Julia一切都有可能。Julia面臨的問題是:Julia中的ML 需要大量現有知識或大量時間搜尋/ 反覆試驗。在個人層面上,我目前正在用Julia開發新穎的可微分演算法。」

#除了網友的熱烈討論外,Julia軟體包開發人員Christopher Rackauckas 圍繞著以下7 個問題,解答了網友比較關心的內容。 Rackauckas 是 MIT 和馬裡蘭大學的數學家和藥理學家,主要以Julia程式設計。 Rackauckas 為Julia、數學和隨機生物學開設了專門博客,來介紹相關內容,並且 Rackauckas 在Julia中開發了一些庫,包括(但不限於)DifferentialEquations.jl 和 Pumas。

Christopher Rackauckas

    問題包括:
  1. 今天Julia中的ML 在哪些地方真正大放異彩?在不久的將來該生態系在哪些方面優於其他流行的 ML 框架(例如 PyTorch、Flax 等),為什麼?
  2. 目前Julia的 ML 生態系在功能或效能上有哪些缺點? Julia在這些領域變得具有競爭力的時間節點在哪?
  3. Julia的標準 ML 套件(例如深度學習) 在效能方面與流行的替代方案相比如何(更快、更慢、相同數量級)?
  4. 有沒有重要的Julia實驗,可以針對流行的 ML 替代方案進行基準測試?
  5. 如果一家公司或機構正在考慮創建職位來為Julia的 ML 生態系統做出貢獻,有沒有最佳案例?為什麼他們應該這樣做?哪些貢獻最有影響力?
  6. 為什麼與其他框架合作的獨立開發人員應該考慮為Julia的 ML 生態系統做出貢獻?
  7. 對於某些特定任務,Julia開發人員傾向於使用哪些軟體套件? Julia開發人員希望能加入目前不存在的內容?

下文中我們挑選了幾個大家比較關心的問題來回報:

問題 3:Julia在「標準 ML」中的表現如何? ######

Julia的核心速度很好:在 CPU 上,我們做得非常好,在 GPU 上,每個人都只是呼叫相同的 cudnn 等;Julia的 AD 速度也很好。不過 Zygote 可能會有一些開銷,但與 Jax/PyTorch/TensorFlow相比,Zygote 在大多數情況下速度是很快的。具體來說,PyTorch 開銷要高得多,在標準 ML 工作流程中甚至無法測量。一個足夠大的矩陣乘法會解決分配問題或其他 O(n) 問題;Julia不融合內核,因此在大多數基準測試中,如果使用者查看它,就會發現它沒有融合 conv 或 RNN cudnn 呼叫。

問題 4:我們應該追蹤哪些重要的實驗和基準?

XLA 的分散式調度器非常好。當我們考慮擴展時,我們應該忽略 PyTorch,去考慮 DaggerFlux 與TensorFlow/Jax。 XLA 有更多的靈活性來改變操作,所以我認為 XLA 才是贏家,我們需要使用 e-graphs 技巧來匹配它。另一件需要注意的事情就是「自動微分中缺少中間部分」,這種情況還需要解決。

問題 7:有什麼推薦的軟體套件?

我傾向於在需要時使用 Flux,但大家還是盡量使用 DiffEqFlux。就現有核心而言,Flux 是最完整的,但它的風格讓我感到厭倦。我希望有一個 Flux 不使用隱式參數,而是使用顯式參數。我希望這些參數由 ComponentArrays 表示。

 

以上是開發者親自上場:Julia語言搞機器學習和Python比,哪個好用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1319
25
PHP教程
1269
29
C# 教程
1248
24
四款值得推薦的AI輔助程式工具 四款值得推薦的AI輔助程式工具 Apr 22, 2024 pm 05:34 PM

這個AI輔助程式工具在這個AI快速發展的階段,挖掘出了一大批好用的AI輔助程式工具。 AI輔助程式設計工具能夠提升開發效率、提升程式碼品質、降低bug率,是現代軟體開發過程中的重要助手。今天大姚給大家分享4款AI輔助程式工具(而且都支援C#語言),希望對大家有幫助。 https://github.com/YSGStudyHards/DotNetGuide1.GitHubCopilotGitHubCopilot是一款AI編碼助手,可幫助你更快、更省力地編寫程式碼,從而將更多精力集中在問題解決和協作上。 Git

GE通用遠端程式碼可在任何裝置上編程 GE通用遠端程式碼可在任何裝置上編程 Mar 02, 2024 pm 01:58 PM

如果您需要遠端編程任何設備,這篇文章會為您帶來幫助。我們將分享編程任何設備的頂級GE通用遠端代碼。通用電氣的遙控器是什麼? GEUniversalRemote是一款遙控器,可用於控制多個設備,如智慧電視、LG、Vizio、索尼、藍光、DVD、DVR、Roku、AppleTV、串流媒體播放器等。 GEUniversal遙控器有各種型號,具有不同的功能和功能。 GEUniversalRemote最多可以控制四台設備。頂級通用遙控器代碼,可在任何裝置上編程GE遙控器配備一組代碼,使其能夠與不同設備配合。您可

如何使用Copilot產生程式碼 如何使用Copilot產生程式碼 Mar 23, 2024 am 10:41 AM

身為一名程式設計師,對於能夠簡化程式設計體驗的工具,我感到非常興奮。借助人工智慧工具的幫助,我們可以產生演示程式碼,並根據需求進行必要的修改。在VisualStudioCode中新引入的Copilot工具讓我們能夠創建具有自然語言聊天互動的AI生成程式碼。透過解釋功能,我們可以更好地理解現有程式碼的含義。如何使用Copilot產生程式碼?要開始,我們首先需要取得最新的PowerPlatformTools擴充。要實現這一點,你需要進入擴充頁面,搜尋“PowerPlatformTool”,然後點擊Install按鈕

AI程式設計師哪家強?探索Devin、通靈靈碼和SWE-agent的潛力 AI程式設計師哪家強?探索Devin、通靈靈碼和SWE-agent的潛力 Apr 07, 2024 am 09:10 AM

2022年3月3日,距離世界首個AI程式設計師Devin誕生不足一個月,普林斯頓大學的NLP團隊開發了一個開源AI程式設計師SWE-agent。它利用GPT-4模型在GitHub儲存庫中自動解決問題。 SWE-agent在SWE-bench測試集上的表現與Devin相似,平均耗時93秒,解決了12.29%的問題。 SWE-agent透過與專用終端交互,可以開啟、搜尋文件內容,使用自動語法檢查、編輯特定行,以及編寫和執行測試。 (註:以上內容為原始內容微調,但保留了原文中的關鍵訊息,未超過指定字數限制。)SWE-A

學習如何利用Go語言開發行動應用程式 學習如何利用Go語言開發行動應用程式 Mar 28, 2024 pm 10:00 PM

Go語言開發行動應用程式教學隨著行動應用程式市場的不斷蓬勃發展,越來越多的開發者開始探索如何利用Go語言開發行動應用程式。作為一種簡潔高效的程式語言,Go語言在行動應用開發中也展現了強大的潛力。本文將詳細介紹如何利用Go語言開發行動應用程序,並附上具體的程式碼範例,幫助讀者快速入門並開始開發自己的行動應用程式。一、準備工作在開始之前,我們需要準備好開發環境和工具。首

崩壞星穹鐵道波提歐技能是什麼 崩壞星穹鐵道波提歐技能是什麼 Mar 26, 2024 pm 07:56 PM

崩壞星穹鐵道波提歐是遊戲2.2版中上線的五星角色,想必許多玩家都十分好奇崩壞星穹鐵道波提歐技能是什麼,那麼接下來小編會為大家帶來崩壞星穹鐵道波提歐技能介紹,快來一起看看。崩壞星穹鐵道波提歐技能是什麼1、普攻:正常的普通攻擊,沒有任何效果。 2、戰技:對自己和指定的敵人發動絕命對峙,維持兩回合。在絕命對峙的情況下,敵人將進入嘲諷狀態。波提歐不能使用任何戰技,他的普攻蹄鐵裂顱強化成了擊鎚連弩。當敵人/波提歐被處於絕命對峙時受到對方攻擊,將獲得30%/15%的傷害提升。如果場上沒有可攻擊的處於

Android開發最適合的Linux發行版是哪一個? Android開發最適合的Linux發行版是哪一個? Mar 14, 2024 pm 12:30 PM

Android開發是一項繁忙而又令人興奮的工作,而選擇適合的Linux發行版來進行開發則顯得尤為重要。在眾多的Linux發行版中,究竟哪一個最適合Android開發呢?本文將從幾個方面來探討這個問題,並給出具體的程式碼範例。首先,我們來看看目前流行的幾個Linux發行版:Ubuntu、Fedora、Debian、CentOS等,它們都有各自的優點和特點。

Go語言前端技術探秘:前端開發新視野 Go語言前端技術探秘:前端開發新視野 Mar 28, 2024 pm 01:06 PM

Go語言作為一種快速、高效的程式語言,在後端開發領域廣受歡迎。然而,很少有人將Go語言與前端開發聯繫起來。事實上,使用Go語言進行前端開發不僅可以提高效率,還能為開發者帶來全新的視野。本文將探討使用Go語言進行前端開發的可能性,並提供具體的程式碼範例,幫助讀者更了解這一領域。在傳統的前端開發中,通常會使用JavaScript、HTML和CSS來建立使用者介面

See all articles