PSPNet icon indicating copy to clipboard operation
PSPNet copied to clipboard

The layer before the auxiliary loss layer

Open huaxinxiao opened this issue 8 years ago • 4 comments

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

huaxinxiao avatar Jan 23 '17 07:01 huaxinxiao

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

authman avatar Jul 14 '17 13:07 authman

@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.

qizhuli avatar Jul 14 '17 13:07 qizhuli

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

mjohn123 avatar Jul 15 '17 11:07 mjohn123

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

qizhuli avatar Jul 15 '17 15:07 qizhuli