у меня около 8к + картинок.После предварительной обработки у меня есть множество массивов изображений размером 224 * 224 * 3, и я использую inception_V3 в качестве базовой модели.У меня есть метка (y) двоичной классификации.
Вот несколько быстрых выводов:
X_train.shape = (5058, 224, 224, 3, 1) #after reshaping
Conv_3d input_shape = (5058,224,224, 3)
Теперь, когда я пытаюсь соответствовать своей модели, я получаю эту ошибку:
ValueError: Ошибка при проверке ввода: ожидалось, что conv3d_42_input будет иметь форму (5058, 224, 224, 3), но получит массив с формой (224, 224, 3, 1)
base_model = InceptionV3(weights='imagenet', include_top=False, input_shape=(224, 224, 3))
def conv_3d():
model = Sequential()
model.add(Conv3D(32, (3, 3, 3), activation='relu',input_shape= (5058,224,224, 3) ,padding='same')) #(time_sequence, width, height, channels)
model.add(MaxPooling3D(pool_size=(1, 2, 2), strides=(1, 2, 2)))
model.add(Conv3D(64, (3, 3, 3), activation='relu'))
model.add(MaxPooling3D(pool_size=(1, 2, 2), strides=(1, 2, 2)))
model.add(Conv3D(128, (3, 3, 3), activation='relu'))
model.add(Conv3D(128, (3, 3, 3), activation='relu'))
model.add(MaxPooling3D(pool_size=(1, 2, 2), strides=(1, 2, 2)))
model.add(Conv3D(256, (2, 2, 2), activation='relu'))
model.add(Conv3D(256, (2, 2, 2), activation='relu'))
model.add(MaxPooling3D(pool_size=(1, 2, 2), strides=(1, 2, 2)))
model.add(Flatten())
model.add(Dense(1024))
model.add(Dropout(0.5))
model.add(Dense(1024))
model.add(Dropout(0.5))
model.add(Dense(2, activation='softmax'))
return model
X_train_temp = X_train.reshape(X_train.shape[0], 224, 224, 3, 1)
X_valid_temp = X_valid.reshape(X_valid.shape[0], 224, 224, 3, 1)
model.fit(X_train_temp, y_train, epochs=50, validation_data=(X_valid_temp, y_valid))
Буквально я облажался с вышеуказанной ошибкой.Я также видел некоторые похожие ответы, но не могу найти решение