Python 如何修复Keras展平层的错误?

Python 如何修复Keras展平层的错误?,python,tensorflow,machine-learning,keras,neural-network,Python,Tensorflow,Machine Learning,Keras,Neural Network,这是我的密码 model = keras.Sequential([ keras.layers.Flatten(input_shape=(1,11)), keras.layers.Dense(4, activation='relu'), keras.layers.Dense(10, activation='softmax') ] ) 我的数据是1000行11列(模型的11个输入)。所以为了使NN的输入层变平,我使用了展平。这给了我一个错误: WARNIN

这是我的密码

model = keras.Sequential([
    keras.layers.Flatten(input_shape=(1,11)),    
    keras.layers.Dense(4, activation='relu'),   
    keras.layers.Dense(10, activation='softmax')  
]
)
我的数据是1000行11列(模型的11个输入)。所以为了使NN的输入层变平,我使用了展平。这给了我一个错误:

WARNING:tensorflow:Model was constructed with shape (None, 1, 11) for input KerasTensor(type_spec=TensorSpec(shape=(None, 1, 11), dtype=tf.float32, name='flatten_1_input'), name='flatten_1_input', description="created by layer 'flatten_1_input'"), but it was called on an input with incompatible shape (None, 11).

看起来您的输入形状已经是
(num\u inputs,11)
,所以您不需要展平它。取出
展平层应该可以解决这个问题。

看起来您的输入形状已经是
(num\u inputs,11)
,所以您不需要展平它。去掉
展平
层应该可以解决这个问题。

要解决这个问题,需要更多的代码(特别是输入部分)。此外,这看起来像是一个维度作为错误点,因此打印输入的形状以确保它是您认为的形状。使用
Keras.layers.input()
而不是
Keras.layers.Flatten()
。我尝试了Keras.layers.input(input\u shape=(1,11)),但它给了我一个错误!要解决这个问题,需要更多的代码(尤其是输入部分)。此外,这看起来像是一个维度作为错误点,因此打印输入的形状以确保它是您认为的形状。使用
Keras.layers.input()
而不是
Keras.layers.Flatten()
。我尝试了Keras.layers.input(input\u shape=(1,11)),但它给了我一个错误!这很有道理,谢谢!如果我取出该行,这会移除NN的输入层吗?或者我该如何用一行替换这一行来定义我的输入层?我很久没有使用keras了,但是如果我没记错的话,你必须将
input\u shape=(11)
添加到新的第一层(
keras.layers.Dense(4,activation='relu',input\u shape=(11))
)哦,看来我错了,您必须将第一层更改为
keras.layers.Dense(4,activation='relu',input_dim=11)
,运行时不会出错,谢谢!如果这解决了您的问题,请随意将其标记为正确。很高兴我能帮忙!这很有道理,谢谢!如果我取出该行,这会移除NN的输入层吗?或者我该如何用一行替换这一行来定义我的输入层?我很久没有使用keras了,但是如果我没记错的话,你必须将
input\u shape=(11)
添加到新的第一层(
keras.layers.Dense(4,activation='relu',input\u shape=(11))
)哦,看来我错了,您必须将第一层更改为
keras.layers.Dense(4,activation='relu',input_dim=11)
,运行时不会出错,谢谢!如果这解决了您的问题,请随意将其标记为正确。很高兴我能帮忙!