broadinstitute / keras-rcnn

Keras package for region-based convolutional neural networks (RCNNs)
Other
553 stars 223 forks source link

Alternating training #49

Closed yanfengliu closed 7 years ago

yanfengliu commented 7 years ago

I only saw this library last week and I am not sure how complete it is. I was wondering if the alternating training technique mentioned in the paper (RPN-FastRCNN-RPN-FastRCNN-...) was implemented but I couldn't find the code for it here. Let's say I built a model successfully with keras-rcnn, now what should I do to train it? Should I just use model.fit()?

hgaiser commented 7 years ago

As of the moment of writing, there are some parts missing in this repo, which means training is not yet possible. I'm not sure if alternating training is possible at the moment, but it shouldn't be that hard to make it given this repo (when it's finished). May I ask why you seek the alternating training scheme though? I found that I get more or less equal results with end2end and it is much faster and simpler to train.

yanfengliu commented 7 years ago

@hgaiser Thank you for your answer! I don't have a specific reason. It's just that the original paper used the alternating technique. If you found that end2end has similar performance then I would be happy to use that as well. May I ask which parts are missing (that you know of)? I would like to contribute to the best of my ability.

hgaiser commented 7 years ago

I believe mainly the RPN / losses needs work (https://github.com/broadinstitute/keras-rcnn/pull/41) and in general there are probably a few bugs that need to be resolved.

JihongJu commented 7 years ago

@yanfengliu Beside the RPN/losses issue, there are some more issues with a help-wanted tag and you can have a look at them. You can ask either of us for more information if the issue itself is not clear enough.

jhung0 commented 7 years ago

@yanfengliu https://github.com/yanfengliu we just focus on end2end rather than alternative training because, as Hans mentioned, it's easier to train and pretty much gets the same results. The paper does alternative training, but if you look at the py-faster-rcnn repo, they talk about using end2end and show how it compares to alternative.