Optimise.Checkpointtype state =
  Owl_neural_generic.Make_Embedded(Engine).Neuron.Optimise.Checkpoint.state =
  {mutable current_batch : int;mutable batches_per_epoch : int;mutable epochs : float;mutable batches : int;mutable loss : Algodiff.t array;mutable start_at : float;mutable stop : bool;mutable gs : Algodiff.t array array;mutable ps : Algodiff.t array array;mutable us : Algodiff.t array array;mutable ch : Algodiff.t array array array;}type typ =
  Owl_neural_generic.Make_Embedded(Engine).Neuron.Optimise.Checkpoint.typ =
  | Batch of int| Epoch of float| Custom of state -> unit| Noneval init_state : int -> float -> stateval print_state_info : state -> unitval print_summary : state -> unitval run : typ -> (string -> unit) -> int -> Algodiff.t -> state -> unitval to_string : typ -> string