define all linear and non-linear functions on the arcs
Define the linear and non-linear functions on the arcs.
The behavior of each arc-function f(x) is implemented in the following c-functions (note: some c-functions are shared between various NN-functions):
-
the 'fwdS' function: eval y=f(x;p)
-
the 'fwdV' function: eval y_vec=f(x_vec;p)
-
the 'bwdPS' update pass: compute the gradients df/dx and df/dp
-
the 'bwdPV' update pass: compute the gradients df/dx and df/dp
-
the 'bwdBS' update pass: compute the gradient(s) df/dp
-
the 'bwdBV' update pass: compute the gradient(s) df/dp
-
the 'bwdP2' update pass: compute the gradients df/dx, d^2f/dx^2, df/dp, and d^2f/dp^2
-
the 'bwdB2' update pass: compute the gradients df/dp, and d^2f/dp^2
-
the 'read' function: setup all function pointers and data structures to read the parameters from the data stream and store in the most appropriate order for eval/training
-
the 'write' function: setup all function pointers and data structures to store the (trained) parameters in the given data stream
-
the 'init' function: make the structure that contains all relevant information for the fwd or bwd functions
-
the 'free' function: free the structure that contains all relevant information for the fwd or bwd functions
- Date
- Dec 2015
- Author
- Kris Demuynck
- Revision History:
- XX/01/1999 - KD
- Creation
- 13/04/2010 - KD
- added to SPRAAK
- 10/10/2012 - KD
- clean-up, documentation, added functionality
- 07/12/2015 - KD
- merging of the eval, fwd and bwd files; full rewrite to support vectors, added documentation, added functionality
TODO: V->A wherever possible (args, rv, xptr, pptr, ...)