Skip to main content

Supported Ops

OperatorKnown limitations
AddElement by element addition is supported.
AveragePool- Pooling size 3 x 3, with stride 1, 1 and SAME padding is supported.
- "Mean" average pooling is supported where the pooling size is 7 or 8, and the input width and height are equal to the pool size.
Concat- Output quantization scale smaller than the input quantization scale divided by 128 is not supported.
- If concatenating along the channel dimension, the channel dimension of every input tensor must be a multiple of 16.
Constant
Conv2D- HWIO format weights are supported.
- The supported kernel heights and widths (the kernel does not have to be square) are: { 1, 2, 3, 5, 7, 9 }.
- The supported strides (the height and width stride have to match) are: { 1, 2 }.
- For kernels with height or width >7, only a stride of 1 is supported.
- SAME and VALID padding are supported.
- I*W/O must be between 0 and 65536, where:
    - I is the input quantization scale.
    - W is the weight quantization scale.
    - O is the output quantization scale.
DepthToSpace- A block size of 2 is supported.
- Depth must be a multiple of the square of the block size.
DepthwiseConvolution2D- HWIM format weights are supported.
- The supported kernel heights and widths (the kernel does not have to be square) are: { 1, 2, 3, 5, 7, 9 }.
- The supported strides (the height and width stride have to match) are: { 1, 2 }.
- For kernels with height or width >7, only a stride of 1 is supported.
- SAME and VALID padding are supported.
- A channel multiplier of 1 is supported. A channel multiplier >1 is not supported.
- I*W/O must be between 0 and 65536, where:
    - I is the input quantization scale.
    - W is the weight quantization scale.
    - O is the output quantization scale.
FullyConnected- HWIO format weights are supported, H and W must be 1.
- I*W/O must be between 0 and 65536, where:
    - I is the input quantization scale.
    - W is the weight quantization scale.
    - O is the output quantization scale.
LeakyReLUAlpha must be less than 1 and greater than 0.
MaxPool- Supported configurations:
    - 1 x 1 pooling size, 2, 2 stride (equivalent to downsample 2 x 2).
    - 2 x 2 pooling size, 2, 2 stride, VALID padding, input sizes must be even.
    - 2 x 2 pooling size, 2, 2 stride, SAME padding, input sizes must be odd.
    - 3 x 3 pooling size, 2, 2 stride, VALID padding, input sizes must be even, maximum tensor width is 417.
    - 3 x 3 pooling size, 2, 2 stride, SAME padding, input sizes must be odd, maximum tensor width is 417.
    - 1, 1 stride with pooling sizes up to 9x9 for VALID padding.
    - 1, 1 stride with pooling sizes up to 17x17 for SAME padding.
- Input size must not be smaller than the pooling size.
MeanXY- Supports mean reduction of H x W dimensions to 1 x 1.
- Only supports:
    - N x 7 x 7 x C input with N x 1 x 1 x C output.
    - N x 8 x 8 x C input with N x 1 x 1 x C output.
Mul- The multiplication of a tensor with a constant tensor is supported when the constant shape is 1 x 1 x 1 x C.
- The multiplication of a variable with a scalar constant is supported when the quantized values in the output are the same as the input.
Pad- Only zero padding in the H and W dimension is supported.
- Padding of up to 7 each side of the tensor in those dimensions is supported.
- Padding amounts can differ per side, e.g. pad of 1 before the tensor in the H dimension and a pad of 3 after the tensor in the H dimension.
- Quantization for input and output tensors must be identical.
Reinterpret quantization
ReLULower bound must be less than the upper bound.
Requantize- Output quantization scale smaller than the input quantization scale divided by 128 is not supported.
- Requantize with different input/output type is supported.
Reshape
Resize- The resized height or width must be 2n or 2n-1 where n is the original height or width.
- If resized height and width are not both odd or both even, the result might be less accurate.
- Some Resize Bilinear configurations (align_corners=True, half_pixel_centres=True when heights and widths are not both even or both odd) produce inaccurate results.
SigmoidThe output for sigmoid always has a quantization zero point equal to the minimum value of the quantized data type and a quantization scale of 1/256.
SplitIf splitting along the channel dimension, the channel dimension of every output tensor must be a multiple of 16.
TanhThe output for tanh always has a quantization zero point equal to the middle value of the quantized data type and a quantization scale of 1/128.
TransposeTranspose is allowed for height, width, and channel dimensions only.
TransposeConvolution2D- HWIO format weights are supported.
- The supported kernel heights and widths (the kernel does not have to be square) are: { 1, 2, 3, 5, 7, 9 }.
- Only a stride of 2 is supported.
- SAME and VALID padding are supported.
- I*W/O must be between 0 and 65536, where:
    - I is the input quantization scale.
    - W is the weight quantization scale.
    - O is the output quantization scale.