Neuron.Recurrenttype neuron_typ = {mutable whh : Optimise.Algodiff.t;mutable wxh : Optimise.Algodiff.t;mutable why : Optimise.Algodiff.t;mutable bh : Optimise.Algodiff.t;mutable by : Optimise.Algodiff.t;mutable h : Optimise.Algodiff.t;mutable act : Activation.typ;mutable init_typ : Init.typ;mutable in_shape : int array;mutable out_shape : int array;}Neuron type definition.
val create : 
  ?time_steps:int ->
  ?inputs:int ->
  int ->
  int ->
  Activation.typ ->
  Init.typ ->
  neuron_typCreate the neuron.
val connect : int array -> neuron_typ -> unitConnect this neuron to others in a neural network.
val init : neuron_typ -> unitInitialise the neuron and its parameters.
val reset : neuron_typ -> unitReset the parameters in a neuron.
val mktag : int -> neuron_typ -> unitTag the neuron, used by Algodiff module.
val mkpar : neuron_typ -> Optimise.Algodiff.t arrayAssemble all the parameters in an array, used by Optimise module.
val mkpri : neuron_typ -> Optimise.Algodiff.t arrayAssemble all the primial values in an array, used by Optimise module.
val mkadj : neuron_typ -> Optimise.Algodiff.t arrayAssemble all the adjacent values in an array, used by Optimise module.
val update : neuron_typ -> Optimise.Algodiff.t array -> unitUpdate parameters in a neuron, used by Optimise module.
val copy : neuron_typ -> neuron_typMake a deep copy of the neuron and its parameters.
val run : Optimise.Algodiff.t -> neuron_typ -> Optimise.Algodiff.tExecute the computation in this neuron.
val to_string : neuron_typ -> stringConvert the neuron to its string representation. The string is often a summary of the parameters defined in the neuron.