سلام من شبکه cnn برا تشخیص بیماری با matconvnet طراحی کردم که در زیر لایه ها با پارامترهای آن هست و جواب خوبی هم گرفتم. میخواستم بدونم روش قرار گیری لایه ها منطقی هست؟ همچنین از لایهfully conected استفاده نکردم و به جای آن از دوتا لایه کانولوشن در آخر استفاده کردم با توجه به اینکه دو کلاس هم دارم میخواستم بدونم درست هست؟
f=1/100 ;
net.layers = {} ;
net.layers{end+1} = struct('type', 'conv','weights', {{f*randn(11,11,1,50, 'single'), zeros(1, 50, 'single')}}, 'stride', 4, 'pad', 0) ;
net.layers{end+1} = struct('type', 'pool',
'method', 'max',
'pool', [3 3],
'stride', 2,
'pad', 0) ;
net.layers{end+1} = struct('type', 'conv',
'weights', {{f*randn(5,5,50,256, 'single'), zeros(1,256,'single')}},
'stride', 1,
'pad', 0) ;
net.layers{end+1} = struct('type', 'pool',
'method', 'max',
'pool', [3 3],
'stride', 2,
'pad', 0) ;
net.layers{end+1} = struct('type', 'conv',
'weights', {{f*randn(3,3,256,512, 'single'), zeros(1,512,'single')}},
'stride', 1,
'pad', 0) ;
net.layers{end+1} = struct('type', 'relu') ;
net.layers{end+1} = struct('type', 'conv',
'weights', {{f*randn(2,2,512,1024, 'single'), zeros(1,1024,'single')}},
'stride', 1,
'pad', 0) ;
net.layers{end+1} = struct('type', 'conv',
'weights', {{f*randn(1,1,1024,2, 'single'), zeros(1,2,'single')}},
'stride', 1,
'pad', 0) ;
net.layers{end+1} = struct('type', 'softmaxloss') ;