https://github.com/bartoszzielinski/deep-fbanks
Revision 7b91f2919d63064cad53cf733f334d9de5c08bc9 authored by Bartosz Zieliński on 22 January 2018, 15:40:09 UTC, committed by Bartosz Zieliński on 22 January 2018, 15:40:09 UTC
1 parent 7520cd0
Raw File
Tip revision: 7b91f2919d63064cad53cf733f334d9de5c08bc9 authored by Bartosz Zieliński on 22 January 2018, 15:40:09 UTC
Why should I trust you analysis
Tip revision: 7b91f29
run_experiments.m
function run_experiments()
  % export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6:/usr/lib/x86_64-linux-gnu/libprotobuf.so.9

  setup;
  
  if ismac
    dataDir = '../../BigData/bacteria/';
  else
    dataDir = '/media/bz/C4048A7D048A71EA/BigData/bacteria/';
  end

  path_model_vgg_m = [dataDir, 'data/models/imagenet-vgg-m.mat'];
  path_model_vgg_vd = [dataDir, 'data/models/imagenet-vgg-verydeep-19-OLD.mat'];
  path_model_alexnet = [dataDir, '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}} ;
  %}
  setupNameList = {'dsift', 'dcnn'};
  encoderList = {{dsift}, {dcnn}};

  datasetList = {{'bacteriaTrust', 1}} ;
  %datasetList = {{'bacteriaGray', 5}, {'bacteriaGray5', 5}, {'bacteriaGray3', 5}} ;
  classifiers = {''} ;

  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', [dataDir, 'data/VOC2007'], ...
            'useGpu', false, ...
            'gpuId', 1, ...
            'classifier', classifiers{classifierIndex});
        end
      end
    end
  end
end
back to top