如何检查训练keras分类器/神经网络的课程?

时间:2018-08-17 06:03:08

标签: python machine-learning neural-network keras

我已经使用keras训练了CNN用于3类图像分类。结果不好,我试图了解分类器学到了什么,没有学到什么。它只给我输出1类。有没有办法检查在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”。我正在考虑仅在最后一层使用sigmoid和softmax。

1 个答案:

答案 0 :(得分:2)

我认为您的网络不够深入。我还建议仅使用relu activation,但最后一层应使用softmax

我不确定“网络暴露给哪些类”是什么意思。它已经暴露给您的训练数据的类别。如果您使用过生成器,则可以使用以下方法从数字中隐藏类名:

label_map = (generator.class_indices)

详细了解此here