Module Net

type activation =
  1. | Sigmoid
  2. | Tanh
  3. | Relu
  4. | Linear
val squash : activation -> float -> float
val slope : activation -> z:float -> a:float -> float
type layer = {
  1. w : Matrix.t;
  2. b : Matrix.t;
  3. f : activation;
}
type t = layer list
val make : seed:int -> ?hidden:activation -> ?last:activation -> int list -> t
val forward : t -> float array -> float array
val sizes : t -> int list
val weights : t -> int
type pass = {
  1. input : Matrix.t;
  2. steps : (Matrix.t * Matrix.t) list;
}
val forward_pass : t -> float array -> pass
val output : pass -> float array