[問題] keras如何使用上次訓練的weight繼續訓練

看板Python作者 (money)時間7年前 (2018/05/02 12:03), 編輯推噓0(002)
留言2則, 2人參與, 7年前最新討論串1/1
目前剛開始接觸keras, 想問在硬體設備限制下, 該如何使用上次訓練出來的權重,進行下一次的訓練? 我將情況分成3種, 第1、2種是比較常見的作法,看很多標準寫法大概都像這樣, 第3種狀況是我自己的想法,我把minibatch跟epoch改成用迴圈控制, 這樣不用一次讀全部資料進來存在電腦記憶體, 而是改成讀一部分(要的minibatch)進行訓練。 但不知道這樣訓練時所使用到的權重, 是上次訓練所儲存的,還是重新random的? 因為目前試驗起來,比較像是重新random的, 不知道該如何改成使用上次的權重? ############################################################################# 1.電腦記憶體足夠、顯卡記憶體足夠 read_csv("全部資料") #讀取所有資料 model.fit(data,minibatch=256,epochs=100) #較大minibatch 2.電腦記憶體足夠、顯卡記憶體不足 read_csv("全部資料") #讀取所有資料 model.fit(data,minibatch=64,epochs=100) #較小minibatch 3.電腦記憶體不足、顯卡記憶體不足 for epoch times in range(100): for minibatch_time in range(64/資料數): read_csv("部分資料") #改成讀取部分資料 . . . model.load_weights("weight.h5") #使用上次訓練出來的權重 model.fit(data,epochs=1) #使用讀取進來的資料進行訓練 model.save_weights("weight.h5") #儲存權重以供下次使用 ############################################################################# 不知道有沒有人遇過類似的問題? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 163.26.178.150 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1525233814.A.D21.html

05/02 12:26, 7年前 , 1F
可以用fit generator
05/02 12:26, 1F

05/02 16:36, 7年前 , 2F
謝謝,我研究看看
05/02 16:36, 2F
文章代碼(AID): #1QwJYMqX (Python)
文章代碼(AID): #1QwJYMqX (Python)