提取cnn的输出

时间:2019-05-14 12:37:14

标签: python keras conv-neural-network

我训练了一个cnn模型对狗和猫的图像进行分类 它提供了98%的准确性 但是我想可视化cnn层的输出,即我的cnn预测它是狗还是猫的特征 是否有任何方式可视化cnn的输出?

1 个答案:

答案 0 :(得分:0)

您可以将模型分为两个模型:

以前的型号:

input = Input(...)

# Your Layers
output = Dense(1)
old_model = Model(inputs=[input], output)

新型号:

input = Input(...)

#Add the first layers and the CNN here
cnn_layer = Conv2D(...)
feature_extraction_model = Model(inputs=[input], outputs=cnn_layer)

input_cnn = Input(...) # The shape of your CNN output

# Add the classification layer here
output = Dense(1)

classifier_model = Model(inputs=[input_cnn], outputs=output)

现在,您将新模型定义为以下组合: feature_extraction_model classifier_model

new_model = Model(inputs=[input], outputs=classifier_model(input_cnn))

# Train the model
new_model.fit(x, y)

现在您可以访问CNNlayer后期培训:

cnn_output = feature_extraction_model.predict(x)