Clear Filters
Clear Filters

DAGNN simple network for IMAGE TO IMAGE regression. No convergence?

3 views (last 30 days)
Hi,
I'm trying to use a simple network to converge on IMAGE TO IMAGE based regression, however, when I check the output in the FC layers, they are very scaled down, ranging from 10e-4 etc. Please review this network and help me find what I'm doing wrong?
function net = initializeRegNetwork_experiment1(opts)
net1 = dagnn.DagNN() ;
net1.addLayer('conv1', dagnn.Conv('size', [11 11 1 10], 'hasBias', true, 'stride', [1, 1], 'pad', [0 0 0 0]), {'input1'}, {'conv1'}, {'conv1f' 'conv1b'});
net1.addLayer('relu1', dagnn.ReLU(), {'conv1'}, {'relu1'}, {});
net1.addLayer('pool1', dagnn.Pooling('method', 'max', 'poolSize', [5 5], 'stride', [2 2], 'pad', [0 0 0 0]), {'relu1'}, {'pool1'}, {});
net1.addLayer('conv2', dagnn.Conv('size', [7,7, 10, 50], 'hasBias', true, 'stride', [1, 1], 'pad', [0 0 0 0]), {'pool1'}, {'conv2'}, {'conv2f' 'conv2b'});
net1.addLayer('relu2', dagnn.ReLU(), {'conv2'}, {'relu2'}, {});
net1.addLayer('pool2', dagnn.Pooling('method', 'max', 'poolSize', [5 5], 'stride', [2 2], 'pad', [0 0 0 0]), {'relu2'}, {'pool2'}, {});
net1.addLayer('drop2',dagnn.DropOut('rate',0.2),{'pool2'},{'drop2'});
net=net1;
net.addLayer('fc3', dagnn.Conv('size', [29,29,50,1000], 'hasBias', true, 'stride', [1, 1], 'pad', [0 0 0 0]), {'drop2'}, {'fc3'}, {'conv3f' 'conv3b'});
net.addLayer('fc4', dagnn.Conv('size', [1,1,1000,961], 'hasBias', true, 'stride', [1,1], 'pad', [0 0 0 0]), {'fc3'}, {'predictiont'}, {'conv4f' 'conv4b'});
net.addLayer('fc5R',dagnn.Reshape(),{'predictiont'},'prediction');
net.addLayer('objective', dagnn.RegLoss('loss', 'l2loss'), ...
{'prediction','label1'}, 'objective') ;
net.addLayer('error', dagnn.RegLoss('loss', 'mpe'), ...
{'prediction','label1'}, 'error') ;

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!