Owl_computation_type_sig.Sig
module Device : Owl_types_computation_device.Sig
type t = attr Owl_graph.node
TODO
and block = {
size : int;
block_id : int;
mutable active : t option;
mutable memory : Device.value;
mutable nodes : t list;
}
block
type keeps a reference to a block of memory and to the nodes sharing that block.
and 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;
}
TODO
and 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 * float
TODO
*)