Class ComputeOps
GPU compute implementation of IOps
Inherited Members
Namespace: Unity.Barracuda
Assembly: solution.dll
Syntax
public class ComputeOps : ReferenceComputeOps, IOps, IOpsStatistics
Constructors
ComputeOps(ITensorAllocator, bool)
Create ComputeOps
Declaration
public ComputeOps(ITensorAllocator allocator = null, bool verbose = false)
Parameters
Type | Name | Description |
---|---|---|
ITensor |
allocator | allocator |
bool | verbose | verbose flag |
Methods
Activation(string, Tensor, float, float)
Generic activation function
Declaration
protected override Tensor Activation(string kernelName, Tensor X, float alpha = 0, float beta = 0)
Parameters
Type | Name | Description |
---|---|---|
string | kernelName | kernel name |
Tensor | X | input |
float | alpha | alpha |
float | beta | beta |
Returns
Type | Description |
---|---|
Tensor | output Tensor |
Overrides
ApplyPadding(Tensor, int[], string, float)
Apply padding
Declaration
protected override Tensor ApplyPadding(Tensor X, int[] pad, string kernelName, float constant = 0)
Parameters
Type | Name | Description |
---|---|---|
Tensor | X | input |
int[] | pad | padding |
string | kernelName | kernel name |
float | constant | constant |
Returns
Type | Description |
---|---|
Tensor | output |
Overrides
ArgMax(Tensor, int)
ArgMax
Declaration
public override Tensor ArgMax(Tensor X, int axis)
Parameters
Returns
Type | Description |
---|---|
Tensor | output Tensor |
Overrides
ArgMin(Tensor, int)
ArgMax
Declaration
public override Tensor ArgMin(Tensor X, int axis)
Parameters
Returns
Type | Description |
---|---|
Tensor | output Tensor |
Overrides
Concat(Tensor[], int)
Concatenate tensors
across axis
Declaration
public override Tensor Concat(Tensor[] tensors, int axis)
Parameters
Returns
Type | Description |
---|---|
Tensor | output Tensor |
Overrides
Conv2D(Tensor, Tensor, Tensor, int[], int[], FusedActivation)
2D convolution
Declaration
public override Tensor Conv2D(Tensor X, Tensor K, Tensor B, int[] stride, int[] pad, Layer.FusedActivation fusedActivation)
Parameters
Type | Name | Description |
---|---|---|
Tensor | X | |
Tensor | K | |
Tensor | B | |
int[] | stride | stride |
int[] | pad | padding |
Layer.Fused |
fusedActivation | fused activation type |
Returns
Type | Description |
---|---|
Tensor | output Tensor |
Overrides
Conv2DTrans(Tensor, Tensor, Tensor, int[], int[], int[], FusedActivation)
Transpose 2D convolution
Declaration
public override Tensor Conv2DTrans(Tensor X, Tensor K, Tensor B, int[] stride, int[] pad, int[] outputAdjustment, Layer.FusedActivation fusedActivation)
Parameters
Type | Name | Description |
---|---|---|
Tensor | X | |
Tensor | K | |
Tensor | B | |
int[] | stride | stride |
int[] | pad | padding |
int[] | outputAdjustment | output adjustments |
Layer.Fused |
fusedActivation | fused activation type |
Returns
Type | Description |
---|---|
Tensor | output Tensor |
Overrides
Conv3D(Tensor, Tensor, Tensor, int[], int[], FusedActivation)
3D convolution
Declaration
public override Tensor Conv3D(Tensor X, Tensor K, Tensor B, int[] stride, int[] pad, Layer.FusedActivation fusedActivation)
Parameters
Type | Name | Description |
---|---|---|
Tensor | X | |
Tensor | K | |
Tensor | B | |
int[] | stride | stride |
int[] | pad | padding |
Layer.Fused |
fusedActivation | fused activation type |
Returns
Type | Description |
---|---|
Tensor | output Tensor |
Overrides
CopyAndReshape(Tensor, TensorShape)
Copy and reshape Tensor
Declaration
protected override Tensor CopyAndReshape(Tensor X, TensorShape newShape)
Parameters
Type | Name | Description |
---|---|---|
Tensor | X | input |
Tensor |
newShape |
Returns
Type | Description |
---|---|
Tensor | output |
Overrides
CopyAndReshape_NCHW(Tensor, TensorShape)
Copy and reshape tensor for NCHW layout
Declaration
protected override Tensor CopyAndReshape_NCHW(Tensor X, TensorShape newShape)
Parameters
Type | Name | Description |
---|---|---|
Tensor | X | input |
Tensor |
newShape | new shape |
Returns
Type | Description |
---|---|
Tensor | output |
Overrides
Dense(Tensor, Tensor, Tensor, FusedActivation)
Dense layer (matrix multiplication) o = x
⨯ w
+ b
Declaration
public override Tensor Dense(Tensor X, Tensor W, Tensor B, Layer.FusedActivation fusedActivation)
Parameters
Type | Name | Description |
---|---|---|
Tensor | X | |
Tensor | W | |
Tensor | B | |
Layer.Fused |
fusedActivation | fused activation type |
Returns
Type | Description |
---|---|
Tensor | output Tensor |
Overrides
Dense3(Tensor, Tensor, Tensor)
rank3 Dense layer (matrix multiplication) o = x
⨯ w
+ b
O: N,,W,C / X: N,,W,C / W:N,,,C / B:N,,,_
Declaration
public override Tensor Dense3(Tensor X, Tensor W, Tensor B)
Parameters
Returns
Type | Description |
---|---|
Tensor | output Tensor |
Overrides
DepthwiseConv2D(Tensor, Tensor, Tensor, int[], int[], FusedActivation)
Depthwise 2D convolution
Declaration
public override Tensor DepthwiseConv2D(Tensor X, Tensor K, Tensor B, int[] stride, int[] pad, Layer.FusedActivation fusedActivation)
Parameters
Type | Name | Description |
---|---|---|
Tensor | X | |
Tensor | K | |
Tensor | B | |
int[] | stride | stride |
int[] | pad | padding |
Layer.Fused |
fusedActivation | fused activation type |
Returns
Type | Description |
---|---|
Tensor | output Tensor |
Overrides
ElementwiseWithBroadcast(string, Tensor[])
Elementwise broadcast for specified kernel
Declaration
protected override Tensor ElementwiseWithBroadcast(string kernelName, Tensor[] tensors)
Parameters
Returns
Type | Description |
---|---|
Tensor | output |
Overrides
Exceptions
Type | Condition |
---|---|
Not |
thrown if input |
GlobalAvgPool2D(Tensor)
2D global average pooling
Declaration
public override Tensor GlobalAvgPool2D(Tensor X)
Parameters
Type | Name | Description |
---|---|---|
Tensor | X |
Returns
Type | Description |
---|---|
Tensor | output Tensor |
Overrides
GlobalAvgVariancePool2D(Tensor)
2D global average variance pooling
Declaration
public override Tensor GlobalAvgVariancePool2D(Tensor X)
Parameters
Type | Name | Description |
---|---|---|
Tensor | X |
Returns
Type | Description |
---|---|
Tensor | output Tensor |
Overrides
GlobalMaxPool2D(Tensor)
2D global max pooling
Declaration
public override Tensor GlobalMaxPool2D(Tensor X)
Parameters
Type | Name | Description |
---|---|---|
Tensor | X |
Returns
Type | Description |
---|---|
Tensor | output Tensor |
Overrides
GlobalPool2D(string, string, Tensor)
Generic global 2D pooling
Declaration
protected virtual Tensor GlobalPool2D(string smallKernelName, string globalKernelName, Tensor X)
Parameters
Type | Name | Description |
---|---|---|
string | smallKernelName | small kernel name |
string | globalKernelName | global kernel name |
Tensor | X | input |
Returns
Type | Description |
---|---|
Tensor | output |
LogSoftmax(Tensor, int)
LogSoftmax
Declaration
public override Tensor LogSoftmax(Tensor X, int axis)
Parameters
Returns
Type | Description |
---|---|
Tensor | output Tensor |
Overrides
LogicalNot(Tensor)
Not
Declaration
public override Tensor LogicalNot(Tensor X)
Parameters
Type | Name | Description |
---|---|---|
Tensor | X |
Returns
Type | Description |
---|---|
Tensor | Tensor with !x values |
Overrides
MatMul(Tensor, bool, Tensor, bool)
Simple 2D matrix multiplication O = X
⨯ Y
Declaration
public override Tensor MatMul(Tensor X, bool xTranspose, Tensor Y, bool yTranspose)
Parameters
Type | Name | Description |
---|---|---|
Tensor | X | left Tensor |
bool | xTranspose |
|
Tensor | Y | right Tensor |
bool | yTranspose |
|
Returns
Type | Description |
---|---|
Tensor | output Tensor |
Overrides
MatMul(Tensor, int, Tensor, int)
Multidimensional Matrix multiplication o = x
⨯ y
Declaration
public override Tensor MatMul(Tensor X, int rankX, Tensor Y, int rankY)
Parameters
Returns
Type | Description |
---|---|
Tensor | output Tensor |
Overrides
Normalization(Tensor, Tensor, Tensor, int, int, float, FusedActivation)
Normalization
Declaration
public override Tensor Normalization(Tensor X, Tensor S, Tensor B, int pool, int axis, float epsilon, Layer.FusedActivation fusedActivation)
Parameters
Type | Name | Description |
---|---|---|
Tensor | X | |
Tensor | S | |
Tensor | B | |
int | pool | pooling |
int | axis | axis |
float | epsilon | threshold |
Layer.Fused |
fusedActivation | fused activation type |
Returns
Type | Description |
---|---|
Tensor | output Tensor |
Overrides
PRelu(Tensor, Tensor)
PReLU
Declaration
public override Tensor PRelu(Tensor X, Tensor S)
Parameters
Returns
Type | Description |
---|---|
Tensor | output Tensor |
Overrides
Pool2D(string, Tensor, int[], int[], int[])
Declaration
protected override Tensor Pool2D(string kernelName, Tensor X, int[] pool, int[] stride, int[] pad)
Parameters
Returns
Type | Description |
---|---|
Tensor |
Overrides
ReduceHelper(Type, Tensor, int, AllocScope)
Declaration
protected virtual Tensor ReduceHelper(Layer.Type kernelName, Tensor X, int axis, AllocScope outputScope)
Parameters
Type | Name | Description |
---|---|---|
Layer.Type | kernelName | |
Tensor | X | |
int | axis | |
Alloc |
outputScope |
Returns
Type | Description |
---|---|
Tensor |
ReduceMax(Tensor, int)
Reduce with max
Declaration
public override Tensor ReduceMax(Tensor X, int axis)
Parameters
Returns
Type | Description |
---|---|
Tensor | output Tensor |
Overrides
ReduceMean(Tensor, int)
Reduce with mean
Declaration
public override Tensor ReduceMean(Tensor X, int axis)
Parameters
Returns
Type | Description |
---|---|
Tensor | output Tensor |
Overrides
ReduceMin(Tensor, int)
Reduce with min
Declaration
public override Tensor ReduceMin(Tensor X, int axis)
Parameters
Returns
Type | Description |
---|---|
Tensor | output Tensor |
Overrides
ReduceProd(Tensor, int)
Reduce with product
Declaration
public override Tensor ReduceProd(Tensor X, int axis)
Parameters
Returns
Type | Description |
---|---|
Tensor | output Tensor |
Overrides
ReduceSum(Tensor, int)
Reduce with sum
Declaration
public override Tensor ReduceSum(Tensor X, int axis)
Parameters
Returns
Type | Description |
---|---|
Tensor | output Tensor |
Overrides
ScaleBias(Tensor, Tensor, Tensor)
Scale bias o = s * x + b, element wise
Declaration
public override Tensor ScaleBias(Tensor X, Tensor S, Tensor B)
Parameters
Returns
Type | Description |
---|---|
Tensor | output Tensor |
Overrides
Sign(Tensor)
Sign
Declaration
public override Tensor Sign(Tensor X)
Parameters
Type | Name | Description |
---|---|---|
Tensor | X |
Returns
Type | Description |
---|---|
Tensor | Tensor with 1 if x > 0 -1 if < 0 and 0 if == 0 values |
Overrides
Softmax(Tensor, int)
Softmax
Declaration
public override Tensor Softmax(Tensor X, int axis)
Parameters
Returns
Type | Description |
---|---|
Tensor | output Tensor |
Overrides
Transpose(Tensor)
Transpose matrix
Declaration
public override Tensor Transpose(Tensor X)
Parameters
Type | Name | Description |
---|---|---|
Tensor | X |
Returns
Type | Description |
---|---|
Tensor | output Tensor |
Overrides
Transpose(Tensor, int[])
Transpose according to permutations
Declaration
public override Tensor Transpose(Tensor X, int[] permutations)
Parameters
Returns
Type | Description |
---|---|
Tensor | output Tensor |
Overrides
Upsample2D(Tensor, int[], bool)
Upsample 2D
Declaration
public override Tensor Upsample2D(Tensor X, int[] scale, bool bilinear)
Parameters
Returns
Type | Description |
---|---|
Tensor | output Tensor |
Overrides
Where(Tensor, Tensor, Tensor)
Where
Declaration
public override Tensor Where(Tensor C, Tensor A, Tensor B)
Parameters
Returns
Type | Description |
---|---|
Tensor | Tensor with values |