Module Owl_neural_feedforward

module Owl_neural_feedforward: sig .. end
Neural network: Feedforward neural network

type network = {
   mutable layers : Owl_neural_neuron.neuron array;
}
val create : unit -> network
val layer_num : network -> int
val get_layer : network -> int -> Owl_neural_neuron.neuron
val connect_layer : Owl_neural_neuron.neuron -> Owl_neural_neuron.neuron -> unit
val add_layer : ?act_typ:Owl_neural_neuron.Activation.typ ->
network -> Owl_neural_neuron.neuron -> unit
val init : network -> unit
val reset : network -> unit
val mktag : int -> network -> unit
val mkpar : network -> Owl_neural_neuron.t array array
val mkpri : network -> Owl_algodiff.S.t array array
val mkadj : network -> Owl_algodiff.S.t array array
val update : network -> Owl_algodiff.S.t array array -> unit
val run : Owl_algodiff.S.t -> network -> Owl_algodiff.S.t
val forward : network ->
Owl_algodiff.S.t -> Owl_algodiff.S.t * Owl_neural_neuron.t array array
val backward : network ->
Owl_algodiff.S.t ->
Owl_algodiff.S.t array array * Owl_algodiff.S.t array array
val input_layer : int array -> Owl_neural_neuron.neuron
val activation_layer : Owl_neural_neuron.Activation.typ -> Owl_neural_neuron.neuron
val linear_layer : ?init_typ:Owl_neural_neuron.Init.typ ->
?inputs:int -> int -> Owl_neural_neuron.neuron
val linear_nobias_layer : ?init_typ:Owl_neural_neuron.Init.typ ->
?inputs:int -> int -> Owl_neural_neuron.neuron
val recurrent_layer : ?init_typ:Owl_neural_neuron.Init.typ ->
act_typ:Owl_neural_neuron.Activation.typ ->
?inputs:int -> int -> int -> Owl_neural_neuron.neuron
val lstm_layer : ?inputs:int -> int -> Owl_neural_neuron.neuron
val gru_layer : ?inputs:int -> int -> Owl_neural_neuron.neuron
val conv2d_layer : ?padding:Owl_algodiff.S.padding ->
?inputs:int array -> int array -> int array -> Owl_neural_neuron.neuron
val conv3d_layer : ?padding:Owl_algodiff.S.padding ->
?inputs:int array -> 'a -> int array -> int array -> Owl_neural_neuron.neuron
val fully_connected_layer : ?init_typ:Owl_neural_neuron.Init.typ ->
?inputs:int -> int -> Owl_neural_neuron.neuron
val max_pool2d_layer : ?padding:Owl_algodiff.S.padding ->
int array -> int array -> Owl_neural_neuron.neuron
val avg_pool2d_layer : ?padding:Owl_algodiff.S.padding ->
int array -> int array -> Owl_neural_neuron.neuron
val dropout_layer : float -> Owl_neural_neuron.neuron
val reshape_layer : ?convert:bool -> ?inputs:int array -> int array -> Owl_neural_neuron.neuron
val flatten_layer : ?convert:bool -> unit -> Owl_neural_neuron.neuron
val lambda_layer : (Owl_neural_neuron.t -> Owl_neural_neuron.t) -> Owl_neural_neuron.neuron
val input : int array -> network
val activation : Owl_neural_neuron.Activation.typ ->
network -> network
val linear : ?init_typ:Owl_neural_neuron.Init.typ ->
?act_typ:Owl_neural_neuron.Activation.typ ->
int -> network -> network
val linear_nobias : ?init_typ:Owl_neural_neuron.Init.typ ->
?act_typ:Owl_neural_neuron.Activation.typ ->
int -> network -> network
val recurrent : ?init_typ:Owl_neural_neuron.Init.typ ->
act_typ:Owl_neural_neuron.Activation.typ ->
int ->
int -> network -> network
val lstm : int -> network -> network
val gru : int -> network -> network
val conv2d : ?padding:Owl_algodiff.S.padding ->
?act_typ:Owl_neural_neuron.Activation.typ ->
int array ->
int array -> network -> network
val conv3d : ?padding:Owl_algodiff.S.padding ->
?act_typ:Owl_neural_neuron.Activation.typ ->
'a ->
int array ->
int array -> network -> network
val fully_connected : ?init_typ:Owl_neural_neuron.Init.typ ->
?act_typ:Owl_neural_neuron.Activation.typ ->
int -> network -> network
val max_pool2d : ?padding:Owl_algodiff.S.padding ->
?act_typ:Owl_neural_neuron.Activation.typ ->
int array ->
int array -> network -> network
val avg_pool2d : ?padding:Owl_algodiff.S.padding ->
?act_typ:Owl_neural_neuron.Activation.typ ->
int array ->
int array -> network -> network
val dropout : float -> network -> network
val reshape : ?convert:bool ->
int array -> network -> network
val flatten : ?convert:bool ->
network -> network
val lambda : ?act_typ:Owl_neural_neuron.Activation.typ ->
(Owl_neural_neuron.t -> Owl_neural_neuron.t) ->
network -> network
val to_string : network -> string
val print : network -> unit
val save : 'a -> string -> unit
val load : string -> network
val train_generic : ?params:Owl_neural_optimise.Params.typ ->
?init_model:bool ->
network ->
Owl_algodiff.S.t -> Owl_algodiff.S.t -> Owl_algodiff.S.elt array
val train : ?params:Owl_neural_optimise.Params.typ ->
?init_model:bool ->
network ->
Owl_algodiff.S.mat -> Owl_algodiff.S.mat -> Owl_algodiff.S.elt array
val train_cnn : ?params:Owl_neural_optimise.Params.typ ->
?init_model:bool ->
network ->
Owl_algodiff.S.arr -> Owl_algodiff.S.mat -> Owl_algodiff.S.elt array
val test_model : network ->
Owl_algodiff.S.mat -> Owl_algodiff.S.mat -> unit