Introduction:
This page tracks the current status and development to support ONNX on Mxnet. We currently support import of ONNX models into Mxnet.
ONNX-MXNET
We have two repositories for the import module:
- onnx-mxnet repository inside onnx https://github.com/onnx/onnx-mxnet ( soon to be deprecated)
- A newly created and refactored module inside Mxnet -> contrib. https://github.com/apache/incubator-mxnet/tree/master/python/mxnet/contrib/onnx
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.
Operator | Test Coverage | Mxnet |
---|---|---|
Abs | Yes | OK |
Add | Yes | OK |
And |
| |
ArgMax | OK | |
ArgMin | OK | |
AveragePool | Yes | OK |
BatchNormalization | Yes | OK |
Cast | Yes | OK |
Ceil | OK | |
Clip | Yes | NOT OK, under development |
Concat | Yes | OK |
Constant | Yes | NOT OK |
Conv | Yes | OK |
ConvTranspose | OK | |
DepthToSpace | NOT OK, under development | |
Div | Yes | OK |
Dropout | OK | |
Elu | Yes | OK |
Equal | Yes | NOT OK |
Exp | Yes | OK |
Flatten | Yes | PARTIAL, only supports default axis=1 |
Floor | OK | |
GRU | NOT OK , under development | |
Gather | Yes | NOT OK, under development |
Gemm | Yes | OK |
GlobalAveragePool | Yes | OK |
GlobalLpPool | NOT OK, under development | |
GlobalMaxPool | Yes | OK |
Greater | NOT OK, under development | |
HardSigmoid | NOT OK, under development | |
Hardmax | NOT OK, under development | |
InstanceNormalization | NOT OK, under development | |
LRN | OK | |
LSTM | NOT OK, under development | |
LeakyRelu | Yes | OK |
Less | NOT OK, under development | |
Log | Yes | OK |
LogSoftMax | NOT OK, under development | |
LpNormalization | NOT OK, under development | |
LpPool | NOT OK, under development | |
LpPool | Yes | OK |
Max | Yes | OK |
MaxPool | Yes | OK |
MaxRoiPool | NOT OK, under development | |
Mean | NOT OK, under development | |
Min | Yes | OK |
Mul | Yes | OK |
Neg | Yes | OK |
Not | NOT OK, under development | |
Or | NOT OK, under development | |
PRelu | Yes | OK |
Pad | Yes | OK |
Pow | Yes | Partial, only supports default axis=1 |
RNN | NOT OK, under development | |
RandomNormal | OK | |
RandomNormalLike | OK | |
RandomUniform | OK | |
RandomUniformLike | OK | |
Reciprocal | OK | |
ReduceL1 | NOT OK, under development | |
ReduceL2 | NOT OK, under development | |
ReduceLogSum | NOT OK, under development | |
ReduceLogSumExp | NOT OK, under development | |
ReduceMax | Yes | OK |
ReduceMean | Yes | OK |
ReduceMin | Yes | OK |
ReduceProd | Yes | OK |
ReduceSum | Yes | OK |
ReduceSumSquare | NOT OK, under development | |
Relu | Yes | OK |
Reshape | Yes | OK |
Selu | Yes | NOT OK, under development |
Sigmoid | Yes | OK |
Slice | Yes | NOT OK, under development |
Softmax | Yes | PARTIAL, only supports default axis=1 |
Softplus | Yes | NOT OK, under development |
Softsign | NOT OK, under development | |
SpaceToDepth | NOT OK, under development | |
Split | Yes | NOT OK, under development |
Sqrt | OK | |
Squeeze | Yes | OK |
Sub | Yes | OK |
Sum | Yes | OK |
Tanh | Yes | OK |
Tile | NOT OK, under development | |
Transpose | Yes | OK |
Xor | 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 |
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 issue |
squeezenet | OK |
vgg16 | OK |
vgg19 | OK |
bvlc_googlenet | OK |
bvlc_caffenet | OK |
bvlc-rcnn-ilsvrc13 | OK |