Aidge export ARM Cortex-M#
When imported automatically update availables implementations for aidge core objects.
Available implementations#
Operator |
Support |
Impl specs
(
— = any ; ✱ = additional requirements) |
|---|---|---|
Abs |
✅ |
1.
— — → — — |
Add |
✅ |
1.
— —1 → — —1 |
And |
✅ |
1.
— — → boolean — |
ArgMax |
❌ |
|
Asin |
✅ |
1.
float32 — → float32 — |
Atan |
❌ |
|
AvgPooling1D |
✅ |
1.
— nwc → — nwc |
AvgPooling2D |
✅ |
1.
— nhwc → — nhwc |
AvgPooling3D |
❌ |
|
BatchNorm2D |
✅ |
1.
float32 nchw → float32 nchw |
BitErrorRate |
❌ |
|
BitShift |
✅ |
1.
— — → — — |
CastLike |
❌ |
|
Cast |
✅ |
1.
— — → — — |
Ceil |
❌ |
|
Clip |
✅ |
1.
— — → — — |
ComplexToInnerPair |
✅ |
1.
— — → — — |
Concat |
✅ |
1.
— — → — — |
ConnectedComponentLabeling |
❌ |
|
ConstantOfShape |
❌ |
|
Conv1D |
✔️ |
1.
— nwc | — nwc | — — → — nwc |
Conv1DAct(
aidge_export_arm_cortexm._Aidge_Arm.operators.Conv.ArmConv1DAct) |
1.
— nwc | — nwc | — — → — nwc |
|
Conv2D |
✔️ |
1.
— nhwc | — nhwc | — — → — nhwc |
Conv3D |
❌ |
|
ConvAct(
aidge_export_arm_cortexm._Aidge_Arm.operators.Conv.ArmConvAct) |
1.
— — → — — |
|
ConvDepthWise1D |
❌ |
|
ConvDepthWise2D |
✔️ |
1.
— nhwc | — nhwc | — — → — nhwc |
ConvDwAct(
aidge_export_arm_cortexm._Aidge_Arm.operators.ConvDw.ArmConvDwAct) |
1.
— — → — — |
|
ConvTranspose1D |
✔️ |
1.
— nwc | — default | — — → — nwc |
ConvTranspose2D |
✔️ |
1.
— nhwc | — default | — — → — nhwc |
ConvTranspose3D |
❌ |
|
Cosh |
❌ |
|
Cos |
❌ |
|
CryptoHash |
❌ |
|
DepthToSpace |
❌ |
|
DFT |
✅ |
1.
complex32 — → complex32 — |
Div |
✅ |
1.
— —1 → — —1 |
DropBlock |
❌ |
|
Dropout |
❌ |
|
Equal |
✅ |
1.
— — → boolean — 2.
— — → — — |
Erf |
✅ |
1.
float32 — → float32 — |
Expand |
✅ |
1.
— — → — — |
Exp |
❌ |
|
FC |
✔️ |
1.
— default | — — | — — → — — 2.
— nhwc | — — | — — → — — |
FCAct(
aidge_export_arm_cortexm._Aidge_Arm.operators.Fc.ArmFCAct) |
1.
— default | — — | — — → — — 2.
— nhwc | — — | — — → — — |
|
FixedNBitFlip |
❌ |
|
Flatten |
❌ |
|
Floor |
❌ |
|
Fold2D |
❌ |
|
GatherElements |
❌ |
|
GatherND |
❌ |
|
Gather |
✅ |
1.
— — → — — |
GlobalAveragePooling |
✅ |
1.
— nhwc → — nhwc |
Greater |
✅ |
1.
— — → — — |
GridSample |
❌ |
|
Hardmax |
✅ |
1.
float32 — → float32 — |
HardSigmoid |
✅ |
1.
float32 — → float32 — |
Heaviside |
❌ |
|
Identity |
✅ |
1.
— — → — — |
InnerPairToComplex |
✅ |
1.
float32 — → complex32 — |
InstanceNorm |
✅ |
1.
float32 nchw → float32 nchw 2.
float32 ncw → float32 ncw |
LayerNorm |
✅ |
1.
float32 — → float32 — |
LeakyReLU |
✅ |
1.
— — → — — |
Less |
✅ |
1.
— — → — — |
Ln |
✅ |
1.
float32 — → float32 — |
LogSoftmax |
❌ |
|
LRN |
❌ |
|
MatMul |
✅ |
1.
— ncdhw | — ncdhw → — ncdhw 2.
— nchw | — nchw → — nchw 3.
— chw | — chw → — chw 4.
— default | — default → — default |
Max |
✅ |
1.
—1 —1 → —1 —1 |
MaxPooling1D |
✅ |
1.
— nwc → — nwc |
MaxPooling2D |
✅ |
1.
— nhwc → — nhwc |
MaxPooling3D |
❌ |
|
Memorize |
✅ |
1.
—1 —1 | —1 —1 → —1 —1 | —1 —1 |
Min |
✅ |
1.
—1 —1 → —1 —1 |
Mod |
❌ |
|
Mul |
✅ |
1.
— —1 → — —1 |
NBitFlip |
❌ |
|
Neg |
❌ |
|
NonZero |
❌ |
|
Not |
✅ |
1.
boolean — → boolean — |
OneHot |
❌ |
|
PadConv(
aidge_export_arm_cortexm._Aidge_Arm.operators.Conv.ArmPadConv) |
1.
— — → — — |
|
PadConv1D(
aidge_export_arm_cortexm._Aidge_Arm.operators.Conv.ArmPadConv1D) |
1.
— nwc | — nwc | — — → — nwc |
|
PadConvAct(
aidge_export_arm_cortexm._Aidge_Arm.operators.Conv.ArmPadConvAct) |
1.
— — → — — |
|
PadConvDw(
aidge_export_arm_cortexm._Aidge_Arm.operators.ConvDw.ArmPadConvDw) |
1.
— — → — — |
|
PadConvDwAct(
aidge_export_arm_cortexm._Aidge_Arm.operators.ConvDw.ArmPadConvDwAct) |
1.
— — → — — |
|
PaddedConv1D(
aidge_export_arm_cortexm._Aidge_Arm.operators.Conv.ArmPadConv1D) |
1.
— nwc | — nwc | — — → — nwc |
|
PaddedConv2D(
aidge_export_arm_cortexm._Aidge_Arm.operators.Conv.ArmPadConv) |
1.
— — → — — |
|
PaddedConvDepthWise2D(
aidge_export_arm_cortexm._Aidge_Arm.operators.ConvDw.ArmPadConvDw) |
1.
— — → — — |
|
Pad |
✅ |
1.
— nchw → — nchw |
Pop |
✅ |
1.
—1 — → —1 — |
Pow |
✅ |
1.
— —1 → — —1 |
Producer |
✅ |
1.
— — → — — |
QFC(
aidge_export_arm_cortexm._Aidge_Arm.operators.Fc.ArmQFC) |
1.
— default | — — | — — → — — 2.
— nhwc | — — | — — → — — |
|
RandomNormalLike |
❌ |
|
Range |
❌ |
|
Reciprocal |
✅ |
1.
float32 — → float32 — |
ReduceMax |
✅ |
1.
— — → — — |
ReduceMean |
✅ |
1.
— — → — — |
ReduceMin |
✅ |
1.
— — → — — |
ReduceSum |
✅ |
1.
— — → — — |
ReLU |
✅ |
1.
— — → — — |
Reshape |
✅ |
1.
— default → — default |
Resize |
✅ |
1.
— nhwc | — — | — — | — — → — nhwc |
Round |
✅ |
1.
float32 — → float32 — |
Scatter |
❌ |
|
Select |
❌ |
|
Shape |
✅ |
1.
— — → int64 — |
Sigmoid |
✅ |
1.
— — → — — |
Sinh |
❌ |
|
Sin |
❌ |
|
Slice |
✅ |
1.
— — → — — |
Softmax |
✅ |
1.
float32 — → float32 — |
Split |
✅ |
1.
— — → — — |
Sqrt |
✅ |
1.
float32 — → float32 — |
Squeeze |
✅ |
1.
— — → — — |
Stack |
✅ |
1.
—1 — | int64 — → —1 — |
STFT |
❌ |
|
Sub |
✅ |
1.
— —1 → — —1 |
Sum |
✅ |
1.
—1 —1 → —1 —1 |
SVMRegressor |
✅ |
1.
float32 — → float32 — |
Tanh |
✅ |
1.
— — → — — |
Tan |
❌ |
|
Tile |
✅ |
1.
— — → — — |
TopK |
❌ |
|
Transpose |
✅ |
1.
— — → — — |
Unfold2D |
✅ |
1.
— nchw → — default |
Unsqueeze |
✅ |
1.
— — → — — |
WeightInterleaving |
❌ |
|
Where |
✅ |
1.
— — → — — |
CMSIS-NN implementations#
Operator |
Support |
Impl specs
(
— = any ; ✱ = additional requirements) |
|---|---|---|
AvgPoolAct(
aidge_core.MetaOperator) |
☑️ |
1.
int8 nhwc → int8 nhwc |
AvgPooling2D |
✔️ |
1.
int8 nhwc → int8 nhwc |
ConvAct(
aidge_core.MetaOperator) |
☑️ |
1.
int8 nhwc | int8 nhwc | int32 — → int8 nhwc |
ConvDwAct(
aidge_core.MetaOperator) |
☑️ |
1.
int8 nhwc | int8 chwn | int32 — → int8 nhwc |
FCAct(
aidge_core.MetaOperator) |
☑️ |
1.
int8 — | int8 — | int32 — → int8 — |
GlobalAveragePooling |
✔️ |
1.
int8 nhwc → int8 nhwc |
GlobalAvgPoolAct(
aidge_core.MetaOperator) |
☑️ |
1.
int8 nhwc → int8 nhwc |
MaxPoolAct(
aidge_core.MetaOperator) |
☑️ |
1.
int8 nhwc → int8 nhwc |
MaxPooling2D |
✔️ |
1.
int8 nhwc → int8 nhwc |
PadAvgPool(
aidge_core.MetaOperator) |
☑️ |
1.
int8 nhwc → int8 nhwc |
PadAvgPoolAct(
aidge_core.MetaOperator) |
☑️ |
1.
int8 nhwc → int8 nhwc |
PadConv(
aidge_core.MetaOperator) |
☑️ |
1.
int8 nhwc | int8 nhwc | int32 — → int8 nhwc |
PadConvAct(
aidge_core.MetaOperator) |
☑️ |
1.
int8 nhwc | int8 nhwc | int32 — → int8 nhwc |
PadConvDw(
aidge_core.MetaOperator) |
☑️ |
1.
int8 nhwc | int8 chwn | int32 — → int8 nhwc |
PadConvDwAct(
aidge_core.MetaOperator) |
☑️ |
1.
int8 nhwc | int8 chwn | int32 — → int8 nhwc |
PaddedAvgPooling2D(
aidge_core.MetaOperator) |
☑️ |
1.
int8 nhwc → int8 nhwc |
PaddedMaxPooling2D(
aidge_core.MetaOperator) |
☑️ |
1.
int8 nhwc → int8 nhwc |
PadGlobalAvgPool(
aidge_core.MetaOperator) |
☑️ |
1.
int8 nhwc → int8 nhwc |
PadGlobalAvgPoolAct(
aidge_core.MetaOperator) |
☑️ |
1.
int8 nhwc → int8 nhwc |
PadMaxPool(
aidge_core.MetaOperator) |
☑️ |
1.
int8 nhwc → int8 nhwc |
PadMaxPoolAct(
aidge_core.MetaOperator) |
☑️ |
1.
int8 nhwc → int8 nhwc |
QAdd(
aidge_core.MetaOperator) |
☑️ |
1.
int8 — | int8 — → int8 — |
QAddAct(
aidge_core.MetaOperator) |
☑️ |
1.
— — → — — |
QConv(
aidge_core.MetaOperator) |
☑️ |
1.
int8 nhwc | int8 nhwc | int32 — → int8 nhwc |
QConvDw(
aidge_core.MetaOperator) |
☑️ |
1.
int8 nhwc | int8 chwn | int32 — → int8 nhwc |
QFC(
aidge_core.MetaOperator) |
☑️ |
1.
int8 — | int8 — | int32 — → int8 — |