[問題] 需要每一輪(epoch)都餵入整個資料集嗎?

看板DataScience作者 (人,原來不是人)時間3年前 (2020/11/10 18:33), 編輯推噓4(406)
留言10則, 5人參與, 3年前最新討論串1/1
譬如資料集超大,上千萬筆資料,跑一輪(epoch)需要好幾天或更久,如果讓每一輪沒跑 過整個資料集,這樣子訓練的效果是不是會比較差? 主因目前都是在 colab 訓練,一輪的時間太久就會被突然中斷導致前面花費的時間都 白費了,雖然是可以改成依照餵入資料的次數來儲存訓練結果,但看線上說明是說這樣 訓練的話,若次數沒對齊一輪需要經過的次數的話,會導致評估分數變得不準確 我試驗過照次數儲存的評估結果,刻意中斷後重新訓練,跑出來的評估結果在 Tensorboard 中必須選取 relative 才能讓評估結果看起來是連續的,如果選擇 steps 評估結果就會跳到最左邊顯示 所以想要瞭解資料集很大的情況下,每一輪有必要把整個資料集跑過一遍嗎? -- 「看在上帝的份上,我們不能當著孩子的面槍殺他的父親!」 「那我們就連孩子一起幹掉!」 「第一槍打中的是那個天真的孩子,第二槍是抱著孩子的母親。第三槍 停頓了三秒,當難以致信的父親擦拭著臉上愛子的腦漿從震驚中醒轉 過來,慢慢的轉頭看向停車的地方,分辨出是誰在攻擊他後,第三顆 子彈才將他的腦殼打飛。」 ─摘自〈狼群〉 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.173.41.191 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/DataScience/M.1605004435.A.2AF.html

11/11 08:59, 3年前 , 1F
train 無所謂 validation 最好是一致
11/11 08:59, 1F

11/11 09:04, 3年前 , 2F
colab可以設定每個epoch存檔 包含optimizer狀態都存
11/11 09:04, 2F

11/11 09:04, 3年前 , 3F
這樣比較好繼續接著訓練
11/11 09:04, 3F

11/13 01:03, 3年前 , 4F
把訓練的參數存起來就好了呀
11/13 01:03, 4F

11/13 05:24, 3年前 , 5F
儲存模型是每一輪結束的時候,colab 沒辦法保證每一輪都能正
11/13 05:24, 5F

11/13 05:25, 3年前 , 6F
常結束,若每一輪訓練需要的時間太長,例如超過十小時,幾乎
11/13 05:25, 6F

11/13 05:26, 3年前 , 7F
是保證無法儲存參數
11/13 05:26, 7F

11/13 15:15, 3年前 , 8F
當然沒這規定 時間不夠就時間不夠的訓練法囉 不然你
11/13 15:15, 8F

11/13 15:15, 3年前 , 9F
要做decay之類的都不能做 或者可以先整理一次資料把
11/13 15:15, 9F

11/13 15:15, 3年前 , 10F
相似的排到下個epoch再訓練就好
11/13 15:15, 10F
文章代碼(AID): #1VgcoJAl (DataScience)
文章代碼(AID): #1VgcoJAl (DataScience)