中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

當(dāng)Git和Git-LFS無(wú)法解決機(jī)器學(xué)習(xí)復(fù)現(xiàn)問(wèn)題時(shí),是時(shí)候祭出DVC了

2019-06-18    來(lái)源:raincent

容器云強(qiáng)勢(shì)上線(xiàn)!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

為解決機(jī)器學(xué)習(xí)可復(fù)現(xiàn)性的問(wèn)題,很多人會(huì)用 Git 和 Git-LFS,但這二者并不足以解決這個(gè)難題。為此,作者在文中提出了 DVC 并列出了它的三大優(yōu)勢(shì):精準(zhǔn)記錄時(shí)間點(diǎn)和使用的文件、特定時(shí)間點(diǎn)使用命令的確切順序、輕松實(shí)現(xiàn)數(shù)據(jù)和代碼共享。

有人認(rèn)為,由于軟件工具的不充分,無(wú)法保證完全復(fù)現(xiàn)機(jī)器學(xué)習(xí)模型的結(jié)果,機(jī)器學(xué)習(xí)領(lǐng)域正「陷入危機(jī)」。這個(gè)危機(jī)可以通過(guò)為機(jī)器學(xué)習(xí)從業(yè)者提供更好的軟件工具來(lái)解決。

可復(fù)現(xiàn)性問(wèn)題非常重要,每年一度的 NeurIPS 會(huì)議也將其列為 NeurIPS 2019 討論的主要議題。

所謂的危機(jī)是因?yàn)檠芯空唠y以復(fù)現(xiàn)同行或科學(xué)家們的工作,這制約了他們?cè)诒舜斯ぷ骰A(chǔ)上進(jìn)一步取得進(jìn)展。由于機(jī)器學(xué)習(xí)和其他形式的人工智能軟件在學(xué)術(shù)和企業(yè)研究中得到廣泛應(yīng)用,因此可復(fù)制性或可復(fù)現(xiàn)性是一個(gè)亟待解決的關(guān)鍵問(wèn)題。

我們可能認(rèn)為這可以通過(guò)典型的軟件工程工具來(lái)解決,因?yàn)闄C(jī)器學(xué)習(xí)開(kāi)發(fā)與普通軟件工程類(lèi)似。在這兩種情況下,我們會(huì)生成某種編譯軟件工具,以便在計(jì)算機(jī)硬件上執(zhí)行,并獲得準(zhǔn)確的結(jié)果。為什么我們不能利用豐富的軟件工具和質(zhì)量極佳的軟件來(lái)為機(jī)器學(xué)習(xí)團(tuán)隊(duì)構(gòu)建可復(fù)現(xiàn)流程呢?

遺憾的是,傳統(tǒng)的軟件工程工具并不能很好地滿(mǎn)足機(jī)器學(xué)習(xí)研究者的需求。

關(guān)鍵問(wèn)題是訓(xùn)練數(shù)據(jù)。通常,訓(xùn)練機(jī)器學(xué)習(xí)模型需要大量的數(shù)據(jù),例如圖像、視頻或文本。而訓(xùn)練數(shù)據(jù)不在任何一種源代碼控制機(jī)制下,因?yàn)橄?Git 這樣的系統(tǒng)不能很好地處理大型數(shù)據(jù)文件,并且用于生成 delta 文本文件的源代碼控制管理系統(tǒng)不能很好地處理對(duì)大型二進(jìn)制文件的更改。

任何經(jīng)驗(yàn)豐富的軟件工程師都會(huì)告訴你,沒(méi)有源代碼控制的團(tuán)隊(duì)只是「無(wú)頭蒼蠅」。更改文件不會(huì)一直被記錄,團(tuán)隊(duì)成員時(shí)常會(huì)忘記執(zhí)行過(guò)的操作。

