Optimiser.Operatormodule Symbol : sig ... endval noop : Symbol.Shape.Type.arr -> Symbol.Shape.Type.arrval empty : int array -> Symbol.Shape.Type.arrval zeros : int array -> Symbol.Shape.Type.arrval ones : int array -> Symbol.Shape.Type.arrval create : int array -> Symbol.Shape.Type.elt -> Symbol.Shape.Type.arrval sequential : 
  ?a:Symbol.Shape.Type.elt ->
  ?step:Symbol.Shape.Type.elt ->
  int array ->
  Symbol.Shape.Type.arrval uniform : 
  ?a:Symbol.Shape.Type.elt ->
  ?b:Symbol.Shape.Type.elt ->
  int array ->
  Symbol.Shape.Type.arrval gaussian : 
  ?mu:Symbol.Shape.Type.elt ->
  ?sigma:Symbol.Shape.Type.elt ->
  int array ->
  Symbol.Shape.Type.arrval bernoulli : ?p:Symbol.Shape.Type.elt -> int array -> Symbol.Shape.Type.arrval init : int array -> (int -> Symbol.Shape.Type.elt) -> Symbol.Shape.Type.arrval init_nd : 
  int array ->
  (int array -> Symbol.Shape.Type.elt) ->
  Symbol.Shape.Type.arrval shape : Symbol.Shape.Type.arr -> int arrayval numel : Symbol.Shape.Type.arr -> intval get : Symbol.Shape.Type.arr -> int array -> Symbol.Shape.Type.eltval set : Symbol.Shape.Type.arr -> int array -> Symbol.Shape.Type.elt -> unitval get_slice : int list list -> Symbol.Shape.Type.arr -> Symbol.Shape.Type.arrval set_slice : 
  int list list ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  unitval get_fancy : 
  Owl_types.index list ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval set_fancy : 
  Owl_types.index list ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  unitval copy : Symbol.Shape.Type.arr -> Symbol.Shape.Type.arrval reset : Symbol.Shape.Type.arr -> unitval reshape : Symbol.Shape.Type.arr -> int array -> Symbol.Shape.Type.arrval reverse : Symbol.Shape.Type.arr -> Symbol.Shape.Type.arrval tile : Symbol.Shape.Type.arr -> int array -> Symbol.Shape.Type.arrval repeat : Symbol.Shape.Type.arr -> int array -> Symbol.Shape.Type.arrval pad : 
  ?v:Symbol.Shape.Type.elt ->
  int list list ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval expand : ?hi:bool -> Symbol.Shape.Type.arr -> int -> Symbol.Shape.Type.arrval squeeze : ?axis:int array -> Symbol.Shape.Type.arr -> Symbol.Shape.Type.arrval concatenate : 
  ?axis:int ->
  Symbol.Shape.Type.arr array ->
  Symbol.Shape.Type.arrval stack : ?axis:int -> Symbol.Shape.Type.arr array -> Symbol.Shape.Type.arrval concat : 
  axis:int ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval draw : 
  ?axis:int ->
  Symbol.Shape.Type.arr ->
  int ->
  Symbol.Shape.Type.arr * 'a arrayval map : 
  (Symbol.Shape.Type.elt -> Symbol.Shape.Type.elt) ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval fold : 
  ?axis:int ->
  (Symbol.Shape.Type.elt -> Symbol.Shape.Type.elt -> Symbol.Shape.Type.elt) ->
  Symbol.Shape.Type.elt ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval scan : 
  ?axis:int ->
  (Symbol.Shape.Type.elt -> Symbol.Shape.Type.elt -> Symbol.Shape.Type.elt) ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval one_hot : int -> Symbol.Shape.Type.arr -> Symbol.Shape.Type.arrval delay : 
  (Symbol.Shape.Type.Device.A.arr -> Symbol.Shape.Type.Device.A.arr) ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval delay_array : 
  int array ->
  (Symbol.Shape.Type.Device.A.arr array -> Symbol.Shape.Type.Device.A.arr) ->
  Symbol.Shape.Type.arr array ->
  Symbol.Shape.Type.arrval lazy_print : 
  ?max_row:int ->
  ?max_col:int ->
  ?header:bool ->
  ?fmt:(Symbol.Shape.Type.Device.A.elt -> string) ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval abs : Symbol.Shape.Type.arr -> Symbol.Shape.Type.arrval neg : Symbol.Shape.Type.arr -> Symbol.Shape.Type.arrval floor : Symbol.Shape.Type.arr -> Symbol.Shape.Type.arrval ceil : Symbol.Shape.Type.arr -> Symbol.Shape.Type.arrval round : Symbol.Shape.Type.arr -> Symbol.Shape.Type.arrval sqr : Symbol.Shape.Type.arr -> Symbol.Shape.Type.arrval sqrt : Symbol.Shape.Type.arr -> Symbol.Shape.Type.arrval log : Symbol.Shape.Type.arr -> Symbol.Shape.Type.arrval log2 : Symbol.Shape.Type.arr -> Symbol.Shape.Type.arrval log10 : Symbol.Shape.Type.arr -> Symbol.Shape.Type.arrval exp : Symbol.Shape.Type.arr -> Symbol.Shape.Type.arrval sin : Symbol.Shape.Type.arr -> Symbol.Shape.Type.arrval cos : Symbol.Shape.Type.arr -> Symbol.Shape.Type.arrval tan : Symbol.Shape.Type.arr -> Symbol.Shape.Type.arrval sinh : Symbol.Shape.Type.arr -> Symbol.Shape.Type.arrval cosh : Symbol.Shape.Type.arr -> Symbol.Shape.Type.arrval tanh : Symbol.Shape.Type.arr -> Symbol.Shape.Type.arrval asin : Symbol.Shape.Type.arr -> Symbol.Shape.Type.arrval acos : Symbol.Shape.Type.arr -> Symbol.Shape.Type.arrval atan : Symbol.Shape.Type.arr -> Symbol.Shape.Type.arrval asinh : Symbol.Shape.Type.arr -> Symbol.Shape.Type.arrval acosh : Symbol.Shape.Type.arr -> Symbol.Shape.Type.arrval atanh : Symbol.Shape.Type.arr -> Symbol.Shape.Type.arrval min : 
  ?axis:int ->
  ?keep_dims:bool ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval max : 
  ?axis:int ->
  ?keep_dims:bool ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval sum : 
  ?axis:int ->
  ?keep_dims:bool ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval sum_reduce : 
  ?axis:int array ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval signum : Symbol.Shape.Type.arr -> Symbol.Shape.Type.arrval sigmoid : Symbol.Shape.Type.arr -> Symbol.Shape.Type.arrval relu : Symbol.Shape.Type.arr -> Symbol.Shape.Type.arrval dawsn : Symbol.Shape.Type.arr -> Symbol.Shape.Type.arrval min' : Symbol.Shape.Type.arr -> Symbol.Shape.Type.eltval max' : Symbol.Shape.Type.arr -> Symbol.Shape.Type.eltval sum' : Symbol.Shape.Type.arr -> Symbol.Shape.Type.eltval log_sum_exp' : Symbol.Shape.Type.arr -> Symbol.Shape.Type.eltval log_sum_exp : 
  ?axis:int ->
  ?keep_dims:bool ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval l1norm' : Symbol.Shape.Type.arr -> Symbol.Shape.Type.eltval l2norm' : Symbol.Shape.Type.arr -> Symbol.Shape.Type.eltval l2norm_sqr' : Symbol.Shape.Type.arr -> Symbol.Shape.Type.eltval clip_by_value : 
  ?amin:Symbol.Shape.Type.elt ->
  ?amax:Symbol.Shape.Type.elt ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval clip_by_l2norm : 
  Symbol.Shape.Type.elt ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval pow : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval scalar_pow : 
  Symbol.Shape.Type.elt ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval pow_scalar : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.elt ->
  Symbol.Shape.Type.arrval atan2 : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval scalar_atan2 : 
  Symbol.Shape.Type.elt ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval atan2_scalar : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.elt ->
  Symbol.Shape.Type.arrval hypot : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval min2 : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval max2 : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval add : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval sub : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval mul : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval div : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval add_scalar : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.elt ->
  Symbol.Shape.Type.arrval sub_scalar : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.elt ->
  Symbol.Shape.Type.arrval mul_scalar : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.elt ->
  Symbol.Shape.Type.arrval div_scalar : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.elt ->
  Symbol.Shape.Type.arrval scalar_add : 
  Symbol.Shape.Type.elt ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval scalar_sub : 
  Symbol.Shape.Type.elt ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval scalar_mul : 
  Symbol.Shape.Type.elt ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval scalar_div : 
  Symbol.Shape.Type.elt ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval fma : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval elt_equal : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval elt_not_equal : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval elt_less : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval elt_greater : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval elt_less_equal : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval elt_greater_equal : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval elt_equal_scalar : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.elt ->
  Symbol.Shape.Type.arrval elt_not_equal_scalar : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.elt ->
  Symbol.Shape.Type.arrval elt_less_scalar : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.elt ->
  Symbol.Shape.Type.arrval elt_greater_scalar : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.elt ->
  Symbol.Shape.Type.arrval elt_less_equal_scalar : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.elt ->
  Symbol.Shape.Type.arrval elt_greater_equal_scalar : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.elt ->
  Symbol.Shape.Type.arrval conv1d : 
  ?padding:Owl_types.padding ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  int array ->
  Symbol.Shape.Type.arrval conv2d : 
  ?padding:Owl_types.padding ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  int array ->
  Symbol.Shape.Type.arrval conv3d : 
  ?padding:Owl_types.padding ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  int array ->
  Symbol.Shape.Type.arrval transpose_conv1d : 
  ?padding:Owl_types.padding ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  int array ->
  Symbol.Shape.Type.arrval transpose_conv2d : 
  ?padding:Owl_types.padding ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  int array ->
  Symbol.Shape.Type.arrval transpose_conv3d : 
  ?padding:Owl_types.padding ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  int array ->
  Symbol.Shape.Type.arrval dilated_conv1d : 
  ?padding:Owl_types.padding ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  int array ->
  int array ->
  Symbol.Shape.Type.arrval dilated_conv2d : 
  ?padding:Owl_types.padding ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  int array ->
  int array ->
  Symbol.Shape.Type.arrval dilated_conv3d : 
  ?padding:Owl_types.padding ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  int array ->
  int array ->
  Symbol.Shape.Type.arrval max_pool1d : 
  ?padding:Owl_types.padding ->
  Symbol.Shape.Type.arr ->
  int array ->
  int array ->
  Symbol.Shape.Type.arrval max_pool2d : 
  ?padding:Owl_types.padding ->
  Symbol.Shape.Type.arr ->
  int array ->
  int array ->
  Symbol.Shape.Type.arrval max_pool3d : 
  ?padding:Owl_types.padding ->
  Symbol.Shape.Type.arr ->
  int array ->
  int array ->
  Symbol.Shape.Type.arrval avg_pool1d : 
  ?padding:Owl_types.padding ->
  Symbol.Shape.Type.arr ->
  int array ->
  int array ->
  Symbol.Shape.Type.arrval avg_pool2d : 
  ?padding:Owl_types.padding ->
  Symbol.Shape.Type.arr ->
  int array ->
  int array ->
  Symbol.Shape.Type.arrval avg_pool3d : 
  ?padding:Owl_types.padding ->
  Symbol.Shape.Type.arr ->
  int array ->
  int array ->
  Symbol.Shape.Type.arrval upsampling2d : Symbol.Shape.Type.arr -> int array -> Symbol.Shape.Type.arrval conv1d_backward_input : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  int array ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval conv1d_backward_kernel : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  int array ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval conv2d_backward_input : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  int array ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval conv2d_backward_kernel : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  int array ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval conv3d_backward_input : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  int array ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval conv3d_backward_kernel : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  int array ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval transpose_conv1d_backward_input : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  int array ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval transpose_conv1d_backward_kernel : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  int array ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval transpose_conv2d_backward_input : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  int array ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval transpose_conv2d_backward_kernel : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  int array ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval transpose_conv3d_backward_input : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  int array ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval transpose_conv3d_backward_kernel : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  int array ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval dilated_conv1d_backward_input : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  int array ->
  int array ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval dilated_conv1d_backward_kernel : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  int array ->
  int array ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval dilated_conv2d_backward_input : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  int array ->
  int array ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval dilated_conv2d_backward_kernel : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  int array ->
  int array ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval dilated_conv3d_backward_input : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  int array ->
  int array ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval dilated_conv3d_backward_kernel : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  int array ->
  int array ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval max_pool1d_backward : 
  Owl_types.padding ->
  Symbol.Shape.Type.arr ->
  int array ->
  int array ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval max_pool2d_backward : 
  Owl_types.padding ->
  Symbol.Shape.Type.arr ->
  int array ->
  int array ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval max_pool3d_backward : 
  Owl_types.padding ->
  Symbol.Shape.Type.arr ->
  int array ->
  int array ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval avg_pool1d_backward : 
  Owl_types.padding ->
  Symbol.Shape.Type.arr ->
  int array ->
  int array ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval avg_pool2d_backward : 
  Owl_types.padding ->
  Symbol.Shape.Type.arr ->
  int array ->
  int array ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval avg_pool3d_backward : 
  Owl_types.padding ->
  Symbol.Shape.Type.arr ->
  int array ->
  int array ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval upsampling2d_backward : 
  Symbol.Shape.Type.arr ->
  int array ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval row_num : Symbol.Shape.Type.arr -> intval col_num : Symbol.Shape.Type.arr -> intval row : Symbol.Shape.Type.arr -> 'a -> Symbol.Shape.Type.arrval rows : Symbol.Shape.Type.arr -> int array -> Symbol.Shape.Type.arrval copy_row_to : Symbol.Shape.Type.arr -> 'a -> 'b -> unitval copy_col_to : Symbol.Shape.Type.arr -> 'a -> 'b -> unitval diag : ?k:int -> Symbol.Shape.Type.arr -> Symbol.Shape.Type.arrval trace : Symbol.Shape.Type.arr -> Symbol.Shape.Type.eltval dot : 
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval transpose : 
  ?axis:int array ->
  Symbol.Shape.Type.arr ->
  Symbol.Shape.Type.arrval to_rows : Symbol.Shape.Type.arr -> 'a arrayval of_rows : Symbol.Shape.Type.arr array -> Symbol.Shape.Type.arrval to_cols : Symbol.Shape.Type.arr -> 'a arrayval of_cols : Symbol.Shape.Type.arr array -> Symbol.Shape.Type.arrval of_array : 
  Symbol.Shape.Type.elt array ->
  int array ->
  Symbol.Shape.Type.arrval of_arrays : Symbol.Shape.Type.elt array array -> Symbol.Shape.Type.arrval to_arrays : Symbol.Shape.Type.arr -> Symbol.Shape.Type.elt array arraymodule Scalar : sig ... endmodule Mat : sig ... endmodule Linalg : sig ... end