Module type Owl_types.Ndarray_Mutable

include Owl_types_ndarray_mutable.Sig
include Owl_types_ndarray_algodiff.Sig
include Owl_types_ndarray_eltcmp.Sig
include Owl_types_ndarray_basic.Sig
type arr
type elt
val empty : int array -> arr
val zeros : int array -> arr
val ones : int array -> arr
val create : int array -> elt -> arr
val sequential : ?a:elt -> ?step:elt -> int array -> arr
val uniform : ?a:elt -> ?b:elt -> int array -> arr
val gaussian : ?mu:elt -> ?sigma:elt -> int array -> arr
val bernoulli : ?p:elt -> int array -> arr
val init : int array -> ( int -> elt ) -> arr
val init_nd : int array -> ( int array -> elt ) -> arr
val shape : arr -> int array
val numel : arr -> int
val get : arr -> int array -> elt
val set : arr -> int array -> elt -> unit
val get_slice : int list list -> arr -> arr
val set_slice : int list list -> arr -> arr -> unit
val get_fancy : Owl_types_common.index list -> arr -> arr
val set_fancy : Owl_types_common.index list -> arr -> arr -> unit
val copy : arr -> arr
val copy_ : out:arr -> arr -> unit
val reset : arr -> unit
val reshape : arr -> int array -> arr
val reverse : arr -> arr
val tile : arr -> int array -> arr
val repeat : arr -> int array -> arr
val concatenate : ?axis:int -> arr array -> arr
val stack : ?axis:int -> arr array -> arr
val split : ?axis:int -> int array -> arr -> arr array
val expand : ?hi:bool -> arr -> int -> arr
val squeeze : ?axis:int array -> arr -> arr
val draw : ?axis:int -> arr -> int -> arr * int array
val map : ( elt -> elt ) -> arr -> arr
val fold : ?axis:int -> ( elt -> elt -> elt ) -> elt -> arr -> arr
val scan : ?axis:int -> ( elt -> elt -> elt ) -> arr -> arr
val one_hot : int -> arr -> arr
val pad : ?v:elt -> int list list -> arr -> arr
val print : ?max_row:int -> ?max_col:int -> ?header:bool -> ?fmt:( elt -> string ) -> 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_reduce : ?axis:int array -> arr -> arr
val signum : arr -> arr
val sigmoid : arr -> arr
val relu : arr -> arr
val dawsn : arr -> arr
val min' : arr -> elt
val max' : arr -> elt
val sum' : arr -> elt
val log_sum_exp' : arr -> elt
val log_sum_exp : ?axis:int -> ?keep_dims:bool -> arr -> arr
val l1norm' : arr -> elt
val l2norm' : arr -> elt
val l2norm_sqr' : arr -> elt
val clip_by_value : ?amin:elt -> ?amax:elt -> 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
val fma : arr -> arr -> arr -> arr
val conv1d : ?padding:Owl_types_common.padding -> arr -> arr -> int array -> arr
val conv2d : ?padding:Owl_types_common.padding -> arr -> arr -> int array -> arr
val conv3d : ?padding:Owl_types_common.padding -> arr -> arr -> int array -> arr
val dilated_conv1d : ?padding:Owl_types_common.padding -> arr -> arr -> int array -> int array -> arr
val dilated_conv2d : ?padding:Owl_types_common.padding -> arr -> arr -> int array -> int array -> arr
val dilated_conv3d : ?padding:Owl_types_common.padding -> arr -> arr -> int array -> int array -> arr
val transpose_conv1d : ?padding:Owl_types_common.padding -> arr -> arr -> int array -> arr
val transpose_conv2d : ?padding:Owl_types_common.padding -> arr -> arr -> int array -> arr
val transpose_conv3d : ?padding:Owl_types_common.padding -> arr -> arr -> int array -> arr
val max_pool1d : ?padding:Owl_types_common.padding -> arr -> int array -> int array -> arr
val max_pool2d : ?padding:Owl_types_common.padding -> arr -> int array -> int array -> arr
val max_pool3d : ?padding:Owl_types_common.padding -> arr -> int array -> int array -> arr
val avg_pool1d : ?padding:Owl_types_common.padding -> arr -> int array -> int array -> arr
val avg_pool2d : ?padding:Owl_types_common.padding -> arr -> int array -> int array -> arr
val avg_pool3d : ?padding:Owl_types_common.padding -> arr -> int array -> int array -> arr
val upsampling2d : arr -> int array -> arr
val conv1d_backward_input : arr -> arr -> int array -> arr -> arr
val conv1d_backward_kernel : arr -> arr -> int array -> arr -> arr
val conv2d_backward_input : arr -> arr -> int array -> arr -> arr
val conv2d_backward_kernel : arr -> arr -> int array -> arr -> arr
val conv3d_backward_input : arr -> arr -> int array -> arr -> arr
val conv3d_backward_kernel : arr -> arr -> int array -> arr -> arr
val dilated_conv1d_backward_input : arr -> arr -> int array -> int array -> arr -> arr
val dilated_conv1d_backward_kernel : arr -> arr -> int array -> int array -> arr -> arr
val dilated_conv2d_backward_input : arr -> arr -> int array -> int array -> arr -> arr
val dilated_conv2d_backward_kernel : arr -> arr -> int array -> int array -> arr -> arr
val dilated_conv3d_backward_input : arr -> arr -> int array -> int array -> arr -> arr
val dilated_conv3d_backward_kernel : arr -> arr -> int array -> int array -> arr -> arr
val transpose_conv1d_backward_input : arr -> arr -> int array -> arr -> arr
val transpose_conv1d_backward_kernel : arr -> arr -> int array -> arr -> arr
val transpose_conv2d_backward_input : arr -> arr -> int array -> arr -> arr
val transpose_conv2d_backward_kernel : arr -> arr -> int array -> arr -> arr
val transpose_conv3d_backward_input : arr -> arr -> int array -> arr -> arr
val transpose_conv3d_backward_kernel : arr -> arr -> int array -> arr -> arr
val max_pool1d_backward : Owl_types_common.padding -> arr -> int array -> int array -> arr -> arr
val max_pool2d_backward : Owl_types_common.padding -> arr -> int array -> int array -> arr -> arr
val max_pool3d_backward : Owl_types_common.padding -> arr -> int array -> int array -> arr -> arr
val avg_pool1d_backward : Owl_types_common.padding -> arr -> int array -> int array -> arr -> arr
val avg_pool2d_backward : Owl_types_common.padding -> arr -> int array -> int array -> arr -> arr
val avg_pool3d_backward : Owl_types_common.padding -> arr -> int array -> int array -> arr -> arr
val upsampling2d_backward : arr -> int array -> arr -> arr
val row_num : arr -> int
val col_num : arr -> int
val row : arr -> int -> arr
val rows : arr -> int array -> arr
val copy_row_to : arr -> arr -> int -> unit
val copy_col_to : arr -> arr -> int -> unit
val dot : arr -> arr -> arr
val diag : ?k:int -> arr -> arr
val trace : arr -> elt
val transpose : ?axis:int array -> arr -> arr
val to_rows : arr -> arr array
val of_rows : arr array -> arr
val to_cols : arr -> arr array
val of_cols : arr array -> arr
val of_array : elt array -> int array -> arr
val of_arrays : elt array array -> arr
val float_to_elt : float -> elt
val elt_to_float : elt -> float
val elt_equal : arr -> arr -> arr
val elt_not_equal : arr -> arr -> arr
val elt_less : arr -> arr -> arr
val elt_greater : arr -> arr -> arr
val elt_less_equal : arr -> arr -> arr
val elt_greater_equal : arr -> arr -> arr
val elt_equal_scalar : arr -> elt -> arr
val elt_not_equal_scalar : arr -> elt -> arr
val elt_less_scalar : arr -> elt -> arr
val elt_greater_scalar : arr -> elt -> arr
val elt_less_equal_scalar : arr -> elt -> arr
val elt_greater_equal_scalar : arr -> elt -> arr
module Scalar : sig ... end
module Mat : sig ... end
module Linalg : sig ... end
val create_ : out:arr -> elt -> unit
val uniform_ : ?a:elt -> ?b:elt -> out:arr -> unit
val gaussian_ : ?mu:elt -> ?sigma:elt -> out:arr -> unit
val sequential_ : ?a:elt -> ?step:elt -> out:arr -> unit
val bernoulli_ : ?p:elt -> out:arr -> unit
val zeros_ : out:arr -> unit
val ones_ : out:arr -> unit
val one_hot_ : out:arr -> int -> arr -> unit
val get_slice_ : out:arr -> int list list -> arr -> unit
val set_slice_ : out:arr -> int list list -> arr -> arr -> unit
val sub_left : arr -> int -> int -> arr
val reshape_ : out:arr -> arr -> unit
val reverse_ : out:arr -> arr -> unit
val transpose_ : out:arr -> ?axis:int array -> arr -> unit
val repeat_ : out:arr -> arr -> int array -> unit
val tile_ : out:arr -> arr -> int array -> unit
val pad_ : out:arr -> ?v:elt -> int list list -> arr -> unit
val hypot : arr -> arr -> arr
val fmod : arr -> arr -> arr
val min2 : arr -> arr -> arr
val max2 : arr -> arr -> arr
val add_ : ?out:arr -> arr -> arr -> unit
val sub_ : ?out:arr -> arr -> arr -> unit
val mul_ : ?out:arr -> arr -> arr -> unit
val div_ : ?out:arr -> arr -> arr -> unit
val pow_ : ?out:arr -> arr -> arr -> unit
val atan2_ : ?out:arr -> arr -> arr -> unit
val hypot_ : ?out:arr -> arr -> arr -> unit
val fmod_ : ?out:arr -> arr -> arr -> unit
val min2_ : ?out:arr -> arr -> arr -> unit
val max2_ : ?out:arr -> arr -> arr -> unit
val add_scalar_ : ?out:arr -> arr -> elt -> unit
val sub_scalar_ : ?out:arr -> arr -> elt -> unit
val mul_scalar_ : ?out:arr -> arr -> elt -> unit
val div_scalar_ : ?out:arr -> arr -> elt -> unit
val pow_scalar_ : ?out:arr -> arr -> elt -> unit
val atan2_scalar_ : ?out:arr -> arr -> elt -> unit
val fmod_scalar_ : ?out:arr -> arr -> elt -> unit
val scalar_add_ : ?out:arr -> elt -> arr -> unit
val scalar_sub_ : ?out:arr -> elt -> arr -> unit
val scalar_mul_ : ?out:arr -> elt -> arr -> unit
val scalar_div_ : ?out:arr -> elt -> arr -> unit
val scalar_pow_ : ?out:arr -> elt -> arr -> unit
val scalar_atan2_ : ?out:arr -> elt -> arr -> unit
val scalar_fmod_ : ?out:arr -> elt -> arr -> unit
val fma_ : ?out:arr -> arr -> arr -> arr -> unit
val clip_by_value_ : ?out:arr -> ?amin:elt -> ?amax:elt -> arr -> unit
val clip_by_l2norm_ : ?out:arr -> elt -> arr -> unit
val dot_ : ?transa:bool -> ?transb:bool -> ?alpha:elt -> ?beta:elt -> c:arr -> arr -> arr -> unit
val abs_ : ?out:arr -> arr -> unit
val neg_ : ?out:arr -> arr -> unit
val conj_ : ?out:arr -> arr -> unit
val reci_ : ?out:arr -> arr -> unit
val signum_ : ?out:arr -> arr -> unit
val sqr_ : ?out:arr -> arr -> unit
val sqrt_ : ?out:arr -> arr -> unit
val cbrt_ : ?out:arr -> arr -> unit
val exp_ : ?out:arr -> arr -> unit
val exp2_ : ?out:arr -> arr -> unit
val exp10_ : ?out:arr -> arr -> unit
val expm1_ : ?out:arr -> arr -> unit
val log_ : ?out:arr -> arr -> unit
val log2_ : ?out:arr -> arr -> unit
val log10_ : ?out:arr -> arr -> unit
val log1p_ : ?out:arr -> arr -> unit
val sin_ : ?out:arr -> arr -> unit
val cos_ : ?out:arr -> arr -> unit
val tan_ : ?out:arr -> arr -> unit
val asin_ : ?out:arr -> arr -> unit
val acos_ : ?out:arr -> arr -> unit
val atan_ : ?out:arr -> arr -> unit
val sinh_ : ?out:arr -> arr -> unit
val cosh_ : ?out:arr -> arr -> unit
val tanh_ : ?out:arr -> arr -> unit
val asinh_ : ?out:arr -> arr -> unit
val acosh_ : ?out:arr -> arr -> unit
val atanh_ : ?out:arr -> arr -> unit
val floor_ : ?out:arr -> arr -> unit
val ceil_ : ?out:arr -> arr -> unit
val round_ : ?out:arr -> arr -> unit
val trunc_ : ?out:arr -> arr -> unit
val fix_ : ?out:arr -> arr -> unit
val erf_ : ?out:arr -> arr -> unit
val erfc_ : ?out:arr -> arr -> unit
val relu_ : ?out:arr -> arr -> unit
val softplus_ : ?out:arr -> arr -> unit
val softsign_ : ?out:arr -> arr -> unit
val softmax_ : ?out:arr -> ?axis:int -> arr -> unit
val sigmoid_ : ?out:arr -> arr -> unit
val sum_ : out:arr -> axis:int -> arr -> unit
val min_ : out:arr -> axis:int -> arr -> unit
val max_ : out:arr -> axis:int -> arr -> unit
val sum : ?axis:int -> ?keep_dims:bool -> arr -> arr
val prod : ?axis:int -> ?keep_dims:bool -> arr -> arr
val min : ?axis:int -> ?keep_dims:bool -> arr -> arr
val max : ?axis:int -> ?keep_dims:bool -> arr -> arr
val mean : ?axis:int -> ?keep_dims:bool -> arr -> arr
val var : ?axis:int -> ?keep_dims:bool -> arr -> arr
val std : ?axis:int -> ?keep_dims:bool -> arr -> arr
val l1norm : ?axis:int -> ?keep_dims:bool -> arr -> arr
val l2norm : ?axis:int -> ?keep_dims:bool -> arr -> arr
val cumsum_ : ?out:arr -> ?axis:int -> arr -> unit
val cumprod_ : ?out:arr -> ?axis:int -> arr -> unit
val cummin_ : ?out:arr -> ?axis:int -> arr -> unit
val cummax_ : ?out:arr -> ?axis:int -> arr -> unit
val dropout_ : ?out:arr -> ?rate:float -> arr -> unit
val prod' : arr -> elt
val mean' : arr -> elt
val var' : arr -> elt
val std' : arr -> elt
val elt_equal_ : ?out:arr -> arr -> arr -> unit
val elt_not_equal_ : ?out:arr -> arr -> arr -> unit
val elt_less_ : ?out:arr -> arr -> arr -> unit
val elt_greater_ : ?out:arr -> arr -> arr -> unit
val elt_less_equal_ : ?out:arr -> arr -> arr -> unit
val elt_greater_equal_ : ?out:arr -> arr -> arr -> unit
val elt_equal_scalar_ : ?out:arr -> arr -> elt -> unit
val elt_not_equal_scalar_ : ?out:arr -> arr -> elt -> unit
val elt_less_scalar_ : ?out:arr -> arr -> elt -> unit
val elt_greater_scalar_ : ?out:arr -> arr -> elt -> unit
val elt_less_equal_scalar_ : ?out:arr -> arr -> elt -> unit
val elt_greater_equal_scalar_ : ?out:arr -> arr -> elt -> unit
val conv1d_ : out:arr -> ?padding:Owl_types_common.padding -> arr -> arr -> int array -> unit
val conv2d_ : out:arr -> ?padding:Owl_types_common.padding -> arr -> arr -> int array -> unit
val conv3d_ : out:arr -> ?padding:Owl_types_common.padding -> arr -> arr -> int array -> unit
val dilated_conv1d_ : out:arr -> ?padding:Owl_types_common.padding -> arr -> arr -> int array -> int array -> unit
val dilated_conv2d_ : out:arr -> ?padding:Owl_types_common.padding -> arr -> arr -> int array -> int array -> unit
val dilated_conv3d_ : out:arr -> ?padding:Owl_types_common.padding -> arr -> arr -> int array -> int array -> unit
val transpose_conv1d_ : out:arr -> ?padding:Owl_types_common.padding -> arr -> arr -> int array -> unit
val transpose_conv2d_ : out:arr -> ?padding:Owl_types_common.padding -> arr -> arr -> int array -> unit
val transpose_conv3d_ : out:arr -> ?padding:Owl_types_common.padding -> arr -> arr -> int array -> unit
val max_pool1d_ : out:arr -> ?padding:Owl_types_common.padding -> arr -> int array -> int array -> unit
val max_pool2d_ : out:arr -> ?padding:Owl_types_common.padding -> arr -> int array -> int array -> unit
val max_pool3d_ : out:arr -> ?padding:Owl_types_common.padding -> arr -> int array -> int array -> unit
val avg_pool1d_ : out:arr -> ?padding:Owl_types_common.padding -> arr -> int array -> int array -> unit
val avg_pool2d_ : out:arr -> ?padding:Owl_types_common.padding -> arr -> int array -> int array -> unit
val avg_pool3d_ : out:arr -> ?padding:Owl_types_common.padding -> arr -> int array -> int array -> unit
val upsampling2d_ : out:arr -> arr -> int array -> unit
val conv1d_backward_input_ : out:arr -> arr -> arr -> int array -> arr -> unit
val conv1d_backward_kernel_ : out:arr -> arr -> arr -> int array -> arr -> unit
val conv2d_backward_input_ : out:arr -> arr -> arr -> int array -> arr -> unit
val conv2d_backward_kernel_ : out:arr -> arr -> arr -> int array -> arr -> unit
val conv3d_backward_input_ : out:arr -> arr -> arr -> int array -> arr -> unit
val conv3d_backward_kernel_ : out:arr -> arr -> arr -> int array -> arr -> unit
val dilated_conv1d_backward_input_ : out:arr -> arr -> arr -> int array -> int array -> arr -> unit
val dilated_conv1d_backward_kernel_ : out:arr -> arr -> arr -> int array -> int array -> arr -> unit
val dilated_conv2d_backward_input_ : out:arr -> arr -> arr -> int array -> int array -> arr -> unit
val dilated_conv2d_backward_kernel_ : out:arr -> arr -> arr -> int array -> int array -> arr -> unit
val dilated_conv3d_backward_input_ : out:arr -> arr -> arr -> int array -> int array -> arr -> unit
val dilated_conv3d_backward_kernel_ : out:arr -> arr -> arr -> int array -> int array -> arr -> unit
val transpose_conv1d_backward_input_ : out:arr -> arr -> arr -> int array -> arr -> unit
val transpose_conv1d_backward_kernel_ : out:arr -> arr -> arr -> int array -> arr -> unit
val transpose_conv2d_backward_input_ : out:arr -> arr -> arr -> int array -> arr -> unit
val transpose_conv2d_backward_kernel_ : out:arr -> arr -> arr -> int array -> arr -> unit
val transpose_conv3d_backward_input_ : out:arr -> arr -> arr -> int array -> arr -> unit
val transpose_conv3d_backward_kernel_ : out:arr -> arr -> arr -> int array -> arr -> unit
val max_pool1d_backward_ : out:arr -> Owl_types_common.padding -> arr -> int array -> int array -> arr -> unit
val max_pool2d_backward_ : out:arr -> Owl_types_common.padding -> arr -> int array -> int array -> arr -> unit
val max_pool3d_backward_ : out:arr -> Owl_types_common.padding -> arr -> int array -> int array -> arr -> unit
val avg_pool1d_backward_ : out:arr -> Owl_types_common.padding -> arr -> int array -> int array -> arr -> unit
val avg_pool2d_backward_ : out:arr -> Owl_types_common.padding -> arr -> int array -> int array -> arr -> unit
val avg_pool3d_backward_ : out:arr -> Owl_types_common.padding -> arr -> int array -> int array -> arr -> unit
val upsampling2d_backward_ : out:arr -> arr -> int array -> arr -> unit
val fused_adagrad_ : ?out:arr -> rate:float -> eps:float -> arr -> unit