Итак, я строю нейронную сеть, которая будет принимать 2 входа (изображения) и возвращать двоичный вывод (0 или 1).
У меня уже есть метки и входы.
Формы меток и входов следующие:
--------Labels--------
(8281,)
--------Images--------
(8281, 500, 500, 1)
Вот мой код:
input_front_images1 = Input(shape=(500, 500, 1))
input_front_images2 = Input(shape=(500, 500, 1))
x1=Conv2D(32, kernel_size=3,activation='relu')(input_front_images1)
x2=Conv2D(32, kernel_size=3,activation='relu')(input_front_images2)
x = keras.layers.concatenate([x1, x2])
x = Dense(64, activation='relu')(x)
predictions = Dense(1, activation='sigmoid')(x)
model = Model(inputs=[input_front_images1,input_front_images2],
outputs=predictions)
model.compile( optimizer= 'rmsprop' , loss='categorical_crossentropy' ,
metrics=['accuracy'])
model.summary()
model.fit([image_front_pairs1,image_front_pairs2],
[labels_front_pairs],epochs=2,batch_size=64)
Это дает мне эту ошибку:
ValueError: Error when checking target: expected dense_39 to have 4 dimensions, but got array with shape (8281, 1)