2012HackSessionNotes » History » Version 2

Version 1 (Luis Figueira, 2012-06-20 03:20 PM) → Version 2/11 (Luis Figueira, 2012-06-20 03:36 PM)

h1. 2012HackSessionNotes

h2. SMALLbox Add-ons

h3. Installing an add on

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.
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
26
SMALLbox v2.0 User Documentation 27
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.
These are the steps needed to interface SMALLbox add-ons to the core SMALLbox dis- tribution:

*

Download and install the add-on latest SMALLBox distribution from: http://code.soundsoftware.ac.uk/projects/incoherentdl/files
https://code.soundsoftware.ac.uk/projects/smallbox

** The version you wish to download • Download the add-on distribution. In this case, the incoherent dictionary learning source is *version 1.1* available from: https://code.soundsoftware.ac.uk/projects/incoherentdl
* Place the add-on code in any convenient location of your file system, and add this to your MATLAB path path.
** addpath(genpath('/Users/luisf/incoherentdl-v1_1'))
*
Modify the relevant files in the folder {SMALLBox Root}/config/ (see below)
** modify/create SMBOX/config/SMALL_learn_config_local.m
** add this code to the config file:

<pre>
elseif strcmpi(DL.toolbox , 'SMALL_incoherentDL')
DL=SMALL_incoherentDL ( Problem , DL ) ;

 % we need to make sure that columns are normalised to % unit lenght .
 for i = 1: size(DL.D,2)
DL.D(: ,i)=DL.D(: ,i)/norm(DL.D(: ,i));
end
D = DL.D;
</pre>

*
Run the SMALLboxInit.m script to set environmental variables.
* Run any function or script contained in the add-on.

h3. Creating a new add on