Revision 47beaff6f6912baaae27db21d88c90f6edbea2e7 authored by Bartosz Zielinski on 11 August 2017, 15:34:09 UTC, committed by Bartosz Zielinski on 11 August 2017, 15:34:09 UTC
1 parent 9482979
Raw File
run_experiments.m
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
back to top