Aidge export ARM Cortex-M#

When imported automatically update availables implementations for aidge core objects.

Available implementations#

Supported operators: ✔️ Yes (∇ = grad), ✅ Generic impl., ☑️ MetaOp impl., ❌ No#

Operator

Support

Impl specs
( = any ; ✱ = additional requirements)

1.

1. 1 1

1. boolean

1. float32 float32

AvgPooling1D

1. nwc nwc
AvgPooling2D

1. nhwc nhwc
AvgPooling3D

BatchNorm2D

1. float32 nchwfloat32 nchw
BitErrorRate

BitShift

1.
CastLike

1.

1.
ComplexToInnerPair

1.

1.
ConnectedComponentLabeling

ConstantOfShape

✔️

1. nwc | nwc | nwc
Conv1DAct
(aidge_export_arm_cortexm._Aidge_Arm.operators.Conv.ArmConv1DAct)
1. nwc | nwc | nwc

✔️

1. nhwc | nhwc | nhwc

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

CryptoHash

DepthToSpace

1. complex32 complex32

1. 1 1
DropBlock

Dropout

1. boolean
2.

1. float32 float32

1.

✔️

1. default | |
2. nhwc | |
FCAct
(aidge_export_arm_cortexm._Aidge_Arm.operators.Fc.ArmFCAct)
1. default | |
2. nhwc | |
FixedNBitFlip

Flatten

GatherElements

GatherND

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 nchwfloat32 nchw
2. float32 ncwfloat32 ncw
LayerNorm

1. float32 float32
LeakyReLU

1.

1.

1. float32 float32
LogSoftmax

1. ncdhw | ncdhw ncdhw
2. nchw | nchw nchw
3. chw | chw chw
4. default | default default

1. 1 11 1
MaxPooling1D

1. nwc nwc
MaxPooling2D

1. nhwc nhwc
MaxPooling3D

Memorize

1. 1 1 | 1 11 1 | 1 1

1. 1 11 1

1. 1 1
NBitFlip

NonZero

1. boolean boolean

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.

1. nchw nchw

1. 1 1

1. 1 1
Producer

1.
QFC
(aidge_export_arm_cortexm._Aidge_Arm.operators.Fc.ArmQFC)
1. default | |
2. nhwc | |
RandomNormalLike

Reciprocal

1. float32 float32
ReduceMax

1.
ReduceMean

1.
ReduceMin

1.
ReduceSum

1.

1.
Reshape

1. default default

1. nhwc | | | nhwc

1. float32 float32
Scatter

1. int64
Sigmoid

1.

1.
Softmax

1. float32 float32

1.

1. float32 float32
Squeeze

1.

1. 1 | int64 1

1. 1 1

1. 1 11 1
SVMRegressor

1. float32 float32

1.

1.

Transpose

1.
Unfold2D

1. nchw default
Unsqueeze

1.
WeightInterleaving

1.

CMSIS-NN implementations#

Supported operators: ✔️ Yes (∇ = grad), ✅ Generic impl., ☑️ MetaOp impl., ❌ No#

Operator

Support

Impl specs
( = any ; ✱ = additional requirements)
AvgPoolAct
(aidge_core.MetaOperator)

☑️

1. int8 nhwcint8 nhwc
AvgPooling2D

✔️

1. int8 nhwcint8 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 nhwcint8 nhwc
GlobalAvgPoolAct
(aidge_core.MetaOperator)

☑️

1. int8 nhwcint8 nhwc
MaxPoolAct
(aidge_core.MetaOperator)

☑️

1. int8 nhwcint8 nhwc
MaxPooling2D

✔️

1. int8 nhwcint8 nhwc
PadAvgPool
(aidge_core.MetaOperator)

☑️

1. int8 nhwcint8 nhwc
PadAvgPoolAct
(aidge_core.MetaOperator)

☑️

1. int8 nhwcint8 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 nhwcint8 nhwc
PaddedMaxPooling2D
(aidge_core.MetaOperator)

☑️

1. int8 nhwcint8 nhwc
PadGlobalAvgPool
(aidge_core.MetaOperator)

☑️

1. int8 nhwcint8 nhwc
PadGlobalAvgPoolAct
(aidge_core.MetaOperator)

☑️

1. int8 nhwcint8 nhwc
PadMaxPool
(aidge_core.MetaOperator)

☑️

1. int8 nhwcint8 nhwc
PadMaxPoolAct
(aidge_core.MetaOperator)

☑️

1. int8 nhwcint8 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