mangye16 / ReID-Survey

Deep Learning for Person Re-identification: A Survey and Outlook
MIT License
626 stars 88 forks source link

Nonconvergence caused by Generalized-mean (GeM) Pooling? #3

Closed Margrate closed 4 years ago

Hellomodo commented 4 years ago

Here are some tips for debugging the nonconvergence problem:

  1. Replace the self.p in GeneralizedMeanPooling as a constant 3. Train the model again, and see if the nonconvergence happens?
  2. Replace the self.p in GeneralizedMeanPooling as a constant 1. Train the model again, and see if the nonconvergence happens? In this way, the GeneralizedMeanPooling degrades to a normal global average pooling operation.
Margrate commented 4 years ago

Thank you for your reply. When I use normal global average pooling, it can converge normally. Did you compare the effects of Weighted Regularization Triplet (WRT) loss and Batch Hard triplet loss?

Hellomodo commented 4 years ago

If it can converge normally when you use normal global average pooling, then it should also converge normally when you replace the self.p in GeneralizedMeanPooling as a constant 3. Because in this way, the GeneralizedMeanPooling is just a tradeoff between global average pooling and global max pooling. Or you can try whether your model can converge normally with global max pooling?

Weighted Regularization Triplet (WRT) performs a little better than Batch Hard triplet loss in our experiments.

Margrate commented 4 years ago

In my experiments, softmax loss + center loss + Batch Hard triplet loss is better than softmax loss+ center loss + Weighted Regularization Triplet (WRT) loss. Maybe my backbone is different from you.

tomFoxxxx commented 3 years ago

In my experiments, softmax loss + center loss + Batch Hard triplet loss is better than softmax loss+ center loss + Weighted Regularization Triplet (WRT) loss. Maybe my backbone is different from you.

That's normal.