使用 sparse_categorical_crossentropy 时如何定义自定义标签值?
How can I define custom labels value when using sparse_categorical_crossentropy?
我的模型是用这段代码编译的
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['sparse_categorical_accuracy'])
在训练过程中,我遇到了这个错误
tensorflow.python.framework.errors_impl.InvalidArgumentError: Received a label value of 5 which is outside the valid range of [0, 5).
我的标签是 1,2,3,4,5
,这是 [1,5]
而不是 [0, 5)
。
如何为该模型设置标签?
您需要将标签编码为 [0, 4]
,即 zero-based,而不是 one-based。这是因为恢复class个索引,使用了argmax
函数,返回最大值对应的数组索引,即zero-based.
我的模型是用这段代码编译的
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['sparse_categorical_accuracy'])
在训练过程中,我遇到了这个错误
tensorflow.python.framework.errors_impl.InvalidArgumentError: Received a label value of 5 which is outside the valid range of [0, 5).
我的标签是 1,2,3,4,5
,这是 [1,5]
而不是 [0, 5)
。
如何为该模型设置标签?
您需要将标签编码为 [0, 4]
,即 zero-based,而不是 one-based。这是因为恢复class个索引,使用了argmax
函数,返回最大值对应的数组索引,即zero-based.