Module type Owl_computation_graph_sig.Sig

Type definition
type graph
Core functions
val shape_or_value : Optimiser.Operator.Symbol.Shape.Type.t -> string

print shape for ndarrays, whilst value for scalars

val graph_to_dot : graph -> string

generate a string that can be written to a .dot file to draw the graph

val graph_to_trace : graph -> string

print the graph structure to a string

val save_graph : 'a -> string -> unit

save the graph object to a file with given name, using marshall format

val load_graph : string -> 'a * 'b

load the graph object from a file with given name

traverse each node in the input array, and return the random variable type nodes.

val invalidate_rvs : graph -> unit

TODO

Build a graph based on input nodes, output nodes, and graph name

get input nodes of a graph

get output nodes of a graph

val is_iopair_safe : 'a Owl_graph.node -> 'a Owl_graph.node -> bool

create an iopair between the input nodes and output nodes in a graph

val update_iopair : graph -> unit
val remove_unused_iopair : 'a Owl_graph.node array -> 'b array -> 'a Owl_graph.node array * 'b array

remove unuserd iopair from an array of nodes

initialize inputs nodes of a graph with given function f

val optimise : graph -> unit

optimise the graph structure