У меня есть следующая модель, и набор данных содержит 186093 временных рядов, где каждый временной ряд имеет длину 48
Версия Tensorflow 2.x
model = tf.keras.models.Sequential([
tf.keras.layers.Conv1D(30, 4, activation=tf.nn.selu, input_shape=(train_data.shape[1], train_data.shape[0])),
tf.keras.layers.MaxPooling1D(3),
tf.keras.layers.Conv1D(15, 2, padding='same', activation=tf.keras.activations.selu),
tf.keras.layers.MaxPooling1D(3),
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(128, activation=tf.keras.activations.relu),
tf.keras.layers.Dense(1, activation=tf.keras.activations.sigmoid)
])
И Краткое описание модели выглядит следующим образом:
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
conv1d (Conv1D) (None, 45, 30) 22331190
_________________________________________________________________
max_pooling1d (MaxPooling1D) (None, 15, 30) 0
_________________________________________________________________
conv1d_1 (Conv1D) (None, 15, 15) 915
_________________________________________________________________
max_pooling1d_1 (MaxPooling1 (None, 5, 15) 0
_________________________________________________________________
flatten (Flatten) (None, 75) 0
_________________________________________________________________
dense (Dense) (None, 128) 9728
_________________________________________________________________
dense_1 (Dense) (None, 1) 129
=================================================================
Total params: 22,341,962
Trainable params: 22,341,962
Non-trainable params: 0
Однако, когда я пытаюсь обучить модель, как показано ниже
model.fit(train_data, train_result, epochs=2000, validation_split=0.2, verbose=0, callbacks=[early_stop])
Я получаю следующую ошибку
ValueError: Error when checking input: expected conv1d_input to have 3 dimensions, but got array with shape (186093, 48)
Я попытался изменить input_shape
на (Нет, 48), так как у меня 48 функций. Но тогда я даже не могу создать модель, поскольку она выдает ошибку ниже
ValueError: The last dimension of the inputs to `Dense` should be defined. Found `None`.
Может ли кто-нибудь помочь мне выяснить, что я делаю здесь неправильно или отсутствует?