sig
module type MatrixSig =
sig
type mat
type arr
type elt = float
val create :
int ->
int ->
Owl_algodiff_generic.MatrixSig.elt ->
Owl_algodiff_generic.MatrixSig.mat
val empty : int -> int -> Owl_algodiff_generic.MatrixSig.mat
val zeros : int -> int -> Owl_algodiff_generic.MatrixSig.mat
val uniform :
?scale:Owl_algodiff_generic.MatrixSig.elt ->
int -> int -> Owl_algodiff_generic.MatrixSig.mat
val gaussian :
?sigma:Owl_algodiff_generic.MatrixSig.elt ->
int -> int -> Owl_algodiff_generic.MatrixSig.mat
val bernoulli :
?p:float ->
?seed:int -> int -> int -> Owl_algodiff_generic.MatrixSig.mat
val shape : Owl_algodiff_generic.MatrixSig.mat -> int * int
val row_num : Owl_algodiff_generic.MatrixSig.mat -> int
val col_num : Owl_algodiff_generic.MatrixSig.mat -> int
val numel : Owl_algodiff_generic.MatrixSig.mat -> int
val get :
Owl_algodiff_generic.MatrixSig.mat ->
int -> int -> Owl_algodiff_generic.MatrixSig.elt
val set :
Owl_algodiff_generic.MatrixSig.mat ->
int -> int -> Owl_algodiff_generic.MatrixSig.elt -> unit
val row :
Owl_algodiff_generic.MatrixSig.mat ->
int -> Owl_algodiff_generic.MatrixSig.mat
val clone :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val reset : Owl_algodiff_generic.MatrixSig.mat -> unit
val reshape :
int ->
int ->
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val copy_row_to :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat -> int -> unit
val copy_col_to :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat -> int -> unit
val mapi :
(int ->
int ->
Owl_algodiff_generic.MatrixSig.elt ->
Owl_algodiff_generic.MatrixSig.elt) ->
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val iteri_rows :
(int -> Owl_algodiff_generic.MatrixSig.mat -> unit) ->
Owl_algodiff_generic.MatrixSig.mat -> unit
val iter2_rows :
(Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat -> unit) ->
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat -> unit
val draw_rows :
?replacement:bool ->
Owl_algodiff_generic.MatrixSig.mat ->
int -> Owl_algodiff_generic.MatrixSig.mat * int array
val draw_rows2 :
?replacement:bool ->
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat ->
int ->
Owl_algodiff_generic.MatrixSig.mat *
Owl_algodiff_generic.MatrixSig.mat * int array
val of_arrays :
Owl_algodiff_generic.MatrixSig.elt array array ->
Owl_algodiff_generic.MatrixSig.mat
val of_rows :
Owl_algodiff_generic.MatrixSig.mat array ->
Owl_algodiff_generic.MatrixSig.mat
val to_ndarray :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.arr
val of_ndarray :
Owl_algodiff_generic.MatrixSig.arr ->
Owl_algodiff_generic.MatrixSig.mat
val print : Owl_algodiff_generic.MatrixSig.mat -> unit
val max :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.elt
val abs :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val neg :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val floor :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val ceil :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val round :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val sqr :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val sqrt :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val log :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val log2 :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val log10 :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val exp :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val sin :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val cos :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val tan :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val sinh :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val cosh :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val tanh :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val asin :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val acos :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val atan :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val asinh :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val acosh :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val atanh :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val inv :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val trace :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.elt
val sum :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.elt
val sum_rows :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val signum :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val transpose :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val l1norm :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.elt
val l2norm :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.elt
val l2norm_sqr :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.elt
val sigmoid :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val relu :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val clip_by_l2norm :
Owl_algodiff_generic.MatrixSig.elt ->
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val pow :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val scalar_pow :
Owl_algodiff_generic.MatrixSig.elt ->
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val pow_scalar :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.elt ->
Owl_algodiff_generic.MatrixSig.mat
val atan2 :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val scalar_atan2 :
Owl_algodiff_generic.MatrixSig.elt ->
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val atan2_scalar :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.elt ->
Owl_algodiff_generic.MatrixSig.mat
val add :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val sub :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val mul :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val div :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val add_scalar :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.elt ->
Owl_algodiff_generic.MatrixSig.mat
val sub_scalar :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.elt ->
Owl_algodiff_generic.MatrixSig.mat
val mul_scalar :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.elt ->
Owl_algodiff_generic.MatrixSig.mat
val div_scalar :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.elt ->
Owl_algodiff_generic.MatrixSig.mat
val scalar_add :
Owl_algodiff_generic.MatrixSig.elt ->
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val scalar_sub :
Owl_algodiff_generic.MatrixSig.elt ->
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val scalar_mul :
Owl_algodiff_generic.MatrixSig.elt ->
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val scalar_div :
Owl_algodiff_generic.MatrixSig.elt ->
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
val dot :
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat ->
Owl_algodiff_generic.MatrixSig.mat
end
module type NdarraySig =
sig
type arr
type elt = float
val empty : int array -> Owl_algodiff_generic.NdarraySig.arr
val zeros : int array -> Owl_algodiff_generic.NdarraySig.arr
val uniform :
?scale:Owl_algodiff_generic.NdarraySig.elt ->
int array -> Owl_algodiff_generic.NdarraySig.arr
val gaussian :
?sigma:Owl_algodiff_generic.NdarraySig.elt ->
int array -> Owl_algodiff_generic.NdarraySig.arr
val bernoulli :
?p:float ->
?seed:int -> int array -> Owl_algodiff_generic.NdarraySig.arr
val shape : Owl_algodiff_generic.NdarraySig.arr -> int array
val numel : Owl_algodiff_generic.NdarraySig.arr -> int
val reset : Owl_algodiff_generic.NdarraySig.arr -> unit
val reshape :
Owl_algodiff_generic.NdarraySig.arr ->
int array -> Owl_algodiff_generic.NdarraySig.arr
val sum_slices :
?axis:int ->
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val print : Owl_algodiff_generic.NdarraySig.arr -> unit
val abs :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val neg :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val floor :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val ceil :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val round :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val sqr :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val sqrt :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val log :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val log2 :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val log10 :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val exp :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val sin :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val cos :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val tan :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val sinh :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val cosh :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val tanh :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val asin :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val acos :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val atan :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val asinh :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val acosh :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val atanh :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val sum :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.elt
val signum :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val l1norm :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.elt
val l2norm :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.elt
val l2norm_sqr :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.elt
val sigmoid :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val relu :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val clip_by_l2norm :
Owl_algodiff_generic.NdarraySig.elt ->
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val pow :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val scalar_pow :
Owl_algodiff_generic.NdarraySig.elt ->
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val pow_scalar :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.elt ->
Owl_algodiff_generic.NdarraySig.arr
val atan2 :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val scalar_atan2 :
Owl_algodiff_generic.NdarraySig.elt ->
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val atan2_scalar :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.elt ->
Owl_algodiff_generic.NdarraySig.arr
val add :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val sub :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val mul :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val div :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val add_scalar :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.elt ->
Owl_algodiff_generic.NdarraySig.arr
val sub_scalar :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.elt ->
Owl_algodiff_generic.NdarraySig.arr
val mul_scalar :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.elt ->
Owl_algodiff_generic.NdarraySig.arr
val div_scalar :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.elt ->
Owl_algodiff_generic.NdarraySig.arr
val scalar_add :
Owl_algodiff_generic.NdarraySig.elt ->
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val scalar_sub :
Owl_algodiff_generic.NdarraySig.elt ->
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val scalar_mul :
Owl_algodiff_generic.NdarraySig.elt ->
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val scalar_div :
Owl_algodiff_generic.NdarraySig.elt ->
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
type padding
val conv2d :
?padding:Owl_algodiff_generic.NdarraySig.padding ->
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr ->
int array -> Owl_algodiff_generic.NdarraySig.arr
val conv2d_backward_input :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr ->
int array ->
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val conv2d_backward_kernel :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr ->
int array ->
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val conv3d :
?padding:Owl_algodiff_generic.NdarraySig.padding ->
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr ->
int array -> Owl_algodiff_generic.NdarraySig.arr
val conv3d_backward_input :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr ->
int array ->
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val conv3d_backward_kernel :
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr ->
int array ->
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val max_pool2d :
?padding:Owl_algodiff_generic.NdarraySig.padding ->
Owl_algodiff_generic.NdarraySig.arr ->
int array -> int array -> Owl_algodiff_generic.NdarraySig.arr
val max_pool3d :
?padding:Owl_algodiff_generic.NdarraySig.padding ->
Owl_algodiff_generic.NdarraySig.arr ->
int array -> int array -> Owl_algodiff_generic.NdarraySig.arr
val avg_pool2d :
?padding:Owl_algodiff_generic.NdarraySig.padding ->
Owl_algodiff_generic.NdarraySig.arr ->
int array -> int array -> Owl_algodiff_generic.NdarraySig.arr
val avg_pool3d :
?padding:Owl_algodiff_generic.NdarraySig.padding ->
Owl_algodiff_generic.NdarraySig.arr ->
int array -> int array -> Owl_algodiff_generic.NdarraySig.arr
val max_pool2d_backward :
Owl_algodiff_generic.NdarraySig.padding ->
Owl_algodiff_generic.NdarraySig.arr ->
int array ->
int array ->
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
val avg_pool2d_backward :
Owl_algodiff_generic.NdarraySig.padding ->
Owl_algodiff_generic.NdarraySig.arr ->
int array ->
int array ->
Owl_algodiff_generic.NdarraySig.arr ->
Owl_algodiff_generic.NdarraySig.arr
end
module Make :
functor
(M : MatrixSig) (A : sig
type arr = M.arr
type elt = M.elt
val empty : int array -> arr
val zeros : int array -> arr
val uniform : ?scale:elt -> int array -> arr
val gaussian : ?sigma:elt -> int array -> arr
val bernoulli :
?p:float -> ?seed:int -> int array -> arr
val shape : arr -> int array
val numel : arr -> int
val reset : arr -> unit
val reshape : arr -> int array -> arr
val sum_slices : ?axis:int -> arr -> arr
val print : arr -> unit
val abs : arr -> arr
val neg : arr -> arr
val floor : arr -> arr
val ceil : arr -> arr
val round : arr -> arr
val sqr : arr -> arr
val sqrt : arr -> arr
val log : arr -> arr
val log2 : arr -> arr
val log10 : arr -> arr
val exp : arr -> arr
val sin : arr -> arr
val cos : arr -> arr
val tan : arr -> arr
val sinh : arr -> arr
val cosh : arr -> arr
val tanh : arr -> arr
val asin : arr -> arr
val acos : arr -> arr
val atan : arr -> arr
val asinh : arr -> arr
val acosh : arr -> arr
val atanh : arr -> arr
val sum : arr -> elt
val signum : arr -> arr
val l1norm : arr -> elt
val l2norm : arr -> elt
val l2norm_sqr : arr -> elt
val sigmoid : arr -> arr
val relu : arr -> arr
val clip_by_l2norm : elt -> arr -> arr
val pow : arr -> arr -> arr
val scalar_pow : elt -> arr -> arr
val pow_scalar : arr -> elt -> arr
val atan2 : arr -> arr -> arr
val scalar_atan2 : elt -> arr -> arr
val atan2_scalar : arr -> elt -> arr
val add : arr -> arr -> arr
val sub : arr -> arr -> arr
val mul : arr -> arr -> arr
val div : arr -> arr -> arr
val add_scalar : arr -> elt -> arr
val sub_scalar : arr -> elt -> arr
val mul_scalar : arr -> elt -> arr
val div_scalar : arr -> elt -> arr
val scalar_add : elt -> arr -> arr
val scalar_sub : elt -> arr -> arr
val scalar_mul : elt -> arr -> arr
val scalar_div : elt -> arr -> arr
type padding
val conv2d :
?padding:padding ->
arr -> arr -> int array -> arr
val conv2d_backward_input :
arr -> arr -> int array -> arr -> arr
val conv2d_backward_kernel :
arr -> arr -> int array -> arr -> arr
val conv3d :
?padding:padding ->
arr -> arr -> int array -> arr
val conv3d_backward_input :
arr -> arr -> int array -> arr -> arr
val conv3d_backward_kernel :
arr -> arr -> int array -> arr -> arr
val max_pool2d :
?padding:padding ->
arr -> int array -> int array -> arr
val max_pool3d :
?padding:padding ->
arr -> int array -> int array -> arr
val avg_pool2d :
?padding:padding ->
arr -> int array -> int array -> arr
val avg_pool3d :
?padding:padding ->
arr -> int array -> int array -> arr
val max_pool2d_backward :
padding ->
arr -> int array -> int array -> arr -> arr
val avg_pool2d_backward :
padding ->
arr -> int array -> int array -> arr -> arr
end) ->
sig
type arr = A.arr
type mat = M.mat
type elt = M.elt
type padding = A.padding
type trace_op
type t =
F of float
| Arr of Owl_algodiff_generic.Make.arr
| Mat of Owl_algodiff_generic.Make.mat
| DF of Owl_algodiff_generic.Make.t * Owl_algodiff_generic.Make.t *
int
| DR of Owl_algodiff_generic.Make.t *
Owl_algodiff_generic.Make.t Pervasives.ref *
Owl_algodiff_generic.Make.trace_op * int Pervasives.ref *
int
module Maths :
sig
val add :
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val sub :
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val mul :
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val div :
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val dot :
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val pow :
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val atan2 :
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val min2 :
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val max2 :
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val cross_entropy :
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val neg :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val abs :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val signum :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val floor :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val ceil :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val round :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val sqr :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val sqrt :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val log :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val log2 :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val log10 :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val exp :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val sin :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val cos :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val tan :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val sinh :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val cosh :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val tanh :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val asin :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val acos :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val atan :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val asinh :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val acosh :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val atanh :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val sum :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val average :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val transpose :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val l1norm :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val l2norm :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val l2norm_sqr :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val sigmoid :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val relu :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val softplus :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val softsign :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val softmax :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val ( + ) :
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val ( - ) :
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val ( * ) :
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val ( / ) :
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val ( *@ ) :
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val ( ** ) :
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val conv2d :
?padding:Owl_algodiff_generic.Make.padding ->
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t ->
int array -> Owl_algodiff_generic.Make.t
val conv3d :
?padding:Owl_algodiff_generic.Make.padding ->
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t ->
int array -> Owl_algodiff_generic.Make.t
val max_pool2d :
Owl_algodiff_generic.Make.padding ->
Owl_algodiff_generic.Make.t ->
int array -> int array -> Owl_algodiff_generic.Make.t
val avg_pool2d :
Owl_algodiff_generic.Make.padding ->
Owl_algodiff_generic.Make.t ->
int array -> int array -> Owl_algodiff_generic.Make.t
val reshape :
Owl_algodiff_generic.Make.t ->
int array -> Owl_algodiff_generic.Make.t
val flatten :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val mat_to_arr :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val arr_to_mat :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val dropout :
?rate:float ->
?seed:int ->
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
end
module Mat :
sig
val empty : int -> int -> Owl_algodiff_generic.Make.t
val zeros : int -> int -> Owl_algodiff_generic.Make.t
val uniform :
?scale:float -> int -> int -> Owl_algodiff_generic.Make.t
val gaussian :
?sigma:float -> int -> int -> Owl_algodiff_generic.Make.t
val shape : Owl_algodiff_generic.Make.t -> int * int
val numel : Owl_algodiff_generic.Make.t -> int
val row_num : Owl_algodiff_generic.Make.t -> int
val col_num : Owl_algodiff_generic.Make.t -> int
val reset : Owl_algodiff_generic.Make.t -> unit
val reshape :
int ->
int ->
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val get :
Owl_algodiff_generic.Make.t ->
int -> int -> Owl_algodiff_generic.Make.t
val set :
Owl_algodiff_generic.Make.t ->
int ->
int ->
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val add :
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val sub :
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val mul :
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val div :
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val dot :
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val clip_by_l2norm :
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val mapi :
(int ->
int ->
Owl_algodiff_generic.Make.elt -> Owl_algodiff_generic.Make.elt) ->
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val iter2_rows :
(Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t -> unit) ->
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t -> unit
val map_by_row :
(Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t) ->
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val draw_rows2 :
?replacement:bool ->
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t ->
int ->
Owl_algodiff_generic.Make.t * Owl_algodiff_generic.Make.t *
int array
end
module Arr :
sig
val empty : int array -> Owl_algodiff_generic.Make.t
val zeros : int array -> Owl_algodiff_generic.Make.t
val uniform :
?scale:float -> int array -> Owl_algodiff_generic.Make.t
val gaussian :
?sigma:float -> int array -> Owl_algodiff_generic.Make.t
val shape : Owl_algodiff_generic.Make.t -> int array
val numel : Owl_algodiff_generic.Make.t -> int
val reset : Owl_algodiff_generic.Make.t -> unit
val reshape :
Owl_algodiff_generic.Make.t ->
int array -> Owl_algodiff_generic.Make.t
end
val diff :
(Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t) ->
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val diff' :
(Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t) ->
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t * Owl_algodiff_generic.Make.t
val grad :
(Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t) ->
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val grad' :
(Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t) ->
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t * Owl_algodiff_generic.Make.t
val jacobian :
(Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t) ->
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val jacobian' :
(Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t) ->
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t * Owl_algodiff_generic.Make.t
val jacobianv :
(Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t) ->
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val jacobianv' :
(Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t) ->
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t * Owl_algodiff_generic.Make.t
val jacobianTv :
(Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t) ->
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val jacobianTv' :
(Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t) ->
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t * Owl_algodiff_generic.Make.t
val hessian :
(Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t) ->
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val hessian' :
(Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t) ->
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t * Owl_algodiff_generic.Make.t
val hessianv :
(Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t) ->
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val hessianv' :
(Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t) ->
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t * Owl_algodiff_generic.Make.t
val laplacian :
(Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t) ->
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val laplacian' :
(Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t) ->
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t * Owl_algodiff_generic.Make.t
val gradhessian :
(Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t) ->
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t * Owl_algodiff_generic.Make.t
val gradhessian' :
(Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t) ->
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t * Owl_algodiff_generic.Make.t *
Owl_algodiff_generic.Make.t
val gradhessianv :
(Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t) ->
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t * Owl_algodiff_generic.Make.t
val gradhessianv' :
(Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t) ->
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t * Owl_algodiff_generic.Make.t *
Owl_algodiff_generic.Make.t
val pack_flt :
Owl_algodiff_generic.Make.elt -> Owl_algodiff_generic.Make.t
val unpack_flt :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.elt
val pack_arr :
Owl_algodiff_generic.Make.arr -> Owl_algodiff_generic.Make.t
val unpack_arr :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.arr
val pack_mat :
Owl_algodiff_generic.Make.mat -> Owl_algodiff_generic.Make.t
val unpack_mat :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.mat
val tag : unit -> int
val primal :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val primal' :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val adjval :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val adjref :
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t Pervasives.ref
val tangent :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
val make_forward :
Owl_algodiff_generic.Make.t ->
Owl_algodiff_generic.Make.t -> int -> Owl_algodiff_generic.Make.t
val make_reverse :
Owl_algodiff_generic.Make.t -> int -> Owl_algodiff_generic.Make.t
val reverse_prop :
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t -> unit
val type_info : Owl_algodiff_generic.Make.t -> string
val shape : Owl_algodiff_generic.Make.t -> int array
val clip_by_l2norm :
Owl_algodiff_generic.Make.elt ->
Owl_algodiff_generic.Make.t -> Owl_algodiff_generic.Make.t
end
end