基於資料並行的訓練方式,如何使用pytorch邊train邊eval?

時間 2021-06-29 16:52:44

1樓:Coder

你可以通過 torch.distributed 中 Collective functions 來實現自定義的匯聚,

2樓:Paul

我理解的是你需要把兩部分的驗證結果綜合起來得到最後的驗證集效果,事實上我沒有使用過pytorch的分布式訓練,但是這兒有幾種可行的思路可以考慮一下。

第一種是pytorch已經提供了良好的api解決方案,這種情況當然是最省事的,但是需要你去官方文件找到說明文件。

第二種是pytorch沒有提供現成的解決方案,那麼這個時候就需要我們自己想辦法了。現在我們需要考慮的是在分布式的情況下,各個節點的訓練步數是否一致,比如節點一和節點二同時在訓練到1000步時開始驗證資料集進行驗證,完成以後這個時候需要了解pytorch是否提供了各個節點相互通訊的機制,如果提供了那麼現成呼叫然後進行合併就可以了,具體可以在某一節點合併就行。如果沒有提供的話,這時候需要自己手動編制額外的程式實現合併,可以利用網路通訊或者檔案實現都是可以的。

第一種方案最簡單。第二種需要有一定的編制程式工作,而且除錯起來也麻煩一些了。

神經網路訓練batch的方式和所有資料分幾組每次選一組的方式訓練什麼區別?

AsSalmon 每次選一組,相當於這次訓練使用的訓練集資料量減少了很多,訓練上幾十個epoch,由於訓練集資料量少的問題,是不是出現了過擬合?所以在下一組資料集 相當於新的資料集 的時候,就表現很差。 已重置 定性的,可以這麼理解,系統的收斂靠的是單一的乙個代價函式,即E sum ei ei 其中...

基於hive的資料倉儲如何處理資料更新(update)問題?

tharvest 肯定不能使用hive更新,所謂的更新也是用增量資料merge歷史資料後儲存而替換歷史資料。如果對實效性要求不高,比如T 1,一般是按天分割槽,按天分割槽實際上已經儲存了一條記錄按天的變化維。按天同步資料存在乙個缺點,就是業務資料庫的一條記錄在一天內更新多次,只能取到資料同步時該記錄...

如何針對GMAT邏輯訓練自己的思維方式?

3丫丁 GMAT 730,但小分不太記得了。排名大概是top 4 左右,邏輯題一直做的還不錯,拋磚引玉強答一下。好好讀 Manhattan Prep 輔導書的邏輯分冊,建議邊讀邊自己整理歸納出乙個針對自己的小冊子,帶在身上隨時看經常想。例題要認真看,看完試著重新分析一遍,確定自己懂了為止。用從1中學...