我正在按照此处的指南在 Keras 中实现图像分割。
我感到困惑的一件事是这些行:
# Ground truth labels are 1, 2, 3. Subtract one to make them 0, 1, 2:
y[j] -= 1
地面实况目标是.png在特定像素位置具有 1,2 或 3 的文件,以指示以下内容:
Pixel Annotations: 1: Foreground 2:Background 3: Not classified
当我删除它-1时,我的sparse_categorical_crossentropy价值观就像nan在训练期间一样出来。
Epoch 1/15
25/196 [==>...........................] - ETA: 27s - loss: nan - accuracy: 0.0348 - sparse_categorical_crossentropy: nan
为什么会这样?如果可能的整数值为 1、2、3,为什么我需要将它们更改为从 0 开始才能正确使用?
如果我包括-1,培训看起来是正确的:
Epoch 1/15
196/196 [==============================] - 331s 2s/step - loss: 2.0959 - accuracy: 0.6280 - sparse_categorical_crossentropy: 2.0959 - val_loss: 1.9682 - val_accuracy: 0.5749 - val_sparse_categorical_crossentropy: 1.9682