Difference between revisions of "OoDACE:ooDACE toolbox"

From SUMOwiki
Jump to navigationJump to search
(New page: == blindDACE: A versatile kriging Matlab Toolbox == From the [http://fann.sf.net FANN website]: ''Fast Artificial Neural Network Library is a free open source neural network library, whi...)
 
Line 1: Line 1:
 
== blindDACE: A versatile kriging Matlab Toolbox ==
 
== blindDACE: A versatile kriging Matlab Toolbox ==
  
From the [http://fann.sf.net FANN website]:
+
== Quick start guide ==
  
''Fast Artificial Neural Network Library is a free open source neural network library, which implements multilayer artificial neural networks in C with support for both fully connected and sparsely connected networks. Cross-platform execution in both fixed and floating point are supported. It includes a framework for easy handling of training data sets. It is easy to use, versatile, well documented, and fast. PHP, C++, .NET, Ada, Python, Delphi, Octave, Ruby, Prolog Pure Data and Mathematica bindings are available. A reference manual accompanies the library with examples and recommendations on how to use the library. A graphical user interface is also available for the library.''
+
IMPORTANT: Before the toolbox can be used you have to include the toolbox in Matlab's path. You can do this manually
 +
by running <b>startup</b> or if Matlab is started in the root toolbox directory then startup will be run automatically.
  
== FANN Matlab bindings ==
+
The blindDACE toolbox is designed in an object oriented (OO) fashion.
 +
It is strongly recommended to exploit the OO design directly, i.e., use the Kriging and Optimizer matlab classes.
 +
However, for convenience wrapper scripts (dacefit, predictor) are provided that simulate the DACE toolbox interface.
  
The Matlab Neural Network toolbox is a great piece of software but unfortunately much too slow. Therefore I decided to add the FANN library as an optional backend. Unfortunately there were no Matlab bindings available so I quickly hacked some together.  I'd never written Mex files before and my C skills are very rusty to say the least so I thought it would be a good exercise. I'm putting them online in the hope somebody will pick them up and improve/extend them (since they are pretty basic).
+
See demo.m for example code on how to use the blindDACE toolbox.
 
+
For more information, please refer to the online documentation at:
Note that I am only interested in regression (function approximation) so my bindings only reflect that tiny subset of the total FANN features.
+
        http://www.sumowiki.intec.ugent.be
  
 
== Download ==
 
== Download ==
  
'''Use these bindings at your own risk! They work for me but don't expect me to guarantee anything!'''
+
See: [[http://sumo.intec.be/blindDACE]]
 
 
License: GPL v2 or later
 
 
 
Download: [[Media:fann-matlab-bindings-1.0.zip]]
 
 
 
== Installation ==
 
 
 
Version of the FANN library required: 2.1beta
 
 
 
Enclosed is a GNU makefile that builds the mex files (you may have to edit the makefile a little to accommodate for your environment). If anybody is willing to contribute windows binaries or Makefiles please do!
 
 
 
Make sure the mex files are in your Matlab path and Matlab knows where to find the FANN library (e.g., see LD_LIBRARY_PATH on unix systems).
 
  
 
== Usage ==
 
== Usage ==

Revision as of 10:48, 9 February 2010

blindDACE: A versatile kriging Matlab Toolbox

Quick start guide

IMPORTANT: Before the toolbox can be used you have to include the toolbox in Matlab's path. You can do this manually by running startup or if Matlab is started in the root toolbox directory then startup will be run automatically.

The blindDACE toolbox is designed in an object oriented (OO) fashion. It is strongly recommended to exploit the OO design directly, i.e., use the Kriging and Optimizer matlab classes. However, for convenience wrapper scripts (dacefit, predictor) are provided that simulate the DACE toolbox interface.

See demo.m for example code on how to use the blindDACE toolbox. For more information, please refer to the online documentation at:

       http://www.sumowiki.intec.ugent.be

Download

See: [[1]]

Usage

  • Create a network
ann = createFann([2 5 3 1],connectivity)
  • Train a network
ann = trainFann(ann,samples,values,[desired error],[max epochs])
  • Use a network
values = testFann(ann,samples)

Where samples are the input data points and values the output values, both in column format (1 column per dimension).

Note: do not use a connectivity different from 1 for else you will get wrong results (I hope this can be fixed with the new fann library)

Contribute

These bindings are very basic but they work for me. Please improve, extend, provide binaries, and of course contribute back.