zylo117 / Yet-Another-EfficientDet-Pytorch

The pytorch re-implement of the official efficientdet with SOTA performance in real time and pretrained weights.
GNU Lesser General Public License v3.0
5.2k stars 1.27k forks source link

AP is very small o(╥﹏╥)o #239

Open FancyFai opened 4 years ago

FancyFai commented 4 years ago

Dear author, I am a graduate student at the university. Thank you very much for the code you provided. But when I tested on my data set, I found the AP was very low, and I don't know why.(I test on you to provide the shape data set very high AP) I have 16000 images of the training data, the six categories,by the way, I found that in the inference result on the val set, each image has more than a dozen boxes, but in fact the ground truth is only one box on each image (actually I am doing the classification task with the object detection). This is the command I used: python train.py -c 2 -p FGQ --batch_size 8 --lr 1e-5 --num_epochs 100\ --load_weights ./efficientdet_weights/efficientdet-d2.pth \ --head_only True below is my test results and the loss of figure, Could you give me some Suggestions?

d2 val: Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.179 Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.320 Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.183 Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = -1.000 Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = -1.000 Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.179 Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.315 Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.342 Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.342 Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = -1.000 Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = -1.000 Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.342 d2 test: Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.184 Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.322 Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.199 Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = -1.000 Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = -1.000 Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.184 Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.324 Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.348 Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.348 Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = -1.000 Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = -1.000 Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.348

Step: 7999. Epoch: 6/200. Iteration: 296/1284. Cls loss: 17.16794. Reg loss: 0.02158. Total loss: 17.18952:
Step: 8499. Epoch: 6/200. Iteration: 796/1284. Cls loss: 12.77137. Reg loss: 0.03184. Total loss: 12.80321: Step: 8987. Epoch: 6/200. Iteration: 1284/1284. Cls loss: 11.20575. Reg loss: 0.02428. Total loss: 11.23003: Val. Epoch: 6/200. Classification loss: 11.59727. Regression loss: 0.02693. Total loss: 11.62420 Step: 8999. Epoch: 7/200. Iteration: 12/1284. Cls loss: 8.72561. Reg loss: 0.01823. Total loss: 8.74384:
Step: 9499. Epoch: 7/200. Iteration: 512/1284. Cls loss: 8.85007. Reg loss: 0.03407. Total loss: 8.88414:
Step: 9999. Epoch: 7/200. Iteration: 1012/1284. Cls loss: 7.09512. Reg loss: 0.02627. Total loss: 7.12139:
Step: 10271. Epoch: 7/200. Iteration: 1284/1284. Cls loss: 5.08470. Reg loss: 0.03000. Total loss: 5.11470: Val. Epoch: 7/200. Classification loss: 5.88222. Regression loss: 0.02624. Total loss: 5.90846 Step: 10499. Epoch: 8/200. Iteration: 228/1284. Cls loss: 4.63531. Reg loss: 0.02910. Total loss: 4.66440:
Step: 10999. Epoch: 8/200. Iteration: 728/1284. Cls loss: 4.35700. Reg loss: 0.02162. Total loss: 4.37863:
Step: 11499. Epoch: 8/200. Iteration: 1228/1284. Cls loss: 2.50682. Reg loss: 0.03968. Total loss: 2.54650: Step: 11555. Epoch: 8/200. Iteration: 1284/1284. Cls loss: 2.68433. Reg loss: 0.04062. Total loss: 2.72495: Val. Epoch: 8/200. Classification loss: 3.16942. Regression loss: 0.02558. Total loss: 3.19500 Step: 11999. Epoch: 9/200. Iteration: 444/1284. Cls loss: 2.00387. Reg loss: 0.01980. Total loss: 2.02367:
Step: 12499. Epoch: 9/200. Iteration: 944/1284. Cls loss: 1.81111. Reg loss: 0.03982. Total loss: 1.85093:
Step: 12839. Epoch: 9/200. Iteration: 1284/1284. Cls loss: 1.56352. Reg loss: 0.02795. Total loss: 1.59147: Val. Epoch: 9/200. Classification loss: 1.90963. Regression loss: 0.02499. Total loss: 1.93462 Step: 12999. Epoch: 10/200. Iteration: 160/1284. Cls loss: 1.96906. Reg loss: 0.03766. Total loss: 2.00672:
Step: 13499. Epoch: 10/200. Iteration: 660/1284. Cls loss: 1.37390. Reg loss: 0.03180. Total loss: 1.40570:
Step: 13999. Epoch: 10/200. Iteration: 1160/1284. Cls loss: 0.98156. Reg loss: 0.01961. Total loss: 1.00117:
Step: 14123. Epoch: 10/200. Iteration: 1284/1284. Cls loss: 1.13591. Reg loss: 0.02169. Total loss: 1.15760: Val. Epoch: 10/200. Classification loss: 1.14839. Regression loss: 0.02449. Total loss: 1.17288 Step: 14499. Epoch: 11/200. Iteration: 376/1284. Cls loss: 0.86892. Reg loss: 0.01978. Total loss: 0.88871: Step: 14999. Epoch: 11/200. Iteration: 876/1284. Cls loss: 0.93119. Reg loss: 0.02891. Total loss: 0.96010: Step: 15407. Epoch: 11/200. Iteration: 1284/1284. Cls loss: 0.69381. Reg loss: 0.02021. Total loss: 0.71402: Val. Epoch: 11/200. Classification loss: 0.78674. Regression loss: 0.02424. Total loss: 0.81098 Step: 15499. Epoch: 12/200. Iteration: 92/1284. Cls loss: 0.69455. Reg loss: 0.01630. Total loss: 0.71085:
Step: 15999. Epoch: 12/200. Iteration: 592/1284. Cls loss: 0.55412. Reg loss: 0.01739. Total loss: 0.57151:
Step: 16499. Epoch: 12/200. Iteration: 1092/1284. Cls loss: 0.65684. Reg loss: 0.02700. Total loss: 0.68385:
Step: 16691. Epoch: 12/200. Iteration: 1284/1284. Cls loss: 0.47352. Reg loss: 0.01901. Total loss: 0.49253: Val. Epoch: 12/200. Classification loss: 0.57949. Regression loss: 0.02384. Total loss: 0.60333 Step: 16999. Epoch: 13/200. Iteration: 308/1284. Cls loss: 0.50693. Reg loss: 0.01965. Total loss: 0.52658:
Step: 17499. Epoch: 13/200. Iteration: 808/1284. Cls loss: 0.51271. Reg loss: 0.02318. Total loss: 0.53589:
Step: 17975. Epoch: 13/200. Iteration: 1284/1284. Cls loss: 0.40183. Reg loss: 0.03080. Total loss: 0.43263: Val. Epoch: 13/200. Classification loss: 0.46974. Regression loss: 0.02355. Total loss: 0.49329 Step: 17999. Epoch: 14/200. Iteration: 24/1284. Cls loss: 0.44718. Reg loss: 0.01638. Total loss: 0.46356:
Step: 18499. Epoch: 14/200. Iteration: 524/1284. Cls loss: 0.51523. Reg loss: 0.03187. Total loss: 0.54709: Step: 18999. Epoch: 14/200. Iteration: 1024/1284. Cls loss: 0.39134. Reg loss: 0.02495. Total loss: 0.41629:
Step: 19259. Epoch: 14/200. Iteration: 1284/1284. Cls loss: 0.41827. Reg loss: 0.02235. Total loss: 0.44062: Val. Epoch: 14/200. Classification loss: 0.40034. Regression loss: 0.02307. Total loss: 0.42341 Step: 19499. Epoch: 15/200. Iteration: 240/1284. Cls loss: 0.30712. Reg loss: 0.01788. Total loss: 0.32500:
Step: 19999. Epoch: 15/200. Iteration: 740/1284. Cls loss: 0.32751. Reg loss: 0.02080. Total loss: 0.34831:
Step: 20499. Epoch: 15/200. Iteration: 1240/1284. Cls loss: 0.59704. Reg loss: 0.02263. Total loss: 0.61967:

