прогнозирование временных рядов с использованием многоголового 1dcnn - PullRequest
0 голосов
/ 03 августа 2020
n_timesteps, n_features, n_outputs = x_train.shape[1], x_train.shape[2], y_train.shape[0]
# first input model
visible1 = Input(shape=(n_timesteps,n_features))
cnn1 = Conv1D(filters=64, kernel_size=2, activation='relu')(visible1)
cnn1 = MaxPooling1D(pool_size=2)(cnn1)
cnn1 = Flatten()(cnn1)
# second input model
visible2 =Input(shape=(n_timesteps,n_features))
cnn2 = Conv1D(filters=64, kernel_size=2, activation='relu')(visible2)
cnn2 = MaxPooling1D(pool_size=2)(cnn2)
cnn2 = Flatten()(cnn2)
# third input model
visible3 = Input(shape=(n_timesteps,n_features))
cnn3 = Conv1D(filters=64, kernel_size=2, activation='relu')(visible3)
cnn3 = MaxPooling1D(pool_size=2)(cnn3)
cnn3 = Flatten()(cnn3)
# merge input models
merge = Concatenate()([cnn1, cnn2, cnn3])
dense1 = Dense(100, activation='relu')(merge)
output=Dense(n_outputs, activation='softmax')(dense1)

model = Model(inputs=[visible1, visible2, visible3], outputs=output)
model.compile(optimizer='adam', loss='mse')

Я пытаюсь предсказать количество осадков, используя данные временных рядов с формой x_train.shape и y_train.shape соответственно (49053, 30, 4) (49053,), но у меня eroor ниже

ValueError : Ошибка при проверке цели: ожидалось, что плотный_20 будет иметь форму (49053,), но получен массив с формой (1,) Как это исправить?

...