Owl_optimise_generic_sig.Sig
module Algodiff : Owl_algodiff_generic_sig.Sig
module Utils : sig ... end
Utils module
module Learning_Rate : sig ... end
Strategies for learning rate update
module Batch : sig ... end
Batch module
module Loss : sig ... end
Loss module
module Gradient : sig ... end
Gradient module
module Momentum : sig ... end
Momentum module
module Regularisation : sig ... end
Regularisation module
module Clipping : sig ... end
Clipping module
module Stopping : sig ... end
Stopping module
module Checkpoint : sig ... end
Checkpoint module
module Params : sig ... end
Params module
val minimise_weight :
?state:Checkpoint.state ->
Params.typ ->
(Algodiff.t -> Algodiff.t -> Algodiff.t) ->
Algodiff.t ->
Algodiff.t ->
Algodiff.t ->
Checkpoint.state * Algodiff.t
This function minimises the weight w
of passed-in function f
.
* f
is a function f : w -> x -> y
. * w
is a row vector but y
can have any shape.
val minimise_network :
?state:Checkpoint.state ->
Params.typ ->
(Algodiff.t -> Algodiff.t * Algodiff.t array array) ->
(Algodiff.t -> Algodiff.t array array * Algodiff.t array array) ->
(Algodiff.t array array -> unit) ->
(string -> unit) ->
Algodiff.t ->
Algodiff.t ->
Checkpoint.state
This function is specifically designed for minimising the weights in a neural network of graph structure. In Owl's earlier versions, the functions in the regression module were actually implemented using this function.
val minimise_fun :
?state:Checkpoint.state ->
Params.typ ->
(Algodiff.t -> Algodiff.t) ->
Algodiff.t ->
Checkpoint.state * Algodiff.t
This function minimises f : x -> y
w.r.t x
.
x
is an ndarray; and y
is an scalar value.
val minimise_compiled_network :
?state:Checkpoint.state ->
Params.typ ->
(Algodiff.t -> Algodiff.t -> Algodiff.t) ->
(unit -> unit) ->
(string -> unit) ->
Algodiff.t ->
Algodiff.t ->
Checkpoint.state
This function is minimize the weights in a compiled neural network of graph structure.