2017-03-16 197 views
2

假设我有10万的数据集400 X我建立这个模型:Keras,如何得到预测与模型去掉最后一层

model = Sequential() 
model.add(Dense(200, input_dim = 400, init = init_weights)) 
model.add(BatchNormalization()) 
model.add(SReLU()) 
model.add(Dropout(0.5)) 
model.add(Dense(200, init = init_weights)) 
model.add(BatchNormalization()) 
model.add(SReLU()) 
model.add(Dropout(0.5)) 
model.add(Dense(1, activation = 'linear', init = init_weights)) 

比我打电话

model.compile(loss = .. 

而且

model.fit(input_matrix,.. 

训练结束后,我可以调用model.predict(..用于预测。

我想获得从去年没有线性分层模型预测矩阵..

因此,像:

model.remove_last_layer 
pred_matrix = model.predict(input_matrix) 

其产量100K×200阵列,我怎么能做到这一点与keras? THX很多

+0

你有你的模型中训练的? –

+0

是的,我得到了训练 – gugatr0n1c

+0

什么是你的'后端',你能打印'model.summary()'? –

回答

1

THX以链接的文档,我发现这个

layer_name = 'dropout_2' 
intermediate_layer_model = Model(input = model.input, output = model.get_layer(layer_name).output) 
intermediate_output = intermediate_layer_model.predict(matrix_test) 
+0

Againts官方文档我更改为keras_1 API – gugatr0n1c