比序貫?zāi)P鸵獜?fù)雜,但是效果很好,可以同時(shí)/分階段輸入變量,分階段輸出想要的模型。
所以說(shuō),只要你的模型不是類(lèi)似VGG一樣
1,應(yīng)用函數(shù)式模型的基本步驟
1,model.layers()添加層
2,model.compile()模型訓(xùn)練的BP模式設(shè)置
3,model.fit()模型訓(xùn)練參數(shù)設(shè)置+訓(xùn)練
4,evaluate()模型評(píng)估
5,predict()模型預(yù)測(cè)
2,常用Model屬性
model.layers:組成模型圖的各個(gè)層
model.inputs:模型的輸入張量列表
model.outputs:模型的輸出張量列表
1model=Model(inputs=,outputs=)
3,指定輸入數(shù)據(jù)的shape
1inputs=Input(shape=(20,))
4,編譯,訓(xùn)練,評(píng)估,預(yù)測(cè)等步驟與序貫式模型相同(這里不再贅述)
1compile(self,optimizer,loss,metrics=None,loss_weights=None,sample_weight_mode=None)
本函數(shù)按batch計(jì)算在某些輸入數(shù)據(jù)上模型的誤差,其參數(shù)有:
x:輸入數(shù)據(jù),與fit一樣,是numpyarray或者numpyarray的list
y:標(biāo)簽,numpyarray
batch_size:整數(shù),含義同fit的同名函數(shù)
verbose:含義與fit的同名函數(shù),但是只能取0或者1
sample_weight:numpyarray,含義同fit的同名函數(shù)
本函數(shù)編譯模型以供訓(xùn)練,參數(shù)有:
1evaluate(self,x,y,batch_size=32,verbose=1,sample_weight=None)
序貫?zāi)P秃秃瘮?shù)模型共同的API
model.summary():打印出模型的概況,它實(shí)際調(diào)用的是keras.utils.print_summary
model.get_config():返回包含模型配置信息的Python字典,模型也可以從config中重構(gòu)回去。
config=model.get_config()
model=Model.from_config(config)
model=Sequential.from_config(config)
上面是分別對(duì)序貫?zāi)P秃秃瘮?shù)式模型載入config
model.get_layer():依據(jù)層名或下標(biāo)獲得層對(duì)象
model.get_weights():返回模型權(quán)重張量的列表,類(lèi)型為numpy.array
model.set_weights():從numpyarray里載入給模型,要求數(shù)組與model.get_weights()一樣
model.to_json():返回代表模型的JSON字符串,僅僅包含網(wǎng)絡(luò)結(jié)構(gòu),不包含權(quán)重,可以從JSON字符串中重構(gòu)模型
以上內(nèi)容為大家介紹了python的Keras函數(shù)式模型,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。