Welcome to CADJN Python’s documentation!

CADJN Python is the Python module to interface the CADJN neural network routines. Networks are created from a definition, and then the weights can get be set and retrieved and the network response be evaluated given a row matrix of data inputs. Arrays are passed using numpy ndarrays.

For learning, some objetive functions can be evaluated given some specifications, i.e. the desired response. Either a scalar objective funciton, like the sum of log probabilities can be compputed for the entire dataset, or the log probabilities can be returned in a vector, one for each pair of input data and specs.

Of the scalar objective function, the gradient and Hessian-vector products can be evaluated. Of the vector response function, the first order derivatives Jacobian-vector product and vector-Jacobian product can be evaluated.

The time overhead of the gradient vs. the objective function is a factor of less than three, as is the case for the two Jacobian products. The evaluation of a Hessian-vector product takes about nine times as long as the scalar objective function.

Indices and tables