Python ValueError:检查目标时出错:预期密集_4具有形状(29),但获得具有形状(1)的数组

Python ValueError:检查目标时出错:预期密集_4具有形状(29),但获得具有形状(1)的数组,python,python-3.x,keras,sequential,tf.keras,Python,Python 3.x,Keras,Sequential,Tf.keras,我正在做一个多类分类问题NUM_Labels(=29)使用手套词嵌入文本数据上的不同目标变量。为此,我构建了下面的简单模型 MAX_SEQUENCE_LENGTH = 12 EMBEDDING_DIM = 100 VALIDATION_SPLIT = 0.2 BATCH_SIZE = 64 EPOCHS = 10 NUM_LABELS = len(set(dataset['Label'])) model = Sequential() model.add(Embedding(num_wor

我正在做一个多类分类问题NUM_Labels(=29)使用手套词嵌入文本数据上的不同目标变量。为此,我构建了下面的简单模型

MAX_SEQUENCE_LENGTH = 12  
EMBEDDING_DIM = 100 
VALIDATION_SPLIT = 0.2
BATCH_SIZE = 64
EPOCHS = 10
NUM_LABELS = len(set(dataset['Label']))

model = Sequential()
model.add(Embedding(num_words, EMBEDDING_DIM, input_length=MAX_SEQUENCE_LENGTH))
model.add(GRU(units=32))
model.add(Dense(NUM_LABELS, activation = 'softmax'))


model.compile(optimizer='adam',
              loss='categorical_crossentropy',
              metrics=['accuracy'])

r = model.fit(x = sentences,
              y=targets,
              batch_size=BATCH_SIZE,
              epochs=EPOCHS,
              validation_split=VALIDATION_SPLIT
        ) 
但是,我仍然得到错误:

ValueError: Error when checking input: expected embedding_5_input to have shape (12,) but got array with shape (1,)
我已经看过了,但是这些仍然没有告诉我我做错了什么。谁能帮我


提前谢谢

你的目标数据怎么样?如果它看起来像
[1,4,0]
,那么首先转换成
一个热门的
keras.utils.to_category(y)
,这确实解决了问题