Skip to content
This repository has been archived by the owner on Jan 5, 2022. It is now read-only.

implement missing operators #2

Open
johnynek opened this issue Nov 15, 2019 · 0 comments
Open

implement missing operators #2

johnynek opened this issue Nov 15, 2019 · 0 comments

Comments

@johnynek
Copy link
Collaborator

See: https://github.com/onnx/models

It would be nice to have full coverage. From a few months ago, here is what is missing:

agate show zoo/*.onnx

TOTAL: (51 distinct ops, 3677 total ops, 24 unsupported(!) distinct ops (47.1%), 748 unsupported total (20.3%))
:
  Conv! (617), Relu (515), Unsqueeze (480), BatchNormalization (401), Add (282),
    Mul (230), Constant (200), Concat (139), Slice (101), Reshape (91),
    LeakyRelu (80), Cast (67), MaxPool (67), Squeeze (39), Transpose (39),
    Sum! (30), Div (29), Dropout (25), Gather (25), Shape (24), Sub (23),
    Gemm (20), AveragePool! (18), MatMul! (16), Softmax (16), Sigmoid (13),
    LRN! (12), Ceil! (10), ConstantOfShape (10), Loop! (6), Tile! (6),
    LSTM! (5), Pad! (5), ReduceSum (4), Exp (4), CategoryMapper! (4),
    ReduceMax! (3), Identity (3), GlobalAveragePool! (2),
    NonMaxSuppression! (2), Resize! (2), ReduceMin! (2), Log (2), TopK! (1),
    ArgMax! (1), Abs! (1), Clip! (1), Compress! (1), ImageScaler! (1),
    Scan! (1), Hardmax! (1)

So, Conv is the most common operator we don't support, followed by Sum, AveragePool, MatMul, LRN, Ceil...

Some operators are much easier than others. Sum and Ceil would be good first issues because they are relatively easy. MatMul isn't totally trivial, but we can call the existing Gemm code which is more general (just use a broadcasted 0 constant for the constant part).

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant