我有一组数据,并试图用Keras模型进行拟合,我的训练数据形状为(161,25)
model=keras.Sequential([keras.layers.Dense(64,activation=tf.nn.relu,input_shape=(train_data.shape)),keras.layers.Dense(64,activation=tf.nn.relu),keras.layers.Dense(1)])
现在我想按如下方式拟合训练数据
model.fit(train_data,train_labels,epochs=500,validation_split=0.02,verbose=0)
它显示错误信息如下
Error when checking input: expected dense_input to have 3 dimensions, but got array with shape (161, 25)
有什么建议吗?
回答:
我找到了我的问题,并在这里回答,以防其他人也遇到同样的问题:我的输入形状是(161,25),这意味着我们有161个数据,每个数据有25个特征,我们希望将每个数据的25个特征输入到网络中,因此我们将第一层从:
keras.layers.Dense(64,activation=tf.nn.relu,input_shape=(train_data.shape)),
改为:
keras.layers.Dense(64,activation=tf.nn.relu,input_shape=(train_data.shape[1],)),