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...