...
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:
- 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/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 |
Asin | Yes | OK | OK |
Atan | Yes | OK | Ok |
| OK |
AveragePool | Yes | OK | OK |
BatchNormalization | Yes | OK | OK |
Cast | Yes | OK | OK |
Ceil | Yes |
NOT , under developmentNOT OK |
|
Conv | Yes | OK | OK |
ConvTranspose |
Yes (local) | Yes | OK | OK |
Cos | Yes | OK | OK |
Crop |
|
| OK |
DepthToSpace |
NOT , under development NOT OK |
Exp | Yes | OK | OK |
Flatten | Yes | PARTIAL, only supports default axis=1 | OK |
Floor |
|
| NOT OK , under development |
|
Gather | Yes |
NOT , under development |
|
Gemm | Yes | OK | OK |
GlobalAveragePool | Yes | OK | OK |
GlobalLpPool |
NOT , under development NOT , under developmentNOT , under development |
Hardmax | Yes | OK | NOT OK |
Identity |
| NOT |
OK, under developmentOK | OK |
If |
|
|
|
InstanceNormalization | Yes | OK |
NOT , under development |
| NOT OK, under development |
|
LeakyRelu | Yes | OK | OK |
Less | Yes |
NOT , under development |
Log | Yes | OK | OK |
LogSoftMax | Yes | OK |
NOT , under development NOT , under development NOT , under developmentLpPool
|
MatMul | Yes | OK | OK |
Max | Yes | OK | OK |
MaxPool | Yes | OK | OK |
MaxRoiPool | Yes | OK |
NOT , under developmentNOT , under development |
Min | Yes | OK | OK |
Mul | Yes | OK | OK |
Multinomial | Yes | OK | OK |
Neg | Yes | OK | OK |
Not | Yes |
NOT , under developmentNOT , 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 , under developmentNOT , under development, under development |
ReduceLogSumExp | Yes | OK | NOT OK |
, under development OK | OK |
ReduceSumSquare | Yes | OK | NOT OK |
, under development |
Relu | Yes | OK | OK |
Reshape | Yes | OK | OK |
Selu | Yes |
| OK | OK |
Shape |
| OK | OK |
Sigmoid | Yes | OK | OK |
Sin | Yes | OK |
NOT OK, under development | Sigmoid | YesSliceNOT , under developmentSoftmaxPARTIAL only default axis=1 | OK |
Softmax | Yes | OK | OK |
Softplus | Yes |
NOT , under developmentNOT , under development NOT , under developmentNOT , under development 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 |
Xor NOT under developmentexperimental 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 , precision difference due to issueNOT , precision difference due to issueNOT precision difference due to issueIn review |
squeezenet | OK |
vgg16 | OK |
vgg19 | OK |
bvlc_googlenet | OK |
bvlc_caffenet | OK |
bvlc-rcnn-ilsvrc13 | OK |
...