Форма массива np для удобного ввода - PullRequest
0 голосов
/ 29 мая 2019

У меня есть модель с conv1d в качестве первого слоя. Мои данные - это данные временного ряда, где каждая выборка состоит из 41 временного шага, где каждый временной шаг имеет 4 функции. У меня около 1000 образцов. Я определил входную форму выпуклого слоя (41,4), как и должно быть. Тем не менее, я продолжаю получать следующую ошибку: Вход 0 несовместим со слоем conv1d_48: ожидаемый ndim = 3, найденный ndim = 2.

Я подозреваю, что проблема в том, что форма X (1000,), а форма X [0] - (41,4). Кто-нибудь сталкивался с этой проблемой? Спасибо.

l1=Input(shape=(41,4))
x=Conv1D(64,(4))(l1)
x=GlobalMaxPooling1D()(x)
x=Dense(1)(x)
model=Model(l1,x)
model.compile('rmsprop','binary_crossentropy',metrics=['acc'])
model.fit(X,y,32,10)

1 Ответ

0 голосов
/ 29 мая 2019

Вы определили ожидаемый ввод на вашем Conv1D как 2D -> (41, 4)
Но вы даете ему ввод формы (41,), будьте последовательны в своих определениях!

Если вы укажете input_shape в вашем слое Conv1D, вам не нужно подавать ему слой Input.
Или вы можете изменить форму этого слоя Input, чтобы она была согласованной с этим input_shape.

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