sig
  type typ =
      Adagrad of float
    | Const of float
    | Decay of float * float
    | Exp_decay of float * float
    | RMSprop of float * float
    | Schedule of float array
  val run :
    Owl_neural_optimise.Learning_Rate.typ ->
    int -> '-> Owl_algodiff.S.t -> Owl_algodiff.S.t
  val default :
    Owl_neural_optimise.Learning_Rate.typ ->
    Owl_neural_optimise.Learning_Rate.typ
  val update_ch :
    Owl_neural_optimise.Learning_Rate.typ ->
    Owl_algodiff.S.t array array ->
    Owl_algodiff.S.t array array -> Owl_algodiff.S.t array array
  val to_string : Owl_neural_optimise.Learning_Rate.typ -> string
end