Hello, When I run the code, the precision plot is only 93.93% in OTB-2013 which is lower than your result in your paper.
And in your code, you use Normalize(), however in mcnLayers, the output is an array, not a cell,
function [derInputs, derParams] = backward(obj, inputs, params, derOutputs)
ders = vl_nnscalenorm(inputs{1}, params{1}, derOutputs{1}) ;
[derInputs, derParams] = deal(ders(1), ders(2)) ;
end
which can not satisfy matconvnet.
% compute derivatives of inputs and paramerters
[derInputs, derParams] = obj.backward ...
(inputs, {net.params(par).value}, derOutputs) ;
if ~iscell(derInputs) || numel(derInputs) ~= numel(in)
error('Invalid derivatives returned by layer "%s".', layer.name);
end
so the only modify is that:
function [derInputs, derParams] = backward(obj, inputs, params, derOutputs)
%ders = vl_nnscalenorm(inputs{1}, params{1}, derOutputs{1}) ;
[derI, derP] = vl_nnscalenorm(inputs{1}, params{1}, derOutputs{1}) ;
derInputs{1} = derI;
derParams{1} = derP;
%[derInputs, derParams] = deal(ders(1), ders(2)) ;
end
I guess the only problem can be this?
So can you tell me how do you solve the problem?
Thanks very much