Sionnx:用于 ONNX 一致性的自动单元测试生成器
软件工程
2019-06-14 v1 人工智能
摘要
开放神经网络交换(ONNX)是一种表示 AI 模型的开放格式,受到许多机器学习框架的支持。虽然 ONNX 定义了跨各种框架的统一且可移植的计算算子,但这些算子的一致性测试尚不充分,难以验证 ONNX 后端实现中算子的行为是否符合 ONNX 标准。在本文中,我们提出了首个用于验证 ONNX 实现合规性的自动单元测试生成器 Sionnx。首先,我们提出了一组紧凑而完整的规则来描述算子的属性及其操作数的性质。其次,我们设计了算子规范语言(OSL)以对算子的语法提供高层描述。最后,通过这一易用的规范语言,我们能够构建完整的测试规范,利用 LLVM TableGen 自动生成覆盖率极大的 ONNX 算子单元测试。Sionnx 轻量且灵活,支持跨框架验证。Sionnx 框架已在 github 仓库(https://github.com/alibaba/Sionnx)开源。
引用
@article{arxiv.1906.05676,
title = {Sionnx: Automatic Unit Test Generator for ONNX Conformance},
author = {Xinli Cai and Peng Zhou and Shuhan Ding and Guoyang Chen and Weifeng Zhang},
journal= {arXiv preprint arXiv:1906.05676},
year = {2019}
}