microsoft/onnxscript

ONNX Script enables developers to naturally author ONNX functions and models using a subset of Python.

解决的问题

ONNX Script 为开发者提供了一种更自然、更简洁的方式来编写、调试和优化 ONNX 函数与模型。开发者无需手动构建复杂的 ONNX 图,而是可以使用 Python 的一个子集来定义模型,使开发过程更具表现力且更易于管理。

工作原理

该项目使用 Python 装饰器(@script)将 Python 代码解析为中间表示,然后将其转换为 ONNX 图(FunctionProtoModelProto)。它支持双向转换,允许用户在基于 Python 的 ONNX Script 与 ONNX 图之间相互转换。此外,它还包含一个运行时沙盒(shim),支持“急切模式”执行,使开发者能够直接在 Python 中使用 ONNX Runtime 执行操作符来运行和调试函数。

适用人群

需要创建、修改或优化 ONNX 模型及其底层函数的 AI 开发者和机器学习工程师。

主要亮点

  • 双向转换: 支持在基于 Python 的 ONNX Script 与 ONNX 图之间相互转换。
  • 急切模式调试: 可立即评估函数,无需导出完整模型即可验证中间结果。
  • ONNX 优化器: 内置常量折叠和死代码消除工具,以提升模型性能。
  • ONNX 重写器: 支持使用用户定义的重写规则替换特定图模式,实现图级优化。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目