# Supported Frameworks
We support almost all the commonly used Machine Learning frameworks & libraries such as ONNX, PyTorch, Keras, TensorFlow, and TensorFlow Lite.

![Supported deep-learning frameworks](../res/image/supported_frameworks_new.png "Supported deep-learning frameworks")

# Mobilint IR Operations List
- The following list includes only the operations natively supported by Mobilint hardware. Operations not explicitly listed may still be partially supported during compilation via graph-level transformations into equivalent operations.
- All operations supported by Mobilint hardware support the `NHWC`(channel-last)-data format with a batch size of `1`.



| Operation                      | Notes                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| :----------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| AddPartial                     | num inputs: 2<br>num outputs: 1<br>attributes:<br>- is_input0_larger: bool                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| AddingConstant                 | num inputs: 1<br>num outputs: 1<br>attributes:<br>- constant: Weight<br>- is_const_first: bool (default=false)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| Adding                         | num inputs: 2<br>num outputs: 1<br>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Batchnorm                      | num inputs: 1<br>num outputs: 1<br>attributes:<br>- gamma: Weight<br>- beta: Weight<br>- moving_mean: Weight<br>- moving_var: Weight<br>- epsilon: Weight<br>- channel_last: bool (default=true)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| Celu                           | num inputs: 1<br>num outputs: 1<br>attributes:<br>- alpha: float32                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| Clip                           | num inputs: 1<br>num outputs: 1<br>attributes:<br>- clip_max_value: float32 (optional)<br>- clip_min_value: float32 (optional)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| Concatenate                    | num inputs: variable<br>num outputs: 1<br>attributes:<br>- original_key: str (optional)<br>- axis: int32 (optional)<br>- original_axis: int32 (optional)<br>- original_inputs: int32[] (optional)<br>- input_index: int32[] (optional)<br>- input_names: str[] (optional)<br><br>description:<br>input_names: input activation names in original order. input_index: input index in computation order.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| Convolution                    | num inputs: 1<br>num outputs: 1<br>attributes:<br>- in_channels: int32<br>- out_channels: int32<br>- h_kernel: int32<br>- w_kernel: int32<br>- h_stride: int32<br>- w_stride: int32<br>- h_dilation: int32<br>- w_dilation: int32<br>- west_padding: int32<br>- east_padding: int32<br>- north_padding: int32<br>- south_padding: int32<br>- padding_list: int32[] (default=[])<br>- group_number: int32<br>- weight: Weight<br>- bias: Weight (optional)<br>- channel_last: bool (default=true)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| DepthwiseConvolution           | num inputs: 1<br>num outputs: 1<br>attributes:<br>- in_channels: int32<br>- out_channels: int32<br>- h_kernel: int32<br>- w_kernel: int32<br>- h_stride: int32<br>- w_stride: int32<br>- h_dilation: int32<br>- w_dilation: int32<br>- west_padding: int32<br>- east_padding: int32<br>- north_padding: int32<br>- south_padding: int32<br>- padding_list: int32[] (default=[])<br>- group_number: int32<br>- weight: Weight<br>- bias: Weight (optional)<br>- channel_last: bool (default=true)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| DeviceBridge                   | num inputs: 1<br>num outputs: 1<br>attributes:<br>- squeeze_axes: int32[]<br>- unsqueeze_axes: int32[]<br>- permute_axes: int64[]<br>- device: str (optional)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| DivConstant                    | num inputs: 1<br>num outputs: 1<br>attributes:<br>- constant: Weight<br>- is_const_first: bool                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| Div                            | num inputs: 2<br>num outputs: 1<br>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Elu                            | num inputs: 1<br>num outputs: 1<br>attributes:<br>- leaky_alpha: float32                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| Erf                            | num inputs: 1<br>num outputs: 1<br>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Exp                            | num inputs: 1<br>num outputs: 1<br>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Gelu                           | num inputs: 1<br>num outputs: 1<br>attributes:<br>- approximate: bool (default=false)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| GLU                            | num inputs: 1<br>num outputs: 1<br>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| GroupConvolution               | num inputs: 1<br>num outputs: 1<br>attributes:<br>- in_channels: int32<br>- out_channels: int32<br>- h_kernel: int32<br>- w_kernel: int32<br>- h_stride: int32<br>- w_stride: int32<br>- h_dilation: int32<br>- w_dilation: int32<br>- west_padding: int32<br>- east_padding: int32<br>- north_padding: int32<br>- south_padding: int32<br>- padding_list: int32[] (default=[])<br>- group_number: int32<br>- weight: Weight<br>- bias: Weight (optional)<br>- channel_last: bool (default=true)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| GroupNormalization             | num inputs: 1<br>num outputs: 1<br>attributes:<br>- num_groups: int32<br>- scale: Weight<br>- bias: Weight (optional)<br>- epsilon: Weight<br>- channel_last: bool (default=true)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| HardSigmoid                    | num inputs: 1<br>num outputs: 1<br>attributes:<br>- alpha: float32 (optional)<br>- beta: float32 (optional)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| Hardtanh                       | num inputs: 1<br>num outputs: 1<br>attributes:<br>- min_val: float32 (default=-1.0)<br>- max_val: float32 (default=1.0)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| HardSwish                      | num inputs: 1<br>num outputs: 1<br>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| HeaderView                     | num inputs: 1<br>num outputs: 1<br>attributes:<br>- view_shape: int32[] (default=[])<br>- num_heads: int32 (default=-1)<br>- batch_order: int32 (default=0)<br><br>description:<br>HeaderView simplifies the following sequence of operations.<br>If batch_order == 0<br>(n,h,w,c)-[reshape]->(1, h, w, num_heads c/num_heads)<br>-[transpose01324]->(1, h, num_heads, w, c/num_heads)<br>-[reshape]->(1, h*num_heads, w, c/num_heads)<br>If batch_order == 1<br>(n,h,w,c)-[reshape]->(1, h, w, num_heads, c/num_heads)<br>-[transpose03124]->(1, num_heads, h, w, c/num_heads)<br>-[reshape]->(1, num_heads*h, w, c/num_heads)                                                                                                                                                                                                                                                                                                                                                                                                                                |
| HeaderViewRevert               | num inputs: 1<br>num outputs: 1<br>attributes:<br>- revert_shape: int32[] (default=[])<br>- num_heads: int32 (default=-1)<br>- batch_order: int32 (default=0)<br><br>description:<br>HeaderViewRevert simplifies the following sequence of operations.<br>If batch_order == 0<br>(n,h,w,c)-[reshape]->(1, h/num_heads, num_heads, w, c)<br>-[transpose01324]->(1, h/num_heads, w, num_heads, c)<br>-[reshape]->(1, h/num_heads, w, num_heads * c)<br>If batch_order == 1<br>(n,h,w,c)-[reshape]->(1, num_heads, h/num_heads, w, c)<br>-[transpose02314]->(1, h/num_heads, w, num_heads, c)<br>-[reshape]->(1, h/num_heads, w, num_heads*c)                                                                                                                                                                                                                                                                                                                                                                                                                     |
| Identity                       | num inputs: 1<br>num outputs: 1<br>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| InputConstant                  | num inputs: 0<br>num outputs: 1<br>attributes:<br>- constant: Weight                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| Input                          | num inputs: 1<br>num outputs: 1<br>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| InstanceNormalization          | num inputs: 1<br>num outputs: 1<br>attributes:<br>- scale: Weight<br>- bias: Weight (optional)<br>- epsilon: Weight<br>- channel_last: bool (default=true)<br>- num_groups: int32 (default=-1)<br>- group_order: int32 (default=-1)<br><br>description:<br>If `num_groups` and `order` are specified, the channel dimension is grouped and rearranged before normalization.<br>For example, the following sequence:<br>(n, 1, w, c*2)-[reshape]->(n, w, c, 2)<br>-[transpose0312]->(n, 2, w, c)<br>-[InstanceNorm, num_features=c]->(n, 2, w, c)<br>-[transpose0231]->(n, w, c, 2)<br>-[reshape]->(n, 1, w, c*2)<br>is equivalent to a single operation:<br>(n, 1, w, c*2)-[InstanceNormalization, num_features=c, num_groups=2, group_order=1]->(n, 1, w, c*2)<br>The follosing sequence:<br>(n, 1, w, 2*c)-[reshape]->(n,w,2,c)<br>-[InstanceNorm, num_features=c]->(n, w, 2, c)<br>-[reshape]v(n, 1, w, c*2)<br>is equivalent to a single operation:<br>(n, 1, w, 2*c)-[InstanceNormalization, num_features=c, num_groups=2, group_order=0]->(n, 1, w, 2*c) |
| L1Normalization                | num inputs: 1<br>num outputs: 1<br>attributes:<br>- norm_axis: int32[]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| L2Normalization                | num inputs: 1<br>num outputs: 1<br>attributes:<br>- norm_axis: int32[]<br>- epsilon: Weight (optional)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| LSTM                           | num inputs: variable<br>num outputs: 1<br>attributes:<br>- W: Weight<br>- R: Weight<br>- B: Weight (optional)<br>- lstm_group: str<br>- input_mask: str<br>- output_mask: str<br>- P: Weight (optional)<br>- direction: str (default="forward")<br>- batch_first: bool (default=false)<br>- hidden_size: int32<br><br>description:<br>inputs:[input, sequence_lens, initial_h, initial_c]<br>outputs:[output] or [hidden_out] or [cell_out]<br>input_mask: "ishc" or "i", etc,...<br>output_mask: "o" or "h" or "c"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| LayerNormalization             | num inputs: 1<br>num outputs: 1<br>attributes:<br>- normalized_shape: int64[] (default=[])<br>- scale: Weight<br>- bias: Weight (optional)<br>- epsilon: Weight                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| Logit                          | num inputs: 1<br>num outputs: 1<br>attributes:<br>- eps: float32 (optional)<br><br>description:<br>Compute y = ln(z / (1 - z)). If eps is given, we clamp input z = clamp(z, min=eps, max=1-eps)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| RNN                            | num inputs: variable<br>num outputs: 1<br>attributes:<br>- W: Weight<br>- R: Weight<br>- B: Weight (optional)<br>- rnn_group: str<br>- input_mask: str<br>- output_mask: str<br>- direction: str (default="forward")<br>- batch_first: bool (default=false)<br>- hidden_size: int32<br><br>description:<br>inputs:[input, sequence_lens, initial_h]<br>outputs:[output] or [hidden_out]<br>input_mask: "ish" or "i", etc,...<br>output_mask: "o" or "h"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| GRU                            | num inputs: variable<br>num outputs: 1<br>attributes:<br>- W: Weight<br>- R: Weight<br>- B: Weight (optional)<br>- gru_group: str<br>- input_mask: str<br>- output_mask: str<br>- direction: str (default="forward")<br>- batch_first: bool (default=false)<br>- linear_before_reset: bool (default=false)<br>- hidden_size: int32<br><br>description:<br>inputs:[input, sequence_lens, initial_h]<br>outputs:[output] or [hidden_out]<br>input_mask: "ish" or "i", etc,...<br>output_mask: "o" or "h"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| LeakyRelu                      | num inputs: 1<br>num outputs: 1<br>attributes:<br>- leaky_alpha: float32                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| Log                            | num inputs: 1<br>num outputs: 1<br>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| LogSigmoid                     | num inputs: 1<br>num outputs: 1<br>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| MatMul                         | num inputs: variable<br>num outputs: 1<br>attributes:<br>- constant: Weight (optional)<br>- is_const_first: bool (default=false)<br>- repeat: int32[2] (default=[-1, -1])<br><br>description:<br>If repeat=(0, 4), then input0 is repeated 4 times along the h-direction.<br>For example, you can perform a matrix multiplication with input0 of shape (1, 8, 52, 64) and<br>input1 of shape (1, 32, 52, 64) by concatenating input0 4 times, resulting in a input0 shape of (1, 32, 52, 64).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| Mish                           | num inputs: 1<br>num outputs: 1<br>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| MultiplyConstant               | num inputs: 1<br>num outputs: 1<br>attributes:<br>- constant: Weight<br>- is_const_first: bool (default=false)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| Multiply                       | num inputs: 2<br>num outputs: 1<br>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Neg                            | num inputs: 1<br>num outputs: 1<br>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Output                         | num inputs: 1<br>num outputs: 1<br>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Pad                            | num inputs: 1<br>num outputs: 1<br>attributes:<br>- west_padding: int32 (default=-1)<br>- east_padding: int32 (default=-1)<br>- south_padding: int32 (default=-1)<br>- north_padding: int32 (default=-1)<br>- pad_mode: str<br>- constant: float32 (default=0.0)<br>- padding_list: int32[] (optional)<br><br>description:<br>padding_list format should be [x1_begin, x2_begin, …, x1_end, x2_end,…],<br>where xi_begin is the number of pad values added at the beginning of axis                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Pooling                        | num inputs: 1<br>num outputs: 1<br>attributes:<br>- h_kernel: int32<br>- w_kernel: int32<br>- h_stride: int32<br>- w_stride: int32<br>- h_dilation: int32 (default=1)<br>- w_dilation: int32 (default=1)<br>- west_padding: int32<br>- east_padding: int32<br>- north_padding: int32<br>- south_padding: int32<br>- padding_list: int32[] (default=[])<br>- pool_type: str<br>- pad_mode: str<br>- is_ceil_mode: bool (default=false)<br>- is_include_pad: bool (default=false)<br>- channel_last: bool (default=true)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| GlobalAveragePooling           | num inputs: 1<br>num outputs: 1<br>attributes:<br>- channel_last: bool (default=true)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| Pow                            | num inputs: 1<br>num outputs: 1<br>attributes:<br>- exponent: float32                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| QuickGelu                      | num inputs: 1<br>num outputs: 1<br>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| ReduceL2                       | num inputs: 1<br>num outputs: 1<br>attributes:<br>- keep_dims: bool<br>- reduce_axes: int32[]<br>- noop_with_empty_axes: int32                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| ReduceMax                      | num inputs: 1<br>num outputs: 1<br>attributes:<br>- keep_dims: bool<br>- reduce_axes: int32[]<br>- noop_with_empty_axes: int32                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| ReduceMean                     | num inputs: 1<br>num outputs: 1<br>attributes:<br>- keep_dims: bool<br>- reduce_axes: int32[]<br>- noop_with_empty_axes: int32                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| ReduceProd                     | num inputs: 1<br>num outputs: 1<br>attributes:<br>- keep_dims: bool<br>- reduce_axes: int32[]<br>- noop_with_empty_axes: int32                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| ReduceSum                      | num inputs: 1<br>num outputs: 1<br>attributes:<br>- keep_dims: bool<br>- reduce_axes: int32[]<br>- noop_with_empty_axes: int32                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| Relu                           | num inputs: 1<br>num outputs: 1<br>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Reshape                        | num inputs: 1<br>num outputs: 1<br>attributes:<br>- new_shape: int32[] (optional)<br>- allowzero: int32 (default=0)<br>- is_const_first: bool (default=false)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| Resize                         | num inputs: 1<br>num outputs: 1<br>attributes:<br>- resize_type: str (optional)<br>- resize_mode: str (optional)<br>- nearest_mode: str (optional)<br>- transform_mode: str (optional)<br>- roi: int32[] (optional)<br>- scales: float32[] (optional)<br>- sizes: int32[] (optional)<br>- cubic_coeff_a: float32 (optional)<br>- exclude_outside: int32 (optional)<br>- extrapolation_value: float32 (optional)<br>- antialias: int32 (optional)<br>- axes: int32[] (optional)<br>- keep_aspect_ratio_policy: str (optional)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| RmsNormalization               | num inputs: 1<br>num outputs: 1<br>attributes:<br>- normalized_shape: int64[] (default=[])<br>- epsilon: Weight<br>- scale: Weight                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| Rsqrt                          | num inputs: 1<br>num outputs: 1<br>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Rstd                           | num inputs: 1<br>num outputs: 1<br>attributes:<br>- reduce_axes: int32[]<br>- epsilon: Weight<br>- num_groups: int32 (default=1)<br><br>description:<br>computes 1/std(x). if gruops > 1, then activation is grouped along channel axis.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| Sigmoid                        | num inputs: 1<br>num outputs: 1<br>attributes:<br>- alpha: float32 (default=1.0)<br><br>description:<br>alpha is added to deal with more general case like 1 / (1 + exp(-alpha * x))                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| Slice                          | num inputs: 1<br>num outputs: 1<br>attributes:<br>- axis: int32[]<br>- start: int64[]<br>- end: int64[]<br>- step: int64[] (optional)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| Softmax                        | num inputs: 1<br>num outputs: 1<br>attributes:<br>- beta: float32 (default=1.0)<br>- axis: int32                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| Softplus                       | num inputs: 1<br>num outputs: 1<br>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Sqrt                           | num inputs: 1<br>num outputs: 1<br>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| StaggeredPadding               | num inputs: 1<br>num outputs: 1<br>attributes:<br>- axis: int32 (default=3)<br>- reverse: bool (default=false)<br>- window_size: int32 (default=-1)<br><br>description:<br>StaggeredPadding does the following:<br>[[[[1,1,1],<br>[2,2,2],<br>[3,3,3],<br>[4,4,4]]<br>[5,5,5]]]]<br>=> [[[[1,1,1,0,0,0,0],<br>[0,2,2,2,0,0,0],<br>[0,0,3,3,3,0,0],<br>[0,0,0,4,4,4,0],<br>[0,0,0,0,5,5,5]]]]<br>That is, each original row is shifted to the right so that its non-zero block lies on a “diagonal,” and all other elements are zero-padded.<br>Then slice last dim by (2*window_size + 1). For example, if window_size=1 in the above, 5=2*1+1 elements are sliced.<br>=> [[[[1,1,0,0,0],<br>[2,2,2,0,0],<br>[0,3,3,3,0],<br>[0,0,4,4,4],<br>[0,0,0,5,5]]]]<br>If reverse<br>[[[[1,1,1],<br>[2,2,2],<br>[3,3,3],<br>[4,4,4]]<br>[5,5,5]]]]<br>=> [[[[0,0,0,0,1,1,1],<br>[0,0,0,2,2,2,0],<br>[0,0,3,3,3,0,0],<br>[0,4,4,4,0,0,0],<br>[5,5,5,0,0,0,0]]]]                                                                                                         |
| StatefulAttentionMaskWrapper   | num inputs: 1<br>num outputs: 1<br>attributes:<br>- past_seqlen: int32 (default=0)<br>- is_sliding: bool (default=false)<br>- sliding_window: int32 (default=1024)<br>- mask_type: str (default="causal_mask")<br><br>description:<br>mask_type: "causal_mask", "padding_mask"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| StatefulKVCacheWrapper         | num inputs: 1<br>num outputs: 1<br>attributes:<br>- cache_name: str<br>- past_seqlen: int32 (default=0)<br>- is_sliding: bool (default=false)<br>- sliding_window: int32 (default=1024)<br>- max_cache_len: int32 (default=8192)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| StatefulCausalConvCacheWrapper | num inputs: 1<br>num outputs: 1<br>attributes:<br>- cache_name: str<br>- cache_len: int32 (default=0)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| StatefulLSTMWrapper            | num inputs: variable<br>num outputs: 3<br>attributes:<br>- W: Weight<br>- R: Weight<br>- B: Weight (optional)<br>- input_mask: str<br>- output_mask: str<br>- P: Weight (optional)<br>- direction: str (default="forward")<br>- batch_first: bool (default=false)<br>- hidden_size: int32<br>- hidden_state_name: str<br>- cell_state_name: str<br>- subgraph: str<br><br>description:<br>When input_mask is `ishc`, then inputs are [input, sequence_lens, initial_h, initial_c],<br>and if input_mask is `ihc`, then inputs are [input, initial_h, initial_c].<br>The output_mask is `h` means that among [output, hidden_out, cell_out], only the hidden_out is being used.                                                                                                                                                                                                                                                                                                                                                                                 |
| StatefulRNNWrapper             | num inputs: variable<br>num outputs: 2<br>attributes:<br>- W: Weight<br>- R: Weight<br>- B: Weight (optional)<br>- input_mask: str<br>- output_mask: str<br>- direction: str (default="forward")<br>- batch_first: bool (default=false)<br>- hidden_size: int32<br>- hidden_state_name: str<br>- subgraph: str<br><br>description:<br>When input_mask is `ish`, then inputs are [input, sequence_lens, initial_h],<br>and if input_mask is `ih`, then inputs are [input, initial_h].<br>The output_mask is `h` means that among [output, hidden_out], only the hidden_out is being used.                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| StatefulGRUWrapper             | num inputs: variable<br>num outputs: 2<br>attributes:<br>- W: Weight<br>- R: Weight<br>- B: Weight (optional)<br>- input_mask: str<br>- output_mask: str<br>- direction: str (default="forward")<br>- batch_first: bool (default=false)<br>- linear_before_reset: bool (default=false)<br>- hidden_size: int32<br>- hidden_state_name: str<br>- subgraph: str<br><br>description:<br>When input_mask is `ish`, then inputs are [input, sequence_lens, initial_h],<br>and if input_mask is `ih`, then inputs are [input, initial_h].<br>The output_mask is `h` means that among [output, hidden_out], only the hidden_out is being used.                                                                                                                                                                                                                                                                                                                                                                                                                        |
| StatefulRoPEWrapper            | num inputs: 3<br>num outputs: 1<br>attributes:<br>- rope_type: int32 (default=0)<br>- seqlen: int32 (default=0)<br>- rotary_emb_dim: int32 (default=2)<br><br>description:<br>StatefulRoPEWrapper<br>inputs: (q_or_k, con, sin)<br>outputs: (q_or_k_embed)<br>rope_type=> 0: llama, 1: cohere2(aya-vision)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| SubConstant                    | num inputs: 1<br>num outputs: 1<br>attributes:<br>- constant: Weight<br>- is_const_first: bool                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| Sub                            | num inputs: 2<br>num outputs: 1<br>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Swish                          | num inputs: 1<br>num outputs: 1<br>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Tanh                           | num inputs: 1<br>num outputs: 1<br>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| TransposeConvolution           | num inputs: 1<br>num outputs: 1<br>attributes:<br>- in_channels: int32<br>- out_channels: int32<br>- h_kernel: int32<br>- w_kernel: int32<br>- h_stride: int32<br>- w_stride: int32<br>- h_dilation: int32<br>- w_dilation: int32<br>- west_padding: int32<br>- east_padding: int32<br>- north_padding: int32<br>- south_padding: int32<br>- padding_list: int32[] (default=[])<br>- og_padding_list: int32[] (default=[])<br>- og_out_padding_list: int32[] (default=[])<br>- group_number: int32<br>- weight: Weight<br>- bias: Weight (optional)<br>- channel_last: bool (default=true)                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| Transpose                      | num inputs: 1<br>num outputs: 1<br>attributes:<br>- transpose_axes: int64[]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| Weightedsum                    | num inputs: 2<br>num outputs: 1<br>attributes:<br>- weight0: Weight<br>- weight1: Weight                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| OrderedPatchify                | num inputs: 1<br>num outputs: 1<br>attributes:<br>- h_kernel: int32<br>- w_kernel: int32<br>- order: int32 (default=0)<br><br>description:<br>This operation splits a 4D input tensor into non-overlapping patches and rearranges them into a sequence<br>according to the specified order. Supports row-major (order=0) and column-major (order=1) layouts.<br>If order=0 (row-major), the equivalent is: 256 patches, each 12x12, (h_kernel=w_kernel=12)<br>(1,192,192,64)-[reshape]->(1,16,12,16,12,64)-[transpose 013245]->(1,16,16,12,12,64)-[reshape]->(1,256,144,64)<br>Note that order0 is its own inverse.<br>If order=1 (column-major), the equivalent is: 144 patches, each 16x16, (h_kernel=w_kernel=12)<br>(1,192,192,64)-[reshape]->(1,16,12,16,12,64)-[transpose 024135]->(1,12,12,16,16,64)-[reshape]->(1,144,256,64)<br>if order=2 (reversing order=1), h_kernel=12, w_kernel=16<br>(1,144,256,64)-[reshape]->(1,12,12,16,16,64)-[transpose 031425]->(1,16,12,16,12,64)-[reshape]->(1,192,192,64)                                             |

