7.5 KiB
Note
本文档由 WeHub 基于上游 README 翻译整理,属于社区翻译,非官方中文文档。
English · 原始项目 · 上游 README
原作者、版权与许可证归属以原始项目及本仓库 LICENSE 文件为准。
Open Neural Network Exchange (ONNX) 是一个开放生态系统,使 AI 开发者能够在项目演进过程中选择最合适的工具。ONNX 为 AI 模型(包括深度学习与传统机器学习)提供开源格式。它定义了可扩展的计算图(computation graph)模型,以及内置算子(operator)与标准数据类型的定义。目前我们聚焦于推理(scoring)所需的能力。
ONNX 得到广泛支持,可在众多框架、工具和硬件中找到。实现不同框架之间的互操作性,并简化从研究到生产的路径,有助于提升 AI 社区的创新速度。我们诚邀社区加入我们,共同推动 ONNX 的演进。
使用 ONNX
了解 ONNX 规范
- 概述
- ONNX 中间表示规范
- 规范的版本化原则
- 算子文档
- 算子文档(最新发布版)
- Python API 概述
操作 ONNX 图的编程工具
参与贡献
ONNX 是一个社区项目,开放治理模式见此处.。我们鼓励你加入这项事业,贡献反馈、想法和代码。你可以参与特别兴趣小组(Special Interest Groups,SIG)和工作组(Working Groups),共同塑造 ONNX 的未来。
查看我们的贡献指南以开始参与。
如果你认为应将某个算子加入 ONNX 规范,请阅读 此文.
社区会议
指导委员会、工作组和 SIG 定期会议日程见此处
社区聚会每年至少举办一次。以往社区聚会内容见:
- 2020.04.09 https://lf-aidata.atlassian.net/wiki/spaces/DL/pages/14091402/LF+AI+Day+-ONNX+Community+Virtual+Meetup+-+Silicon+Valley+-+2020+April+9
- 2020.10.14 https://lf-aidata.atlassian.net/wiki/spaces/DL/pages/14092138/LF+AI+Day+-+ONNX+Community+Workshop+-+2020+October+14
- 2021.03.24 https://lf-aidata.atlassian.net/wiki/spaces/DL/pages/14092424/Instructions+for+Event+Hosts+-+LF+AI+Data+Day+-+ONNX+Virtual+Community+Meetup+-+March+2021
- 2021.10.21 https://lf-aidata.atlassian.net/wiki/spaces/DL/pages/14093194/LF+AI+Data+Day+ONNX+Community+Virtual+Meetup+-+October+2021
- 2022.06.24 https://lf-aidata.atlassian.net/wiki/spaces/DL/pages/14093969/ONNX+Community+Day+-+2022+June+24
- 2023.06.28 https://lf-aidata.atlassian.net/wiki/spaces/DL/pages/14094507/ONNX+Community+Day+2023+-+June+28
讨论
我们鼓励你提交 Issues,,或使用 Slack(若尚未加入,请通过此链接加入群组)进行更实时的讨论。
关注我们
及时了解 ONNX 最新动态。[Facebook] [Twitter/X]
路线图
路线图流程每年进行。更多详情见此处
安装
ONNX 正式发布的包发布于 PyPI。
pip install onnx # or pip install onnx[reference] for optional reference implementation dependencies
ONNX 每周构建包发布于 PyPI,便于实验与早期测试。
详细安装说明(含常见构建选项与常见错误)见此处
Python ABI3 兼容性
本包提供 abi3-compatible wheel,使单个二进制 wheel 可在多个 Python 版本(3.12 及以上)上运行。
测试
ONNX 使用 pytest 作为测试驱动。运行测试前,需先安装 pytest:
pip install pytest
安装 pytest 后,使用以下命令运行测试。
pytest
开发
请参阅贡献者指南获取说明。
可复现构建(Linux)
本项目为 Linux 提供可复现构建。
可复现构建指:无论由谁在何处构建,同一份源代码始终生成完全相同的二进制输出。
为实现这一点,我们采用 SOURCE_DATE_EPOCH 标准。这可固定构建时间戳及其他与时间相关的信息,使输出在不同环境下逐位一致。
为何重要
- 透明性:任何人都可以验证所分发的二进制文件是否由已发布的源代码构建。
- 安全性:防止构建过程被篡改或暗中修改。
- 信任:用户可确信下载的二进制文件与维护者预期完全一致。
若愿意,你可使用预构建的可复现二进制文件,而无需自行从源码构建。
许可证
商标
请查阅 https://trademarks.justia.com 了解商标信息。
