我已经训练了一个CNN使用keras进行图像分类的3个班。结果很糟糕,我试图理解分类器学到了什么,没有学到什么。它只给了我一个类的输出。有没有办法检查分类器/神经网络在Keras中使用了哪些类?
例如,分类器的一个方法或一个属性,它可以告诉我网络已经暴露在哪个类中。有可能吗?
这是我的网络

classifier = Sequential()
classifier.add(Conv2D(64, (5, 5), input_shape  = (256, 256, 3), activation='relu'))
classifier.add(Conv2D(64, (5, 5), activation = 'sigmoid'))
classifier.add(MaxPooling2D(pool_size = (3,3)))
classifier.add(Dense(units = 128, activation = 'relu'))
classifier.add(Dense(units = 3, activation = 'softmax'))
classifier.compile(optimizer = 'adam', loss = 'categorical_crossentropy', metrics = ['accuracy'])

我用了两个激活“relu”和“sigmoid”来做实验。我只想在最后一层使用乙状结肠和软组织。

最佳答案

我认为你的人脉不够深。我也建议只使用relu activation除了最后一层应该使用softmax之外。
我不知道你所说的“网络暴露在哪个类中”是什么意思。它已经暴露在你的训练数据中。如果您使用过生成器,则可以从具有以下内容的数字中获取类名:

label_map = (generator.class_indices)

有关此here

08-20 02:18