...
- import of ONNX models into Mxnet.
- export MXNet models to ONNX format.
ONNX-MXNET Import Module
We have two repositories for the import module:
- onnx-mxnet repository inside onnx https://github.com/onnx/onnx-mxnet (deprecated)
- 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
Operator | Test Coverage | Mxnet (Import) | Mxnet (Export) | ||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Abs | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
Acos | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
Add | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
And | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
ArgMax | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
ArgMin | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
Asin | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
Atan | Yes | OK | Ok | ||||||||||||||||||||||||||||||||||||||||||||
AveragePool | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
BatchNormalization | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
Cast | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
Ceil | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
Clip | Yes | OK | NOT OK, under development | ||||||||||||||||||||||||||||||||||||||||||||
Concat | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
Constant | Yes | NOT OK | |||||||||||||||||||||||||||||||||||||||||||||
Conv | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
ConvTranspose | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
Cos | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
Crop | OK | ||||||||||||||||||||||||||||||||||||||||||||||
DepthToSpace | Yes | OK | NOT OK, under development | ||||||||||||||||||||||||||||||||||||||||||||
Div | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
Dropout | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
Elu | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
Equal | Yes | OK | NOT OK | ||||||||||||||||||||||||||||||||||||||||||||
Exp | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
Flatten | Yes | PARTIAL, only supports default axis=1 | OK | ||||||||||||||||||||||||||||||||||||||||||||
Floor | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
GRU | NOT OK , under development | ||||||||||||||||||||||||||||||||||||||||||||||
Gather | Yes | NOT OK, under development | |||||||||||||||||||||||||||||||||||||||||||||
Gemm | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
GlobalAveragePool | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
GlobalLpPool | Yes | OK | NOT OK, under development | ||||||||||||||||||||||||||||||||||||||||||||
GlobalMaxPool | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
Greater | Yes | OK | NOT OK, under development | ||||||||||||||||||||||||||||||||||||||||||||
HardSigmoid | Yes | OK | NOT OK, under development | ||||||||||||||||||||||||||||||||||||||||||||
Hardmax | Yes | OK | NOT OK, under development | ||||||||||||||||||||||||||||||||||||||||||||
Identity | NOT OK | OK | |||||||||||||||||||||||||||||||||||||||||||||
If | |||||||||||||||||||||||||||||||||||||||||||||||
InstanceNormalization | Yes | OK | NOT OK, under development | ||||||||||||||||||||||||||||||||||||||||||||
LRN | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
LSTM | NOT OK, under development | ||||||||||||||||||||||||||||||||||||||||||||||
LeakyRelu | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
Less | Yes | OK | NOT OK, under development | ||||||||||||||||||||||||||||||||||||||||||||
Log | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
LogSoftMax | Yes | OK | NOT OK, under development | ||||||||||||||||||||||||||||||||||||||||||||
Loop | |||||||||||||||||||||||||||||||||||||||||||||||
LpNormalization | Yes | NOT OK, under developmentOK | |||||||||||||||||||||||||||||||||||||||||||||
LpPool | Yes | NOT OK, under development | |||||||||||||||||||||||||||||||||||||||||||||
LpPoolMatMul | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
Max | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
MaxPool | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
MaxRoiPool | Yes | OK | NOT OK, under development | ||||||||||||||||||||||||||||||||||||||||||||
Mean | Yes | OK | NOT OK, under development | ||||||||||||||||||||||||||||||||||||||||||||
Min | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
Mul | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
Multinomial | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
Neg | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
Not | Yes | OK | NOT OK, under development | ||||||||||||||||||||||||||||||||||||||||||||
Or | Yes | OK | NOT OK, under development | ||||||||||||||||||||||||||||||||||||||||||||
PRelu | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
Pad | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
Pow | Yes | Partial, only supports default axis=1 | OK | ||||||||||||||||||||||||||||||||||||||||||||
RNN | NOT OK, under development | ||||||||||||||||||||||||||||||||||||||||||||||
RandomNormal | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
RandomNormalLike | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
RandomUniform | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
RandomUniformLike | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
Reciprocal | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
ReduceL1 | Yes | OK | NOT OK, under development | ||||||||||||||||||||||||||||||||||||||||||||
ReduceL2 | Yes | OK | NOT OK, under development | ||||||||||||||||||||||||||||||||||||||||||||
ReduceLogSum | Yes | OK | NOT OK, under development | ||||||||||||||||||||||||||||||||||||||||||||
ReduceLogSumExp | Yes | OK | NOT OK, under development | ||||||||||||||||||||||||||||||||||||||||||||
ReduceMax | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
ReduceMean | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
ReduceMin | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
ReduceProd | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
ReduceSum | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
ReduceSumSquare | Yes | OK | NOT OK, under development | ||||||||||||||||||||||||||||||||||||||||||||
Relu | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
Reshape | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
Selu | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
Shape | OKNOT OK, under development | OK | |||||||||||||||||||||||||||||||||||||||||||||
Sigmoid | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
Sin | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
SliceSize | Yes | NOT OK, under development | OK | ||||||||||||||||||||||||||||||||||||||||||||
SoftmaxSlice | Yes | PARTIALPartial, only supports default axis=1 | OK | ||||||||||||||||||||||||||||||||||||||||||||
Softmax | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
Softplus | Yes | NOT OK, under development | OK | ||||||||||||||||||||||||||||||||||||||||||||
Softsign | Yes | NOT OK, under development | OK | ||||||||||||||||||||||||||||||||||||||||||||
SpaceToDepth | Yes | OK | NOT OK, under development | ||||||||||||||||||||||||||||||||||||||||||||
Split | Yes | NOT OK, under development | OK | ||||||||||||||||||||||||||||||||||||||||||||
Sqrt | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
Squeeze | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
Sub | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
Sum | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
Tan | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
Tanh | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
Tile | Yes | NOT OK, under development | NOT OK, under development | ||||||||||||||||||||||||||||||||||||||||||||
TopK | Yes | OK, in review | OK, in review | ||||||||||||||||||||||||||||||||||||||||||||
Transpose | Yes | OK | OK | ||||||||||||||||||||||||||||||||||||||||||||
XorUnsqueeze | Yes | NOT 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 review | OK | ||
Upsample | Yes | OK, in review | OK, in review |
Xor | Yes | OK | OK |
experimental ATen | NOT OK | ||
experimental Affine | NOT OK | ||
experimental ConstantFill | NOT OK | ||
experimental GRUUnit | NOT OK | ||
experimental GivenTensorFill | NOT OK | ||
experimental ImageScaler | Yes | OK, 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 Models | Mxnet Support |
---|---|
bvlc_alexnet | OK |
densenet121 | OK |
inception_v1 | NOT OK, precision difference due to issue |
inception_v2 | NOT OK, precision difference due to issue |
resnet50 | OK |
shufflenet | NOT OK, precision difference due to issueIn review |
squeezenet | OK |
vgg16 | OK |
vgg19 | OK |
bvlc_googlenet | OK |
bvlc_caffenet | OK |
bvlc-rcnn-ilsvrc13 | OK |
...