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

The layer before the auxiliary loss layer #21

Open
huaxinxiao opened this issue Jan 23, 2017 · 4 comments
Open

The layer before the auxiliary loss layer #21

huaxinxiao opened this issue Jan 23, 2017 · 4 comments

Comments

@huaxinxiao
Copy link

Hi @hszhao, what is the layer setting before the auxiliary loss layer? A simple 3x3 conv layer or another pyramid pooling module?

@authman
Copy link

authman commented Jul 14, 2017

I've tried with {ProjectionConv, BN, Relu, Dropout, Conv2d->NumClasses} as an aux branch. The results were 'meh'.

@qizhuli
Copy link

qizhuli commented Jul 14, 2017

@authman Hi, I don't think that is what they used. I actually loaded up their released weights using their deploy prototxt and inspected the "ignored layers" output by caffe.

I0718 17:39:40.174931  9953 net.cpp:816] Ignoring source layer data
I0718 17:39:40.174958  9953 net.cpp:816] Ignoring source layer label_gather
I0718 17:39:40.221314  9953 net.cpp:816] Ignoring source layer conv6_gather
I0718 17:39:40.221345  9953 net.cpp:816] Ignoring source layer conv6_gather_conv6_gather_0_split
I0718 17:39:40.221349  9953 net.cpp:816] Ignoring source layer label_shrink
I0718 17:39:40.221354  9953 net.cpp:816] Ignoring source layer label_shrink_label_shrink_0_split
I0718 17:39:40.221357  9953 net.cpp:816] Ignoring source layer loss
I0718 17:39:40.221361  9953 net.cpp:816] Ignoring source layer accuracy
I0718 17:39:40.221366  9953 net.cpp:816] Ignoring source layer conv4_24
I0718 17:39:40.221372  9953 net.cpp:816] Ignoring source layer conv4_24/bn
I0718 17:39:40.221377  9953 net.cpp:816] Ignoring source layer conv4_24/relu
I0718 17:39:40.221382  9953 net.cpp:816] Ignoring source layer conv4_24/dropout
I0718 17:39:40.221387  9953 net.cpp:816] Ignoring source layer conv6_1
I0718 17:39:40.221392  9953 net.cpp:816] Ignoring source layer conv6_1_gather
I0718 17:39:40.221396  9953 net.cpp:816] Ignoring source layer loss_1

Apparently it was a conv/bn/relu/dropout block (the conv4_24s) followed by a single conv (conv6_1) in the auxiliary branch. Would that have made the difference between their reported result and the "meh" results you and I got? Not likely.

Personally I think the key to achieving their stellar accuracy is in finetuning the BN parameters on VOC across multiple GPUs. That is also confirmed by deeplab-v3 which did the BN trick and obtained almost the same accuracy as PSPNet.

@mjohn123
Copy link

@qizhuli: do you know where can i get deeplabv3 source code? I did not find it. Thanks

@qizhuli
Copy link

qizhuli commented Jul 15, 2017

@mjohn123 I don't think they have released it yet.

This was referenced Oct 25, 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

4 participants