而當(dāng)訓(xùn)練結(jié)束時(shí),你可能無(wú)法復(fù)現(xiàn)用該訓(xùn)練數(shù)據(jù)訓(xùn)練的模型,因?yàn)橛?xùn)練數(shù)據(jù)集將以未知方式發(fā)生改變。如果沒(méi)有軟件系統(tǒng)記錄某次的數(shù)據(jù)集狀態(tài),那么有什么機(jī)制可以記錄這一切呢?

Git-LFS 是解決方案嗎?

我們首先想到的解決方案可能是簡(jiǎn)單地使用 Git-LFS (Git Large File Storage),顧名思義,它在構(gòu)建 Git 時(shí)處理大文件。Git-LFS「用 Git 內(nèi)部的文本指針替換大型文件,如音頻、視頻、數(shù)據(jù)集和圖形,同時(shí)將文件內(nèi)容存儲(chǔ)在 GitHub.com 或 GitHub Enterprise 等遠(yuǎn)程服務(wù)器上!

我仿佛還能聽(tīng)到機(jī)器學(xué)習(xí)團(tuán)隊(duì)說(shuō)「聽(tīng)起來(lái)很棒,開(kāi)始吧」。它能夠處理數(shù)千兆字節(jié)的文件,加快遠(yuǎn)程存儲(chǔ)庫(kù)的出庫(kù)速度,并使用同樣舒適的工作流。這肯定符合標(biāo)準(zhǔn)了,對(duì)吧?

并沒(méi)這么簡(jiǎn)單,項(xiàng)目經(jīng)理沒(méi)有告訴你要三思而后行嗎?就像另一個(gè)寶貴的人生意見(jiàn)一樣:過(guò)馬路之前要左右看看。

你應(yīng)該首先考慮的是 Git-LFS 需要一個(gè) LFS 服務(wù)器,并且該服務(wù)器不是通過(guò)每個(gè) Git 托管服務(wù)都可用。三巨頭(Github、Gitlab 和 Atlassian)都支持 Git-LFS,但也許你天生愛(ài) DIY。相比使用第三方 Git 托管服務(wù),你可能更愿意自己托管 Git 服務(wù)。例如,Gogs 是一個(gè)功能強(qiáng)大的 Git 服務(wù)器,你可以輕松地在自己的硬件上運(yùn)行,但它沒(méi)有內(nèi)置的 Git-LFS 支持。

根據(jù)你的數(shù)據(jù)需求,下一步可能會(huì)有點(diǎn)「致命」:Git-LFS 允許的存儲(chǔ)文件最大為 2 GB。這是 Github 帶來(lái)的限制,而非 Git-LFS,但是似乎所有的 Git-LFS 實(shí)現(xiàn)都受到各種限制。Gitlab 和 Atlassian 都有各種 Git-LFS 限制。想想 Github 的這個(gè) 2GB 限制:Git-LFS 有個(gè)應(yīng)用案例是存儲(chǔ)視頻文件,但是視頻的大小經(jīng)常超過(guò) 2GB。因此,Github 上的 GIt-LFS 可能不適用于機(jī)器學(xué)習(xí)數(shù)據(jù)集。

不僅僅是 2GB 的限制,Github 對(duì) Git-LFS 使用的免費(fèi)層也設(shè)置了嚴(yán)格的限制,使用者必須購(gòu)買(mǎi)涵蓋數(shù)據(jù)和帶寬使用的數(shù)據(jù)計(jì)劃。

與帶寬相關(guān)的一個(gè)問(wèn)題是,當(dāng)你使用托管的 Git-LFS 解決方案時(shí),訓(xùn)練數(shù)據(jù)會(huì)存儲(chǔ)在遠(yuǎn)程服務(wù)器中,必須通過(guò) Internet 下載數(shù)據(jù)。而下載過(guò)程嚴(yán)重影響用戶(hù)體驗(yàn)。

