package owl

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type elt = Stdlib.Complex.t
type arr = (Stdlib.Complex.t, Stdlib.Bigarray.complex64_elt, Stdlib.Bigarray.c_layout) Stdlib.Bigarray.Genarray.t
type cast_arr = (float, Stdlib.Bigarray.float64_elt, Stdlib.Bigarray.c_layout) Stdlib.Bigarray.Genarray.t
include Owl_dense_ndarray_intf.Common with type elt := elt and type arr := arr
include Owl_base_dense_ndarray_intf.Common with type elt := elt with type arr := arr
val empty : int array -> arr
val zeros : int array -> arr
val ones : int array -> arr
val create : int array -> elt -> arr
val init : int array -> (int -> elt) -> arr
val init_nd : int array -> (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:float -> int array -> arr
val shape : arr -> int array
val numel : arr -> int
val strides : arr -> int array

Refer to :doc:`owl_dense_ndarray_generic`

val slice_size : arr -> int array

Refer to :doc:`owl_dense_ndarray_generic`

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 copy : arr -> arr
val copy_ : out:arr -> arr -> unit
val reset : arr -> unit
val reshape : arr -> int array -> arr
val flatten : arr -> 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 squeeze : ?axis:int array -> arr -> arr
val expand : ?hi:bool -> arr -> int -> arr
val split : ?axis:int -> int array -> arr -> arr array
val draw : ?axis:int -> arr -> int -> arr * int array
val pad : ?v:elt -> int list list -> arr -> arr
val one_hot : int -> 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 min : ?axis:int -> ?keep_dims:bool -> arr -> arr
val max : ?axis:int -> ?keep_dims:bool -> arr -> arr
val sum : ?axis:int -> ?keep_dims:bool -> arr -> arr
val sum_reduce : ?axis:int array -> arr -> arr
val min' : arr -> elt
val max' : arr -> elt
val pow : arr -> arr -> arr
val scalar_pow : elt -> arr -> arr
val pow_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
Iterate array elements
val iteri : (int -> elt -> unit) -> arr -> unit
val iter : (elt -> unit) -> arr -> unit
val mapi : (int -> elt -> elt) -> arr -> arr
val map : (elt -> elt) -> arr -> arr
val filteri : (int -> elt -> bool) -> arr -> int array
val filter : (elt -> bool) -> arr -> int array
val foldi : ?axis:int -> (int -> elt -> elt -> elt) -> elt -> arr -> arr
val fold : ?axis:int -> (elt -> elt -> elt) -> elt -> arr -> arr
val scani : ?axis:int -> (int -> elt -> elt -> elt) -> arr -> arr
val scan : ?axis:int -> (elt -> elt -> elt) -> arr -> arr
Examination & Comparison
val exists : (elt -> bool) -> arr -> bool
val not_exists : (elt -> bool) -> arr -> bool
val for_all : (elt -> bool) -> arr -> bool
val is_zero : arr -> bool
val is_positive : arr -> bool
val is_negative : arr -> bool
val is_nonpositive : arr -> bool
val is_nonnegative : arr -> bool
val is_normal : arr -> bool
val not_nan : arr -> bool
val not_inf : arr -> bool
val equal : arr -> arr -> bool
val not_equal : arr -> arr -> bool
val greater : arr -> arr -> bool
val less : arr -> arr -> bool
val greater_equal : arr -> arr -> bool
val less_equal : arr -> arr -> bool
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 equal_scalar : arr -> elt -> bool
val not_equal_scalar : arr -> elt -> bool
val less_scalar : arr -> elt -> bool
val greater_scalar : arr -> elt -> bool
val less_equal_scalar : arr -> elt -> bool
val greater_equal_scalar : arr -> elt -> bool
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
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 diag : ?k:int -> arr -> arr
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
Create N-dimensional array
val linspace : elt -> elt -> int -> arr

``linspace k 0. 9. 10`` ...

val logspace : ?base:float -> elt -> elt -> int -> arr

``logspace k 0. 9. 10`` ...

val unit_basis : int -> int -> arr

``unit_basis k n i`` returns a unit basis vector with ``i``th element set to 1.

Obtain basic properties
val num_dims : arr -> int
val nth_dim : arr -> int -> int
val nnz : arr -> int
val density : arr -> float
val size_in_bytes : arr -> int
val same_shape : arr -> arr -> bool
val same_data : arr -> arr -> bool
val ind : arr -> int -> int array
val i1d : arr -> int array -> int
Manipulate a N-dimensional array
val get_index : arr -> int array array -> elt array
val set_index : arr -> int array array -> elt array -> unit
val get_fancy : Owl_types.index list -> arr -> arr
val set_fancy : Owl_types.index list -> arr -> arr -> unit
val sub_left : arr -> int -> int -> arr
val sub_ndarray : int array -> arr -> arr array
val slice_left : arr -> int array -> arr
val fill : arr -> elt -> unit
val resize : ?head:bool -> arr -> int array -> arr
val flip : ?axis:int -> arr -> arr
val rotate : arr -> int -> arr
val swap : int -> int -> arr -> arr
val concat_vertical : arr -> arr -> arr
val concat_horizontal : arr -> arr -> arr
val concat_vh : arr array array -> arr
val split_vh : (int * int) array array -> arr -> arr array array
val dropout : ?rate:float -> arr -> arr
val top : arr -> int -> int array array
val bottom : arr -> int -> int array array
val sort : arr -> arr
val sort1 : ?axis:int -> arr -> arr
val argsort : arr -> (int64, Stdlib.Bigarray.int64_elt, Stdlib.Bigarray.c_layout) Stdlib.Bigarray.Genarray.t
val mmap : Unix.file_descr -> ?pos:int64 -> bool -> int array -> arr
Iterate array elements
val iter2i : (int -> elt -> elt -> unit) -> arr -> arr -> unit
val iter2 : (elt -> elt -> unit) -> arr -> arr -> unit
val map2i : (int -> elt -> elt -> elt) -> arr -> arr -> arr
val map2 : (elt -> elt -> elt) -> arr -> arr -> arr
val iteri_nd : (int array -> elt -> unit) -> arr -> unit
val mapi_nd : (int array -> elt -> elt) -> arr -> arr
val foldi_nd : ?axis:int -> (int array -> elt -> elt -> elt) -> elt -> arr -> arr
val scani_nd : ?axis:int -> (int array -> elt -> elt -> elt) -> arr -> arr
val filteri_nd : (int array -> elt -> bool) -> arr -> int array array
val iter2i_nd : (int array -> elt -> elt -> unit) -> arr -> arr -> unit
val map2i_nd : (int array -> elt -> elt -> elt) -> arr -> arr -> arr
val iteri_slice : ?axis:int -> (int -> arr -> unit) -> arr -> unit
val iter_slice : ?axis:int -> (arr -> unit) -> arr -> unit
val mapi_slice : ?axis:int -> (int -> arr -> 'c) -> arr -> 'c array
val map_slice : ?axis:int -> (arr -> 'c) -> arr -> 'c array
val filteri_slice : ?axis:int -> (int -> arr -> bool) -> arr -> arr array
val filter_slice : ?axis:int -> (arr -> bool) -> arr -> arr array
val foldi_slice : ?axis:int -> (int -> 'c -> arr -> 'c) -> 'c -> arr -> 'c
val fold_slice : ?axis:int -> ('c -> arr -> 'c) -> 'c -> arr -> 'c
Examine array elements or compare two arrays
val approx_equal : ?eps:float -> arr -> arr -> bool
val approx_equal_scalar : ?eps:float -> arr -> elt -> bool
val approx_elt_equal : ?eps:float -> arr -> arr -> arr
val approx_elt_equal_scalar : ?eps:float -> arr -> elt -> arr
Input/Output functions
val to_array : arr -> elt array
val save : out:string -> arr -> unit
val load : string -> arr
val save_npy : out:string -> arr -> unit
val load_npy : string -> arr
Unary mathematical operations
val prod : ?axis:int -> ?keep_dims:bool -> arr -> arr
val prod' : arr -> elt
val mean : ?axis:int -> ?keep_dims:bool -> arr -> arr
val mean' : arr -> elt
val median' : arr -> elt
val median : ?axis:int -> ?keep_dims:bool -> arr -> arr
val var : ?axis:int -> ?keep_dims:bool -> arr -> arr
val var' : arr -> elt
val std : ?axis:int -> ?keep_dims:bool -> arr -> arr
val std' : arr -> elt
val sem : ?axis:int -> ?keep_dims:bool -> arr -> arr
val sem' : arr -> elt
val minmax : ?axis:int -> ?keep_dims:bool -> arr -> arr * arr
val minmax' : arr -> elt * elt
val min_i : arr -> elt * int array
val max_i : arr -> elt * int array
val minmax_i : arr -> (elt * int array) * (elt * int array)
val abs2 : arr -> arr
val conj : arr -> arr
val reci : arr -> arr
val reci_tol : ?tol:elt -> arr -> arr
val cbrt : arr -> arr
val exp2 : arr -> arr
val exp10 : arr -> arr
val expm1 : arr -> arr
val log1p : arr -> arr
val trunc : arr -> arr
val fix : arr -> arr
val modf : arr -> arr * arr
val l1norm : ?axis:int -> ?keep_dims:bool -> arr -> arr
val l1norm' : arr -> elt
val l2norm : ?axis:int -> ?keep_dims:bool -> arr -> arr
val l2norm' : arr -> elt
val l2norm_sqr : ?axis:int -> ?keep_dims:bool -> arr -> arr
val l2norm_sqr' : arr -> elt
val vecnorm : ?axis:int -> ?p:float -> ?keep_dims:bool -> arr -> arr
val vecnorm' : ?p:float -> arr -> elt
val cumsum : ?axis:int -> arr -> arr
val cumprod : ?axis:int -> arr -> arr
val cummin : ?axis:int -> arr -> arr
val cummax : ?axis:int -> arr -> arr
val diff : ?axis:int -> ?n:int -> arr -> arr
val lgamma : arr -> arr
Binary mathematical operations
val min2 : arr -> arr -> arr
val max2 : arr -> arr -> arr
val ssqr' : arr -> elt -> elt
val ssqr_diff' : arr -> arr -> elt
val clip_by_value : ?amin:elt -> ?amax:elt -> arr -> arr
val clip_by_l2norm : elt -> arr -> arr
Tensor Calculus
val contract1 : (int * int) array -> arr -> arr
val contract2 : (int * int) array -> arr -> arr -> arr
Experimental functions
val sum_slices : ?axis:int -> arr -> arr
val slide : ?axis:int -> ?ofs:int -> ?step:int -> window:int -> arr -> arr
Functions of in-place modification
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:float -> out:arr -> unit
val zeros_ : out:arr -> unit
val ones_ : out:arr -> unit
val sort_ : arr -> unit
val one_hot_ : out:arr -> int -> arr -> unit
val get_fancy_ : out:arr -> Owl_types.index list -> arr -> unit
val set_fancy_ : out:arr -> Owl_types.index list -> arr -> arr -> unit
val get_slice_ : out:arr -> int list list -> arr -> unit
val set_slice_ : out:arr -> int list list -> arr -> arr -> unit
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 sum_ : out:arr -> axis:int -> arr -> unit
val min_ : out:arr -> axis:int -> arr -> unit
val max_ : out:arr -> axis:int -> arr -> unit
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 conj_ : ?out:arr -> arr -> unit
val abs_ : ?out:arr -> arr -> unit
val neg_ : ?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 sigmoid_ : ?out:arr -> arr -> unit
val softmax_ : ?out:arr -> ?axis:int -> arr -> unit
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 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

Matrix functions

val col : arr -> int -> arr
val cols : arr -> int array -> arr
val dot : arr -> arr -> arr
val trace : arr -> elt
val to_arrays : arr -> elt array array
val draw_rows : ?replacement:bool -> arr -> int -> arr * int array
val draw_cols : ?replacement:bool -> arr -> int -> arr * int array
val draw_rows2 : ?replacement:bool -> arr -> arr -> int -> arr * arr * int array
val draw_cols2 : ?replacement:bool -> arr -> arr -> int -> arr * arr * int array
include Owl_dense_ndarray_intf.NN with type arr := arr
include Owl_base_dense_ndarray_intf.NN with type 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 max_pool2d_argmax : ?padding:Owl_types.padding -> arr -> int array -> int array -> arr * (int64, Stdlib.Bigarray.int64_elt, Stdlib.Bigarray.c_layout) Stdlib.Bigarray.Genarray.t
val conv1d_ : out:arr -> ?padding:Owl_types.padding -> arr -> arr -> int array -> unit
val conv2d_ : out:arr -> ?padding:Owl_types.padding -> arr -> arr -> int array -> unit
val conv3d_ : out:arr -> ?padding:Owl_types.padding -> arr -> arr -> int array -> unit
val dilated_conv1d_ : out:arr -> ?padding:Owl_types.padding -> arr -> arr -> int array -> int array -> unit
val dilated_conv2d_ : out:arr -> ?padding:Owl_types.padding -> arr -> arr -> int array -> int array -> unit
val dilated_conv3d_ : out:arr -> ?padding:Owl_types.padding -> arr -> arr -> int array -> int array -> unit
val transpose_conv1d_ : out:arr -> ?padding:Owl_types.padding -> arr -> arr -> int array -> unit
val transpose_conv2d_ : out:arr -> ?padding:Owl_types.padding -> arr -> arr -> int array -> unit
val transpose_conv3d_ : out:arr -> ?padding:Owl_types.padding -> arr -> arr -> int array -> unit
val max_pool1d_ : out:arr -> ?padding:Owl_types.padding -> arr -> int array -> int array -> unit
val max_pool2d_ : out:arr -> ?padding:Owl_types.padding -> arr -> int array -> int array -> unit
val max_pool3d_ : out:arr -> ?padding:Owl_types.padding -> arr -> int array -> int array -> unit
val avg_pool1d_ : out:arr -> ?padding:Owl_types.padding -> arr -> int array -> int array -> unit
val avg_pool2d_ : out:arr -> ?padding:Owl_types.padding -> arr -> int array -> int array -> unit
val avg_pool3d_ : out:arr -> ?padding:Owl_types.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.padding -> arr -> int array -> int array -> arr -> unit
val max_pool2d_backward_ : out:arr -> Owl_types.padding -> arr -> int array -> int array -> arr -> unit
val max_pool3d_backward_ : out:arr -> Owl_types.padding -> arr -> int array -> int array -> arr -> unit
val avg_pool1d_backward_ : out:arr -> Owl_types.padding -> arr -> int array -> int array -> arr -> unit
val avg_pool2d_backward_ : out:arr -> Owl_types.padding -> arr -> int array -> int array -> arr -> unit
val avg_pool3d_backward_ : out:arr -> Owl_types.padding -> arr -> int array -> int array -> arr -> unit
val upsampling2d_backward_ : out:arr -> arr -> int array -> arr -> unit
include Owl_dense_ndarray_intf.Complex with type elt := elt and type arr := arr and type cast_arr := cast_arr
Complex operations
val complex : cast_arr -> cast_arr -> arr

``complex re im`` constructs a complex ndarray/matrix from ``re`` and ``im``. ``re`` and ``im`` contain the real and imaginary part of ``x`` respectively.

Note that both ``re`` and ``im`` can be complex but must have same type. The real part of ``re`` will be the real part of ``x`` and the imaginary part of ``im`` will be the imaginary part of ``x``.

val polar : cast_arr -> cast_arr -> arr

``polar rho theta`` constructs a complex ndarray/matrix from polar coordinates ``rho`` and ``theta``. ``rho`` contains the magnitudes and ``theta`` contains phase angles. Note that the behaviour is undefined if ``rho`` has negative elelments or ``theta`` has infinity elelments.

val re : arr -> cast_arr
val im : arr -> cast_arr
val sum' : arr -> elt
OCaml

Innovation. Community. Security.