PaddleSeg使用quick_start训练自定义数据集,训练是正常,验证时报错
错误如下
2023-07-04 21:57:48 [INFO] [TRAIN] epoch: 50, iter: 100/100, loss: 0.2908, lr: 0.000158, batch_cost: 4.6319, reader_cost: 0.17610, ips: 0.4318 samples/sec | ETA 00:00:00
2023-07-04 21:57:48 [INFO] Start evaluating (total_samples: 2, total_iters: 2)...
Traceback (most recent call last):
File "E:\github\PaddleSeg\tools\train.py", line 195, in
main(args)
File "E:\github\PaddleSeg\tools\train.py", line 170, in main
train(
File "e:\github\paddleseg\paddleseg\core\train.py", line 315, in train
mean_iou, acc, _, _, _ = evaluate(
File "e:\github\paddleseg\paddleseg\core\val.py", line 161, in evaluate
intersect_area, pred_area, label_area = metrics.calculate_area(
File "e:\github\paddleseg\paddleseg\utils\metrics.py", line 57, in calculate_area
pred_area = paddle.concat(pred_area)
File "D:\anaconda3\envs\paddle\lib\site-packages\paddle\tensor\manipulation.py", line 1121, in concat
return _C_ops.concat(input, axis)
ValueError: (InvalidArgument) The axis is expected to be in range of [0, 0), but got 0
[Hint: Expected axis >= -rank && axis < rank == true, but received axis >= -rank && axis < rank:0 != true:1.] (at ..\paddle\phi\infermeta\multiary.cc:961)
已解决:
这个报错是在PaddleSeg==2.8分支上报的错,develop分支我看有一些修改,不知道能不能解决
我修改了paddleseg\utils\metrics.py相关的几个函数的代码,可以跑通了
2023-07-12 18:21:53 [INFO] [EVAL] #Images: 2 mIoU: 0.9719 Acc: 0.9790 Kappa: 0.9790 Dice: 0.9856
2023-07-12 18:21:53 [INFO] [EVAL] Class IoU:
[1. 1. 1. ... 1. 1. 1.]
2023-07-12 18:21:53 [INFO] [EVAL] Class Precision:
[1. 1. 1. ... 1. 1. 1.]
2023-07-12 18:21:53 [INFO] [EVAL] Class Recall:
[1. 1. 1. ... 1. 1. 1.]
请问一下您是怎么解决的
请问一下是哪几个相关的函数的代码