另一個(gè)問(wèn)題是,在運(yùn)行基于云的 AI 軟件時(shí),通常需要將數(shù)據(jù)文件放置在云存儲(chǔ)系統(tǒng)(AWS、GCP 等)上。而來(lái)自 Git 服務(wù)器三巨頭的主要 Git-LFS 產(chǎn)品將 LFS 文件存儲(chǔ)在它們的服務(wù)器上,一般不支持云存儲(chǔ)。

有一個(gè) DIY 的 Git-LFS 服務(wù)器可以在 AWS S3 上存儲(chǔ)文件,網(wǎng)址是 https://github.com/meltingice/git-lfs-s3,但是設(shè)置自定義的 Git-LFS 服務(wù)器需要額外的工作。

而且,如果需要將文件放在 GCP 而不是 AWS 基礎(chǔ)架構(gòu)上時(shí),該怎么辦?是否有 Git-LFS 服務(wù)器能夠?qū)?shù)據(jù)存儲(chǔ)在自主選擇的云存儲(chǔ)平臺(tái)上?是否有使用簡(jiǎn)易 SSH 服務(wù)器的 Git-LFS 服務(wù)器?換句話(huà)說(shuō),GIt-LFS 限制了用戶(hù)對(duì)數(shù)據(jù)存儲(chǔ)位置的選擇。

使用 Git-LFS 解決了所謂的機(jī)器學(xué)習(xí)復(fù)現(xiàn)危機(jī)嗎?

使用 Git-LFS 后,你的機(jī)器學(xué)習(xí)團(tuán)隊(duì)可以更好地控制數(shù)據(jù),因?yàn)樗F(xiàn)在是版本控制的。這是否意味著問(wèn)題已解決?

先前我們說(shuō)過(guò)「關(guān)鍵問(wèn)題是訓(xùn)練數(shù)據(jù)」,但這是一個(gè)小謊言。是的,數(shù)據(jù)能在版本控制下就是一個(gè)很大的改進(jìn)。但是缺乏對(duì)數(shù)據(jù)文件的版本控制是整個(gè)問(wèn)題所在 嗎?并不。

什么決定了訓(xùn)練模型或其他活動(dòng)的結(jié)果?決定因素包括但不限以下內(nèi)容:

訓(xùn)練數(shù)據(jù)——訓(xùn)練模型時(shí)使用的圖像數(shù)據(jù)庫(kù)或任何數(shù)據(jù)源
訓(xùn)練模型使用的腳本
訓(xùn)練腳本使用的庫(kù)
處理數(shù)據(jù)使用的腳本
處理數(shù)據(jù)使用的庫(kù)或其它工具
操作系統(tǒng)和 CPU/GPU 硬件
生產(chǎn)系統(tǒng)代碼
生產(chǎn)系統(tǒng)代碼使用的庫(kù)

顯然,訓(xùn)練模型的結(jié)果取決于各種條件。由于存在多方變量,所以很難準(zhǔn)確描述,但一般的問(wèn)題是缺少所謂的配置管理。軟件工程師已經(jīng)認(rèn)識(shí)到能夠指定部署系統(tǒng)時(shí)使用的精確系統(tǒng)配置十分重要。

機(jī)器學(xué)習(xí)可復(fù)現(xiàn)性的解決方案

人類(lèi)是一個(gè)富有創(chuàng)造力的群體,為這個(gè)「危機(jī)」提出了很多可能的解決方案。

R Studio 或 Jupyter Notebook 等環(huán)境提供了一種交互式 Markdown 文檔,可以配置用來(lái)執(zhí)行數(shù)據(jù)科學(xué)或機(jī)器學(xué)習(xí)工作流。這對(duì)于記錄機(jī)器學(xué)習(xí)工作以及指定使用哪些腳本和庫(kù)來(lái)說(shuō)非常有用。但是這些系統(tǒng)不提供管理數(shù)據(jù)集的解決方案。

