keras模型融合

2021-10-19 06:58:08 字數 2339 閱讀 8826

1.構建模型

模型1

# 33次風運動

defmodel1

(ipt)

: layer1 = dense(units=

512, input_dim=input_node,kernel_initializer =

'normal'

, activation=

'sigmoid'

,name=

'layer1'

)(ipt)

layer2 = dense(units=

256, kernel_initializer =

'normal'

,activation=

'sigmoid'

,name=

'layer2'

)(layer1)

layer3 = dense(units=

64, kernel_initializer =

'normal'

,activation=

'sigmoid'

,name=

'layer3'

)(layer2)

layer4 = dense(units=

64, kernel_initializer =

'normal'

,activation=

'sigmoid'

,name=

'layer4'

)(layer3)

return layer4

模型2

# bluedeep

defmodel2

(ipt)

: layer5 = dense(units=

512, input_dim=input_node,kernel_initializer =

'normal'

, activation=

'sigmoid'

,name=

'layer5'

)(ipt)

layer6 = dense(units=

256, kernel_initializer =

'normal'

,activation=

'sigmoid'

,name=

'layer6'

)(layer5)

layer7 = dense(units=

64, kernel_initializer =

'normal'

,activation=

'sigmoid'

,name=

'layer7'

)(layer6)

layer8 = dense(units=

64, kernel_initializer =

'normal'

,activation=

'sigmoid'

,name=

'layer8'

)(layer7)

return layer8

需要注意的是上面每個dense的變數名都不能一樣,即在model1和model2中不能同時出現類似的layer1和其他的名

二、融合模型

def

merge_model()

: inp = k.layers.input(shape=

(none,8

))opt1 = model1(inp)

opt2 = model2(inp)

x = concatenate(

[opt1,opt2]

) result = dense(units=1)

(x) model = model(inputs=inp,outputs=result)

model.summary(

) model.

compile

(loss=

'mse'

, optimizer=

'adam'

,metrics=

['mae'])

return model

inp是作為公用的輸入,傳入兩個模型中,使用concatenate這個函式將兩個模型融合在一起,並且重新構建一層dense層

三、使用模型

model = merge_model(

)***:

cost = model.train_on_batch(

[x_data1,x_data2]

,[y_data1,y_data2]

)

**時同樣需要傳入兩個訓練集

keras評估模型

當建立好模型並且用來訓練之後,如何評估模型的好壞,準確度又如何呢?三種常用方法 1 使用自動驗證方法 在 fit 函式中增加乙個validation split引數,該引數用來進行驗證效果 該引數可以自由設定,一般設定為20 或者30 也就是測試集佔總資料集的20 或者30 的資料用來進行驗證,其餘...

keras載入模型

說明 該程式是乙個包含兩個隱藏層的神經網路。演示如何載入乙個儲存好的模型。資料集 mnist from future import print function python提供了 future 模組,把下乙個新版本的特性匯入到當前版本,於是我們就可以在當前版本中測試一些新版本的特性。import ...

keras評估模型

目錄 keras評估模型 自動評估 手動評估 手動分離資料集 利用交叉驗證 usr bin env python coding utf 8 author jia shilin 通過fit 函式分割引數,設定資料集百分比,from keras.models import sequential from...