Я хочу построить беспорядочную матрицу для моей модели CNN, там есть код:
classifier = Sequential()
classifier.add(Conv2D(32, (3, 3), input_shape=(64,64, 3),
activation='relu'))
classifier.add(MaxPooling2D(pool_size=(2, 2)))
classifier.add(Flatten())
classifier.add(Dense(units=1, activation='sigmoid'))
classifier.compile(optimizer='adam', loss='binary_crossentropy', metrics=
['accuracy'])
batch_size = 32
train_datagen = ImageDataGenerator(rescale=1. / 255,
shear_range=0.2,
zoom_range=0.2,
horizontal_flip=True)
test_datagen = ImageDataGenerator(rescale=1. / 255)
training_set = train_datagen.flow_from_directory('x1' ,
target_size=(64,64),
batch_size=64,
class_mode='binary')
test_set = test_datagen.flow_from_directory('x2' ,
target_size=(64,64),
batch_size=64,
class_mode='binary')
ep=50
H=classifier.fit_generator(training_set,
steps_per_epoch=1204/batch_size,
epochs=ep,
validation_data=test_set,
validation_steps=408/batch_size,
)
validation_steps=408
матрица путаницы:
from sklearn.metrics import confusion_matrix
Y_pred = classifier.predict_generator(test_set,validation_steps//batch_size+1)
y_pred = np.argmax(Y_pred, axis=1)
print('Confusion Matrix')
print(confusion_matrix(test_set.classes, y_pred))
Я получил эту ошибку:
ValueError: Найдены входные переменные с непоследовательным количеством выборок:
[408, 792]
Что мне делать?