I am looking forward to your reply.

zylo117 commented 4 years ago

It is training well, sit back and relax

FancyFai commented 4 years ago

It is training well, sit back and relax

but but the AP is very small( ✘_✘ )↯,I wonder if there is something wrong. my classmate used centernet to achieve
AP of0.92

zylo117 commented 4 years ago

it is not converged, keep on

FancyFai commented 4 years ago

it is not converged, keep on

Oh, sorry, I only put the first15 epochs in here. When I trained more than 30 epochs, loss had been reduced to0.3. After I reduced the learning rate and trained80 epochs, it was still0.2 and AP was still small.below is loss: ![Uploading 1588348195610..jpg…]()

By the way, my regression loss has reduced very little. Ididn't modify the anchor scale and anchor ratio, because Idon't know how to modify them to adapt to my own data set. Could you please give me some Suggestions.Thank you for your time

zylo117 commented 4 years ago

can't see the image. you should visualize the loss graph to determine the training status using tensorboard

FancyFai commented 4 years ago

can't see the image. you should visualize the loss graph to determine the training status using tensorboard

Oh, sorry that the picture was not uploaded successfully yesterday cls loss cls loss2

loss loss2

zylo117 commented 4 years ago

it's doing fine, keep training

kuangsangudu commented 4 years ago

Your graphs looks normal, can you tell me how you changed the model?

FancyFai commented 4 years ago

Your graphs looks normal, can you tell me how you changed the model?

hello,I haven't made any changes to the model. Although the training diagram looks normal, the AP was very low in the test. o(╥﹏╥)o I don't know how to solve this problem

qubapikaqi commented 3 years ago

I have the same question! my data is voc but mAP still low, about 0.36. I don't know how to fix it , my batch_size is 96, the lr is 1e-2 because overfitting when lr is 1e-4.

ShinecolnBloom commented 3 years ago

I have the same question! my data is voc but mAP still low, about 0.36. I don't know how to fix it , my batch_size is 96, the lr is 1e-2 because overfitting when lr is 1e-4.

Hello, has the problem been solved? I have the same problem

qubapikaqi commented 3 years ago

yes, batch_size 32 is ok

------------------ 原始邮件 ------------------ 发件人: "Shinecoln @.>; 发送时间: 2021年8月15日(星期天) 中午11:10 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [zylo117/Yet-Another-EfficientDet-Pytorch] AP is very small o(╥﹏╥)o (#239)

I have the same question! my data is voc but mAP still low, about 0.36. I don't know how to fix it , my batch_size is 96, the lr is 1e-2 because overfitting when lr is 1e-4.

Hello, has the problem been solved? I have the same problem

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.

ShinecolnBloom commented 3 years ago

thanks