xtudbxk / DSRG-tensorflow

a tensorflow version for DSRG (Weakly-Supervised Semantic Segmentation Network with Deep Seeded Region Growing)
75 stars 20 forks source link

About the initial weights #23

Closed lianxxx closed 4 years ago

lianxxx commented 4 years ago

What are the initial weights "vgg16_deeplab_aspp.npy" from? Why does the state_dict contain fc8-SEC_1, fc8_SEC_2, fc8-SEC_3, fc8-SEC_4? Is that correct the initial weights initialise layers from Conv1 to fc7, and fc8_1, fc8_2, fc8_3 and fc8_4 are trained from scratch?

lianxxx commented 4 years ago

I'm trying to convert this project to pytorch. However, the results so far are much worse than that from your repo (about 5% lower). What do you think should be possible reasons?

xtudbxk commented 4 years ago

The initial weights is from the origin DSRG repo. And you are right that only weights from fc8 layer are initialized as random values.

xtudbxk commented 4 years ago

Talking to the transfering from one framework to another framework. I just usually download the trained model and restore it in two framework to compare the outputs of each layers to find out the differences. Maybe this method can help you.

lianxxx commented 4 years ago

Thank you very much for advice. I got another question. Is it correct that for a same image, the seeds that DSRG works on at every epoch are the same as the initial seeds?

xtudbxk commented 4 years ago

Yes, it is. It's worth noting that the growed labels from seeds are different at each epoch.