Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Could you explain why a custom Caffe were used? #22

Closed
5argon opened this issue Jan 25, 2016 · 10 comments
Closed

Could you explain why a custom Caffe were used? #22

5argon opened this issue Jan 25, 2016 · 10 comments

Comments

@5argon
Copy link

5argon commented Jan 25, 2016

In the code section or in the paper I can't find any information of what feature is missing in the normal Caffe so you guys needed to build a custom version. Could you explain a bit here?

Thank you!

@5argon 5argon changed the title Could you explain why a custom Caffe is used? Could you explain why a custom Caffe were used? Jan 25, 2016
@SvenTwo
Copy link

SvenTwo commented Jan 26, 2016

I have the same problem right now. I'm trying to stay up-to-date on caffe head and have my own changes, so I would need to merge. But I cannot see which version of caffe this was branched from. It looks like the initial commit already contained merged PRs.

I see the crop layer which I believe is not merged to caffe master yet (although it's pretty widely used by now). Also, obviously, there's the meanfield layer, which is the novelty of this model I guess.

Am I missing anything else? The readme references future.sh, but that is not in the repository.

@bittnt
Copy link
Collaborator

bittnt commented Jan 26, 2016

Hi, Check out the pull request in crf-rnn.
#8
from @mtourne

@SvenTwo
Copy link

SvenTwo commented Jan 26, 2016

Thanks. I managed to transfer the changes now. It was just the crop and crf layers plus helpers in utils and the segmenter python class and the stuff in upgrade_proto to allow old-style layer definitions.

In case someone needs it: Here's a (minimal) patch that just merges the crf layers (without the crop layers) into current master caffe. I'm using higher prototxt IDs to avoid conflicts with other layers.

I tested the sample and it seems to annotate fine.

0001-Add-CRF-layers-by-https-github.com-torrvision.patch.txt
Update: With tests
0002-Add-CRF-tests.patch.txt

@mtourne
Copy link

mtourne commented Feb 26, 2016

@SvenTwo @bittnt Any chance of combining efforts onto getting this merged in :

#8

@SvenTwo
Copy link

SvenTwo commented Feb 27, 2016

@mtourne: For my patches I just pulled out the CRF layers and the modified loading layer into their own files to match the current caffe header layouts and the new data layer interface. It doesn't add anything that's not already in #8 I think so I don't see what efforts could be combined. But feel free to incorporate the patch if you think it's useful.

It passed the tests but I ended up not using CRF in the end. So I haven't tested things thoroughly.

One problem I had was that I like to give my extra layers and parameters a higher ID in the prototxt (e.g. regular IDs go from 1 to XX and I add my own stuff with IDs 5XX). However, one of the tests needs to be removed for that because it fails if not all layer type IDs are used sequentially.

@bittnt
Copy link
Collaborator

bittnt commented Feb 29, 2016

@SvenTwo @mtourne Could you let me know if the Matlab script and Python script are both working with the version you have? If so, we are happy help to merge this.

@mtourne
Copy link

mtourne commented Apr 5, 2016

@bittnt Couldn't test Matlab (no license) Python scripts were totally functional.
Ps. you can also try to merge the PR on your end and see if it works for you.

@bittnt
Copy link
Collaborator

bittnt commented Apr 6, 2016

@mtourne Thanks. I have tried a version of merging, it works fine on my end. But the new code base would change the prototxt somehow. I will need to do a few more experiments. We need to make sure the experiments numbers produced by new code base are identical to the old one.

@mtourne
Copy link

mtourne commented Apr 6, 2016

I'm guessing what you're experiencing is that at some point in time Caffe has upgraded their prototxt format, there is some code in place to keep the old ones backward compatible. You might have originally forked Caffe before they had that.

You can also manually upgrade it with one of the CLI tool they built around that code : https://github.com/BVLC/caffe/blob/be163be0ea5befada208dbf0db29e6fa5811dc86/tools/upgrade_net_proto_text.cpp

@sadeepj
Copy link
Collaborator

sadeepj commented Aug 10, 2017

Closing old issues with no recent activity.

@sadeepj sadeepj closed this as completed Aug 10, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants