2012HackSessionNotes » History » Version 5

Luis Figueira, 2012-06-20 03:52 PM
added explanation of local cfg file

1 1 Luis Figueira
h1. 2012HackSessionNotes
2 1 Luis Figueira
3 1 Luis Figueira
4 1 Luis Figueira
5 1 Luis Figueira
6 1 Luis Figueira
h2. SMALLbox Add-ons
7 1 Luis Figueira
8 1 Luis Figueira
h3. Installing an add on 
9 1 Luis Figueira
10 1 Luis Figueira
11 1 Luis Figueira
This section refers to the incoherentdl algorithm code tagged as ver_1.1 in the project’s Mercurial repository. To download this version please go to the project’s homepage in http://code.soundsoftware.ac.uk/projects/incoherentdl.
12 1 Luis Figueira
The incoherent dictionary learning add-on includes algorithms for learning dictionaries that are both adapted to the training data and that exhibit a low mutual coherence (defined as the maximum absolute inner product between any two different atoms) [27]. It extends
13 1 Luis Figueira
26
14 1 Luis Figueira
SMALLbox v2.0 User Documentation 27
15 1 Luis Figueira
the functionalities of the SMALL_two_step_DL toolbox which is included in the SMALLBox distribution, and is an example showing the capabilities of SMALLbox add–ons.
16 1 Luis Figueira
These are the steps needed to interface SMALLbox add-ons to the core SMALLbox dis- tribution:
17 2 Luis Figueira
18 2 Luis Figueira
19 2 Luis Figueira
* Download the add-on distribution from: http://code.soundsoftware.ac.uk/projects/incoherentdl/files
20 2 Luis Figueira
** The version you wish to download is *version 1.1*
21 2 Luis Figueira
* Place the add-on code in any convenient location of your file system, and add this to your MATLAB path
22 2 Luis Figueira
** addpath(genpath('/Users/luisf/incoherentdl-v1_1'))
23 2 Luis Figueira
* Modify the relevant files in the folder {SMALLBox Root}/config/
24 2 Luis Figueira
** modify/create SMBOX/config/SMALL_learn_config_local.m
25 4 Luis Figueira
*** cp SMBOX/config/SMALL_learn_local.m SMBOX/config/SMALL_learn_config_local.m
26 5 Luis Figueira
**** the local file is not tracked
27 5 Luis Figueira
**** if you need to revert to the 'default' SMALLbox setting, you just need to delete/rename your local file
28 2 Luis Figueira
*** add the following code to the local config file: 
29 2 Luis Figueira
<pre>
30 2 Luis Figueira
elseif strcmpi(DL.toolbox , 'SMALL_incoherentDL')
31 3 Luis Figueira
  DL=SMALL_incoherentDL ( Problem , DL ) ;
32 3 Luis Figueira
   % we need to make sure that columns are normalised to % unit lenght .
33 3 Luis Figueira
  for i = 1: size(DL.D,2)
34 3 Luis Figueira
    DL.D(: ,i)=DL.D(: ,i)/norm(DL.D(: ,i));
35 3 Luis Figueira
  end
36 2 Luis Figueira
  D = DL.D;
37 2 Luis Figueira
</pre>
38 1 Luis Figueira
* Run the SMALLboxInit.m script to set environmental variables.
39 1 Luis Figueira
* Run any function or script contained in the add-on.
40 4 Luis Figueira
** example: 
41 4 Luis Figueira
*** load test_mocod.mat (incoherentdl-v1_1/results/test_mocod.mat)
42 4 Luis Figueira
*** open SMALL_test_mocod.m
43 4 Luis Figueira
*** run the code from the block that starts on line 110 (with the comment Plot Results)
44 4 Luis Figueira
**** this will display two coherence/signal to noise ratio plots based on results previously computed
45 1 Luis Figueira
46 1 Luis Figueira
h3. Creating a new add on