Я пытаюсь предсказать, используя сохраненную модель, но получаю ошибку, которая ожидала, что density_1_input будет иметь 2 измерения, но получил массив с формой (1, 150, 150, 3).
original = load_img(file_url, target_size=(150, 150))
numpy_image = img_to_array(original)
numpy_image = numpy_image/255
model = tf.keras.models.load_model('my_model.h5')
numpy_image = np.expand_dims(numpy_image, axis=0)
#print(numpy_image)
prediction = model.predict(numpy_image)
Вот Архитектура модели CNN
model = Sequential()
model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(IMG_WIDTH, IMG_HEIGHT, 3)))
model.add(BatchNormalization())
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.20))
model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(BatchNormalization())
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.20))
model.add(Conv2D(128, (3, 3), activation='relu'))
model.add(BatchNormalization())
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.20))
model.add(Flatten())
model.add(Dense(1024, activation='relu'))
model.add(BatchNormalization())
model.add(Dropout(0.5))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy',
optimizer='rmsprop',
metrics=['accuracy'])