Я использую LSTM для данных fMRI.Наши входные данные поступают с input_shape (временные шаги, функции) = (495,359320) и меткой данных (495,).У меня проблема с тем, что выводит слой LSTM.
MAX_SLIDER_VALUE=127
EPOCHS=3
BATCH_SIZE=1
LOSS='mean_squared_error'
OPTIMIZER='RMSprop'
model=Sequential()
` model.add(LSTM(units=MAX_SLIDER_VALUE,` activation=keras.layers.LeakyReLU(alpha=.025),dropout=.08,input_shape=(495,359320)))
model.add(Dense(units=MAX_SLIDER_VALUE,activation='softmax'))``
model.compile(loss=LOSS,optimizer=OPTIMIZER, metrics=['acc','mae'])
model.fit(np.array(train_subset_nii),np.array(train_subset_labels),
epochs=EPOCHS,batch_size=BATCH_SIZE)
Проверка выходного слоя модели с использованием отладчика pdb показывает, что выходной уровень 0-го слоя должен быть (127,), но я получаю значение errorError, где оно выводится как (495,).
model.layers[0].input_shape
(None, 495, 359320)
model.layers[0].output_shape
(None, 127)
model.layers[1].input_shape
(None, 127)
model.layers[1].output_shape
(None, 127)
ValueError: Error when checking target: expected dense_5 to have shape (127,) but got array with shape (495,)
Дополнительное примечание:
Код обучается и запускается, если мы изменим вывод, чтобы соответствовать количеству временных шагов
MAX_SLIDER_VALUE=495
Я пытаюсь вычислитьчто вызывает несоответствие между (127,) и (495,).