[問題] keras如何使用上次訓練的weight繼續訓練
目前剛開始接觸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
05/02 12:26, 1F
→
05/02 16:36,
7年前
, 2F
05/02 16:36, 2F
Python 近期熱門文章
PTT數位生活區 即時熱門文章