Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This page tracks the current status and development  to support ONNX  on Mxnet.   We currently support:

  • import of ONNX models into Mxnet.
  • export MXNet models to ONNX format.


ONNX-MXNET Import Module

We have two repositories for the import module:

  1. onnx-mxnet repository inside onnx https://github.com/onnx/onnx-mxnet  (deprecated)
  2. A newly created and refactored module inside Mxnet -> contrib. https://github.com/apache/incubator-mxnet/tree/master/python/mxnet/contrib/onnx/_importonnx2mx


MXNET-ONNX Export module

A new module has been added to MXNet repository to export MXNet models to ONNX model format. https://github.com/apache/incubator-mxnet/tree/master/python/mxnet/contrib/onnx/mx2onnx 

Operator Coverage:

This table keeps track of the status of all ONNX operators supported by Mxnet.
ONNX backend test script reports the coverage on the operators and attributes.


Status meaning:

OK = currently we support the operator

OK, in review = PR is out

NOT OK, under development = Operator is missing on MXNet backend or direct 1:1 mapping doesn’t exist

NOT OK = Not supported right now


    
OperatorTest CoverageMxnet (Import)Mxnet (Export)
AbsYesOKOK
AcosYesOKOK
AddYesOKOK
AndYes  

OK 

OK
ArgMaxYes OKOK
ArgMinYes OKOK
Asin

Yes

OKOK
AtanYes OKOk
AveragePoolYesOKOK
BatchNormalizationYesOKOK
CastYesOKOK
CeilYes  OKOK
ClipYesOKNOT OK, under development
ConcatYesOKOK
ConstantYesNOT OK
ConvYesOKOK
ConvTransposeYes OKOK
CosYesOKOK
Crop

OK
DepthToSpaceYes OKNOT OK, under development
DivYesOKOK
Dropout YesOKOK
EluYesOKOK
EqualYesOKNOT OK
ExpYesOKOK
FlattenYesPARTIAL, only supports default axis=1OK
Floor YesOKOK
GRU
NOT OK , under development
GatherYesNOT OK, under development
GemmYesOKOK
GlobalAveragePoolYesOKOK
GlobalLpPool Yes OKNOT OK, under development
GlobalMaxPoolYesOKOK
Greater YesOKNOT OK, under development
HardSigmoid YesOKNOT OK, under development
Hardmax YesOKNOT OK, under development
Identity
NOT OKOK
If


InstanceNormalization YesOKNOT OK, under development
LRNYes OKOK
LSTM 
NOT OK, under development
LeakyReluYesOKOK
LessYes OKNOT OK, under development
LogYesOKOK
LogSoftMaxYes OKNOT OK, under development
Loop


LpNormalization  Yes
NOT OK, under development
LpPool YesNOT OK, under development
LpPoolMatMulYesOKOK
MaxYesOKOK
MaxPoolYesOKOK
MaxRoiPoolYes OKNOT OK, under development
MeanYes OKNOT OK, under development
MinYesOKOK
MulYesOKOK
MultinomialYesOKOK
NegYesOKOK
NotYes OKNOT OK, under development
OrYes OKNOT OK, under development
PReluYesOKOK
PadYesOKOK
PowYesPartial, only supports default axis=1OK
RNN 
NOT OK, under development
RandomNormalYes OKOK
RandomNormalLikeYes OKOK
RandomUniformYes OKOK
RandomUniformLikeYes OKOK
ReciprocalYes OKOK
ReduceL1Yes OKNOT OK, under development
ReduceL2 YesOKNOT OK, under development
ReduceLogSum YesOKNOT OK, under development
ReduceLogSumExp YesOKNOT OK, under development
ReduceMaxYesOKOK
ReduceMeanYesOKOK
ReduceMinYesOKOK
ReduceProdYesOKOK
ReduceSumYesOKOK
ReduceSumSquareYes OKNOT OK, under development
ReluYesOKOK
ReshapeYesOKOK
SeluYesNOT OK, under developmentOKOK
Shape
OKOK
SigmoidYesOKOK
SinSigmoidYesOKOK
SizeSliceYesOKNOT OK, under development
SoftmaxSliceYesPARTIALPartial, only supports default axis=1OK
SoftmaxYesOKOK
SoftplusYesOKNOT OK, under development
Softsign YesOKNOT OK, under development
SpaceToDepth Yes OKNOT OK, under development
SplitYesOKNOT OK, under development
SqrtYes OKOK
SqueezeYesOKOK
SubYesOKOK
SumYesOKOK
TanYesOKOK
TanhYesOKOK
Tile YesNOT OK, under developmentNOT OK, under development
TopKYesOK, in reviewOK, in review
TransposeYesOKOK
XorUnsqueeze YesNOT OK, under development
experimental ATen NOT OK, under development
experimental Affine NOT OK, under development
experimental ConstantFill NOT OK, under development
experimental Crop NOT OK, under development
experimental FC NOT OK, under development
experimental GRUUnit NOT OK, under development
experimental GivenTensorFill NOT OK, under development
experimental Identity NOT OK, under development
experimental ImageScaler NOT OK, under development
experimental MeanVarianceNormalization NOT OK, under development
experimental ParametricSoftplus NOT OK, under development
experimental Scale NOT OK, under development
experimental ScaledTanh NOT OK, under development
experimental ThresholdedRelu NOT OK, under development
experimental Upsample NOT OK, under development

 

In reviewOK
UpsampleYesOK, in reviewOK, in review
XorYes OKOK








experimental ATen
NOT OK
experimental Affine
NOT OK
experimental ConstantFill
NOT OK
experimental GRUUnit
NOT OK
experimental GivenTensorFill
NOT OK
experimental ImageScaler YesOK, In review
experimental LoopIndex
NOT OK
experimental MeanVarianceNormalization
NOT OK
experimental ParametricSoftplus
NOT OK
experimental Scale
NOT OK
experimental ScaledTanh
NOT OK
experimental ThresholdedRelu
NOT OK


ONNX models coverage:

ONNX backend tests include below models. The table lists current status on Mxnet: 


ONNX ModelsMxnet Support
bvlc_alexnetOK
densenet121OK
inception_v1NOT OK, precision difference due to issue
inception_v2NOT OK, precision difference due to issue
resnet50OK
shufflenetNOT OK, precision difference due to issueIn review
squeezenetOK
vgg16OK
vgg19OK
bvlc_googlenetOK
bvlc_caffenetOK
bvlc-rcnn-ilsvrc13OK

 

 

 

 

 

 

 

 

 

 

...