【问题标题】:I'm trying to train the model using keras library but I'm getting value error我正在尝试使用 keras 库训练模型,但出现值错误
【发布时间】:2020-03-26 13:51:01
【问题描述】:
model = tf.keras.Sequential()
model.add(layers.Embedding(input_dim=2954, output_dim=64))
model.add(layers.LSTM(128))
model.add(layers.Dense(10))
model.compile(optimizer='rmsprop', loss='categorical_crossentropy', metrics=['accuracy'])
model.summary()

ValueError: 一个形状为 (1, 2954) 的目标数组被传递用于输出 形状(无,10),同时用作损失分类交叉熵。这 loss 期望目标具有与输出相同的形状。

【问题讨论】:

    标签: python keras neural-network lstm


    【解决方案1】:

    检查您的目标/标签。您的目标应该是 one-hot-encoded,因为您使用 categorical_crossentropy 作为损失函数。该错误抱怨您的目标数组的形状不是(batch_size, 10),而是(1, 2954)

    P.S.你最后的Dense层应该有一个softmax激活函数:

    model.add(layers.Dense(10, activation='softmax'))
    

    【讨论】:

      猜你喜欢
      • 2020-10-02
      • 1970-01-01
      • 2017-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-19
      • 2019-05-19
      • 2022-12-04
      相关资源
      最近更新 更多