Первый слой моей сети - это Conv1D следующим образом:
Conv1D(128, 9, activation='relu', input_shape=(100, 28))
Мои входные данные состоят из элементов с входной формой (100, 28). т.е. мой набор данных состоит из n из этих элементов, каждый с меткой. Метки представляют собой одноразовые массивы длиной 15.
. Вывод .element_spec в моем наборе данных дает:
(TensorSpec(shape=(100, 28), dtype=tf.float32, name=None),
TensorSpec(shape=(15,), dtype=tf.int32, name=None))
Это выглядит согласованно, но при запуске .fit () на модели это даетошибка:
Error when checking input: expected conv1d_18_input to have 3 dimensions, but got array with shape (100, 28)
Что я здесь не так делаю? Кстати, это TensorFlow 2.0.
Редактировать: Если я перейду через tf-код, кажется, что он ожидает (None, 100, 28), но это кажется мне неправильным. Каждый элемент, представленный на слое (100, 28). «Нет», безусловно, просто означает, что оно вызывается много раз. Кроме того, вы не можете указать (None, 100, 28) как input_shape для слоя, или он жалуется, что ему нужны только два измерения, а не три!
Большое спасибо,
Джулиан