使用sparse_categorical_crossentropy时如何定义自定义标签值?

时间:2019-07-09 08:16:16

标签: tensorflow machine-learning keras multiclass-classification tf.keras

我的模型是使用此代码编译的

model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['sparse_categorical_accuracy'])

在培训期间,我遇到了这个错误

  

tensorflow.python.framework.errors_impl.InvalidArgumentError:接收到的标签值5超出有效范围[0,5)。

我的标签是1,2,3,4,5,不是[1,5],是[0, 5)。 如何为此模型设置标签?

1 个答案:

答案 0 :(得分:2)

您需要将标签编码为[0, 4],它是从零开始而不是从一开始的。这是因为要恢复类索引,使用了argmax函数,为此函数返回了与最大值相对应的数组索引,该索引将从零开始。