DeAI Research
Source · arXiv

Sionnx: Automatic Unit Test Generator for ONNX Conformance

2019Xinli Cai; Peng Zhou; Shuhan Ding; Guoyang Chen; Weifeng Zhang

cid 081e71e5d8da97ebe008166084d504071903824f412f25f0d733a61269452637 · original · open access · via arxiv

Title: Sionnx: Automatic Unit Test Generator for ONNX Conformance
Authors: Xinli Cai; Peng Zhou; Shuhan Ding; Guoyang Chen; Weifeng Zhang
Venue: arXiv
Year: 2019
Canonical: arxiv:1906.05676v1
URL: http://arxiv.org/abs/1906.05676v1
Collector: arxiv
OA: true

ABSTRACT
Open Neural Network Exchange (ONNX) is an open format to represent AI models and is supported by many machine learning frameworks. While ONNX defines unified and portable computation operators across various frameworks, the conformance tests for those operators are insufficient, which makes it difficult to verify if an operator's behavior in an ONNX backend implementation complies with the ONNX standard. In this paper, we present the first automatic unit test generator named Sionnx for verifying the compliance of ONNX implementation. First, we propose a compact yet complete set of rules to describe the operator's attributes and the properties of its operands. Second, we design an Operator Specification Language (OSL) to provide a high-level description for the operator's syntax. Finally, through this easy-to-use specification language, we are able to build a full testing specification which leverages LLVM TableGen to automatically generate unit tests for ONNX operators with much large coverage. Sionnx is lightweight and flexible to support cross-framework verification. The Sionnx framework is open-sourced in the github repository (https://github.com/alibaba/Sionnx).