同樣,Makefile 和類(lèi)似的工作流腳本工具提供了一種重復(fù)執(zhí)行一系列命令的方法。執(zhí)行命令是通過(guò)文件系統(tǒng)時(shí)間戳確定的。這些工具也不提供數(shù)據(jù)管理解決方案。

另一方面,像 Domino Data Labs 或 C3 IoT 這樣的公司提供了數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)的托管平臺(tái)。兩者都將基于大量數(shù)據(jù)科學(xué)工具的產(chǎn)品打包在一起。在某些情況下,如 C3 IoT,用戶(hù)使用專(zhuān)用語(yǔ)言編碼,并將數(shù)據(jù)存儲(chǔ)在專(zhuān)用數(shù)據(jù)存儲(chǔ)中!敢徽臼絺潺R」可能真的很便捷,但它能提供足夠的靈活性嗎?

本文接下來(lái)的部分將介紹 DVC。它的設(shè)計(jì)充分利用了大多數(shù)人對(duì) Git 的熟悉程度,旨在與 Git 功能緊密匹配,但它具有適用于機(jī)器學(xué)習(xí)環(huán)境中的工作流和數(shù)據(jù)管理的功能。

與 Git-LFS 或其他幾種可能的解決方案相比,DVC 承擔(dān)并解決了機(jī)器學(xué)習(xí)復(fù)現(xiàn)性的大部分問(wèn)題。它的方式是在 DVC 和像 Git 這樣的源代碼管理系統(tǒng)(SCM)中混合管理代碼(腳本和程序)以及大數(shù)據(jù)文件。此外,DVC 管理處理機(jī)器學(xué)習(xí)實(shí)驗(yàn)中使用的文件所需的工作流。

DVC 文件中描述了數(shù)據(jù)文件和要執(zhí)行的命令,我們將在接下來(lái)的小節(jié)介紹這些文件。最后,使用 DVC 可以輕松地將數(shù)據(jù)存儲(chǔ)在許多存儲(chǔ)系統(tǒng)上,像本地磁盤(pán)、SSH 服務(wù)器或云系統(tǒng)(S3、GCP 等)。DVC 管理的數(shù)據(jù)可以很容易地與其他使用此存儲(chǔ)系統(tǒng)的用戶(hù)共享。

 

 

圖源:http://dvc.org/

DVC 使用與 Git 類(lèi)似的命令結(jié)構(gòu)。正如我們看到的,就像 git push 和 git pull 用于共享代碼和配置一樣,dvc push 和 dvc pull 用于共享數(shù)據(jù)。所有這些都將在后面的章節(jié)詳細(xì)介紹,或者如果你想學(xué)習(xí) DVC,請(qǐng)參閱教程:https://dvc.org/doc/tutorial。

DVC 可以精準(zhǔn)記錄時(shí)間點(diǎn)和使用的文件

DVC 的核心是為存儲(chǔ)和版本控制大文件而優(yōu)化的數(shù)據(jù)存儲(chǔ)(DVC 緩存)。團(tuán)隊(duì)可以選擇將哪些文件存儲(chǔ)在 SCM(如 Git)中,哪些存儲(chǔ)在 DVC 中。存儲(chǔ)由 DVC 管理的文件,這樣 DVC 可以維護(hù)每個(gè)文件的多個(gè)版本,并使用文件系統(tǒng)鏈接快速更換正在使用的文件版本。

從概念上講,SCM(如 Git)和 DVC 都有存儲(chǔ)庫(kù),其中包含每個(gè)文件的多個(gè)版本。如果查看「版本 N」,相應(yīng)的文件將出現(xiàn)在工作目錄中,然后查看「版本 N + 1」,文件將會(huì)匹配新版本。

 

 

圖源:http://dvc.org/

