Owl_computation_engine.Flattenmodule Engine : Owl_types_computation_engine.Siginclude module type of struct include Engine endmodule Graph = Engine.Graphval eval_arr : Graph.Optimiser.Operator.Symbol.Shape.Type.arr array -> unitExecute actual computation included in each CGraph element (of output type ndarray) in an array.
val eval_elt : Graph.Optimiser.Operator.Symbol.Shape.Type.elt array -> unitExecute actual computation included in each CGraph element (of output type float) in an array.
val eval_graph : Graph.graph -> unitExecute actual computation of a computation graph.
include module type of struct include Graph endmodule Optimiser = Graph.Optimisertype graph = Engine.Graph.graphval shape_or_value : Optimiser.Operator.Symbol.Shape.Type.t -> stringval graph_to_dot : graph -> stringval graph_to_trace : graph -> stringval collect_rvs :
Optimiser.Operator.Symbol.Shape.Type.attr Owl_graph.node array ->
Optimiser.Operator.Symbol.Shape.Type.attr Owl_graph.node arrayval invalidate_rvs : graph -> unitval make_graph :
input:Optimiser.Operator.Symbol.Shape.Type.attr Owl_graph.node array ->
output:Optimiser.Operator.Symbol.Shape.Type.attr Owl_graph.node array ->
string ->
graphval get_inputs :
graph ->
Optimiser.Operator.Symbol.Shape.Type.attr Owl_graph.node arrayval get_outputs :
graph ->
Optimiser.Operator.Symbol.Shape.Type.attr Owl_graph.node arrayval get_node_arr_val :
Optimiser.Operator.Symbol.Shape.Type.attr Owl_graph.node ->
Optimiser.Operator.Symbol.Shape.Type.Device.A.arrval get_node_elt_val :
Optimiser.Operator.Symbol.Shape.Type.attr Owl_graph.node ->
Optimiser.Operator.Symbol.Shape.Type.Device.A.eltval set_node_arr_val :
Optimiser.Operator.Symbol.Shape.Type.attr Owl_graph.node ->
Optimiser.Operator.Symbol.Shape.Type.Device.value ->
unitval set_node_elt_val :
Optimiser.Operator.Symbol.Shape.Type.attr Owl_graph.node ->
Optimiser.Operator.Symbol.Shape.Type.Device.value ->
unitval is_iopair_safe : 'a Owl_graph.node -> 'a Owl_graph.node -> boolval make_iopair :
graph ->
Optimiser.Operator.Symbol.Shape.Type.attr Owl_graph.node array ->
Optimiser.Operator.Symbol.Shape.Type.attr Owl_graph.node array ->
unitval update_iopair : graph -> unitval remove_unused_iopair :
'a Owl_graph.node array ->
'b array ->
'a Owl_graph.node array * 'b arrayval init_inputs :
(Optimiser.Operator.Symbol.Shape.Type.attr Owl_graph.node ->
Optimiser.Operator.Symbol.Shape.Type.Device.value) ->
graph ->
unitval optimise : graph -> unitinclude module type of struct include Optimiser endmodule Operator = Optimiser.Operatorval estimate_complexity : 'a Owl_graph.node array -> int * intval optimise_nodes :
Operator.Symbol.Shape.Type.attr Owl_graph.node array ->
unitinclude module type of struct include Operator endmodule Symbol = Operator.Symbolval 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 = Operator.Scalarmodule Mat = Operator.Matmodule Linalg = Operator.Linalginclude module type of struct include Symbol endmodule Shape = Symbol.Shapeval op_to_str : Shape.Type.op -> stringval is_random_variable : Shape.Type.op -> boolval refnum : 'a Owl_graph.node -> intval node_shape : Shape.Type.attr Owl_graph.node -> int arrayval node_numel : Shape.Type.attr Owl_graph.node -> intval is_shape_unknown : Shape.Type.attr Owl_graph.node -> boolval infer_shape_graph : Shape.Type.attr Owl_graph.node array -> unitval node_to_str : Shape.Type.attr Owl_graph.node -> stringval node_to_arr : Shape.Type.t -> Shape.Type.arrval arr_to_node : Shape.Type.arr -> Shape.Type.tval node_to_elt : Shape.Type.t -> Shape.Type.eltval elt_to_node : Shape.Type.elt -> Shape.Type.tval make_node :
?name:string ->
?value:Shape.Type.Device.value array ->
?shape:int array option array ->
?freeze:bool ->
?reuse:bool ->
?state:Shape.Type.state ->
Shape.Type.op ->
Shape.Type.attr Owl_graph.nodeval make_then_connect :
?shape:int array option array ->
Shape.Type.op ->
Shape.Type.attr Owl_graph.node array ->
Shape.Type.attr Owl_graph.nodeval var_arr : ?shape:int array -> string -> Shape.Type.arrval var_elt : string -> Shape.Type.eltval const_arr : string -> Shape.Type.Device.A.arr -> Shape.Type.arrval const_elt : string -> Shape.Type.Device.A.elt -> Shape.Type.eltval make_empty_block : ?block_id:int -> int -> Shape.Type.blockval make_value_block :
Shape.Type.Device.value ->
Shape.Type.attr Owl_graph.node ->
unitval get_block : Shape.Type.attr Owl_graph.node -> Shape.Type.block arrayval add_node_to_block :
Shape.Type.attr Owl_graph.node ->
Shape.Type.block ->
unitval get_active_node : Shape.Type.block -> Shape.Type.attr Owl_graph.node optionval set_active_node :
Shape.Type.block ->
Shape.Type.attr Owl_graph.node ->
unitval get_block_id : Shape.Type.attr Owl_graph.node -> intval set_value :
Shape.Type.attr Owl_graph.node ->
Shape.Type.Device.value array ->
unitval get_value : Shape.Type.attr Owl_graph.node -> Shape.Type.Device.value arrayval set_operator : Shape.Type.attr Owl_graph.node -> Shape.Type.op -> unitval get_operator : Shape.Type.attr Owl_graph.node -> Shape.Type.opval set_reuse : Shape.Type.attr Owl_graph.node -> bool -> unitval get_reuse : Shape.Type.attr Owl_graph.node -> boolval is_var : Shape.Type.attr Owl_graph.node -> boolval is_const : Shape.Type.attr Owl_graph.node -> boolval is_node_arr : Shape.Type.attr Owl_graph.node -> boolval is_node_elt : Shape.Type.attr Owl_graph.node -> boolval is_assigned : Shape.Type.attr Owl_graph.node -> boolval check_assigned : Shape.Type.attr Owl_graph.node -> unitval is_valid : Shape.Type.attr Owl_graph.node -> boolval validate : Shape.Type.attr Owl_graph.node -> unitval invalidate : Shape.Type.attr Owl_graph.node -> unitval invalidate_graph : Shape.Type.attr Owl_graph.node -> unitval is_freeze : Shape.Type.attr Owl_graph.node -> boolval freeze : Shape.Type.attr Owl_graph.node -> unitval freeze_descendants : Shape.Type.attr Owl_graph.node array -> unitval freeze_ancestors : Shape.Type.attr Owl_graph.node array -> unitval pack_arr : Shape.Type.Device.A.arr -> Shape.Type.arrval unpack_arr : Shape.Type.arr -> Shape.Type.Device.A.arrval pack_elt : Shape.Type.Device.A.elt -> Shape.Type.eltval unpack_elt : Shape.Type.elt -> Shape.Type.Device.A.eltval unsafe_assign_arr : Shape.Type.arr -> Shape.Type.Device.A.arr -> unitval assign_arr : Shape.Type.arr -> Shape.Type.Device.A.arr -> unitval assign_elt : Shape.Type.elt -> Shape.Type.Device.A.elt -> unitval float_to_elt : float -> Shape.Type.eltval elt_to_float : Shape.Type.elt -> floatinclude module type of struct include Shape endmodule Type = Shape.Typeval infer_shape :
Type.op ->
Type.attr Owl_graph.node array ->
int array option arrayinclude module type of struct include Type endmodule Device = Type.Devicetype t = attr Owl_graph.nodeand block = Engine.Graph.Optimiser.Operator.Symbol.Shape.Type.block = {size : int;block_id : int;mutable active : t option;mutable memory : Device.value;mutable nodes : t list;}and attr = Engine.Graph.Optimiser.Operator.Symbol.Shape.Type.attr = {mutable op : op;mutable freeze : bool;mutable reuse : bool;mutable state : state;mutable shape : int array option array;mutable value : Device.value array;mutable block : block array option;}and op = Engine.Graph.Optimiser.Operator.Symbol.Shape.Type.op = | Noop| Var| Const| Empty of int array| Zeros of int array| Ones of int array| Create of int array| Sequential of int array| Uniform of int array| Gaussian of int array| Bernoulli of int array| Init of int array * int -> elt| Get of int array| Set of int array| GetSlice of int list list| SetSlice of int list list| GetFancy of Owl_types_common.index list| SetFancy of Owl_types_common.index list| Copy| Reset| Reshape of int array| Reverse| Tile of int array| Repeat of int array| Pad of elt * int list list| Concatenate of int| Stack of int| Split of int * int array| Draw of int * int| Map of elt -> elt| Fold of int * elt -> elt -> elt| Scan of int * elt -> elt -> elt| OneHot of int| OfArray of int array| Delay of Device.A.arr -> Device.A.arr| DelayArray of int array * Device.A.arr array -> Device.A.arr| LazyPrint of int option
* int option
* bool option
* (Device.A.elt -> string) option| Abs| Neg| Floor| Ceil| Round| Sqr| Sqrt| Log| Log2| Log10| Exp| Sin| Cos| Tan| Sinh| Cosh| Tanh| Asin| Acos| Atan| Asinh| Acosh| Atanh| Min of bool * int| Max of bool * int| Sum of bool * int| SumReduce of int array| Signum| Sigmoid| Relu| Dawsn| Min'| Max'| Sum'| LogSumExp'| LogSumExp of bool * int| L1norm'| L2norm'| L2NormSqr'| ClipByValue| ClipByL2norm| Pow| ScalarPow| PowScalar| Atan2| ScalarAtan2| Atan2Scalar| Hypot| Min2| Max2| Add| Sub| Mul| Div| AddScalar| SubScalar| MulScalar| DivScalar| ScalarAdd| ScalarSub| ScalarMul| ScalarDiv| FMA| EltEqual| EltNotEqual| EltLess| EltGreater| EltLessEqual| EltGreaterEqual| EltEqualScalar| EltNotEqualScalar| EltLessScalar| EltGreaterScalar| EltLessEqualScalar| EltGreaterEqualScalar| Conv1d of Owl_types_common.padding * int array| Conv2d of Owl_types_common.padding * int array| Conv3d of Owl_types_common.padding * int array| TransposeConv1d of Owl_types_common.padding * int array| TransposeConv2d of Owl_types_common.padding * int array| TransposeConv3d of Owl_types_common.padding * int array| DilatedConv1d of Owl_types_common.padding * int array * int array| DilatedConv2d of Owl_types_common.padding * int array * int array| DilatedConv3d of Owl_types_common.padding * int array * int array| MaxPool1d of Owl_types_common.padding * int array * int array| MaxPool2d of Owl_types_common.padding * int array * int array| MaxPool3d of Owl_types_common.padding * int array * int array| AvgPool1d of Owl_types_common.padding * int array * int array| AvgPool2d of Owl_types_common.padding * int array * int array| AvgPool3d of Owl_types_common.padding * int array * int array| UpSampling2d of int array| Conv1dBackwardInput of int array| Conv1dBackwardKernel of int array| Conv2dBackwardInput of int array| Conv2dBackwardKernel of int array| Conv3dBackwardInput of int array| Conv3dBackwardKernel of int array| TransposeConv1dBackwardInput of int array| TransposeConv1dBackwardKernel of int array| TransposeConv2dBackwardInput of int array| TransposeConv2dBackwardKernel of int array| TransposeConv3dBackwardInput of int array| TransposeConv3dBackwardKernel of int array| DilatedConv1dBackwardInput of int array * int array| DilatedConv1dBackwardKernel of int array * int array| DilatedConv2dBackwardInput of int array * int array| DilatedConv2dBackwardKernel of int array * int array| DilatedConv3dBackwardInput of int array * int array| DilatedConv3dBackwardKernel of int array * int array| MaxPool1dBackward of Owl_types_common.padding * int array * int array| MaxPool2dBackward of Owl_types_common.padding * int array * int array| MaxPool3dBackward of Owl_types_common.padding * int array * int array| AvgPool1dBackward of Owl_types_common.padding * int array * int array| AvgPool2dBackward of Owl_types_common.padding * int array * int array| AvgPool3dBackward of Owl_types_common.padding * int array * int array| UpSampling2dBackward of int array| RowNum| ColNum| Row| Rows of int array| CopyRowTo| CopyColTo| Dot of bool * bool * elt * elt| Inv| Trace| Transpose of int array| ToRows| OfRows| Scalar_Add| Scalar_Sub| Scalar_Mul| Scalar_Div| Scalar_Pow| Scalar_Atan2| Scalar_Abs| Scalar_Neg| Scalar_Sqr| Scalar_Sqrt| Scalar_Exp| Scalar_Log| Scalar_Log2| Scalar_Log10| Scalar_Signum| Scalar_Floor| Scalar_Ceil| Scalar_Round| Scalar_Sin| Scalar_Cos| Scalar_Tan| Scalar_Sinh| Scalar_Cosh| Scalar_Tanh| Scalar_Asin| Scalar_Acos| Scalar_Atan| Scalar_Asinh| Scalar_Acosh| Scalar_Atanh| Scalar_Relu| Scalar_Dawsn| Scalar_Sigmoid| Fused_Adagrad of float * floatval number : Owl_types_common.number