mxnet-ssd icon indicating copy to clipboard operation
mxnet-ssd copied to clipboard

Question about the gt_count in MApMetric

Open BunnyShan opened this issue 7 years ago • 12 comments

@zhreshold I have noticed that the gt_count in MApMetric is calculated by all cids in preds. But what if there are some classes not preded in the class? I have tested it on VOC val set and the gt_count will be less than real ground truth num in labels some time. Is this a problem or I misunderstand this? Thank you!

BunnyShan avatar Jun 28 '17 08:06 BunnyShan

You are correct, fixed now.

zhreshold avatar Jun 28 '17 19:06 zhreshold

@zhreshold Another question: Why SSD's input need to be resized to a predefine shape? SSD is a fcn framework, will no resize operation increases the performance?

BunnyShan avatar Jun 29 '17 06:06 BunnyShan

No-resizing is potentially good for performance, but training is more complicated since you can only do batch-1 training, and there's not a easy solution for mini-batching like fast-rcnn.

zhreshold avatar Jun 29 '17 16:06 zhreshold

I see. In yolo2, it uses the same size in one batch and change another size after a few batches. I will look for some other solutions. Thank you!

BunnyShan avatar Jun 30 '17 05:06 BunnyShan

@zhreshold I got about mAP:65% on voc after update the new code. Is there something wrong?

BunnyShan avatar Jul 03 '17 12:07 BunnyShan

I'm verifying this.

zhreshold avatar Jul 03 '17 17:07 zhreshold

Thanks a lot. Fix gt_count will cause recall decrease. I will test it too.

BunnyShan avatar Jul 04 '17 02:07 BunnyShan

The gt_count fix only cause about 1% mAP drop.

BunnyShan avatar Jul 04 '17 09:07 BunnyShan

@zhreshold Is there any progress?

BunnyShan avatar Jul 05 '17 14:07 BunnyShan

seems like it was related to some parameter change including lr_mult and learning rate. I did modified them for sake of a lot of GPUs, and it turns out to be not as good as the original ones.

zhreshold avatar Jul 05 '17 17:07 zhreshold

@zhreshold why update rescale_grad like this 'rescale_grad': 1.0 / len(ctx) if len(ctx) > 0 else 1.0 ? And previous 'rescale_grad': 1.0 makes my model don't converge.

BunnyShan avatar Jul 11 '17 10:07 BunnyShan

Using multi devices will reduce the effective batch-size, 'valid' normalization in softmaxOutput and makeloss will be affected.

zhreshold avatar Jul 12 '17 00:07 zhreshold