RNN和单词分类的尺寸错误

时间:2020-07-22 13:55:39

标签: python keras nlp dimension

我对NLP很陌生,我想根据它们的语言对不同的单词进行分类(基本上,我的模型应该告诉我一个单词是法语,英语还是西班牙语等等)。

当我拟合以下模型时,出现尺寸错误。 “数据集”包含单词,它是填充的张量(1550,19),“ y”包含不同的语言,它也是填充的张量(1550,10)。

np.random.seed(42)
tf.random.set_seed(42)

from tensorflow.keras.layers import LSTM, GRU, Input, Embedding, Dense

input = Input(shape=[None])
z = Embedding(max_id + 1, 128, input_shape=[None], mask_zero=True)(input)
z = GRU(128)(z)
output = Dense(18, activation='softmax')(z)

model = keras.models.Model(input, output)
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])

h = model.fit(dataset, y, epochs=5)

ValueError:形状(无,10)和(无,18)不兼容

您看到问题出在哪里吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

该消息告诉您形状不兼容,需要匹配。我本来可以将此作为评论,但是由于我的声誉我不能这样做,所以这就是我直接回答的原因,但是我不确定它是否可行,您是否尝试过:

    2009  2008  2007
A   2.0  10.0   NaN
B   3.0  15.0  14.0
C   1.0   5.0  15.0
D   NaN   5.0   7.0