Ошибка при проверке входных данных модели: ожидалось, что conv1d_1_input будет иметь форму (Нет, 441, 216), но получил массив с формой (1, 441, 216) - PullRequest
1 голос
/ 29 марта 2019

Мой ввод - это просто матрица с 441 строкой и 216 столбцами:

216 значений функций

441 процесс

Общая метка класса 6

Я пытаюсь обучить мои данные на модели CNN:

model = Sequential()

model.add(Conv1D(128, 5, input_shape=(441, 216)))
model.add(Activation('relu'))
model.add(Conv1D(128, 5,padding='same'))
model.add(Activation('relu'))
model.add(Dropout(0.1))
model.add(MaxPooling1D(pool_size=(8)))
model.add(Conv1D(128, 5,padding='same',))
model.add(Activation('relu'))
model.add(Conv1D(128, 5,padding='same',))
model.add(Activation('relu'))
model.add(Conv1D(128, 5,padding='same',))
model.add(Activation('relu'))
model.add(Dropout(0.2))
model.add(Conv1D(128, 5,padding='same',))
model.add(Activation('relu'))
model.add(Flatten())
model.add(Dense(10))
model.add(Activation('softmax'))
opt = keras.optimizers.rmsprop(lr=0.00001, decay=1e-6)

model.compile(loss='categorical_crossentropy', 
           optimizer=opt,metrics=['accuracy'])

Это выдает ошибку: ValueError: Ошибка при проверке входных данных модели: ожидалось, что conv1d_1_input будет иметь форму (None, 441, 216), но получил массив с формой (1, 441, 216)

Как я могу внести свой вклад в CNN?

1 Ответ

1 голос
/ 29 марта 2019

Вам необходимо добавить кому в конце первого вызова conv1d: input_shape = (416, 234,) Кстати, использование «выпадений» между слоями conv менее эффективно, чем BatchNormalisation, чтобы избежать переобучения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...