在 DVC 端,這在 DVC 緩存中處理。存儲(chǔ)在緩存中的文件通過(guò)內(nèi)容校驗(yàn)和(MD5 哈希值)進(jìn)行索引。隨著 DVC 管理的各個(gè)文件發(fā)生變化時(shí),其校驗(yàn)和會(huì)發(fā)生變化,并會(huì)創(chuàng)建相應(yīng)的緩存條目。緩存將保存每個(gè)文件的所有實(shí)例。

為了提高效率,DVC 使用多種鏈接方法(取決于文件系統(tǒng)支持)將文件插入工作區(qū)而無(wú)需復(fù)制。這樣,DVC 可以在請(qǐng)求時(shí)快速更新工作目錄。

DVC 使用所謂的「DVC 文件」來(lái)描述數(shù)據(jù)文件和工作流步驟。每個(gè)工作區(qū)將有多個(gè) DVC 文件,每個(gè)文件都用相應(yīng)的校驗(yàn)和描述一個(gè)或多個(gè)數(shù)據(jù)文件,每個(gè)文件都要描述在工作流中執(zhí)行的命令。

cmd: python src/prepare.py data/data.xmldeps:- md5: b4801c88a83f3bf5024c19a942993a48 path: src/prepare.py- md5: a304afb96060aad90176268345e10355 path: data/data.xmlmd5: c3a73109be6c186b9d72e714bcedaddbouts:- cache: true md5: 6836f797f3924fb46fcfd6b9f6aa6416.dir metric: false path: data/preparedwdir: .

示例的 DVC 文件來(lái)自 DVC 入門(mén)示例(https://github.com/iterative/example-get-started),并顯示了工作流的初始步驟。在下一節(jié),我們會(huì)詳細(xì)介紹工作流,F(xiàn)在,請(qǐng)注意此命令有兩個(gè)依賴(lài)項(xiàng) src/prepare.py 和 data/data.xml,以及一個(gè)名為 data/prepared 的輸出數(shù)據(jù)目錄。這些都會(huì)產(chǎn)生 MD5 哈希值,并且隨著文件更改,MD5 哈希值將發(fā)生變化,更改后的數(shù)據(jù)文件的新實(shí)例將存儲(chǔ)在 DVC 緩存中。

DVC 文件被檢入 SCM 管理(Git)存儲(chǔ)庫(kù)。當(dāng)存入 SCM 存儲(chǔ)庫(kù)時(shí),每個(gè) DVC 文件都會(huì)使用每個(gè)文件的新校驗(yàn)和來(lái)更新(如果適用)。因此,使用 DVC 可以精確地重新創(chuàng)建每個(gè)提交的數(shù)據(jù)集,團(tuán)隊(duì)也可以精確地重新創(chuàng)建項(xiàng)目的每個(gè)開(kāi)發(fā)步驟。

DVC 文件類(lèi)似于 Git-LFS 中使用的「指針」文件。

DVC 團(tuán)隊(duì)建議在每個(gè)實(shí)驗(yàn)中使用不同的 SCM 標(biāo)簽或分支。因此,訪(fǎng)問(wèn)適合該實(shí)驗(yàn)的數(shù)據(jù)文件、代碼和配置就像切換分支一樣簡(jiǎn)單。SCM 將自動(dòng)更新代碼和配置文件,DVC 將自動(dòng)更新數(shù)據(jù)文件。

這意味著你不用再絞盡腦汁去記住哪些數(shù)據(jù)文件用于什么實(shí)驗(yàn)了。DVC 會(huì)為追蹤這一切。

DVC 會(huì)記住特定時(shí)間點(diǎn)使用命令的確切順序

DVC 文件不僅能記住特定執(zhí)行階段使用的文件,還能記住在該階段執(zhí)行的命令。

復(fù)現(xiàn)機(jī)器學(xué)習(xí)結(jié)果不僅需要使用相同的數(shù)據(jù)文件,而且需要相同的處理步驟和相同的代碼/配置。一般創(chuàng)建模型的步驟,首先要準(zhǔn)備在后續(xù)步驟中使用的樣本數(shù)據(jù)。你可能會(huì)利用 Python 腳本 prepare.py 來(lái)拆分?jǐn)?shù)據(jù),并且在 data/data.xml 文件中輸入數(shù)據(jù)。

