# HG changeset patch # User Francisco Rodriguez Algarra # Date 1446585881 0 # Node ID a1f6a08f624c322fa0e1faa326a2df865443ff42 # Parent 06a2a18a3960e34051294d2c5375834fafd1aea6 Completed version 0.0.2 diff -r 06a2a18a3960 -r a1f6a08f624c README.txt --- a/README.txt Wed Oct 28 16:19:45 2015 +0000 +++ b/README.txt Tue Nov 03 21:24:41 2015 +0000 @@ -26,7 +26,7 @@ It also requires the GTZAN music dataset, available at: http://opihi.cs.uvic.ca/sound/genres.tar.gz -In order to run the experiments, you first need to edit the file "scatter_reeval.m", modifying the values of the variables "scatnet_path", "libsvm_compact_path", and "gtzan_path" to point at the locations of the libraries and the dataset in your own system. +In order to run the experiments, you first need to edit the file "load_files.m", modifying the values of the variables "scatnet_path", "libsvm_compact_path", and "gtzan_path" to point at the locations of the libraries and the dataset in your own system. You can also modify the location where the results of the experiments will be stored changing the value of the "results_dir" variable. diff -r 06a2a18a3960 -r a1f6a08f624c load_files.m --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/load_files.m Tue Nov 03 21:24:41 2015 +0000 @@ -0,0 +1,17 @@ +% Modify the following variables to include the locations +% of the libraries and the dataset in your own system + +scatnet_path = [pwd, '/../libraries/scatnet-0.2/']; +libsvm_compact_path = [pwd, '/../libraries/libsvm-compact-0.1/']; + +gtzan_path = '/import/c4dm-datasets/gtzan/'; + +fprintf('\n**********\nAdding the necessary folders to Matlab path\n**********\n'); +run([scatnet_path, 'addpath_scatnet.m']); +addpath([libsvm_compact_path, 'matlab']); + +mfilepath=fileparts(which(mfilename)); +addpath(fullfile(mfilepath,'reeval/experiments/')); +addpath(fullfile(mfilepath,'reeval/folds/')); +addpath(fullfile(mfilepath,'reeval/classification/')); +addpath(fullfile(mfilepath,'reeval/features/')); diff -r 06a2a18a3960 -r a1f6a08f624c reeval/classification/perform_classification.m --- a/reeval/classification/perform_classification.m Wed Oct 28 16:19:45 2015 +0000 +++ b/reeval/classification/perform_classification.m Tue Nov 03 21:24:41 2015 +0000 @@ -1,15 +1,27 @@ function [results] = perform_classification(experiment, db, condition) db = svm_calc_kernel(db,'gaussian','square',1:8:size(db.features,2)); + optt.kernel_type = 'gaussian'; optt.C = 2.^[0:4:8]; optt.gamma = 2.^[-16:4:-8]; optt.search_depth = 3; - optt.full_test_kernel = 1; + + % This causes the accuracy to be lower than it could! + switch(experiment) + case('time_scat_l3') + optt.full_test_kernel = 0; + otherwise + optt.full_test_kernel = 1; + end + + % if nargin < 3 condition = cellstr(['none '; 'fault']); + else + condition = cellstr(condition); end for ii=1:length(condition) diff -r 06a2a18a3960 -r a1f6a08f624c reeval/experiments/run_experiment.m --- a/reeval/experiments/run_experiment.m Wed Oct 28 16:19:45 2015 +0000 +++ b/reeval/experiments/run_experiment.m Tue Nov 03 21:24:41 2015 +0000 @@ -8,7 +8,7 @@ end db = compute_features(experiment); - + db.results = perform_classification(experiment, db, condition); store_results(experiment, db, results_dir); diff -r 06a2a18a3960 -r a1f6a08f624c reeval/features/compute_features.m --- a/reeval/features/compute_features.m Wed Oct 28 16:19:45 2015 +0000 +++ b/reeval/features/compute_features.m Tue Nov 03 21:24:41 2015 +0000 @@ -13,8 +13,9 @@ % extract features using the computed options features = extract_features(experiment, N, options); - + db = prepare_database(src, features); + db.features = single(db.features); - + end diff -r 06a2a18a3960 -r a1f6a08f624c reeval/features/set_filt1_options.m --- a/reeval/features/set_filt1_options.m Wed Oct 28 16:19:45 2015 +0000 +++ b/reeval/features/set_filt1_options.m Tue Nov 03 21:24:41 2015 +0000 @@ -7,13 +7,13 @@ filt1_opt.Q = [8 2]; filt1_opt.boundary = 'symm'; case {'time_scat_l1', 'time_scat_l2'} - filt1_opt.wavelet_type = {'gabor_1d', 'morlet_1d'}; + filt1_opt.filter_type = {'gabor_1d', 'morlet_1d'}; filt1_opt.Q = [8 2]; case {'time_freq_scat_l2', 'time_freq_scat_l2_adap_q1'} - filt1_opt.wavelet_type = {'gabor_1d', 'morlet_1d'}; + filt1_opt.filter_type = {'gabor_1d', 'morlet_1d'}; filt1_opt.Q = [8 1]; case 'time_scat_l3' - filt1_opt.wavelet_type = {'gabor_1d', 'morlet_1d', 'morlet_1d'}; + filt1_opt.filter_type = {'gabor_1d', 'morlet_1d', 'morlet_1d'}; filt1_opt.Q = [8 2 1]; otherwise error(['Unknown experiment ', experiment, '. Aborting']); diff -r 06a2a18a3960 -r a1f6a08f624c reeval/features/set_filt2_options.m --- a/reeval/features/set_filt2_options.m Wed Oct 28 16:19:45 2015 +0000 +++ b/reeval/features/set_filt2_options.m Tue Nov 03 21:24:41 2015 +0000 @@ -8,7 +8,7 @@ sc2_opt = options.sc1_opt; ffilt2_opt = options.ffilt1_opt; - ffilts2_opt.J = 5; + ffilt2_opt.J = 5; fsc2_opt = options.fsc1_opt; diff -r 06a2a18a3960 -r a1f6a08f624c scatter_reeval.m --- a/scatter_reeval.m Wed Oct 28 16:19:45 2015 +0000 +++ b/scatter_reeval.m Tue Nov 03 21:24:41 2015 +0000 @@ -1,26 +1,9 @@ -% Modify the following variables to include the locations -% of the libraries and the dataset in your own system -scatnet_path = [pwd, '/../libraries/scatnet-0.2/']; -libsvm_compact_path = [pwd, '/../libraries/libsvm-compact-0.1/']; - -gtzan_path = '/import/c4dm-datasets/gtzan/'; +load_files; global results_dir; results_dir = [pwd, '/../results_reeval/']; -% - -fprintf('\n**********\nAdding the necessary folders to Matlab path\n**********\n'); -run([scatnet_path, 'addpath_scatnet.m']); -addpath([libsvm_compact_path, 'matlab']); - -mfilepath=fileparts(which(mfilename)); -addpath(fullfile(mfilepath,'reeval/experiments/')); -addpath(fullfile(mfilepath,'reeval/folds/')); -addpath(fullfile(mfilepath,'reeval/classification/')); -addpath(fullfile(mfilepath,'reeval/features/')); - fprintf('\n**********\nSTARTING TO RUN EXPERIMENTS\n**********\n'); global src;