#operator #onnx-runtime #abstraction #interfacing #framework #running #api

ort_custom_op

用于在Rust中编写自定义运算符的onnxruntime库

11个版本 (6个重大更改)

0.7.1 2024年7月4日
0.6.0 2024年1月16日
0.5.1 2023年12月4日
0.5.0 2023年10月6日
0.1.0 2023年3月14日

#328Rust模式

Download history 112/week @ 2024-04-15 187/week @ 2024-04-22 417/week @ 2024-04-29 398/week @ 2024-05-06 316/week @ 2024-05-13 64/week @ 2024-05-20 143/week @ 2024-05-27 504/week @ 2024-06-17 351/week @ 2024-06-24 529/week @ 2024-07-01 10/week @ 2024-07-08 142/week @ 2024-07-15 394/week @ 2024-07-22 103/week @ 2024-07-29

每月689次下载

BSD-3-Clause

250KB
7K SLoC

编写自定义运算符的onnxruntime的概念证明

可以通过创建具有标准API的共享库来将自定义运算符提供给onnxruntime。虽然直接与onnxruntime公开的API和类型接口相对简单,但容易出错。该项目提供了抽象,使这种接口更容易且更安全。

每个自定义运算符都是一个实现了CustomOp特质的独立类型。实现了该特质的类型可以被build成静态对象,然后这些对象被暴露给onnxruntime。

example存储库演示了如何实现各种自定义运算符。这些运算符在tests/python中的Python测试案例中被加载和使用。构建和运行这些测试需要cargo(即标准的Rust工具链),onnxruntimepytest

在存储库的根目录下执行以下操作以构建共享库并运行由Python定义的测试

cargo b && pytest tests/python -s

依赖项

~1.5MB
~28K SLoC