使用稀疏_分类_交叉熵时如何定义自定义标签值?

thR*_*ity 1 machine-learning keras tensorflow multiclass-classification tf.keras

我的模型是用这段代码编译的

model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['sparse_categorical_accuracy'])
Run Code Online (Sandbox Code Playgroud)

在训练过程中,我遇到了这个错误

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

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

Mat*_*gro 5

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