我有一个CSV文件,其中包含5个特征样本的200000行(200个步骤,每1000个点)。对于回归预测,我试图设计一个LSTM(keras.Sequential()),因为它是一个时间序列问题。当我想使用"tf.keras.Sequential()"
在Keras中设计模型时,在第一层中,我遇到了定义input_shape的问题。我使用了input_shape=(train_dataset.shape[0],1,train_dataset.shape[1])
,但出现错误。设计的模型如下:
def build_model():
model = tf.keras.Sequential([
layers.Dense(128,activation=tf.nn.relu,input_shape=(train_dataset.shape[0],1,train_dataset.shape[1])),
layers.Dense(128,activation=tf.nn.relu),
layers.Dense(1)
])
opt = tf.keras.optimizers.Adam(learning_rate=0.001)
model.compile(loss='mean_squared_error', optimizer=opt, metrics= ['mean_squared_error'])
return model
任何建议将不胜感激
答案 0 :(得分:0)
input_shape
不应包含批次尺寸。使用input_shape=train_dataset.shape[1:]
def build_model():
model = tf.keras.Sequential([
layers.Dense(128,activation=tf.nn.relu,input_shape=train_dataset.shape[1:]),
layers.Dense(128,activation=tf.nn.relu),
layers.Dense(1)
])
opt = tf.keras.optimizers.Adam(learning_rate=0.001)
model.compile(loss='mean_squared_error', optimizer=opt, metrics= ['mean_squared_error'])
return model