layumi / 2016_super_resolution

ICCV2015 Image Super-Resolution Using Deep Convolutional Networks
MIT License
85 stars 43 forks source link

What are the stride and the padding in options of SRnet.m ? #11

Open star4s opened 7 years ago

star4s commented 7 years ago

What are the stride and the padding in options of SRnet.m ?

==================================================== conv2_1Block = dagnn.Conv('size',[9 9 3 64],'hasBias',true,'stride',[1,1],'pad',[0,0,0,0]); net.addLayer('conv2_1',conv2_1Block,{'input'},{'conv2_1'},{'c2_1f','c2_1b'}); net.addLayer('relu2_1',reluBlock,{'conv2_1'},{'conv2_1x'},{});

conv2_2Block = dagnn.Conv('size',[5 5 64 32],'hasBias',true,'stride',[1,1],'pad',[0,0,0,0]); net.addLayer('conv2_2',conv2_2Block,{'conv2_1x'},{'conv2_2'},{'c2_2f','c2_2b'}); net.addLayer('relu2_2',reluBlock,{'conv2_2'},{'conv2_3x'},{});

conv2_3Block = dagnn.Conv('size',[5 5 32 3],'hasBias',true,'stride',[1,1],'pad',[0,0,0,0]); net.addLayer('conv2_3',conv2_3Block,{'conv2_3x'},{'prediction'},{'c2_3f','c2_3b'});

% You can try some other loss here. Like EPELoss(). net.addLayer('loss',HuberLoss(),{'prediction','label'},'objective'); net.initParams();

======================================================= This is my code. I would like to change 'stride' and 'pad'. Why do you set up the parameter 'stride' = [1,1], and 'pad' =[0,0,0,0])? After I modify 'stride' = [14,14], and 'pad' =[6,6,6,6]), I get some error message about matrix size error. I would like to fix 'stride' = [14,14]. How can I adjust 'pad' parameter ?