yun-liu / RCF

Richer Convolutional Features for Edge Detection
Other
753 stars 259 forks source link

About training on GT #15

Closed xurong1981 closed 6 years ago

xurong1981 commented 6 years ago

I want to use my own data to make a fine-tuning training. I found the ground truth of HED-BSDS, the edge image contains different gray values. I wonder all the edge with different gray value will be use for training? Or just the brightest edges are used for training ?

yun-liu commented 6 years ago

The edge pixels with probabilities higher than a fixed threshold will be viewed as positive samples. You can find detailed description in Section 3.2 of our paper (Richer Convolutional Features for Edge Detection, CVPR 2017).

xurong1981 commented 6 years ago

Thank you.

xurong1981 commented 6 years ago

When I start fine-tuning, I found my loss values were not normal (at first is non, when I revised lr = 1e-15, it was still a very large value), do you have any idea ?


I1024 13:43:05.584609 6753 solver.cpp:228] Iteration 200, loss = 216462 I1024 13:43:05.584662 6753 solver.cpp:244] Train net output #0: dsn1_loss = 34019.4 ( 1 = 34019.4 loss) I1024 13:43:05.584671 6753 solver.cpp:244] Train net output #1: dsn2_loss = 30019.3 ( 1 = 30019.3 loss) I1024 13:43:05.584678 6753 solver.cpp:244] Train net output #2: dsn3_loss = 25788.9 ( 1 = 25788.9 loss) I1024 13:43:05.584702 6753 solver.cpp:244] Train net output #3: dsn4_loss = 41192.6 ( 1 = 41192.6 loss) I1024 13:43:05.584728 6753 solver.cpp:244] Train net output #4: dsn5_loss = 143635 ( 1 = 143635 loss) I1024 13:43:05.584735 6753 solver.cpp:244] Train net output #5: fuse_loss = 52926.6 ( 1 = 52926.6 loss) I1024 13:43:05.584743 6753 sgd_solver.cpp:106] Iteration 200, lr = 1e-15

xurong1981 commented 6 years ago

According to the above loss problem, do you think should I change values of the parameters, like, lr, η , λ in loss function? Or the momentum and weight decay ?

xurong1981 commented 6 years ago

Basically, I changed lr = 1e-8 from 1e-6, and λ = 1.3 from 1.1, then my fine-tuning based on my training data can be run successfully, even though the loss value started from a large value (213869). After 40000 iterations, the loss value can be reduced to 42709.1. Meanwhile, I tried the fine-tuned model, and it can achieve acceptable results, but I wonder whether the model is over-fitted. I will confirm it.