Module Sig.LSTM

type neuron_typ = {
  1. mutable wxi : Optimise.Algodiff.t;
  2. mutable whi : Optimise.Algodiff.t;
  3. mutable wxc : Optimise.Algodiff.t;
  4. mutable whc : Optimise.Algodiff.t;
  5. mutable wxf : Optimise.Algodiff.t;
  6. mutable whf : Optimise.Algodiff.t;
  7. mutable wxo : Optimise.Algodiff.t;
  8. mutable who : Optimise.Algodiff.t;
  9. mutable bi : Optimise.Algodiff.t;
  10. mutable bc : Optimise.Algodiff.t;
  11. mutable bf : Optimise.Algodiff.t;
  12. mutable bo : Optimise.Algodiff.t;
  13. mutable c : Optimise.Algodiff.t;
  14. mutable h : Optimise.Algodiff.t;
  15. mutable init_typ : Init.typ;
  16. mutable in_shape : int array;
  17. mutable out_shape : int array;
}

Neuron type definition.

val create : ?time_steps:int -> ?inputs:int -> int -> Init.typ -> neuron_typ

Create the neuron.

val connect : int array -> neuron_typ -> unit

Connect this neuron to others in a neural network.

val init : neuron_typ -> unit

Initialise the neuron and its parameters.

val reset : neuron_typ -> unit

Reset the parameters in a neuron.

val mktag : int -> neuron_typ -> unit

Tag the neuron, used by Algodiff module.

val mkpar : neuron_typ -> Optimise.Algodiff.t array

Assemble all the parameters in an array, used by Optimise module.

val mkpri : neuron_typ -> Optimise.Algodiff.t array

Assemble all the primial values in an array, used by Optimise module.

val mkadj : neuron_typ -> Optimise.Algodiff.t array

Assemble all the adjacent values in an array, used by Optimise module.

val update : neuron_typ -> Optimise.Algodiff.t array -> unit

Update parameters in a neuron, used by Optimise module.

val copy : neuron_typ -> neuron_typ

Make a deep copy of the neuron and its parameters.

Execute the computation in this neuron.

val to_string : neuron_typ -> string

Convert the neuron to its string representation. The string is often a summary of the parameters defined in the neuron.

val to_name : unit -> string

Return the name of the neuron.