golnazghiasi / LRR

code and models for "Laplacian Pyramid Reconstruction and Refinement for Semantic Segmentation"
59 stars 14 forks source link

Error in LRRAddMasking #4

Closed JoelChev closed 7 years ago

JoelChev commented 7 years ago

Hi, I'm trying to run the demo LRR4XTrainVGG16Pascal.m code on the Pascal dataset. The code runs fine up until the point that it tries to train a 16x submodel. Then I get the following error:

training submodel: 16x Undefined variable "dagnn" or class "dagnn.Neg".

Error in LRRAddMasking (line 21) net.addLayer(['negprob' pre_upname], dagnn.Neg(), ['prob' pre_up_name], ['negprob' pre_up_name], {});

Error in LRR4xTrainVGG16Pascal (line 254) net = LRRAddMasking(net, upsample_fac(step), upsample_fac(step)/opts.rec_upsample, upsample_2x_pre_layer);

I've looked and the dagnn variable is undefined. Is this a known bug, or is it potentially linked to my MatConvNet setup (I have the latest version of that).

I'm running the code on a TitanX GPU. Any help is appreciated.

golnazghiasi commented 7 years ago

Hi, Does it help to change "dagnn.Neg()" to "Neg()"?

JoelChev commented 7 years ago

I will try that next. Right now I'm trying to add the Neg and DotProduct scripts directly into the +dagnn folder of /matconvnet/matlab to see if that fixes it.

golnazghiasi commented 7 years ago

I think I had them in my +dagnn folder of /matconvnet/matlab/ and because of that, I have "dagnn.Neg()" and "dagnn. DotProduct()" in my code. But, with the current set up that these methods are in modelInitialization folder "Neg()" and "DotProduct()" seem to be correct.

JoelChev commented 7 years ago

Alright, thank you very much for clarifying so quickly! I think both approaches solve the problem. Might be worth pushing a fix so that others aren't caught in this bug though.

golnazghiasi commented 7 years ago

Great. I'll push a fix for this issue. Thanks for letting me know about it.