zzangjinsun / NLSPN_ECCV20

Park et al., Non-Local Spatial Propagation Network for Depth Completion, ECCV, 2020
MIT License
321 stars 55 forks source link

What is the experimental setting for the results in the paper? #30

Closed jikerWRN closed 3 years ago

jikerWRN commented 3 years ago

Thanks for your great work again! I retrained the model you provided, the best rmse in the validation set is 0.805, the rmse in the online test set is 0.759 which is about 0.02 worse than the result you provided. My experiment settings are as follows:

augment: True max_depth: 90.0 patch_height: 240 patch_width: 1216 top_crop: 100

network: 'resnet34' from_scratch: False prop_time: 18 prop_kernel: 3 preserve_input: False affinity: 'TGASS' affinity_gamma: 0.5 conf_prop: True legacy: False

opt_level: 'O0' epochs: 25 batch_size: 12 warm_up: True loss: '1.0L1+1.0L2' lr: 0.001 optimizer: 'ADAM'
momentum: 0.9 betas: (0.9, 0.999) epsilon: 1e-8 weight_decay: 0.0 scheduler: 'lambdaLR'
decay: (10, 15, 20) gamma: (1.0, 0.2, 0.04)

I want to know if the source of the difference in results is because my batch_size is 12 and yours is 25? Would you provide the parameter settings for the best results? Thanks!

Looking forward to your reply!

zzangjinsun commented 3 years ago

I was able to utilize a powerful machine with 8 NVIDIA P40 GPUs for this work, which is currently unavailable.

From my experience, the larger the batch size you use, the better result you get. Please refer to here.

jikerWRN commented 3 years ago

Thanks for your reply.

I mainly don’t know whether the above parameters except batch size are optimal. Since i don't have a machine with the same configuration, i can't test whether the results in paper can be obtained by using the above parameters and changing the batch size from 12 to 25.

In addition, the paper mentioned that the proposed method is trained with a machine equipped with Intel Xeon E5-2620 and 4 NVIDIA GTX 1080 Ti GPUs, the image is center-cropped 1216*240 and network is trained with a batch size of 25, while it would raise the cuda out of memory error in my experiment.

Looking forward to your reply!

zzangjinsun commented 3 years ago

(The parameters in training + --preserve_input) are the params I used for training for the best result. (However, I think --preserve_input is up to you.)

You are right. Batch size 25 will raise the out-of-memory error with 4 NVIDIA GTX 1080 GPUs. I remember that at least 5 NVIDIA P40 are used for 25 samples. Sorry for the confusion.

jikerWRN commented 3 years ago

ok, thanks for your help!