$ dvc run -d data/data.xml -d code/prepare.py \ -o data/prepared \ python code/prepare.py

我們用該語(yǔ)句使 DVC 記錄該處理步驟。DVC「run」命令根據(jù)命令行選項(xiàng)創(chuàng)建 DVC 文件。

-d 選項(xiàng)定義依賴(lài)項(xiàng),在本例中,我們看到 XML 格式的輸入文件以及 Python 腳本。-o 選項(xiàng)記錄輸出文件,這里列出了輸出數(shù)據(jù)目錄。最后,執(zhí)行的命令是一個(gè) Python 腳本。

因此,我們輸入的數(shù)據(jù)、代碼和配置以及輸出數(shù)據(jù),都被事無(wú)巨細(xì)地記錄在生成的 DVC 文件中,該文件對(duì)應(yīng)上一節(jié)中顯示的 DVC 文件。

如果 prepare.py 從本次提交更改為下一次提交,則 SCM 將自動(dòng)跟蹤更改。同樣,對(duì) data.xml 的任何更改都會(huì)在 DVC 緩存中產(chǎn)生新實(shí)例,DVC 將自動(dòng)跟蹤該實(shí)例。如果結(jié)果數(shù)據(jù)目錄發(fā)生更改,DVC 也會(huì)跟蹤它們。

DVC 文件也可以簡(jiǎn)單地引用文件,如下所示:

md5: 99775a801a1553aae41358eafc2759a9outs:- cache: true md5: ce68b98d82545628782c66192c96f2d2 metric: false path: data/Posts.xml.zip persist: falsewdir: ..

這是 dvc add file 命令得到的結(jié)果,該命令僅在只有一個(gè)數(shù)據(jù)文件時(shí)使用,并且其他命令不會(huì)產(chǎn)生這個(gè)結(jié)果。例如,在 https://dvc.org/doc/tutorial/define-ml-pipeline 中會(huì)顯示,結(jié)果會(huì)立刻出現(xiàn)在前面的 DVC 文件:

$ wget -P data https://dvc.org/s3/so/100K/Posts.xml.zip$ dvc add data/Posts.xml.zip

然后,Posts.xml.zip 文件是本教程中一系列步驟的數(shù)據(jù)源,每一步都要從這些數(shù)據(jù)中獲取信息。

退一步講,我們要明確這些是更大型工作流中的單個(gè)步驟,或者在 DVC 中稱(chēng)之為管道的步驟。通過(guò) dvc add 和 dvc run,可以將多個(gè)階段串聯(lián)起來(lái),每個(gè)階段都使用 dvc run 命令創(chuàng)建,且由 DVC 文件描述。

這意味著每個(gè)工作目錄將包含多個(gè) DVC 文件,其中一個(gè)用于該項(xiàng)目流程的每個(gè)階段。DVC 掃描 DVC 文件,構(gòu)建復(fù)現(xiàn)流程所需命令的有向非循環(huán)圖(Directed Acyclic Graph DAG)。

每個(gè)階段都像一個(gè) mini-Makefile,只有當(dāng)依賴(lài)關(guān)系發(fā)生變化時(shí),DVC 才會(huì)執(zhí)行命令。它也有所不同,因?yàn)?DVC 不會(huì)像 Make 那樣只考慮文件系統(tǒng)時(shí)間戳,而是考慮文件內(nèi)容是否已更改,這由 DVC 文件中的校驗(yàn)和與文件的當(dāng)前狀態(tài)確定。

最重要的是,這意味著不需再費(fèi)盡周章記住每個(gè)實(shí)驗(yàn)使用哪個(gè)版本的腳本。DVC 會(huì)跟蹤所有內(nèi)容。

 

 

