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

2 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)

Categories

Find more on Deep Learning Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!