Keras 不兼容的形状 NN

Keras incompatible shapes NN

所以我有这个神经网络,我正在提供形状为:

的示例“X”和标签“Y”
X.shape = (10,10,2)
Y.shape = (10,10,2)

模型代码如下:

import tensorflow as tf 
from convert import process
import numpy as np

X, Y, rate = process('songs/song1.wav')

X = np.array(X[:10])
Y = np.array(Y[:10])

model = tf.keras.models.Sequential()
model.add(tf.keras.layers.Flatten())
model.add(tf.keras.layers.Dense(128))
model.add(tf.keras.layers.Dense(128))
model.add(tf.keras.layers.Dense(20))

model.compile(optimizer='adam', loss='categorical_crossentropy')
model.fit(X, Y, epochs=2)

现在由于某种原因,一旦我 运行 我收到错误:

ValueError: Shapes (None, 10, 2) and (None, 20) are incompatible

我很困惑,因为我给它输入了数据,其中“X”和“Y”的每个示例都具有形状 (10, 2)。那为什么说我通过了 (None, 10, 2) and (None, 20)

你的最后一层使用 linear 激活,而你选择 categorical_crossentropy 损失。设置

model.add(tf.keras.layers.Dense(20, activations='softmax'))
....loss='categorical_crossentropy')

或者,

model.add(tf.keras.layers.Dense(20))
....loss='mse')

还要检查您的数据形状,尤其是标签 (y)。