圖源:http://dvc.org/

DVC 使團(tuán)隊(duì)成員之間輕松實(shí)現(xiàn)數(shù)據(jù)和代碼共享

機(jī)器學(xué)習(xí)研究人員可能需要與同事合作,需要共享數(shù)據(jù)、代碼和配置;蛘咝枰獙(shù)據(jù)部署到遠(yuǎn)程系統(tǒng),例如在云計(jì)算系統(tǒng)(AWS、GCP 等)上運(yùn)行軟件,這意味著將數(shù)據(jù)需要上傳到相應(yīng)的云存儲(chǔ)服務(wù)(S3、GCP 等)上。

DVC 工作空間的代碼和配置端存儲(chǔ)在 SCM 中(如 Git)。使用普通的 SCM 命令(如 git5 clone),你可以輕松地與同事共享代碼和配置。但是如何與同事共享數(shù)據(jù)呢?

DVC 具有遠(yuǎn)程存儲(chǔ)的概念。DVC 工作空間可以將數(shù)據(jù)傳輸?shù)竭h(yuǎn)程存儲(chǔ)中或從遠(yuǎn)程存儲(chǔ)中提取數(shù)據(jù)。遠(yuǎn)程存儲(chǔ)池可以存在于任何云存儲(chǔ)平臺(tái)(S3、GCP 等)以及 SSH 服務(wù)器上。

因此,要與同事共享代碼、配置和數(shù)據(jù),首先要定義遠(yuǎn)程存儲(chǔ)池。保存遠(yuǎn)程存儲(chǔ)定義的配置文件由 SCM 跟蹤。接下來(lái),將 SCM 存儲(chǔ)庫(kù)傳送到共享服務(wù)器,該服務(wù)器附帶 DVC 配置文件。當(dāng)你的同事克隆存儲(chǔ)庫(kù)時(shí),他們就可以立即從遠(yuǎn)程緩存中提取數(shù)據(jù)。

這意味著你的同事不用再費(fèi)心思量如何運(yùn)行你的代碼。他們可以輕松復(fù)現(xiàn)你的確切步驟,充分利用精確數(shù)據(jù)來(lái)生成結(jié)果。

 

 

圖源:http://dvc.org/

結(jié)論

復(fù)現(xiàn)結(jié)果的關(guān)鍵是,不僅要確保數(shù)據(jù)的正確版本,還要保證代碼和配置文件的正確版本,并自動(dòng)執(zhí)行各個(gè)步驟。成功的項(xiàng)目有時(shí)需要與同事協(xié)作,而這可以通過(guò)云存儲(chǔ)系統(tǒng)更輕松地實(shí)現(xiàn)。有些工作要求在云計(jì)算平臺(tái)上運(yùn)行 AI 軟件,因此需要將數(shù)據(jù)文件存儲(chǔ)在云存儲(chǔ)平臺(tái)上。

借助 DVC,機(jī)器學(xué)習(xí)研究團(tuán)隊(duì)可以確保他們的數(shù)據(jù)、配置和代碼全部同步。它是一個(gè)易于使用的系統(tǒng),可以有效地管理共享數(shù)據(jù)存儲(chǔ)庫(kù)和 SCM 系統(tǒng)(如 Git),以存儲(chǔ)配置和代碼。

原文鏈接:https://towardsdatascience.com/why-git-and-git-lfs-is-not-enough-to-solve-the-machine-learning-reproducibility-crisis-f733b49e96e8

標(biāo)簽: [db:TAGG]

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀(guān)點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:AI「照妖鏡」:不僅知道你P過(guò)圖,還知道你P圖前長(zhǎng)啥樣

下一篇:被誤解的數(shù)據(jù)驅(qū)動(dòng)!沒(méi)有這一步,你的數(shù)據(jù)決策就是白忙活一場(chǎng)