最近我创建了基本的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))

现在,“可视化”这些结果可能很棘手,因为它们可能有比普通图像更多的通道。

10-01 09:43