Я пытаюсь запустить модель с xtrain=(1221,50,50,1)
во время model.fit
, она показывает эту ошибку
ValueError: Ошибка при проверке ввода: ожидалось, что input_1 имеет 5 измерений, но получен массив с формой (1221, 50, 50, 1)
я использую следующие функции:
model.compile(loss=categorical_crossentropy,optimizer=Adadelta(lr=0.8), metrics=['acc'])
model.fit(x=ZZ, y=yyy, batch_size=128, epochs=1, validation_split=0.2)
, когда я увеличиваю размеры до (1221,50,50,1,1) ) используя expand_dims я получаю эту ошибку:
ValueError: Ошибка при проверке ввода: ожидалось, что input_1 будет иметь форму (16, 50, 50, 1), но получил массив с формой (1221,50, 50, 1, 1)
ИДК, где я ошибаюсь
это моя модель
input_layer = Input((16, 50, 50, 1))
## convolutional layers
conv_layer1 = Conv3D(filters=8, kernel_size=(3, 3, 3), activation='relu')(input_layer)
conv_layer2 = Conv3D(filters=16, kernel_size=(3, 3, 3), activation='relu')(conv_layer1)
## add max pooling to obtain the most imformatic features
pooling_layer1 = MaxPool3D(pool_size=(2, 2, 2))(conv_layer2)
conv_layer3 = Conv3D(filters=32, kernel_size=(3, 3, 3), activation='relu')(pooling_layer1)
conv_layer4 = Conv3D(filters=64, kernel_size=(3, 3, 3), activation='relu')(conv_layer3)
pooling_layer2 = MaxPool3D(pool_size=(2, 2, 2))(conv_layer4)
## perform batch normalization on the convolution outputs before feeding it to MLP architecture
pooling_layer2 = BatchNormalization()(pooling_layer2)
flatten_layer = Flatten()(pooling_layer2)
## create an MLP architecture with dense layers : 4096 -> 512 -> 10
## add dropouts to avoid overfitting / perform regularization
dense_layer1 = Dense(units=2048, activation='relu')(flatten_layer)
dense_layer1 = Dropout(0.4)(dense_layer1)
dense_layer2 = Dense(units=512, activation='relu')(dense_layer1)
dense_layer2 = Dropout(0.4)(dense_layer2)
output_layer = Dense(units=6, activation='softmax')(dense_layer2) #Use 5 instead of 1
## define the model with input layer and output layer
model = Model(inputs=input_layer, outputs=output_layer)```