function run_experiments() setup; path_model_vgg_m = 'data/models/imagenet-vgg-m.mat'; path_model_vgg_vd = 'data/models/imagenet-vgg-verydeep-19-OLD.mat'; path_model_alexnet = 'data/models/imagenet-caffe-alex.mat'; % RCNN (FC-CNN) flavors rcnn.name = 'rcnn' ; rcnn.opts = {... 'type', 'rcnn', ... 'model', path_model_vgg_m, ... 'layer', 19} ; rcnnalx.name = 'rcnnalx' ; rcnnalx.opts = {... 'type', 'rcnn', ... 'model', path_model_alexnet, ... 'layer', 19} ; rcnnvd.name = 'rcnnvd' ; rcnnvd.opts = {... 'type', 'rcnn', ... 'model', path_model_vgg_vd, ... 'layer', 41} ; dcnnalx.name = 'dcnnalxfv' ; dcnnalx.opts = {... 'type', 'dcnn', ... 'model', path_model_alexnet, ... 'layer', 13, ... 'numWords', 64, ... 'encoderType', 'fv'}; dcnn.name = 'dcnnfv' ; dcnn.opts = {... 'type', 'dcnn', ... 'model', path_model_vgg_m, ... 'layer', 13, ... 'numWords', 64, ... 'encoderType', 'fv'}; dcnnbovw.name = 'dcnnbovw' ; dcnnbovw.opts = {... 'type', 'dcnn', ... 'model', path_model_vgg_m, ... 'layer', 13, ... 'numWords', 4096, ... 'encoderType', 'bovw'} ; dcnnvlad.name = 'dcnnvlad' ; dcnnvlad.opts = {... 'type', 'dcnn', ... 'model', path_model_vgg_m, ... 'layer', 13, ... 'numWords', 64, ... 'encoderType', 'vlad'} ; dcnnvd.name = 'dcnnvdfv' ; dcnnvd.opts = {... 'type', 'dcnn', ... 'model', path_model_vgg_vd, ... 'layer', 35, ... 'numWords', 64, ... 'encoderType', 'fv'} ; dsift.name = 'dsift' ; dsift.opts = {... 'type', 'dsift', ... 'numWords', 256, ... 'numPcaDimensions', 80} ; % Set of experiments to run setupNameList = {'dsift', ... 'rcnn', 'dcnn', 'rdcnn', 'srdcnn', ... 'rcnnalx', 'dcnnalx', 'rdcnnalx', 'srdcnnalx', ... 'rcnnvd', 'dcnnvd', 'rdcnnvd', 'srdcnnvd'} ; encoderList = {{dsift}, ... {rcnn}, {dcnn}, {rcnn dcnn}, {rcnn dcnn dsift}, ... {rcnnalx}, {dcnnalx}, {rcnnalx dcnnalx}, {rcnnalx dcnnalx dsift}, ... {rcnnvd}, {dcnnvd}, {rcnnvd dcnnvd}, {rcnnvd dcnnvd dsift}} ; datasetList = {{'bacteria', 5}} ; classifiers = {'', '--linear', '--polynomial', '--rbf', '--rf'} ; for ii = 1 : numel(datasetList) dataset = datasetList{ii} ; if iscell(dataset) numSplits = dataset{2} ; dataset = dataset{1} ; else numSplits = 1 ; end for classifierIndex = 1 : numel(classifiers) for seedIndex = 1 : numSplits for ee = 1 : numel(encoderList) os_train(... 'dataset', dataset, ... 'seed', seedIndex, ... 'encoders', encoderList{ee}, ... 'prefix', 'exp01', ... 'suffix', setupNameList{ee}, ... 'printDatasetInfo', ee == 1, ... 'writeResults', true, ... 'vocDir', 'data/VOC2007', ... 'useGpu', false, ... 'gpuId', 1, ... 'classifier', classifiers{classifierIndex}); end end end end end