Мои вопросы довольно просты, но кажутся нерешенными.
Input : (bs, timesteps, input_dim) -> Tensor ("stack: 0", shape = (?, 4 , 400), dtype =float32)
Слой : выход = LSTM (100, input_shape = (временные шаги, input_feature), return_sequence = True) (вход)
Ожидается : (bs, timesteps, output_dim) -> Тензор ("gru_20 / transpose_1: 0", shape = (?, 4 , 100), dtype = float32)
Выходные данные : Тензор ("gru_20 / transpose_1: 0", shape = (?, ? , 100), dtype = float32)
Почему Keras не определяет количество временных шагов, даже он получает input_shape?Когда я использую сводку модели, результат, который она показывает, имеет правильную форму вывода:
lstm_2 (LSTM) (None, 4, 100) 3232
Но не во время построения.Поэтому, когда я хочу развернуть Тензор в список Тензорных для каждого временного шага * (bs, 10), используя unstack (output, axis = 1)], я получаю ofc эту ошибку: ValueError: Невозможно вывести num из формы (?,?, 100)
Где моя ошибка?
Кстати.Добавление TimeDistributed (Dense (100)) (вопросов) приводит к правильному выводу dim: Tensor ("time_distributed_17 / Reshape_1: 0", shape = (?, 4 , 100), dtype = float32), но невариант из-за общих весов.Если нет, какой обходной путь?