Closed shuisuhi closed 2 months ago
你有修改任何超参吗?包括数据集训练集的划分,图像输入大小,batch size, 总epoch,训练集的length等。在Vaihingen数据集上,一个epoch是10000,实际上等于约10次遍历所有数据集,你这里训练500epoch是没有必要的。但是这也不是导致两类为0的原因。在这个数据集上,clutte为0是很正常的,它只有不到1%的占比,但是car这一类是很容易学习的。
我也想不到具体原因,你可以尝试下Potsdam数据集,看会不会出现同样的问题。
另外,你也可以用其他的模型,如UNetformer试一试,看会不会出现这种问题,先排查一下是模型,还是数据集的问题。
Confusion matrix : [[4429488 178646 114062 82169 0 0] [ 203925 5162679 38376 17967 0 0] [ 204720 109938 2045237 542815 0 0] [ 46320 16627 216056 4113757 0 0] [ 142957 4857 10 853 0 0] [ 5315 0 810 91 0 0]] 17677675 pixels processed Total accuracy : 89.10 roads: 0.9220 buildings: 0.9520 low veg.: 0.7046 trees: 0.9365 cars: 0.0000 clutter: 0.0000
F1Score : roads: 0.9006 buildings: 0.9477 low veg.: 0.7693 trees: 0.8991 cars: 0.0000 clutter: 0.0000 mean F1Score: 0.7033
Kappa: 0.8524 [0.81912241 0.90051727 0.62506785 0.81676371 0. 0. ] mean MIoU: 0.6323
Current accuracy: 89.10199446476983, Best accuracy: 90.0 acc_best: 90.0 Total Time Cost: 105901.19548797607 在训练500epoch后仍然有两类结果为0