sig
type neuron_typ = {
mutable wxi : Owl_neural_neuron.t;
mutable whi : Owl_neural_neuron.t;
mutable wxc : Owl_neural_neuron.t;
mutable whc : Owl_neural_neuron.t;
mutable wxf : Owl_neural_neuron.t;
mutable whf : Owl_neural_neuron.t;
mutable wxo : Owl_neural_neuron.t;
mutable who : Owl_neural_neuron.t;
mutable bi : Owl_neural_neuron.t;
mutable bc : Owl_neural_neuron.t;
mutable bf : Owl_neural_neuron.t;
mutable bo : Owl_neural_neuron.t;
mutable c : Owl_neural_neuron.t;
mutable h : Owl_neural_neuron.t;
mutable init_typ : Owl_neural_neuron.Init.typ;
mutable in_shape : int array;
mutable out_shape : int array;
}
val create : ?inputs:int -> int -> Owl_neural_neuron.LSTM.neuron_typ
val connect : int array -> Owl_neural_neuron.LSTM.neuron_typ -> unit
val init : Owl_neural_neuron.LSTM.neuron_typ -> unit
val reset : Owl_neural_neuron.LSTM.neuron_typ -> unit
val mktag : int -> Owl_neural_neuron.LSTM.neuron_typ -> unit
val mkpar : Owl_neural_neuron.LSTM.neuron_typ -> Owl_neural_neuron.t array
val mkpri : Owl_neural_neuron.LSTM.neuron_typ -> Owl_algodiff.S.t array
val mkadj : Owl_neural_neuron.LSTM.neuron_typ -> Owl_algodiff.S.t array
val update :
Owl_neural_neuron.LSTM.neuron_typ -> Owl_algodiff.S.t array -> unit
val run :
Owl_algodiff.S.t -> Owl_neural_neuron.LSTM.neuron_typ -> Owl_algodiff.S.t
val to_string : Owl_neural_neuron.LSTM.neuron_typ -> string
end