最近我创建了基本的CNN猫狗分类模型(非常基本)。如何使用keras可视化这些层的输出?我用Tensorflow后端来处理keras。
最佳答案
您可以定义一个模型,该模型接受要查看的每个层的输出并进行预测:
假设您有完整的模型:
cnnModel = #a model you have defined with layers
假设您想要索引1、5和8的层的输出。
使用这些层的输出从这个模型创建一个新模型。
from keras.models import Model
desiredLayers = [1,5,8]
desiredOutputs = [cnnModel.layers[i].output for i in desiredLayers]
#alternatively, you can use cnnModel.get_layer('layername').output for that
newModel = Model(cnnModel.inputs, desiredOutputs)
使用此模型进行预测:
print(newModel.predict(inputData))
现在,“可视化”这些结果可能很棘手,因为它们可能有比普通图像更多的通道。