package owl

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
module Neuron : sig ... end
module Optimise : sig ... end
type node = Owl_neural_graph.Make(Owl_dense_matrix.D)(Owl_dense_ndarray.D).node = {
  1. mutable name : string;
  2. mutable prev : node array;
  3. mutable next : node array;
  4. mutable neuron : Neuron.neuron;
  5. mutable output : Neuron.t option;
  6. mutable network : network;
  7. mutable train : bool;
}
and network = Owl_neural_graph.Make(Owl_dense_matrix.D)(Owl_dense_ndarray.D).network = {
  1. mutable nnid : string;
  2. mutable size : int;
  3. mutable root : node option;
  4. mutable topo : node array;
}
val topological_sort : 'a -> 'a option array
val bfs_iter : (node -> 'a) -> node list -> unit
val bfs_map : (node -> 'a) -> node list -> 'a array
val bfs_array : node list -> node array
val make_network : ?nnid:string -> int -> node option -> node array -> network
val make_node : ?name:string -> ?train:bool -> node array -> node array -> Neuron.neuron -> Neuron.t option -> network -> node
val get_root : network -> node
val get_node : network -> string -> node
val get_network : node -> network
val collect_output : node array -> Neuron.t array
val connect_pair : node -> node -> unit
val connect_to_parents : node array -> node -> unit
val add_node : ?act_typ:Neuron.Activation.typ -> network -> node array -> node -> node
val init : network -> unit
val reset : network -> unit
val mktag : int -> network -> unit
val mkpar : network -> Neuron.t array array
val mkpri : network -> Neuron.t array array
val mkadj : network -> Neuron.t array array
val update : network -> Neuron.t array array -> unit
val run : Neuron.t -> network -> Neuron.t
val forward : network -> Neuron.t -> Neuron.t * Neuron.t array array
val backward : network -> Neuron.t -> Neuron.t array array * Neuron.t array array
val copy : network -> network
val _remove_training_nodes : network -> unit
val model : network -> Neuron.mat -> Neuron.mat
val model_cnn : network -> Neuron.arr -> Neuron.mat
val input : ?name:string -> int array -> node
val activation : ?name:string -> Neuron.Activation.typ -> node -> node
val linear : ?name:string -> ?init_typ:Neuron.Init.typ -> ?act_typ:Neuron.Activation.typ -> int -> node -> node
val linear_nobias : ?name:string -> ?init_typ:Neuron.Init.typ -> ?act_typ:Neuron.Activation.typ -> int -> node -> node
val embedding : ?name:string -> ?init_typ:Neuron.Init.typ -> ?act_typ:Neuron.Activation.typ -> int -> int -> node -> node
val recurrent : ?name:string -> ?init_typ:Neuron.Init.typ -> act_typ:Neuron.Activation.typ -> int -> int -> node -> node
val lstm : ?name:string -> ?init_typ:Neuron.Init.typ -> int -> node -> node
val gru : ?name:string -> ?init_typ:Neuron.Init.typ -> int -> node -> node
val conv1d : ?name:string -> ?padding:Owl_types.padding -> ?init_typ:Neuron.Init.typ -> ?act_typ:Neuron.Activation.typ -> int array -> int array -> node -> node
val conv2d : ?name:string -> ?padding:Owl_types.padding -> ?init_typ:Neuron.Init.typ -> ?act_typ:Neuron.Activation.typ -> int array -> int array -> node -> node
val conv3d : ?name:string -> ?padding:Owl_types.padding -> ?init_typ:Neuron.Init.typ -> ?act_typ:Neuron.Activation.typ -> int array -> int array -> node -> node
val fully_connected : ?name:string -> ?init_typ:Neuron.Init.typ -> ?act_typ:Neuron.Activation.typ -> int -> node -> node
val max_pool1d : ?name:string -> ?padding:Owl_types.padding -> ?act_typ:Neuron.Activation.typ -> int array -> int array -> node -> node
val max_pool2d : ?name:string -> ?padding:Owl_types.padding -> ?act_typ:Neuron.Activation.typ -> int array -> int array -> node -> node
val avg_pool1d : ?name:string -> ?padding:Owl_types.padding -> ?act_typ:Neuron.Activation.typ -> int array -> int array -> node -> node
val avg_pool2d : ?name:string -> ?padding:Owl_types.padding -> ?act_typ:Neuron.Activation.typ -> int array -> int array -> node -> node
val global_max_pool1d : ?name:string -> ?act_typ:Neuron.Activation.typ -> node -> node
val global_max_pool2d : ?name:string -> ?act_typ:Neuron.Activation.typ -> node -> node
val global_avg_pool1d : ?name:string -> ?act_typ:Neuron.Activation.typ -> node -> node
val global_avg_pool2d : ?name:string -> ?act_typ:Neuron.Activation.typ -> node -> node
val dropout : ?name:string -> float -> node -> node
val gaussian_noise : ?name:string -> float -> node -> node
val gaussian_dropout : ?name:string -> float -> node -> node
val alpha_dropout : ?name:string -> float -> node -> node
val normalisation : ?name:string -> ?axis:int -> ?training:bool -> ?decay:float -> ?mu:Neuron.arr -> ?var:Neuron.arr -> node -> node
val reshape : ?name:string -> ?convert:bool -> int array -> node -> node
val flatten : ?name:string -> ?convert:bool -> node -> node
val lambda : ?name:string -> ?act_typ:Neuron.Activation.typ -> (Neuron.t -> Neuron.t) -> node -> node
val add : ?name:string -> ?act_typ:Neuron.Activation.typ -> node array -> node
val mul : ?name:string -> ?act_typ:Neuron.Activation.typ -> node array -> node
val dot : ?name:string -> ?act_typ:Neuron.Activation.typ -> node array -> node
val max : ?name:string -> ?act_typ:Neuron.Activation.typ -> node array -> node
val average : ?name:string -> ?act_typ:Neuron.Activation.typ -> node array -> node
val concatenate : ?name:string -> ?act_typ:Neuron.Activation.typ -> int -> node array -> node
val to_string : network -> string
val print : network -> unit
val save : network -> string -> unit
val load : string -> network
val save_weights : network -> string -> unit
val load_weights : network -> string -> unit
val train_generic : ?state:Optimise.Checkpoint.state -> ?params:Optimise.Params.typ -> ?init_model:bool -> network -> Optimise.t -> Optimise.t -> Optimise.Checkpoint.state
val train : ?state:Optimise.Checkpoint.state -> ?params:Optimise.Params.typ -> ?init_model:bool -> network -> Neuron.mat -> Neuron.mat -> Optimise.Checkpoint.state
val train_cnn : ?state:Optimise.Checkpoint.state -> ?params:Optimise.Params.typ -> ?init_model:bool -> network -> Neuron.arr -> Neuron.mat -> Optimise.Checkpoint.state
OCaml

Innovation. Community. Security.