【发布时间】:2020-08-26 21:04:14
【问题描述】:
我有一个由 100,000 行和 12 列组成的数据集,其中每一列代表某个输入,以训练顺序 GRU 模型以仅预测 1 个输出。以下是模型的代码:
model = Sequential()
model.add(GRU(units=70, return_sequences=True, input_shape=(1,12),activity_regularizer=regularizers.l2(0.0001)))
model.add(GRU(units=50, return_sequences=True,dropout=0.1))
model.add(GRU(units=30, dropout=0.1))
model.add(Dense(units=5))
model.add(Dense(units=3))
model.add(Dense(units=1, activation='relu'))
model.compile(loss=['mae'], optimizer=Adam(lr=0.0001),metrics=['mse'])
model.summary()
history=model.fit(X_train, y_train, batch_size=1000,epochs=30,validation_split=0.1, verbose=1)
但是,在此之前,我必须使用 x_train=x.reshape(-1,1,12) 将训练数据集从 2D 转换为 3D,并使用 y_train=y.reshape(-1,1) 将输出从 1D 转换为 2D。那是我真的不明白的部分,为什么不保持原样呢?
【问题讨论】:
标签: python machine-learning deep-learning reshape