Keras 3D输入到1D输出



我正试图将横截面与时间序列分量相结合,对表格数据进行建模,基本上使用X的最后n个记录来预测单个Y值。

我正在使用tensorflow和keras 的最新版本

def build_model(input_shape):
model = Sequential([
Dense(units = (len(input_variables) * 2) - 1
, activation= activation_func
, input_shape=input_shape
, kernel_initializer = ini_method),      
Dense(1)])
optimizer = Adam(lr)

model.compile(
loss='mse',
optimizer=optimizer,
metrics=['mae', 'mse'])
return model
model = build_model(n,m)
model.fit(X,y)

X是形状(k,n,m(

y为(k,1(

这是我正在使用的模型。我给它的输入形状是(n,m(。然而,当我想要(,1(输出时,我得到了(n,1(的输出。

我错过了什么?

您需要事先或使用Keras压平层来压平(n,m(维度。例如

model = Sequential([
Flatten(),
Dense(units = (len(input_variables) * 2) - 1
, activation= activation_func
, input_shape=input_shape
, kernel_initializer = ini_method),      
Dense(1)])

最新更新