3DCrowdNet_RELEASE
3DCrowdNet_RELEASE copied to clipboard
Question about reproducing Table 8
Hi,
Thank you for your fantastic work!
However, I tried to reproduce table8. using the command python train.py --amp --continue --gpu 0 --cfg ../assets/yaml/3dpw.yml
and got the result below:
* train for 10 epoch
MPJPE from mesh: 93.76 mm
PA MPJPE from mesh: 56.54 mm
MPVPE from mesh: 110.48 mm
* train for 5 epoch
MPJPE from mesh: 85.21 mm
PA MPJPE from mesh: 52.53 mm
MPVPE from mesh: 101.27 mm
* train for 4 epoch
MPJPE from mesh: 85.65 mm
PA MPJPE from mesh: 51.91 mm
MPVPE from mesh: 101.10 mm
* train for 2 epoch
MPJPE from mesh: 84.16 mm
PA MPJPE from mesh: 52.13 mm
MPVPE from mesh: 99.90 mm
* train for 1 epoch
MPJPE from mesh: 83.17 mm
PA MPJPE from mesh: 52.34 mm
MPVPE from mesh: 99.32 mm
* train for 0 epoch(pretrained)
MPJPE from mesh: 712.35 mm
PA MPJPE from mesh: 98.89 mm
MPVPE from mesh: 734.46 mm
Is it normal to get to the best point only after 1 epoch? (BTW, I used the pre-trained ResNet-50 weights of xiao2018simple) Also is it normal for the results to be worse as the epoch increasing?
Thank you!
Hi, the result can vary depending on the mini batch size. You are using only 1 gpu which is a quarter of my setting. I recommend to adjust the learning rate proportionally.
TL;DR Yes. It can be close to the best accuracy.
But the upper bound of the accuracy is actually higher than the Table 8. 40epoches training with learning rate decay at 30epoch give better accuracy. You can try
Hi, thank you for your response. I used mini-batch size 64 and num_threads 16, which is totally the same as you. I only used one RTX3090 but it doesn't have any memory issues using your configuration. However, my reproduction results are worse than yours on both table 5 and table 8 as below:
Evaluate on 3DPW-CROWD (table 5)
- train for 10 epoch MPJPE from mesh: 88.44 mm PA MPJPE from mesh: 56.14 mm MPVPE from mesh: 110.28 mm
Evaluate on 3DPW-test (table 8)
- train for 1 epoch MPJPE from mesh: 83.17 mm PA MPJPE from mesh: 52.34 mm MPVPE from mesh: 99.32 mm
I wonder if I use the exact same batch size and num workers with you, do I still need to adjust the learning rate? Do you have any suggestions about the training config for me using only one RTX3090 which has the same batch size with you to reproduce your work? Thank you so much!
My setting's batch size is 256 since I used 4 gpus:)
So if I used only one gpu, should I divide my learning rate by 4?
Yes!