Introduction:

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/onnx2mx


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
ArgMaxYesOKOK
ArgMinYes OKOK
Asin

Yes

OKOK
AtanYesOKOk
AveragePoolYesOKOK
BatchNormalizationYesOKOK
CastYesOKOK
CeilYes OKOK
ClipYesOKOK
ConcatYesOKOK
ConstantYesOK
ConvYesOKOK
ConvTransposeYes OKOK
CosYesOKOK
Crop

OK
DepthToSpaceYesOKOK
DivYesOKOK
Dropout YesOKOK
EluYesOKOK
EqualYesOKOK
ExpYesOKOK
FlattenYesPARTIAL, only supports default axis=1OK
Floor YesOKOK
GRU
NOT OK , under development
GatherYesOK
GemmYesOKOK
GlobalAveragePoolYesOKOK
GlobalLpPool YesOKOK
GlobalMaxPoolYesOKOK
Greater YesOKOK
HardSigmoid YesOKOK
Hardmax YesOKNOT OK
Identity
NOT OKOK
If


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


LpNormalization Yes
OK
LpPoolYesOK
MatMulYesOKOK
MaxYesOKOK
MaxPoolYesOKOK
MaxRoiPoolYes OKOK
MeanYes OKOK
MinYesOKOK
MulYesOKOK
MultinomialYesOKOK
NegYesOKOK
NotYes OKOK
OrYes OKOK
PReluYesOKOK
PadYesOKOK
PowYesPartial, only supports default axis=1OK
RNN
NOT OK, under development
RandomNormalYes OKOK
RandomNormalLikeYes OKOK
RandomUniformYes OKOK
RandomUniformLikeYes OKOK
ReciprocalYes OKOK
ReduceL1Yes OKOK
ReduceL2 YesOKOK
ReduceLogSum YesOKNOT OK
ReduceLogSumExp YesOKNOT OK
ReduceMaxYesOKOK
ReduceMeanYesOKOK
ReduceMinYesOKOK
ReduceProdYesOKOK
ReduceSumYesOKOK
ReduceSumSquareYes OKNOT OK
ReluYesOKOK
ReshapeYesOKOK
SeluYesOKOK
Shape
OKOK
SigmoidYesOKOK
SinYesOKOK
SizeYesOKOK
SliceYesPartial, supports axis=1OK
SoftmaxYesOKOK
SoftplusYesOKOK
Softsign YesOKOK
SpaceToDepth YesOKOK
SplitYesOKOK
SqrtYes OKOK
SqueezeYesOKOK
SubYesOKOK
SumYesOKOK
TanYesOKOK
TanhYesOKOK
Tile YesNOT OK, under developmentNOT OK, under development
TopKYesOK, in reviewOK, in review
TransposeYesOKOK
UnsqueezeYesOK, 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_v1OK
inception_v2OK
resnet50OK
shufflenetOK, In review
squeezenetOK
vgg16OK
vgg19OK
bvlc_googlenetOK
bvlc_caffenetOK
bvlc-rcnn-ilsvrc13OK












  • No labels