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