swz30 / Restormer

[CVPR 2022--Oral] Restormer: Efficient Transformer for High-Resolution Image Restoration. SOTA for motion deblurring, image deraining, denoising (Gaussian/real data), and defocus deblurring.
Other
1.74k stars 233 forks source link

Network is not converging using custom dataset. #49

Closed Yizhou-Li-CV closed 2 years ago

Yizhou-Li-CV commented 2 years ago

Thank you for the great work!!

Here is my question: I would like to train the Restormer on my own dataset with "Deraining" setup. However, after about 50000 iterations, the loss is not descending at all, and val psnr almost didn't change since the start of the training.

I've confirmed that the data flow is correct, where input and output image are matched. Is this because the Restormer needs a longer time to warm up? Or am I doing anything wrong?

By the way, I am using 2 GPU for training, so I changed the yaml file and train.sh accordingly to fit 2 GPU.

I'm looking forward to your reply. Thank you in advance!

Yizhou-Li-CV commented 2 years ago

I find the default L1 loss didn't converge at all, but MSE loss works well. Maybe that's because the residual of input and output data is too sparse (0 for most part) for l1 loss to optimize the network.