UNET 训练:精度从 0.99 开始
UNET training: accuracy starts over 0.99
我正在尝试使用 UNET 进行一些图像分割(类似于 this 但 2D)。然而,即使在 epoch 1 开始时,准确率也非常高。
32/3616 [..............................] - ETA: 4:59:02 - loss: 0.6761 - accuracy: 0.9964
64/3616 [..............................] - ETA: 5:02:32 - loss: 0.4355 - accuracy: 0.9966
这正常吗?对我来说,感觉就是学不会!
哪一个是学习的标志;损失、准确性或两者兼而有之?
p.s.: 我正在使用 CPU,我会尝试使用 GPU 训练来加速。
您可能正在处理不平衡的数据集。当您尝试分割的结构很小(例如,取图像的 1%)时,您的网络可以具有 99% 的准确度。然后,如果您的网络仅预测 0,您将获得 99% 的准确度(因为预测 99% 的 "empty" 像素是正确的)。
您应该使用更多信息指标来跟踪您的网络性能,包括 Dice 分数。
损失在这里是更好的学习指标。
此外,用 CPU 为现实生活中的任务训练 U-Net 几乎是不可能的(需要数周或数月)。您应该使用 GPU 以获得良好的性能。
我正在尝试使用 UNET 进行一些图像分割(类似于 this 但 2D)。然而,即使在 epoch 1 开始时,准确率也非常高。
32/3616 [..............................] - ETA: 4:59:02 - loss: 0.6761 - accuracy: 0.9964
64/3616 [..............................] - ETA: 5:02:32 - loss: 0.4355 - accuracy: 0.9966
这正常吗?对我来说,感觉就是学不会!
哪一个是学习的标志;损失、准确性或两者兼而有之?
p.s.: 我正在使用 CPU,我会尝试使用 GPU 训练来加速。
您可能正在处理不平衡的数据集。当您尝试分割的结构很小(例如,取图像的 1%)时,您的网络可以具有 99% 的准确度。然后,如果您的网络仅预测 0,您将获得 99% 的准确度(因为预测 99% 的 "empty" 像素是正确的)。
您应该使用更多信息指标来跟踪您的网络性能,包括 Dice 分数。
损失在这里是更好的学习指标。
此外,用 CPU 为现实生活中的任务训练 U-Net 几乎是不可能的(需要数周或数月)。您应该使用 GPU 以获得良好的性能。