BinWang-shu / M2FCN

Other
5 stars 3 forks source link

Question about training #2

Open pxiangwu opened 6 years ago

pxiangwu commented 6 years ago

Hello. In the code solve.py, there is one line of code:

base_weights = 'hed_R_iter_8000.caffemodel'

I wonder how to get this pretrained weights? I think it was from the first-stage training, but how to perform the first-stage training?

And could you instruct that what the "deploy.prototxt", "deploy_R.prototxt", "deploy-R2.prototxt", "train_val_R.prototxt" and "train_val_R2.prototxt" are used for?

Thank you.

BinWang-shu commented 6 years ago

The "deploy.prototxt", "deploy_R.prototxt" and "deploy-R2.prototxt" are the network for testing the one-stage, two-stage and three-stage separately. Similarly,"train_val.prototxt", "train_val_R.prototxt" and "train_val_R2.prototxt" are used for training.

In first-stage training, you could copy weights from http://vcl.ucsd.edu/hed/5stage-vgg.caffemodel

pxiangwu commented 6 years ago

Thank you so much for your illustration.

And still I have another question. In the file result.py the code outputs 3 different images from different layers "sigmoid-fuse", "sigmoid-fuse_R" and "sigmoid-fuse_F". Are they just the outputs of 3 different stages? If so, I think the protocol used should be "deploy_R2.prototxt". But in result.py the code uses "deploy_R.prototxt". Is this a mistake?

Finally, I wonder if the images saved are produced by the modified graph-based watershed algorithm? Actually I didn't see such clue in your code...

Thank you.

BinWang-shu commented 6 years ago

Yes, that is my mistake. Thanks for pointing out it!

I got the code of graph-based watershed algorithm from the author of " Recursive training of 2d-3d convolutional networks for neuronal boundary prediction". It contains some results of his models so I do not push it to github. If you want, you can give me your e-mail and I will sent to you.

pxiangwu commented 6 years ago

Yes, if possible, could you please send the watershed code to my email: pxiangwu@gmail.com?

Thank you in advance.

aditipanda commented 6 years ago

@BinWang-shu @astrolagrange

Does this code save trained models as checkpoints? Do we have to train the three stages first always, before going to test the network?

Do you have any saved optimum models that could be directly used for testing, without having to train from scratch?

BinWang-shu commented 6 years ago

Thanks for asking questions. We have the optimum models but we do not put it on the Internet because it is too large. I suggest you train it yourself, because we find that the results of model tested on different servers are different.

aditipanda commented 6 years ago

I see. Thank you.

Thanks for asking questions. We have the optimum models but we do not put it on the Internet because it is too large. I suggest you train it yourself, because we find that the results of model tested on different servers are different.

aditipanda commented 6 years ago

@BinWang-shu And will the code save the trained models on its own? Or do I have to add code for that?

BinWang-shu commented 6 years ago

It will save the model on its own. You can change 'snapshot' and 'snapshot_prefix' on examples/final_results/solver.prototxt to change how many times to save the model and where to save.

aditipanda commented 6 years ago

Okay, thank you so much.

It will save the model on its own. You can change 'snapshot' and 'snapshot_prefix' to change how many times to save the model and where to save.