Supported Operators
The following operators are supported in HeliosAOT. The operator_attributes
feature allows you to customize the behavior of these operators.
Operator | Category | Quant | Status |
---|---|---|---|
ADD | Elementwise | int8 | ✅ Implemented |
ASSIGN_VARIABLE | Variables | int8 | ✅ Implemented |
AVERAGE_POOL_2D | Pooling | int8 | ✅ Implemented |
BATCH_MATMUL | Matrix Multiply | int8 | ✅ Implemented |
CONCATENATION | Tensor Manipulation | int8 | ✅ Implemented |
CONV_2D | Convolution | int8 | ✅ Implemented |
DEPTHWISE_CONV_2D | Convolution | int8 | ✅ Implemented |
DEQUANTIZE | Quantization | int8 | ✅ Implemented |
FILL | Tensor Creation | int8 | ✅ Implemented |
FULLY_CONNECTED | Dense / Fully Connected | int8 | ✅ Implemented |
HARD_SWISH | Activation | int8 | ✅ Implemented |
LEAKY_RELU | Activation | int8 | ✅ Implemented |
LOGISTIC | Activation | int8 | ✅ Implemented |
MAX_POOL_2D | Pooling | int8 | ✅ Implemented |
MAXIMUM | Elementwise | int8 | ✅ Implemented |
MEAN | Reduction | int8 | ✅ Implemented |
MINIMUM | Elementwise | int8 | ✅ Implemented |
MUL | Elementwise | int8 | ✅ Implemented |
PACK | Tensor Manipulation | int8 | ✅ Implemented |
PAD | Tensor Manipulation | int8 | ✅ Implemented |
READ_VARIABLE | Variables | int8 | ✅ Implemented |
QUANTIZE | Quantization | int8 | ✅ Implemented |
RELU | Activation | int8 | ✅ Implemented |
RELU6 | Activation | int8 | ✅ Implemented |
RESHAPE | Tensor Manipulation | int8 | ✅ Implemented |
SHAPE | Tensor Inspection | int8 | ✅ Implemented |
SOFTMAX | Activation | int8 | ✅ Implemented |
SPLIT/SPLIT_V | Tensor Manipulation | int8 | ✅ Implemented |
SQUEEZE | Tensor Manipulation | int8 | ✅ Implemented |
STRIDED_SLICE | Tensor Manipulation | int8 | ✅ Implemented |
TANH | Activation | int8 | ✅ Implemented |
TRANSPOSE_CONV | Transposed Convolution | int8 | ✅ Implemented |
TRANSPOSE | Tensor Manipulation | int8 | ✅ Implemented |
UNPACK | Tensor Manipulation | int8 | ✅ Implemented |
ZEROS_LIKE | Tensor Creation | int8 | ✅ Implemented |
Missing an operator?
If there are operators missing needed for your use case, please reach out to us. We are continuously working to expand the list of supported operators and would love to hear your feedback: Ambiq AI team.
Operator Attributes
The operator attributes feature allows you to customize the behavior of specific operators during the conversion process. This is useful for optimizing performance or adapting to specific hardware constraints. For example, you can specify the code and scratch memory placement for certain operators. You can define operator attributes in the YAML configuration file. The operators
section allows you to specify a list of attributes for different operators. Each attribute can include the operator type, operator ID(s), followed by key-value pairs for the attributes.
To learn more, checkout the Operator Attributes reference.