ONNX backend test script reports the coverage on the operators and attributes. But we have various of reasons for the missing test coverage on operators. This doc keeps tracking why operators are not covered by the testcases.
Operator | Test Coverage | PyTorch | Caffe2 |
---|---|---|---|
Abs | Yes | OK | ๐OK |
Acos | Yes | OK | ๐OK |
Add | Yes | OK | ๐OK |
And | Yes | Support int tensor, but no bool tensor | ๐OK |
ArgMax | ๐OK | ||
ArgMin | ๐OK | ||
Asin | ๐OK | ||
Atan | ๐OK | ||
AveragePool | OK | ๐OK | |
BatchNormalization | OK | ๐OK | |
Cast | Yes | ๐Need extendtion | |
Ceil | Yes | ๐OK | |
Clip | Yes | OK | ๐OK |
Concat | Yes | OK | ๐OK |
Constant | Yes | OK | ๐Special handling |
Conv | Yes | OK | ๐OK |
ConvTranspose | Yes | ๐OK, under enhancement | |
Cos | Yes | OK | ๐OK |
DepthToSpace | Yes | ๐No op | |
Div | Yes | OK | ๐OK |
Dropout | Yes | OK | ๐OK |
Elu | Yes | OK | ๐OK |
Equal | Yes | OK | ๐OK |
Exp | Yes | OK | ๐OK |
Flatten | Yes | OK | ๐OK |
Floor | Yes | ๐OK | |
GRU | ๐ | ||
Gather | Yes | OK | ๐C2 only support axis=0 or 1, under development |
Gemm | Yes | OK | ๐C2 use FC or MatMul + Add |
GlobalAveragePool | Yes | No direct mapping | ๐OK |
GlobalLpPool | ๐No mapping yet | ||
GlobalMaxPool | ๐OK | ||
Greater | Yes | ๐OK | |
HardSigmoid | Yes | ๐No op | |
Hardmax | Yes | ๐No op | |
InstanceNormalization | ๐OK | ||
LRN | OK | ๐OK | |
LSTM | ๐OK | ||
LeakyRelu | Yes | OK | ๐OK |
Less | Yes | ๐OK | |
Log | Yes | OK | ๐OK |
LogSoftmax | OK | ๐No op, translated in onnx-caffe2 | |
LpNormalization | ๐ONNX and C2 have different definition | ||
LpPool | ๐Should be LpPool, no tests | ||
MatMul | Yes | OK | ๐OK |
Max | Yes | OK | ๐OK |
MaxPool | OK | ๐OK | |
MaxRoiPool | ๐No mapping yet | ||
Mean | ๐OK, need broadcasting support | ||
Min | Yes | OK | ๐OK, need broadcasting support |
Mul | Yes | OK | ๐OK, need broadcasting support |
Multinomial | Yes | OK | ๐no op |
Neg | Yes | OK | ๐OK |
Not | Yes | ๐OK | |
Or | Yes | ๐OK | |
PRelu | Yes | OK | ๐Need to enhance C2 implementation |
Pad | Yes | OK | ๐OK |
Pow | Yes | OK | ๐OK |
RNN | ๐OK | ||
RandomNormal | ๐No op | ||
RandomNormalLike | ๐No op | ||
RandomUniform | ๐No op | ||
RandomUniformLike | ๐No op | ||
Reciprocal | Yes | ๐Use Pow to implement | |
ReduceL1 | ๐No op | ||
ReduceL2 | ๐No op | ||
ReduceLogSum | ๐No op | ||
ReduceLogSumExp | ๐No op | ||
ReduceMax | ๐OK | ||
ReduceMean | ๐OK | ||
ReduceMin | ๐OK | ||
ReduceProd | ๐OK | ||
ReduceSum | ๐OK | ||
ReduceSumSquare | ๐No op | ||
Relu | Yes | OK | ๐OK |
Reshape | Yes | OK | ๐OK |
Selu | Yes | OK | ๐OK |
Sigmoid | Yes | OK | ๐OK |
Sin | Yes | OK | ๐OK |
Size | Yes | OK | ๐OK |
Slice | Yes | OK | ๐ScatterAssign + Cast, very hacky implementation, Slice in C2 only supports one dimension |
Softmax | Yes | OK | ๐Axis and dim has different semantics |
Softplus | Yes | OK | ๐OK |
Softsign | Yes | ๐OK | |
SpaceToDepth | ๐No op | ||
Split | Yes | OK | ๐OK |
Sqrt | Yes | ๐OK | |
Squeeze | Yes | ๐OK | |
Sub | Yes | OK | ๐OK |
Sum | Yes | OK | ๐OK, need broadcasting support |
Tanh | Yes | OK | ๐OK |
Tile | OK | ๐OK, need some enhance | |
TopK | OK | ๐OK | |
Transpose | Yes | OK | ๐OK |
Upsample | ๐No bilinear | ||
Xor | Yes | ๐OK | |
experimental ATen | ๐OK | ||
experimental Affine | ๐No op | ||
experimental ConstantFill | ๐OK | ||
experimental Crop | ๐No op | ||
experimental FC | ๐OK | ||
experimental GRUUnit | ๐OK, no tests | ||
experimental GivenTensorFill | ๐OK | ||
experimental Identity | ๐OK | ||
experimental ImageScaler | ๐No op | ||
experimental MeanVarianceNormalization | ๐No op | ||
experimental ParametricSoftplus | ๐No op | ||
experimental Scale | ๐OK | ||
experimental ScaledTanh | ๐No op | ||
experimental ThresholdedRelu | Yes | ๐OK |