Keras,如何通过移除最后一层的模型进行预测

时间:2017-03-16 20:24:06

标签: python matrix tensorflow keras layer

假设我有100k x 400的数据集。我创建了这个模型:

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 x 200阵列,如何使用keras进行此操作?很多

1 个答案:

答案 0 :(得分:1)

到我找到的文档的链接

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)