W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
在開源社區(qū)中,項目的治理結(jié)構(gòu)對于其健康和持續(xù)發(fā)展起著至關(guān)重要的作用。PyTorch 作為人工智能領(lǐng)域極具影響力的開源深度學習框架,其治理模式也有著獨特的魅力。今天,編程獅將帶你深入了解 PyTorch 的治理哲學、關(guān)鍵人物以及決策機制,讓你對這個強大的框架有更全面的認識。
PyTorch 采用了一種以維護者為核心、重視代碼貢獻的治理結(jié)構(gòu),其核心運營宗旨主要體現(xiàn)在以下兩個方面:
項目維護者是 PyTorch 的核心領(lǐng)導(dǎo)力量,他們肩負著為項目指引方向、把握大局的重任。具體而言,他們的職責包括:
PyTorch 的項目維護者包括 Adam Paszke(apaszke)、Soumith Chintala(soumith)、Edward Yang(ezyang)、Greg Chanan(gchanan)、Dmytro Dzhulgakov(dzhulgakov)以及 Sam Gross(科爾斯伯里)等杰出人物。
核心開發(fā)人員是 PyTorch 項目的骨干,他們直接參與到項目的開發(fā)和維護工作中,擁有對代碼庫的深入理解和實際操作能力。成為核心開發(fā)人員的途徑是多樣的,包括但不限于以下幾種方式:
這些核心開發(fā)人員分布在 GitHub 上 “PyTorch” 組織中的 “PyTorch 核心” 團隊中,他們共同努力推動著 PyTorch 的技術(shù)進步。
還有一群特殊的人員,他們負責維護社區(qū)的健康氛圍和良好秩序。這些人(其中有些并不是核心開發(fā)人員)會密切關(guān)注官方交流渠道上的討論,確保大家的發(fā)言符合《行為準則》。對于違反準則的行為,他們會果斷采取行動,營造一個積極、友好、富有建設(shè)性的社區(qū)環(huán)境。
對于一些沒有爭議的變更,PyTorch 的決策流程相對簡單高效。主要工作是通過錯誤跟蹤程序中的問題以及 GitHub 上的拉取請求來推進的。核心開發(fā)人員在一般情況下不會直接將自己的更改推送到 PyTorch 的主存儲庫,而是通過提交拉取請求的方式進行代碼合并。當拉取請求獲得其他核心開發(fā)人員或項目維護者的批準后,就可以直接合并到代碼庫中,無需經(jīng)過復(fù)雜的額外流程。
不過,值得注意的是,通知相關(guān)領(lǐng)域的專家了解錯誤跟蹤器上的問題或拉取請求是非常重要的。強烈推薦邀請這些領(lǐng)域的專家參與審核,特別是在拉取請求的批準階段。否則,可能會出現(xiàn)相關(guān)專家事后撤銷已合并更改的情況。
當涉及到有爭議的重大變更時,PyTorch 會啟動更為審慎的決策流程。以下幾類變更通常需要開啟 GitHub 問題進行充分討論:
在這種情況下,項目維護者擁有最終決定權(quán),他們會仔細權(quán)衡各方意見,綜合考慮技術(shù)可行性、項目發(fā)展方向以及社區(qū)利益等因素,做出對項目最有利的決策。
如果你想擁有(或部分擁有)項目的一部分,例如某個特定的域 API(如 Torch Vision),這是完全有可能的。首先,你需要從為現(xiàn)有項目領(lǐng)域做出貢獻開始,積極推動它的健康和持續(xù)發(fā)展。在此基礎(chǔ)上,你還可以通過 GitHub 問題提出新的功能建議或改進方案,為項目的拓展和完善貢獻力量。
不行,PyTorch 項目嚴格遵循由維護者驅(qū)動的理念來決定項目的發(fā)展方向。項目并沒有設(shè)立董事會,也不會提供任何可以通過財務(wù)貢獻來獲取技術(shù)方向影響力的相關(guān)工具。
目前,PyTorch 項目尚未推出專門的贈款或支持方法來直接支持使用該項目或?qū)椖孔龀鲐暙I的獨立開發(fā)人員。不過,社區(qū)正在積極探索新的途徑,努力尋找更好的方式來支持 PyTorch 周邊的獨立開發(fā)者社區(qū)。如果你有任何建議或想法,歡迎在 PyTorch 論壇上展開討論,與社區(qū)成員共同商討解決方案。
對于較小的代碼變更,你可以直接在 GitHub 上創(chuàng)建拉取請求,提交你的代碼供項目提交者進行審核和合并。而對于較大的變更,建議你先在 GitHub 上創(chuàng)建問題,詳細闡述你的想法和建議,以便與社區(qū)成員進行充分的討論和溝通。
目前,由于 PyTorch 的提交過程與 Facebook 的基礎(chǔ)設(shè)施存在一定的關(guān)聯(lián),只有 Facebook 的員工才能觸發(fā)提交操作。不過,社區(qū)正在積極尋找解決方案,努力將提交者基礎(chǔ)擴展到 Facebook 之外的個人開發(fā)者。一旦有允許這樣操作的工具或機制出現(xiàn),項目會及時向社區(qū)發(fā)布相關(guān)更新。
不需要,PyTorch 社區(qū)鼓勵每一位社區(qū)成員積極展示自己的作品和成果。無論你是否是項目的 “官方” 提交者,只要你對 PyTorch 有深入的理解和豐富的實踐經(jīng)驗,都可以在會議上或其他場合舉辦 PyTorch 教程,與其他開發(fā)者分享你的知識和經(jīng)驗。
通過本教程,你對 PyTorch 的治理結(jié)構(gòu)、核心人物以及決策機制有了全面的了解。這種獨特的治理模式是 PyTorch 能夠在深度學習領(lǐng)域取得巨大成功的重要保障之一。它不僅充分發(fā)揮了核心團隊的專業(yè)優(yōu)勢,還廣泛吸納了社區(qū)的智慧和力量,讓 PyTorch 在不斷發(fā)展壯大的同時,始終保持技術(shù)的先進性和創(chuàng)新性。
希望這篇教程能夠幫助你更好地融入 PyTorch 開源社區(qū),無論是作為學習者汲取知識,還是作為貢獻者回饋社區(qū),都能讓你在深度學習的道路上收獲滿滿。如果你在學習或?qū)嵺`中遇到任何問題,歡迎隨時訪問 W3Cschool 社區(qū)尋求幫助,或者登錄編程獅網(wǎng)站獲取更多優(yōu)質(zhì)的學習資源和技術(shù)支持。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: