sig
  type typ = GD | CG | CD | NonlinearCG | DaiYuanCG | NewtonCG | Newton
  val run :
    Owl_neural_optimise.Gradient.typ ->
    '->
    Owl_algodiff.S.t ->
    Owl_algodiff.S.t -> Owl_algodiff.S.t -> Owl_algodiff.S.t
  val to_string : Owl_neural_optimise.Gradient.typ -> string
end