Runtime test coverage (onnxruntime and shape_inference)#
This page reports, for every backend test case collected by
onnx_light.backend.test.case.base.collect_test_case(), the outcome of
three independent scenarios:
onnxruntime (CPU) — the model is executed with onnxruntime on the CPU execution provider. The cell shows the maximum absolute discrepancy between the reference outputs and the ORT outputs, colored green when it stays within the test-case
atol/rtoltolerances and red otherwise (n/awhen ORT cannot load or run the model — typically when the model uses an op from a domain ORT does not register, such asai.onnx.previeworai.onnx.preview.training).static shape — the model is passed as-is to
onnx_light.onnx_lib.shape_inference.infer_shapes(). A yes indicates shape inference completes without raising.dynamic_shapes — every numeric input dimension is first replaced with a symbolic
dim_param(identical numeric values share the same symbol), then shape inference is run on the resulting symbolic model.
Summary#
Global pass rates across all collected test cases:
Scenario |
Passed |
Total |
Pass rate |
|---|---|---|---|
onnxruntime (CPU) |
97 |
105 |
92.4% |
Static shape inference |
105 |
105 |
100.0% |
Dynamic shape inference |
105 |
105 |
100.0% |
Per-domain pass rates:
Domain |
Tests |
onnxruntime (CPU) |
Static shape |
Dynamic shapes |
|---|---|---|---|---|
|
95 |
94 (98.9%) |
95 (100.0%) |
95 (100.0%) |
|
4 |
3 (75.0%) |
4 (100.0%) |
4 (100.0%) |
|
2 |
0 (0.0%) |
2 (100.0%) |
2 (100.0%) |
|
4 |
0 (0.0%) |
4 (100.0%) |
4 (100.0%) |
Per-test-case status#
Each tab below lists every backend test case from one domain. The tables are rendered with the sphinx-datatables extension, so they are interactive: use the search box to filter by op or test name and click on a column header to sort.
test op |
test name |
discrepancies (onnxruntime CPU) |
static shape |
dynamic_shapes |
|---|---|---|---|---|
Abs |
test_cc_abs |
0.00e+00 |
yes |
yes |
Acos |
test_cc_acos |
1.19e-07 |
yes |
yes |
Acosh |
test_cc_acosh |
0.00e+00 |
yes |
yes |
Add |
test_cc_add |
0.00e+00 |
yes |
yes |
Add |
test_cc_add_bcast |
0.00e+00 |
yes |
yes |
And |
test_and2d |
0.00e+00 |
yes |
yes |
And |
test_and3d |
0.00e+00 |
yes |
yes |
And |
test_and4d |
0.00e+00 |
yes |
yes |
And |
test_and_bcast3v1d |
0.00e+00 |
yes |
yes |
And |
test_and_bcast3v2d |
0.00e+00 |
yes |
yes |
And |
test_and_bcast4v2d |
0.00e+00 |
yes |
yes |
And |
test_and_bcast4v3d |
0.00e+00 |
yes |
yes |
And |
test_and_bcast4v4d |
0.00e+00 |
yes |
yes |
And |
test_cc_and |
0.00e+00 |
yes |
yes |
And |
test_cc_and_bcast |
0.00e+00 |
yes |
yes |
AveragePool |
test_cc_averagepool_1d_default |
0.00e+00 |
yes |
yes |
AveragePool |
test_cc_averagepool_2d_ceil |
0.00e+00 |
yes |
yes |
AveragePool |
test_cc_averagepool_2d_ceil_last_window_starts_on_pad |
0.00e+00 |
yes |
yes |
AveragePool |
test_cc_averagepool_2d_default |
0.00e+00 |
yes |
yes |
AveragePool |
test_cc_averagepool_2d_pads |
0.00e+00 |
yes |
yes |
AveragePool |
test_cc_averagepool_2d_pads_count_include_pad |
0.00e+00 |
yes |
yes |
AveragePool |
test_cc_averagepool_2d_precomputed_pads |
0.00e+00 |
yes |
yes |
AveragePool |
test_cc_averagepool_2d_precomputed_pads_count_include_pad |
0.00e+00 |
yes |
yes |
AveragePool |
test_cc_averagepool_2d_precomputed_strides |
0.00e+00 |
yes |
yes |
AveragePool |
test_cc_averagepool_2d_strides |
0.00e+00 |
yes |
yes |
AveragePool |
test_cc_averagepool_3d_default |
0.00e+00 |
yes |
yes |
BlackmanWindow |
test_cc_blackmanwindow |
1.49e-08 |
yes |
yes |
BlackmanWindow |
test_cc_blackmanwindow_symmetric |
2.98e-08 |
yes |
yes |
Cast |
test_cc_cast_DOUBLE_to_FLOAT |
0.00e+00 |
yes |
yes |
Cast |
test_cc_cast_FLOAT_to_DOUBLE |
0.00e+00 |
yes |
yes |
Cast |
test_cc_cast_FLOAT_to_INT32 |
0.00e+00 |
yes |
yes |
Cast |
test_cc_cast_INT64_to_FLOAT |
0.00e+00 |
yes |
yes |
Concat |
test_cc_concat_2d_axis_0 |
0.00e+00 |
yes |
yes |
Concat |
test_cc_concat_2d_axis_negative |
0.00e+00 |
yes |
yes |
Constant |
test_cc_constant |
0.00e+00 |
yes |
yes |
Div |
test_cc_div |
0.00e+00 |
yes |
yes |
Div |
test_cc_div_bcast |
0.00e+00 |
yes |
yes |
Div |
test_div |
0.00e+00 |
yes |
yes |
Div |
test_div_bcast |
0.00e+00 |
yes |
yes |
Div |
test_div_example |
0.00e+00 |
yes |
yes |
Greater |
test_cc_greater |
0.00e+00 |
yes |
yes |
Greater |
test_cc_greater_bcast |
0.00e+00 |
yes |
yes |
Greater |
test_greater |
0.00e+00 |
yes |
yes |
Greater |
test_greater_bcast |
0.00e+00 |
yes |
yes |
If |
test_cc_if |
0.00e+00 |
yes |
yes |
If |
test_cc_if_else |
0.00e+00 |
yes |
yes |
Less |
test_cc_less |
0.00e+00 |
yes |
yes |
Less |
test_cc_less_bcast |
0.00e+00 |
yes |
yes |
Less |
test_less |
0.00e+00 |
yes |
yes |
Less |
test_less_bcast |
0.00e+00 |
yes |
yes |
Mul |
test_cc_mul |
0.00e+00 |
yes |
yes |
Mul |
test_cc_mul_bcast |
0.00e+00 |
yes |
yes |
Mul |
test_mul |
0.00e+00 |
yes |
yes |
Mul |
test_mul_bcast |
0.00e+00 |
yes |
yes |
Mul |
test_mul_example |
0.00e+00 |
yes |
yes |
Optional |
test_cc_optional |
0.00e+00 |
yes |
yes |
Or |
test_cc_or |
0.00e+00 |
yes |
yes |
Or |
test_cc_or_bcast |
0.00e+00 |
yes |
yes |
Or |
test_or2d |
0.00e+00 |
yes |
yes |
Or |
test_or3d |
0.00e+00 |
yes |
yes |
Or |
test_or4d |
0.00e+00 |
yes |
yes |
Or |
test_or_bcast3v1d |
0.00e+00 |
yes |
yes |
Or |
test_or_bcast3v2d |
0.00e+00 |
yes |
yes |
Or |
test_or_bcast4v2d |
0.00e+00 |
yes |
yes |
Or |
test_or_bcast4v3d |
0.00e+00 |
yes |
yes |
Or |
test_or_bcast4v4d |
0.00e+00 |
yes |
yes |
QuantizeLinear |
test_cc_quantizelinear |
0.00e+00 |
yes |
yes |
QuantizeLinear |
test_cc_quantizelinear_int8 |
0.00e+00 |
yes |
yes |
ReduceSum |
test_cc_reducesum_default_axes_keepdims |
0.00e+00 |
yes |
yes |
ReduceSum |
test_cc_reducesum_do_not_keepdims |
0.00e+00 |
yes |
yes |
ReduceSum |
test_cc_reducesum_negative_axes_keepdims |
0.00e+00 |
yes |
yes |
RoiAlign |
test_cc_roialign |
0.00e+00 |
yes |
yes |
RoiAlign |
test_cc_roialign_max |
5.69e-01 |
yes |
yes |
SequenceConstruct |
test_cc_sequence_construct |
0.00e+00 |
yes |
yes |
SequenceConstruct |
test_cc_sequence_construct_int64_single |
0.00e+00 |
yes |
yes |
StringConcat |
test_cc_string_concat |
0.00e+00 |
yes |
yes |
StringConcat |
test_cc_string_concat_bcast |
0.00e+00 |
yes |
yes |
StringConcat |
test_cc_string_concat_chained_3in_1out |
0.00e+00 |
yes |
yes |
StringConcat |
test_cc_string_concat_utf8 |
0.00e+00 |
yes |
yes |
StringConcat |
test_cc_string_concat_zero_dimensional |
0.00e+00 |
yes |
yes |
Sub |
test_cc_sub |
0.00e+00 |
yes |
yes |
Sub |
test_cc_sub_bcast |
0.00e+00 |
yes |
yes |
Sub |
test_sub |
0.00e+00 |
yes |
yes |
Sub |
test_sub_bcast |
0.00e+00 |
yes |
yes |
Sub |
test_sub_example |
0.00e+00 |
yes |
yes |
Xor |
test_cc_xor |
0.00e+00 |
yes |
yes |
Xor |
test_cc_xor_bcast |
0.00e+00 |
yes |
yes |
Xor |
test_xor2d |
0.00e+00 |
yes |
yes |
Xor |
test_xor3d |
0.00e+00 |
yes |
yes |
Xor |
test_xor4d |
0.00e+00 |
yes |
yes |
Xor |
test_xor_bcast3v1d |
0.00e+00 |
yes |
yes |
Xor |
test_xor_bcast3v2d |
0.00e+00 |
yes |
yes |
Xor |
test_xor_bcast4v2d |
0.00e+00 |
yes |
yes |
Xor |
test_xor_bcast4v3d |
0.00e+00 |
yes |
yes |
Xor |
test_xor_bcast4v4d |
0.00e+00 |
yes |
yes |
test op |
test name |
discrepancies (onnxruntime CPU) |
static shape |
dynamic_shapes |
|---|---|---|---|---|
Binarizer |
test_cc_binarizer_float |
0.00e+00 |
yes |
yes |
Binarizer |
test_cc_binarizer_int64 |
n/a |
yes |
yes |
LabelEncoder |
test_cc_label_encoder_float_to_int64 |
0.00e+00 |
yes |
yes |
LabelEncoder |
test_cc_label_encoder_int64_to_float |
0.00e+00 |
yes |
yes |
test op |
test name |
discrepancies (onnxruntime CPU) |
static shape |
dynamic_shapes |
|---|---|---|---|---|
FlexAttention |
test_cc_flex_attention_basic |
n/a |
yes |
yes |
FlexAttention |
test_cc_flex_attention_gqa |
n/a |
yes |
yes |
test op |
test name |
discrepancies (onnxruntime CPU) |
static shape |
dynamic_shapes |
|---|---|---|---|---|
Adam |
test_adam |
n/a |
yes |
yes |
Adam |
test_adam_multiple |
n/a |
yes |
yes |
Adam |
test_cc_adam_multiple |
n/a |
yes |
yes |
Adam |
test_cc_adam_single |
n/a |
yes |
yes |