Skip to main content

run onnx with only numpy

Project description

onnion-rt

Note: This software includes the work that is distributed in the Apache License 2.0.

Installation

$ pip3 install onnion-rt

Usage

See tutorial.

Development Guide

$ poetry install

How to support new operators

  1. Add onnion_runtime/xxx.py
  • An onnx operator Xxx must correspond to a class Xxx.
  • A class Xxx must implement __init__ and run methods.
  • The parameters of the __init__ methods must be self, opset_version, and kwargs.
  • The attributes of the operator must be passed through the kwargs of the __init__ method.
    • Get the required attributes by kwargs['attr_name'].
    • Get the optional attributes by kwargs.get('attr_name', default_value).
  • The inputs of the operator must be passed through the arguments of the run method.
  • The run method must return the list of np.array.
  1. Add from .xxx import Xxx # noqa: F401 to onnion_runtime/__init__.py
  2. Update "Supported Operators" in README.md
  3. Add tests/test_xxx.py
  4. Run tests poetry run pytest -v
  5. Format and lint poetry run pysen run format && poetry run pysen run lint

Supported Operators

This runtime supports only below operators.

  • Abs
  • Acos
  • Acosh
  • Add
    • must be from opsetversion >= 7
  • And
    • must be from opsetversion >= 7
  • ArgMax
  • ArgMin
  • Asin
  • Asinh
  • Atan
  • Atanh
  • BitShift
  • Cast
    • must be from opsetversion >= 6
  • Ceil
  • Celu
  • Clip
  • Compress
  • Concat
  • ConcatFromSequence
  • Constant
  • ConstantOfShape
  • Cos
  • Cosh
  • DepthToSpace
  • DequantizeLinear
  • Det
  • Div
    • must be from opsetversion >= 7
  • Dropout
  • DynamicQuantizeLinear
  • Einsum
  • Elu
  • Equal
    • must be from opsetversion >= 7
  • Erf
  • Exp
  • Expand
  • EyeLike
  • Flatten
  • Floor
  • Gather
  • GatherElements
  • GahterND
  • Gemm
    • must be from opsetversion >= 7
  • GlobalAveragePool
  • GlobalMaxPool
  • Greater
    • must be from opsetversion >= 7
  • GreaterOrEqual
  • HardSigmoid
  • HardSwish
  • Hardmax
  • Identity
  • If
  • InstanceNormalization
  • IsInf
  • IsNaN
  • LeakyRelu
  • Loop
  • Mul
    • must be from opsetversion >= 7
  • NonMaxSuppression
  • NonZero
  • Pad
  • Range
  • ReduceMax
  • ReduceMin
  • Reshape
  • Round
  • ScatterND
  • Shape
  • Sigmoid
  • Slice
  • Squeeze
  • Sub
    • must be from opsetversion >= 7
  • Tile
    • must be from opsetversion >= 6
  • TopK
  • Transpose
  • Unsqueeze
  • Where

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for onnion-rt, version 0.4.0
Filename, size File type Python version Upload date Hashes
Filename, size onnion_rt-0.4.0-py3-none-any.whl (37.0 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size onnion-rt-0.4.0.tar.gz (15.7 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page