keras加載模型權(quán)重繼續(xù)訓(xùn)練 keras已訓(xùn)練好模型,一段時間后又有新數(shù)據(jù),如何在已有模型基礎(chǔ)上繼續(xù)做增量訓(xùn)練?
keras已訓(xùn)練好模型,一段時間后又有新數(shù)據(jù),如何在已有模型基礎(chǔ)上繼續(xù)做增量訓(xùn)練?我也是一個菜鳥,可以用來交流。。。在我看來,如果網(wǎng)絡(luò)不需要調(diào)整(例如不添加新的類別),只需使用一個小的學(xué)習(xí)率來微調(diào)網(wǎng)絡(luò)
keras已訓(xùn)練好模型,一段時間后又有新數(shù)據(jù),如何在已有模型基礎(chǔ)上繼續(xù)做增量訓(xùn)練?
我也是一個菜鳥,可以用來交流。。。
在我看來,如果網(wǎng)絡(luò)不需要調(diào)整(例如不添加新的類別),只需使用一個小的學(xué)習(xí)率來微調(diào)網(wǎng)絡(luò)的所有數(shù)據(jù)。
如果網(wǎng)絡(luò)結(jié)構(gòu)發(fā)生變化(如增加新的類別),在前期(如conv層)固定網(wǎng)絡(luò)參數(shù),后期(如FC層)直接學(xué)習(xí)參數(shù)。然后放開凍結(jié),微調(diào)大局。
keras訓(xùn)練好的網(wǎng)絡(luò),怎么在c 程序中調(diào)用?
我嘗試使用其他培訓(xùn)數(shù)據(jù)來調(diào)用Java。一些建議。首先,如果訓(xùn)練模型很小,可以先得到訓(xùn)練參數(shù),然后用C語言調(diào)用,當(dāng)然,矩陣的計算需要自己準(zhǔn)備。
我以前是這樣的,但它有很大的局限性。最大的問題是這種方法的前提,當(dāng)模型不復(fù)雜時。這樣,公共應(yīng)用服務(wù)器仍然可以承受計算負載。
但是,如果模型復(fù)雜,則不建議這樣做。機器無法運行,針對性的浮點優(yōu)化也無法在短時間內(nèi)解決。此時仍建議使用培訓(xùn)機通過web服務(wù)完成Python的遠程調(diào)用,實現(xiàn)業(yè)務(wù)應(yīng)用。
有沒有已經(jīng)訓(xùn)練好的、用于圖像分類的卷積神經(jīng)網(wǎng)絡(luò)可以用呢?
對于常用的圖像分類網(wǎng)絡(luò),每個框架都應(yīng)該在Imagenet上有一個預(yù)先訓(xùn)練好的模型,可以直接使用。如果我們需要使用預(yù)先訓(xùn)練好的網(wǎng)絡(luò)來提取特征,我們不需要最后一個完整的連接層,我們只需要指定includeTop=false。
以keras為例: