onnx 1.15.0__cp311-cp311-win_amd64.whl → 1.16.1__cp311-cp311-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of onnx might be problematic. Click here for more details.
- onnx/__init__.py +10 -10
- onnx/backend/base.py +13 -14
- onnx/backend/sample/ops/abs.py +1 -1
- onnx/backend/test/case/model/__init__.py +0 -1
- onnx/backend/test/case/node/ai_onnx_ml/tree_ensemble.py +122 -0
- onnx/backend/test/case/node/averagepool.py +15 -30
- onnx/backend/test/case/node/cast.py +88 -11
- onnx/backend/test/case/node/dequantizelinear.py +155 -0
- onnx/backend/test/case/node/groupnormalization.py +13 -9
- onnx/backend/test/case/node/gru.py +2 -2
- onnx/backend/test/case/node/isinf.py +4 -4
- onnx/backend/test/case/node/isnan.py +2 -2
- onnx/backend/test/case/node/lppool.py +8 -16
- onnx/backend/test/case/node/lstm.py +1 -1
- onnx/backend/test/case/node/maxpool.py +40 -34
- onnx/backend/test/case/node/pow.py +1 -1
- onnx/backend/test/case/node/qlinearmatmul.py +143 -109
- onnx/backend/test/case/node/quantizelinear.py +298 -7
- onnx/backend/test/case/node/reducemax.py +26 -0
- onnx/backend/test/case/node/rnn.py +1 -1
- onnx/backend/test/case/node/scan.py +6 -2
- onnx/backend/test/case/node/scatterelements.py +1 -1
- onnx/backend/test/case/node/topk.py +1 -1
- onnx/backend/test/case/utils.py +1 -3
- onnx/backend/test/data/node/test_ai_onnx_ml_tree_ensemble_set_membership/model.onnx +0 -0
- onnx/backend/test/data/node/test_ai_onnx_ml_tree_ensemble_set_membership/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_ai_onnx_ml_tree_ensemble_set_membership/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_ai_onnx_ml_tree_ensemble_single_tree/model.onnx +0 -0
- onnx/backend/test/data/node/test_ai_onnx_ml_tree_ensemble_single_tree/test_data_set_0/input_0.pb +1 -0
- onnx/backend/test/data/node/test_ai_onnx_ml_tree_ensemble_single_tree/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_BFLOAT16_to_FLOAT/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_DOUBLE_to_FLOAT/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_DOUBLE_to_FLOAT16/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT16_to_DOUBLE/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT16_to_FLOAT/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT16_to_FLOAT8E4M3FN/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT16_to_FLOAT8E4M3FN/test_data_set_0/input_0.pb +2 -2
- onnx/backend/test/data/node/test_cast_FLOAT16_to_FLOAT8E4M3FN/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT16_to_FLOAT8E4M3FNUZ/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT16_to_FLOAT8E4M3FNUZ/test_data_set_0/input_0.pb +2 -2
- onnx/backend/test/data/node/test_cast_FLOAT16_to_FLOAT8E4M3FNUZ/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT16_to_FLOAT8E5M2/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT16_to_FLOAT8E5M2/test_data_set_0/input_0.pb +2 -2
- onnx/backend/test/data/node/test_cast_FLOAT16_to_FLOAT8E5M2/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT16_to_FLOAT8E5M2FNUZ/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT16_to_FLOAT8E5M2FNUZ/test_data_set_0/input_0.pb +2 -2
- onnx/backend/test/data/node/test_cast_FLOAT16_to_FLOAT8E5M2FNUZ/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT16_to_INT4/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT16_to_INT4/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT16_to_INT4/test_data_set_0/output_0.pb +1 -0
- onnx/backend/test/data/node/test_cast_FLOAT16_to_UINT4/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT16_to_UINT4/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT16_to_UINT4/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT8E4M3FNUZ_to_FLOAT/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT8E4M3FNUZ_to_FLOAT/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT8E4M3FNUZ_to_FLOAT/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT8E4M3FNUZ_to_FLOAT16/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT8E4M3FNUZ_to_FLOAT16/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT8E4M3FNUZ_to_FLOAT16/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT8E4M3FN_to_FLOAT/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT8E4M3FN_to_FLOAT/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT8E4M3FN_to_FLOAT/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT8E4M3FN_to_FLOAT16/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT8E4M3FN_to_FLOAT16/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT8E4M3FN_to_FLOAT16/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT8E5M2FNUZ_to_FLOAT/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT8E5M2FNUZ_to_FLOAT/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT8E5M2FNUZ_to_FLOAT/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT8E5M2FNUZ_to_FLOAT16/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT8E5M2FNUZ_to_FLOAT16/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT8E5M2FNUZ_to_FLOAT16/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT8E5M2_to_FLOAT/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT8E5M2_to_FLOAT/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT8E5M2_to_FLOAT/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT8E5M2_to_FLOAT16/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT8E5M2_to_FLOAT16/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT8E5M2_to_FLOAT16/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT_to_BFLOAT16/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT_to_DOUBLE/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT_to_FLOAT16/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT_to_FLOAT8E4M3FN/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT_to_FLOAT8E4M3FN/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT_to_FLOAT8E4M3FN/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT_to_FLOAT8E4M3FNUZ/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT_to_FLOAT8E4M3FNUZ/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT_to_FLOAT8E4M3FNUZ/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT_to_FLOAT8E5M2/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT_to_FLOAT8E5M2/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT_to_FLOAT8E5M2/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT_to_FLOAT8E5M2FNUZ/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT_to_FLOAT8E5M2FNUZ/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT_to_FLOAT8E5M2FNUZ/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT_to_INT4/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT_to_INT4/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT_to_INT4/test_data_set_0/output_0.pb +1 -0
- onnx/backend/test/data/node/test_cast_FLOAT_to_STRING/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT_to_UINT4/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT_to_UINT4/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_FLOAT_to_UINT4/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_INT4_to_FLOAT/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_INT4_to_FLOAT/test_data_set_0/input_0.pb +1 -0
- onnx/backend/test/data/node/test_cast_INT4_to_FLOAT/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_INT4_to_FLOAT16/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_INT4_to_FLOAT16/test_data_set_0/input_0.pb +1 -0
- onnx/backend/test/data/node/test_cast_INT4_to_FLOAT16/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_INT4_to_INT8/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_INT4_to_INT8/test_data_set_0/input_0.pb +1 -0
- onnx/backend/test/data/node/test_cast_INT4_to_INT8/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_STRING_to_FLOAT/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_UINT4_to_FLOAT/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_UINT4_to_FLOAT/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_UINT4_to_FLOAT/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_UINT4_to_FLOAT16/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_UINT4_to_FLOAT16/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_UINT4_to_FLOAT16/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_UINT4_to_UINT8/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_UINT4_to_UINT8/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_UINT4_to_UINT8/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_no_saturate_FLOAT16_to_FLOAT8E4M3FN/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_no_saturate_FLOAT16_to_FLOAT8E4M3FN/test_data_set_0/input_0.pb +2 -2
- onnx/backend/test/data/node/test_cast_no_saturate_FLOAT16_to_FLOAT8E4M3FN/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_no_saturate_FLOAT16_to_FLOAT8E4M3FNUZ/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_no_saturate_FLOAT16_to_FLOAT8E4M3FNUZ/test_data_set_0/input_0.pb +2 -2
- onnx/backend/test/data/node/test_cast_no_saturate_FLOAT16_to_FLOAT8E4M3FNUZ/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_no_saturate_FLOAT16_to_FLOAT8E5M2/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_no_saturate_FLOAT16_to_FLOAT8E5M2/test_data_set_0/input_0.pb +2 -2
- onnx/backend/test/data/node/test_cast_no_saturate_FLOAT16_to_FLOAT8E5M2/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_no_saturate_FLOAT16_to_FLOAT8E5M2FNUZ/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_no_saturate_FLOAT16_to_FLOAT8E5M2FNUZ/test_data_set_0/input_0.pb +2 -2
- onnx/backend/test/data/node/test_cast_no_saturate_FLOAT16_to_FLOAT8E5M2FNUZ/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_no_saturate_FLOAT_to_FLOAT8E4M3FN/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_no_saturate_FLOAT_to_FLOAT8E4M3FN/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_no_saturate_FLOAT_to_FLOAT8E4M3FN/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_no_saturate_FLOAT_to_FLOAT8E4M3FNUZ/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_no_saturate_FLOAT_to_FLOAT8E4M3FNUZ/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_no_saturate_FLOAT_to_FLOAT8E4M3FNUZ/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_no_saturate_FLOAT_to_FLOAT8E5M2/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_no_saturate_FLOAT_to_FLOAT8E5M2/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_no_saturate_FLOAT_to_FLOAT8E5M2/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_no_saturate_FLOAT_to_FLOAT8E5M2FNUZ/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_no_saturate_FLOAT_to_FLOAT8E5M2FNUZ/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_cast_no_saturate_FLOAT_to_FLOAT8E5M2FNUZ/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_castlike_BFLOAT16_to_FLOAT/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_BFLOAT16_to_FLOAT_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_DOUBLE_to_FLOAT/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_DOUBLE_to_FLOAT16/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_DOUBLE_to_FLOAT16_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_DOUBLE_to_FLOAT_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT16_to_DOUBLE/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT16_to_DOUBLE_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT16_to_FLOAT/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT16_to_FLOAT_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT8E4M3FNUZ_to_FLOAT/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT8E4M3FNUZ_to_FLOAT_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT8E4M3FN_to_FLOAT/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT8E4M3FN_to_FLOAT_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT8E5M2FNUZ_to_FLOAT/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT8E5M2FNUZ_to_FLOAT_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT8E5M2_to_FLOAT/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT8E5M2_to_FLOAT_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT_to_BFLOAT16/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT_to_BFLOAT16_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT_to_DOUBLE/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT_to_DOUBLE_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT_to_FLOAT16/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT_to_FLOAT16_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT_to_FLOAT8E4M3FN/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT_to_FLOAT8E4M3FNUZ/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT_to_FLOAT8E4M3FNUZ_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT_to_FLOAT8E4M3FN_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT_to_FLOAT8E5M2/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT_to_FLOAT8E5M2FNUZ/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT_to_FLOAT8E5M2FNUZ_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT_to_FLOAT8E5M2_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT_to_STRING/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT_to_STRING_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_STRING_to_FLOAT/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_STRING_to_FLOAT_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_constant/model.onnx +0 -0
- onnx/backend/test/data/node/test_constant_pad/model.onnx +0 -0
- onnx/backend/test/data/node/test_constant_pad_axes/model.onnx +0 -0
- onnx/backend/test/data/node/test_constant_pad_negative_axes/model.onnx +0 -0
- onnx/backend/test/data/node/test_constantofshape_float_ones/model.onnx +0 -0
- onnx/backend/test/data/node/test_constantofshape_int_shape_zero/model.onnx +0 -0
- onnx/backend/test/data/node/test_constantofshape_int_zeros/model.onnx +0 -0
- onnx/backend/test/data/node/test_dequantizelinear/model.onnx +0 -0
- onnx/backend/test/data/node/test_dequantizelinear_axis/model.onnx +0 -0
- onnx/backend/test/data/node/test_dequantizelinear_blocked/model.onnx +0 -0
- onnx/backend/test/data/node/test_dequantizelinear_blocked/test_data_set_0/input_0.pb +1 -0
- onnx/backend/test/data/node/test_dequantizelinear_blocked/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_dequantizelinear_blocked/test_data_set_0/input_2.pb +0 -0
- onnx/backend/test/data/node/test_dequantizelinear_blocked/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_dequantizelinear_e4m3fn/model.onnx +0 -0
- onnx/backend/test/data/node/test_dequantizelinear_e4m3fn_float16/model.onnx +0 -0
- onnx/backend/test/data/node/test_dequantizelinear_e4m3fn_zero_point/model.onnx +0 -0
- onnx/backend/test/data/node/test_dequantizelinear_e5m2/model.onnx +0 -0
- onnx/backend/test/data/node/test_dequantizelinear_int16/model.onnx +0 -0
- onnx/backend/test/data/node/test_dequantizelinear_int16/test_data_set_0/input_0.pb +1 -0
- onnx/backend/test/data/node/test_dequantizelinear_int16/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_dequantizelinear_int16/test_data_set_0/input_2.pb +0 -0
- onnx/backend/test/data/node/test_dequantizelinear_int16/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_dequantizelinear_int4/model.onnx +0 -0
- onnx/backend/test/data/node/test_dequantizelinear_int4/test_data_set_0/input_0.pb +1 -0
- onnx/backend/test/data/node/test_dequantizelinear_int4/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_dequantizelinear_int4/test_data_set_0/input_2.pb +1 -0
- onnx/backend/test/data/node/test_dequantizelinear_int4/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_dequantizelinear_uint16/model.onnx +0 -0
- onnx/backend/test/data/node/test_dequantizelinear_uint16/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_dequantizelinear_uint16/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_dequantizelinear_uint16/test_data_set_0/input_2.pb +1 -0
- onnx/backend/test/data/node/test_dequantizelinear_uint16/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_dequantizelinear_uint4/model.onnx +0 -0
- onnx/backend/test/data/node/test_dequantizelinear_uint4/test_data_set_0/input_0.pb +1 -0
- onnx/backend/test/data/node/test_dequantizelinear_uint4/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_dequantizelinear_uint4/test_data_set_0/input_2.pb +1 -0
- onnx/backend/test/data/node/test_dequantizelinear_uint4/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_edge_pad/model.onnx +0 -0
- onnx/backend/test/data/node/test_flatten_axis0/model.onnx +0 -0
- onnx/backend/test/data/node/test_flatten_axis1/model.onnx +0 -0
- onnx/backend/test/data/node/test_flatten_axis2/model.onnx +0 -0
- onnx/backend/test/data/node/test_flatten_axis3/model.onnx +0 -0
- onnx/backend/test/data/node/test_flatten_default_axis/model.onnx +0 -0
- onnx/backend/test/data/node/test_flatten_negative_axis1/model.onnx +0 -0
- onnx/backend/test/data/node/test_flatten_negative_axis2/model.onnx +0 -0
- onnx/backend/test/data/node/test_flatten_negative_axis3/model.onnx +0 -0
- onnx/backend/test/data/node/test_flatten_negative_axis4/model.onnx +0 -0
- onnx/backend/test/data/node/test_group_normalization_epsilon/model.onnx +0 -0
- onnx/backend/test/data/node/test_group_normalization_epsilon/test_data_set_0/input_0.pb +1 -1
- onnx/backend/test/data/node/test_group_normalization_epsilon/test_data_set_0/input_1.pb +1 -1
- onnx/backend/test/data/node/test_group_normalization_epsilon/test_data_set_0/input_2.pb +1 -1
- onnx/backend/test/data/node/test_group_normalization_epsilon/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_group_normalization_epsilon_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_group_normalization_epsilon_expanded/test_data_set_0/input_0.pb +1 -1
- onnx/backend/test/data/node/test_group_normalization_epsilon_expanded/test_data_set_0/input_1.pb +1 -1
- onnx/backend/test/data/node/test_group_normalization_epsilon_expanded/test_data_set_0/input_2.pb +1 -1
- onnx/backend/test/data/node/test_group_normalization_epsilon_expanded/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_group_normalization_example/model.onnx +0 -0
- onnx/backend/test/data/node/test_group_normalization_example/test_data_set_0/input_1.pb +1 -1
- onnx/backend/test/data/node/test_group_normalization_example/test_data_set_0/input_2.pb +1 -1
- onnx/backend/test/data/node/test_group_normalization_example/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_group_normalization_example_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_group_normalization_example_expanded/test_data_set_0/input_1.pb +1 -1
- onnx/backend/test/data/node/test_group_normalization_example_expanded/test_data_set_0/input_2.pb +1 -1
- onnx/backend/test/data/node/test_group_normalization_example_expanded/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_identity/model.onnx +0 -0
- onnx/backend/test/data/node/test_identity_sequence/model.onnx +0 -0
- onnx/backend/test/data/node/test_lrn_default/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_maxpool_2d_ceil_output_size_reduce_by_one/model.onnx +0 -0
- onnx/backend/test/data/node/test_maxpool_2d_ceil_output_size_reduce_by_one/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_maxpool_2d_ceil_output_size_reduce_by_one/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_mvn/test_data_set_0/output_0.pb +1 -1
- onnx/backend/test/data/node/test_mvn_expanded/test_data_set_0/output_0.pb +1 -1
- onnx/backend/test/data/node/test_mvn_expanded_ver18/test_data_set_0/output_0.pb +1 -1
- onnx/backend/test/data/node/test_pow/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_qlinearmatmul_2D_int8_float16/model.onnx +0 -0
- onnx/backend/test/data/node/test_qlinearmatmul_2D_int8_float16/test_data_set_0/input_0.pb +1 -0
- onnx/backend/test/data/node/test_qlinearmatmul_2D_int8_float16/test_data_set_0/input_1.pb +2 -0
- onnx/backend/test/data/node/test_qlinearmatmul_2D_int8_float16/test_data_set_0/input_2.pb +1 -0
- onnx/backend/test/data/node/test_qlinearmatmul_2D_int8_float16/test_data_set_0/input_3.pb +0 -0
- onnx/backend/test/data/node/test_qlinearmatmul_2D_int8_float16/test_data_set_0/input_4.pb +2 -0
- onnx/backend/test/data/node/test_qlinearmatmul_2D_int8_float16/test_data_set_0/input_5.pb +1 -0
- onnx/backend/test/data/node/test_qlinearmatmul_2D_int8_float16/test_data_set_0/input_6.pb +2 -0
- onnx/backend/test/data/node/test_qlinearmatmul_2D_int8_float16/test_data_set_0/input_7.pb +1 -0
- onnx/backend/test/data/node/test_qlinearmatmul_2D_int8_float16/test_data_set_0/output_0.pb +1 -0
- onnx/backend/test/data/node/test_qlinearmatmul_2D_int8_float32/model.onnx +0 -0
- onnx/backend/test/data/node/test_qlinearmatmul_2D_int8_float32/test_data_set_0/input_0.pb +1 -0
- onnx/backend/test/data/node/test_qlinearmatmul_2D_int8_float32/test_data_set_0/input_2.pb +1 -0
- onnx/backend/test/data/node/test_qlinearmatmul_2D_int8_float32/test_data_set_0/input_3.pb +0 -0
- onnx/backend/test/data/node/test_qlinearmatmul_2D_int8_float32/test_data_set_0/input_5.pb +1 -0
- onnx/backend/test/data/node/test_qlinearmatmul_2D_int8_float32/test_data_set_0/input_7.pb +1 -0
- onnx/backend/test/data/node/test_qlinearmatmul_2D_int8_float32/test_data_set_0/output_0.pb +1 -0
- onnx/backend/test/data/node/test_qlinearmatmul_2D_uint8_float16/model.onnx +0 -0
- onnx/backend/test/data/node/test_qlinearmatmul_2D_uint8_float16/test_data_set_0/input_1.pb +2 -0
- onnx/backend/test/data/node/test_qlinearmatmul_2D_uint8_float16/test_data_set_0/input_4.pb +2 -0
- onnx/backend/test/data/node/test_qlinearmatmul_2D_uint8_float16/test_data_set_0/input_6.pb +2 -0
- onnx/backend/test/data/node/{test_qlinearmatmul_2D → test_qlinearmatmul_2D_uint8_float32}/model.onnx +0 -0
- onnx/backend/test/data/node/test_qlinearmatmul_2D_uint8_float32/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_qlinearmatmul_2D_uint8_float32/test_data_set_0/input_3.pb +0 -0
- onnx/backend/test/data/node/test_qlinearmatmul_2D_uint8_float32/test_data_set_0/output_0.pb +1 -0
- onnx/backend/test/data/node/test_qlinearmatmul_3D_int8_float16/model.onnx +0 -0
- onnx/backend/test/data/node/test_qlinearmatmul_3D_int8_float16/test_data_set_0/input_0.pb +1 -0
- onnx/backend/test/data/node/test_qlinearmatmul_3D_int8_float16/test_data_set_0/input_1.pb +2 -0
- onnx/backend/test/data/node/test_qlinearmatmul_3D_int8_float16/test_data_set_0/input_2.pb +1 -0
- onnx/backend/test/data/node/test_qlinearmatmul_3D_int8_float16/test_data_set_0/input_3.pb +0 -0
- onnx/backend/test/data/node/test_qlinearmatmul_3D_int8_float16/test_data_set_0/input_4.pb +2 -0
- onnx/backend/test/data/node/test_qlinearmatmul_3D_int8_float16/test_data_set_0/input_5.pb +1 -0
- onnx/backend/test/data/node/test_qlinearmatmul_3D_int8_float16/test_data_set_0/input_6.pb +2 -0
- onnx/backend/test/data/node/test_qlinearmatmul_3D_int8_float16/test_data_set_0/input_7.pb +1 -0
- onnx/backend/test/data/node/test_qlinearmatmul_3D_int8_float16/test_data_set_0/output_0.pb +1 -0
- onnx/backend/test/data/node/test_qlinearmatmul_3D_int8_float32/model.onnx +0 -0
- onnx/backend/test/data/node/test_qlinearmatmul_3D_int8_float32/test_data_set_0/input_0.pb +1 -0
- onnx/backend/test/data/node/test_qlinearmatmul_3D_int8_float32/test_data_set_0/input_1.pb +1 -0
- onnx/backend/test/data/node/test_qlinearmatmul_3D_int8_float32/test_data_set_0/input_2.pb +1 -0
- onnx/backend/test/data/node/test_qlinearmatmul_3D_int8_float32/test_data_set_0/input_3.pb +0 -0
- onnx/backend/test/data/node/test_qlinearmatmul_3D_int8_float32/test_data_set_0/input_4.pb +1 -0
- onnx/backend/test/data/node/test_qlinearmatmul_3D_int8_float32/test_data_set_0/input_5.pb +1 -0
- onnx/backend/test/data/node/test_qlinearmatmul_3D_int8_float32/test_data_set_0/input_6.pb +1 -0
- onnx/backend/test/data/node/test_qlinearmatmul_3D_int8_float32/test_data_set_0/input_7.pb +1 -0
- onnx/backend/test/data/node/test_qlinearmatmul_3D_int8_float32/test_data_set_0/output_0.pb +1 -0
- onnx/backend/test/data/node/test_qlinearmatmul_3D_uint8_float16/model.onnx +0 -0
- onnx/backend/test/data/node/test_qlinearmatmul_3D_uint8_float16/test_data_set_0/input_1.pb +2 -0
- onnx/backend/test/data/node/test_qlinearmatmul_3D_uint8_float16/test_data_set_0/input_2.pb +1 -0
- onnx/backend/test/data/node/test_qlinearmatmul_3D_uint8_float16/test_data_set_0/input_4.pb +2 -0
- onnx/backend/test/data/node/test_qlinearmatmul_3D_uint8_float16/test_data_set_0/input_5.pb +1 -0
- onnx/backend/test/data/node/test_qlinearmatmul_3D_uint8_float16/test_data_set_0/input_6.pb +2 -0
- onnx/backend/test/data/node/test_qlinearmatmul_3D_uint8_float16/test_data_set_0/input_7.pb +1 -0
- onnx/backend/test/data/node/{test_qlinearmatmul_3D → test_qlinearmatmul_3D_uint8_float32}/model.onnx +0 -0
- onnx/backend/test/data/node/test_qlinearmatmul_3D_uint8_float32/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_qlinearmatmul_3D_uint8_float32/test_data_set_0/input_1.pb +1 -0
- onnx/backend/test/data/node/test_qlinearmatmul_3D_uint8_float32/test_data_set_0/input_2.pb +1 -0
- onnx/backend/test/data/node/test_qlinearmatmul_3D_uint8_float32/test_data_set_0/input_3.pb +0 -0
- onnx/backend/test/data/node/test_qlinearmatmul_3D_uint8_float32/test_data_set_0/input_4.pb +1 -0
- onnx/backend/test/data/node/test_qlinearmatmul_3D_uint8_float32/test_data_set_0/input_5.pb +1 -0
- onnx/backend/test/data/node/test_qlinearmatmul_3D_uint8_float32/test_data_set_0/input_6.pb +1 -0
- onnx/backend/test/data/node/test_qlinearmatmul_3D_uint8_float32/test_data_set_0/input_7.pb +1 -0
- onnx/backend/test/data/node/test_qlinearmatmul_3D_uint8_float32/test_data_set_0/output_0.pb +1 -0
- onnx/backend/test/data/node/test_quantizelinear/model.onnx +0 -0
- onnx/backend/test/data/node/test_quantizelinear_axis/model.onnx +0 -0
- onnx/backend/test/data/node/test_quantizelinear_blocked_asymmetric/model.onnx +0 -0
- onnx/backend/test/data/node/test_quantizelinear_blocked_asymmetric/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_quantizelinear_blocked_asymmetric/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_quantizelinear_blocked_asymmetric/test_data_set_0/input_2.pb +0 -0
- onnx/backend/test/data/node/test_quantizelinear_blocked_asymmetric/test_data_set_0/output_0.pb +1 -0
- onnx/backend/test/data/node/test_quantizelinear_blocked_symmetric/model.onnx +0 -0
- onnx/backend/test/data/node/test_quantizelinear_blocked_symmetric/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_quantizelinear_blocked_symmetric/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_quantizelinear_blocked_symmetric/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_quantizelinear_e4m3fn/model.onnx +0 -0
- onnx/backend/test/data/node/test_quantizelinear_e4m3fn/test_data_set_0/input_2.pb +0 -0
- onnx/backend/test/data/node/test_quantizelinear_e4m3fn/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_quantizelinear_e5m2/model.onnx +0 -0
- onnx/backend/test/data/node/test_quantizelinear_e5m2/test_data_set_0/input_2.pb +0 -0
- onnx/backend/test/data/node/test_quantizelinear_e5m2/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_quantizelinear_int16/model.onnx +0 -0
- onnx/backend/test/data/node/test_quantizelinear_int16/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_quantizelinear_int16/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_quantizelinear_int16/test_data_set_0/input_2.pb +0 -0
- onnx/backend/test/data/node/test_quantizelinear_int16/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_quantizelinear_int4/model.onnx +0 -0
- onnx/backend/test/data/node/test_quantizelinear_int4/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_quantizelinear_int4/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_quantizelinear_int4/test_data_set_0/input_2.pb +1 -0
- onnx/backend/test/data/node/test_quantizelinear_int4/test_data_set_0/output_0.pb +1 -0
- onnx/backend/test/data/node/test_quantizelinear_uint16/model.onnx +0 -0
- onnx/backend/test/data/node/test_quantizelinear_uint16/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_quantizelinear_uint16/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_quantizelinear_uint16/test_data_set_0/input_2.pb +1 -0
- onnx/backend/test/data/node/test_quantizelinear_uint16/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_quantizelinear_uint4/model.onnx +0 -0
- onnx/backend/test/data/node/test_quantizelinear_uint4/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_quantizelinear_uint4/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_quantizelinear_uint4/test_data_set_0/input_2.pb +1 -0
- onnx/backend/test/data/node/test_quantizelinear_uint4/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_reflect_pad/model.onnx +0 -0
- onnx/backend/test/data/node/test_reshape_allowzero_reordered/model.onnx +0 -0
- onnx/backend/test/data/node/test_reshape_extended_dims/model.onnx +0 -0
- onnx/backend/test/data/node/test_reshape_negative_dim/model.onnx +0 -0
- onnx/backend/test/data/node/test_reshape_negative_extended_dims/model.onnx +0 -0
- onnx/backend/test/data/node/test_reshape_one_dim/model.onnx +0 -0
- onnx/backend/test/data/node/test_reshape_reduced_dims/model.onnx +0 -0
- onnx/backend/test/data/node/test_reshape_reordered_all_dims/model.onnx +0 -0
- onnx/backend/test/data/node/test_reshape_reordered_last_dims/model.onnx +0 -0
- onnx/backend/test/data/node/test_reshape_zero_and_negative_dim/model.onnx +0 -0
- onnx/backend/test/data/node/test_reshape_zero_dim/model.onnx +0 -0
- onnx/backend/test/data/node/test_shape/model.onnx +0 -0
- onnx/backend/test/data/node/test_shape_clip_end/model.onnx +0 -0
- onnx/backend/test/data/node/test_shape_clip_start/model.onnx +0 -0
- onnx/backend/test/data/node/test_shape_end_1/model.onnx +0 -0
- onnx/backend/test/data/node/test_shape_end_negative_1/model.onnx +0 -0
- onnx/backend/test/data/node/test_shape_example/model.onnx +0 -0
- onnx/backend/test/data/node/test_shape_start_1/model.onnx +0 -0
- onnx/backend/test/data/node/test_shape_start_1_end_2/model.onnx +0 -0
- onnx/backend/test/data/node/test_shape_start_1_end_negative_1/model.onnx +0 -0
- onnx/backend/test/data/node/test_shape_start_negative_1/model.onnx +0 -0
- onnx/backend/test/data/node/test_size/model.onnx +0 -0
- onnx/backend/test/data/node/test_size_example/model.onnx +0 -0
- onnx/backend/test/data/node/test_squeeze/model.onnx +0 -0
- onnx/backend/test/data/node/test_squeeze_negative_axes/model.onnx +0 -0
- onnx/backend/test/data/node/test_transpose_all_permutations_0/model.onnx +0 -0
- onnx/backend/test/data/node/test_transpose_all_permutations_1/model.onnx +0 -0
- onnx/backend/test/data/node/test_transpose_all_permutations_2/model.onnx +0 -0
- onnx/backend/test/data/node/test_transpose_all_permutations_3/model.onnx +0 -0
- onnx/backend/test/data/node/test_transpose_all_permutations_4/model.onnx +0 -0
- onnx/backend/test/data/node/test_transpose_all_permutations_5/model.onnx +0 -0
- onnx/backend/test/data/node/test_transpose_default/model.onnx +0 -0
- onnx/backend/test/data/node/test_unsqueeze_axis_0/model.onnx +0 -0
- onnx/backend/test/data/node/test_unsqueeze_axis_1/model.onnx +0 -0
- onnx/backend/test/data/node/test_unsqueeze_axis_2/model.onnx +0 -0
- onnx/backend/test/data/node/test_unsqueeze_negative_axes/model.onnx +0 -0
- onnx/backend/test/data/node/test_unsqueeze_three_axes/model.onnx +0 -0
- onnx/backend/test/data/node/test_unsqueeze_two_axes/model.onnx +0 -0
- onnx/backend/test/data/node/test_unsqueeze_unsorted_axes/model.onnx +0 -0
- onnx/backend/test/data/node/test_wrap_pad/model.onnx +0 -0
- onnx/backend/test/loader/__init__.py +0 -1
- onnx/backend/test/runner/__init__.py +43 -15
- onnx/checker.cc +104 -99
- onnx/checker.h +23 -3
- onnx/checker.py +56 -20
- onnx/common/assertions.cc +10 -5
- onnx/common/common.h +19 -0
- onnx/common/file_utils.h +3 -1
- onnx/common/interned_strings.h +7 -1
- onnx/common/ir.h +30 -7
- onnx/common/ir_pb_converter.cc +6 -0
- onnx/common/path.h +18 -2
- onnx/common/proto_util.h +43 -0
- onnx/common/version.h +1 -1
- onnx/cpp2py_export.cc +88 -56
- onnx/defs/__init__.py +29 -8
- onnx/defs/controlflow/defs.cc +16 -16
- onnx/defs/controlflow/old.cc +177 -0
- onnx/defs/data_propagators.h +2 -0
- onnx/defs/data_type_utils.cc +2 -0
- onnx/defs/generator/defs.cc +6 -4
- onnx/defs/generator/old.cc +115 -0
- onnx/defs/math/defs.cc +37 -142
- onnx/defs/math/old.cc +96 -12
- onnx/defs/math/utils.cc +127 -0
- onnx/defs/math/utils.h +8 -0
- onnx/defs/nn/defs.cc +72 -59
- onnx/defs/nn/old.cc +181 -2
- onnx/defs/object_detection/defs.cc +2 -2
- onnx/defs/object_detection/old.cc +2 -2
- onnx/defs/operator_sets.h +51 -0
- onnx/defs/operator_sets_ml.h +14 -0
- onnx/defs/parser.cc +112 -54
- onnx/defs/parser.h +14 -2
- onnx/defs/printer.cc +14 -7
- onnx/defs/quantization/defs.cc +111 -44
- onnx/defs/quantization/old.cc +130 -1
- onnx/defs/schema.cc +62 -18
- onnx/defs/schema.h +194 -48
- onnx/defs/shape_inference.cc +28 -19
- onnx/defs/shape_inference.h +2 -0
- onnx/defs/tensor/defs.cc +54 -96
- onnx/defs/tensor/old.cc +939 -34
- onnx/defs/tensor/utils.cc +6 -3
- onnx/defs/tensor/utils.h +5 -1
- onnx/defs/tensor_proto_util.cc +2 -0
- onnx/defs/tensor_util.cc +2 -0
- onnx/defs/traditionalml/defs.cc +273 -117
- onnx/defs/traditionalml/old.cc +329 -14
- onnx/defs/traditionalml/utils.h +27 -0
- onnx/external_data_helper.py +12 -26
- onnx/helper.py +242 -169
- onnx/hub.py +104 -70
- onnx/inliner/inliner.cc +89 -31
- onnx/inliner/inliner.h +5 -0
- onnx/inliner.py +2 -0
- onnx/mapping.py +9 -0
- onnx/model_container.py +346 -0
- onnx/numpy_helper.py +100 -38
- onnx/onnx-ml.proto +50 -13
- onnx/onnx.in.proto +50 -13
- onnx/onnx.proto +50 -13
- onnx/onnx_cpp2py_export/__init__.pyi +5 -0
- onnx/onnx_cpp2py_export/checker.pyi +21 -0
- onnx/onnx_cpp2py_export/defs.pyi +202 -0
- onnx/onnx_cpp2py_export/inliner.pyi +19 -0
- onnx/onnx_cpp2py_export/parser.pyi +32 -0
- onnx/onnx_cpp2py_export/printer.pyi +3 -0
- onnx/onnx_cpp2py_export/shape_inference.pyi +16 -0
- onnx/onnx_cpp2py_export/version_converter.pyi +4 -0
- onnx/onnx_cpp2py_export.cp311-win_amd64.pyd +0 -0
- onnx/onnx_data_pb2.pyi +146 -0
- onnx/onnx_ml_pb2.py +52 -52
- onnx/onnx_ml_pb2.pyi +663 -0
- onnx/onnx_operators_ml_pb2.pyi +67 -0
- onnx/reference/__init__.py +2 -0
- onnx/reference/custom_element_types.py +2 -0
- onnx/reference/op_run.py +166 -121
- onnx/reference/ops/_op.py +27 -50
- onnx/reference/ops/_op_list.py +36 -24
- onnx/reference/ops/aionnx_preview_training/_op_list.py +15 -8
- onnx/reference/ops/aionnxml/_common_classifier.py +3 -5
- onnx/reference/ops/aionnxml/_op_list.py +16 -8
- onnx/reference/ops/aionnxml/op_array_feature_extractor.py +4 -6
- onnx/reference/ops/aionnxml/op_linear_classifier.py +1 -2
- onnx/reference/ops/aionnxml/op_normalizer.py +3 -3
- onnx/reference/ops/aionnxml/op_svm_helper.py +1 -3
- onnx/reference/ops/aionnxml/op_svm_regressor.py +1 -3
- onnx/reference/ops/aionnxml/op_tree_ensemble.py +257 -0
- onnx/reference/ops/aionnxml/op_tree_ensemble_helper.py +2 -6
- onnx/reference/ops/aionnxml/op_tree_ensemble_regressor.py +4 -4
- onnx/reference/ops/experimental/_op_list.py +15 -8
- onnx/reference/ops/op_blackman_window.py +5 -6
- onnx/reference/ops/op_cast.py +22 -0
- onnx/reference/ops/op_cast_like.py +6 -0
- onnx/reference/ops/op_clip.py +5 -8
- onnx/reference/ops/op_col2im.py +1 -3
- onnx/reference/ops/op_constant.py +7 -1
- onnx/reference/ops/op_dequantize_linear.py +43 -40
- onnx/reference/ops/op_det.py +1 -1
- onnx/reference/ops/op_dynamic_quantize_linear.py +2 -2
- onnx/reference/ops/op_grid_sample.py +2 -4
- onnx/reference/ops/op_hamming_window.py +3 -6
- onnx/reference/ops/op_hann_window.py +3 -6
- onnx/reference/ops/op_if.py +4 -3
- onnx/reference/ops/op_loop.py +7 -9
- onnx/reference/ops/op_matmul.py +1 -2
- onnx/reference/ops/op_max_pool.py +5 -0
- onnx/reference/ops/op_optional.py +1 -1
- onnx/reference/ops/op_pool_common.py +3 -6
- onnx/reference/ops/op_qlinear_matmul.py +2 -2
- onnx/reference/ops/op_quantize_linear.py +166 -71
- onnx/reference/ops/op_resize.py +25 -21
- onnx/reference/ops/op_rnn.py +20 -12
- onnx/reference/ops/op_scan.py +23 -15
- onnx/reference/ops/op_scatter_elements.py +7 -6
- onnx/reference/ops/op_stft.py +3 -5
- onnx/reference/ops/op_string_normalizer.py +7 -7
- onnx/reference/ops/op_tfidf_vectorizer.py +7 -8
- onnx/reference/ops/op_topk.py +9 -11
- onnx/reference/ops/op_unique.py +1 -1
- onnx/reference/reference_evaluator.py +119 -63
- onnx/shape_inference/implementation.cc +160 -127
- onnx/shape_inference.py +11 -10
- onnx/subbyte.py +72 -0
- onnx/test/__init__.pyi +6 -0
- onnx/test/checker_test.py +21 -1
- onnx/test/compose_test.py +26 -74
- onnx/test/cpp/inliner_test.cc +76 -1
- onnx/test/cpp/ir_test.cc +60 -0
- onnx/test/cpp/parser_test.cc +106 -0
- onnx/test/function_test.py +1 -3
- onnx/test/helper_test.py +64 -4
- onnx/test/model_container_refeval_test.py +139 -0
- onnx/test/model_container_test.py +136 -0
- onnx/test/model_inference_test.py +44 -0
- onnx/test/reference_evaluator_ml_test.py +448 -47
- onnx/test/reference_evaluator_model_test.py +130 -0
- onnx/test/reference_evaluator_test.py +901 -14
- onnx/test/schema_test.py +166 -1
- onnx/test/shape_inference_test.py +285 -6
- onnx/test/symbolic_shape_test.py +3 -8
- onnx/test/test_backend_onnxruntime.py +238 -224
- onnx/test/test_backend_reference.py +11 -0
- onnx/test/test_external_data.py +51 -2
- onnx/test/version_converter/automatic_conversion_test_base.py +2 -1
- onnx/test/version_converter/automatic_upgrade_test.py +12 -10
- onnx/test/version_converter_test.py +166 -0
- onnx/tools/replace_constants.py +23 -26
- onnx/tools/update_model_dims.py +1 -2
- onnx/version.py +2 -2
- onnx/version_converter/adapters/group_normalization_20_21.h +128 -0
- onnx/version_converter/adapters/q_dq_21_20.h +77 -0
- onnx/version_converter/convert.h +67 -2
- onnx/version_converter.py +6 -142
- {onnx-1.15.0.dist-info → onnx-1.16.1.dist-info}/METADATA +18 -15
- {onnx-1.15.0.dist-info → onnx-1.16.1.dist-info}/RECORD +572 -406
- {onnx-1.15.0.dist-info → onnx-1.16.1.dist-info}/WHEEL +1 -1
- onnx/examples/Protobufs.ipynb +0 -639
- onnx/examples/check_model.ipynb +0 -128
- onnx/examples/load_model.ipynb +0 -116
- onnx/examples/make_model.ipynb +0 -176
- onnx/examples/np_array_tensorproto.ipynb +0 -136
- onnx/examples/resources/single_relu.onnx +0 -12
- onnx/examples/resources/single_relu_new.onnx +0 -12
- onnx/examples/resources/tensor.pb +0 -0
- onnx/examples/resources/two_transposes.onnx +0 -0
- onnx/examples/save_model.ipynb +0 -56
- onnx/examples/shape_inference.ipynb +0 -111
- onnx/test/reference_evaluator_backend_test.py +0 -876
- /onnx/backend/test/data/node/{test_qlinearmatmul_2D → test_qlinearmatmul_2D_int8_float32}/test_data_set_0/input_1.pb +0 -0
- /onnx/backend/test/data/node/{test_qlinearmatmul_2D → test_qlinearmatmul_2D_int8_float32}/test_data_set_0/input_4.pb +0 -0
- /onnx/backend/test/data/node/{test_qlinearmatmul_2D → test_qlinearmatmul_2D_int8_float32}/test_data_set_0/input_6.pb +0 -0
- /onnx/backend/test/data/node/{test_qlinearmatmul_2D → test_qlinearmatmul_2D_uint8_float16}/test_data_set_0/input_0.pb +0 -0
- /onnx/backend/test/data/node/{test_qlinearmatmul_2D → test_qlinearmatmul_2D_uint8_float16}/test_data_set_0/input_2.pb +0 -0
- /onnx/backend/test/data/node/{test_qlinearmatmul_2D → test_qlinearmatmul_2D_uint8_float16}/test_data_set_0/input_3.pb +0 -0
- /onnx/backend/test/data/node/{test_qlinearmatmul_2D → test_qlinearmatmul_2D_uint8_float16}/test_data_set_0/input_5.pb +0 -0
- /onnx/backend/test/data/node/{test_qlinearmatmul_2D → test_qlinearmatmul_2D_uint8_float16}/test_data_set_0/input_7.pb +0 -0
- /onnx/backend/test/data/node/{test_qlinearmatmul_2D → test_qlinearmatmul_2D_uint8_float16}/test_data_set_0/output_0.pb +0 -0
- /onnx/backend/test/data/node/{test_qlinearmatmul_3D → test_qlinearmatmul_2D_uint8_float32}/test_data_set_0/input_1.pb +0 -0
- /onnx/backend/test/data/node/{test_qlinearmatmul_3D → test_qlinearmatmul_2D_uint8_float32}/test_data_set_0/input_2.pb +0 -0
- /onnx/backend/test/data/node/{test_qlinearmatmul_3D → test_qlinearmatmul_2D_uint8_float32}/test_data_set_0/input_4.pb +0 -0
- /onnx/backend/test/data/node/{test_qlinearmatmul_3D → test_qlinearmatmul_2D_uint8_float32}/test_data_set_0/input_5.pb +0 -0
- /onnx/backend/test/data/node/{test_qlinearmatmul_3D → test_qlinearmatmul_2D_uint8_float32}/test_data_set_0/input_6.pb +0 -0
- /onnx/backend/test/data/node/{test_qlinearmatmul_3D → test_qlinearmatmul_2D_uint8_float32}/test_data_set_0/input_7.pb +0 -0
- /onnx/backend/test/data/node/{test_qlinearmatmul_3D → test_qlinearmatmul_3D_uint8_float16}/test_data_set_0/input_0.pb +0 -0
- /onnx/backend/test/data/node/{test_qlinearmatmul_3D → test_qlinearmatmul_3D_uint8_float16}/test_data_set_0/input_3.pb +0 -0
- /onnx/backend/test/data/node/{test_qlinearmatmul_3D → test_qlinearmatmul_3D_uint8_float16}/test_data_set_0/output_0.pb +0 -0
- {onnx-1.15.0.dist-info → onnx-1.16.1.dist-info}/LICENSE +0 -0
- {onnx-1.15.0.dist-info → onnx-1.16.1.dist-info}/entry_points.txt +0 -0
- {onnx-1.15.0.dist-info → onnx-1.16.1.dist-info}/top_level.txt +0 -0
|
@@ -4,11 +4,9 @@
|
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
7
|
-
import os
|
|
8
7
|
import platform
|
|
9
|
-
import sys
|
|
10
8
|
import unittest
|
|
11
|
-
from typing import Any
|
|
9
|
+
from typing import Any
|
|
12
10
|
|
|
13
11
|
import numpy
|
|
14
12
|
from packaging.version import Version
|
|
@@ -17,21 +15,16 @@ import onnx.backend.base
|
|
|
17
15
|
import onnx.backend.test
|
|
18
16
|
import onnx.shape_inference
|
|
19
17
|
import onnx.version_converter
|
|
20
|
-
from onnx import ModelProto
|
|
21
18
|
from onnx.backend.base import Device, DeviceType
|
|
22
19
|
|
|
23
20
|
try:
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
from onnxruntime.capi.onnxruntime_pybind11_state import InvalidArgument
|
|
21
|
+
import onnxruntime as ort
|
|
22
|
+
|
|
23
|
+
ort_version = Version(ort.__version__)
|
|
28
24
|
except ImportError:
|
|
29
25
|
# onnxruntime is not installed, all tests are skipped.
|
|
30
|
-
|
|
31
|
-
ort_version = None
|
|
32
|
-
|
|
33
|
-
def get_available_providers():
|
|
34
|
-
return []
|
|
26
|
+
ort: Any = None # type: ignore[no-redef]
|
|
27
|
+
ort_version: Any = None # type: ignore[no-redef]
|
|
35
28
|
|
|
36
29
|
|
|
37
30
|
# The following just executes a backend based on InferenceSession through the backend test
|
|
@@ -42,6 +35,7 @@ class InferenceSessionBackendRep(onnx.backend.base.BackendRep):
|
|
|
42
35
|
self._session = session
|
|
43
36
|
|
|
44
37
|
def run(self, inputs, **kwargs):
|
|
38
|
+
del kwargs # Unused
|
|
45
39
|
if isinstance(inputs, numpy.ndarray):
|
|
46
40
|
inputs = [inputs]
|
|
47
41
|
if isinstance(inputs, list):
|
|
@@ -66,249 +60,269 @@ class InferenceSessionBackendRep(onnx.backend.base.BackendRep):
|
|
|
66
60
|
return outs
|
|
67
61
|
|
|
68
62
|
|
|
69
|
-
|
|
70
|
-
|
|
63
|
+
def _create_inference_session(model: onnx.ModelProto, device: str):
|
|
64
|
+
if device == "CPU":
|
|
65
|
+
providers = ("CPUExecutionProvider",)
|
|
66
|
+
elif device == "CUDA":
|
|
67
|
+
providers = ("CUDAExecutionProvider",)
|
|
68
|
+
else:
|
|
69
|
+
raise ValueError(f"Unexpected device {device!r}.")
|
|
70
|
+
try:
|
|
71
|
+
session = ort.InferenceSession(model.SerializeToString(), providers=providers)
|
|
72
|
+
except Exception as e:
|
|
73
|
+
raise RuntimeError(
|
|
74
|
+
f"Unable to create inference session. Model is:\n\n{onnx.printer.to_text(model)}"
|
|
75
|
+
) from e
|
|
76
|
+
return session
|
|
71
77
|
|
|
72
|
-
@classmethod
|
|
73
|
-
def is_opset_supported(cls, model):
|
|
74
|
-
return True, ""
|
|
75
78
|
|
|
79
|
+
class InferenceSessionBackend(onnx.backend.base.Backend):
|
|
76
80
|
@classmethod
|
|
77
81
|
def supports_device(cls, device: str) -> bool:
|
|
82
|
+
providers = set(ort.get_available_providers())
|
|
78
83
|
d = Device(device)
|
|
79
|
-
if d.type == DeviceType.CPU and "CPUExecutionProvider" in
|
|
84
|
+
if d.type == DeviceType.CPU and "CPUExecutionProvider" in providers:
|
|
80
85
|
return True
|
|
81
|
-
if d.type == DeviceType.CUDA and "CUDAExecutionProvider" in
|
|
86
|
+
if d.type == DeviceType.CUDA and "CUDAExecutionProvider" in providers:
|
|
82
87
|
return True
|
|
83
88
|
return False
|
|
84
89
|
|
|
85
|
-
@classmethod
|
|
86
|
-
def convert_version_opset_before(cls, model):
|
|
87
|
-
opsets = {d.domain: d.version for d in model.opset_import}
|
|
88
|
-
if "" not in opsets:
|
|
89
|
-
return None
|
|
90
|
-
try:
|
|
91
|
-
return onnx.version_converter.convert_version(model, opsets[""] - 1)
|
|
92
|
-
except RuntimeError:
|
|
93
|
-
# Let's try without any change.
|
|
94
|
-
del model.opset_import[:]
|
|
95
|
-
for k, v in opsets.items():
|
|
96
|
-
d = model.opset_import.add()
|
|
97
|
-
d.domain = k
|
|
98
|
-
d.version = v if k != "" else v - 1
|
|
99
|
-
return model
|
|
100
|
-
|
|
101
|
-
@classmethod
|
|
102
|
-
def create_inference_session(cls, model, device):
|
|
103
|
-
if device == "CPU":
|
|
104
|
-
providers = ["CPUExecutionProvider"]
|
|
105
|
-
elif device == "CUDA":
|
|
106
|
-
providers = ["CUDAExecutionProvider"]
|
|
107
|
-
else:
|
|
108
|
-
raise ValueError(f"Unexepcted device {device!r}.")
|
|
109
|
-
try:
|
|
110
|
-
return InferenceSession(model.SerializeToString(), providers=providers)
|
|
111
|
-
except InvalidArgument as e:
|
|
112
|
-
if "Unsupported model IR version" in str(e):
|
|
113
|
-
model.ir_version -= 1
|
|
114
|
-
return cls.create_inference_session(model, device)
|
|
115
|
-
if "Current official support for domain ai.onnx is till opset" in str(e):
|
|
116
|
-
new_model = cls.convert_version_opset_before(model)
|
|
117
|
-
if new_model is not None:
|
|
118
|
-
return cls.create_inference_session(new_model, device)
|
|
119
|
-
raise e
|
|
120
|
-
|
|
121
90
|
@classmethod
|
|
122
91
|
def prepare(
|
|
123
|
-
cls, model:
|
|
92
|
+
cls, model: onnx.ModelProto, device: str = "CPU", **kwargs: Any
|
|
124
93
|
) -> InferenceSessionBackendRep:
|
|
125
|
-
#
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
return cls.prepare(inf, device, **kwargs)
|
|
132
|
-
raise TypeError(f"Unexpected type {type(model)} for model.")
|
|
94
|
+
del kwargs # Unused
|
|
95
|
+
if not isinstance(model, (str, bytes, onnx.ModelProto)):
|
|
96
|
+
raise TypeError(f"Unexpected type {type(model)} for model.")
|
|
97
|
+
|
|
98
|
+
session = _create_inference_session(model, device)
|
|
99
|
+
return InferenceSessionBackendRep(session)
|
|
133
100
|
|
|
134
101
|
@classmethod
|
|
135
|
-
def run_model(cls, model, inputs, device=None, **kwargs):
|
|
136
|
-
|
|
137
|
-
return rep.run(inputs, **kwargs)
|
|
102
|
+
def run_model(cls, model: onnx.ModelProto, inputs, device=None, **kwargs):
|
|
103
|
+
return super().run_model(model, inputs, device=device, **kwargs)
|
|
138
104
|
|
|
139
105
|
@classmethod
|
|
140
106
|
def run_node(cls, node, inputs, device=None, outputs_info=None, **kwargs):
|
|
141
107
|
raise NotImplementedError("Unable to run the model node by node.")
|
|
142
108
|
|
|
143
109
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
#
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
#
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
)
|
|
207
|
-
|
|
208
|
-
# The followiing tests fail due to a bug in onnxruntime in handling reduction
|
|
209
|
-
# ops that perform reduction over an empty set of values.
|
|
210
|
-
backend_test.exclude(
|
|
211
|
-
"("
|
|
212
|
-
"test_reduce_sum_empty_set"
|
|
213
|
-
"|test_reduce_prod_empty_set"
|
|
214
|
-
"|test_reduce_min_empty_set"
|
|
215
|
-
"|test_reduce_max_empty_set"
|
|
216
|
-
"|test_reduce_sum_square_empty_set"
|
|
217
|
-
"|test_reduce_log_sum_empty_set"
|
|
218
|
-
"|test_reduce_log_sum_exp_empty_set"
|
|
219
|
-
"|test_reduce_l1_empty_set"
|
|
220
|
-
"|test_reduce_l2_empty_set"
|
|
221
|
-
")"
|
|
222
|
-
)
|
|
223
|
-
|
|
224
|
-
# The following tests fail for no obvious reason.
|
|
225
|
-
backend_test.exclude(
|
|
226
|
-
"("
|
|
227
|
-
"maxunpool_export_with_output_shape" # not the same expected output
|
|
228
|
-
"|softplus_example_expanded" # Could not find an implementation for Exp(1) node with name ''
|
|
229
|
-
"|softplus_expanded" # Could not find an implementation for Exp(1) node with name ''
|
|
230
|
-
"|AvgPool[1-3]d" # Could not find an implementation for AveragePool(1) node with name ''
|
|
231
|
-
"|BatchNorm1d_3d_input_eval" # Could not find an implementation for BatchNormalization(6) node with name ''
|
|
232
|
-
"|BatchNorm[2-3]d_eval" # Could not find an implementation for BatchNormalization(6) node with name ''
|
|
233
|
-
"|GLU" # Could not find an implementation for Mul(6) node with name ''
|
|
234
|
-
"|Linear" # Could not find an implementation for Gemm(6) node with name ''
|
|
235
|
-
"|PReLU" # Could not find an implementation for PRelu(6) node with name ''
|
|
236
|
-
"|PoissonNLL" # Could not find an implementation for Mul(6) node with name ''
|
|
237
|
-
"|Softsign" # Could not find an implementation for Gemm(6) node with name ''
|
|
238
|
-
"|operator_add_broadcast" # Could not find an implementation for Gemm(6) node with name ''
|
|
239
|
-
"|operator_add_size1" # Could not find an implementation for Gemm(6) node with name ''
|
|
240
|
-
"|operator_addconstant" # Could not find an implementation for Gemm(6) node with name ''
|
|
241
|
-
"|operator_addmm" # Could not find an implementation for Gemm(6) node with name ''
|
|
242
|
-
"|operator_basic" # Could not find an implementation for Add(6) node with name ''
|
|
243
|
-
"|operator_mm" # Could not find an implementation for Gemm(6) node with name ''
|
|
244
|
-
"|operator_non_float_params" # Could not find an implementation for Add(6) node with name ''
|
|
245
|
-
"|operator_params" # Could not find an implementation for Add(6) node with name ''
|
|
246
|
-
"|operator_pow" # Could not find an implementation for Pow(1) node with name ''
|
|
247
|
-
")"
|
|
248
|
-
)
|
|
249
|
-
|
|
250
|
-
# The following tests are new with opset 19 and 20, or ai.onnx.ml 4
|
|
251
|
-
if ort_version is not None and Version(ort_version) < Version("1.16"):
|
|
252
|
-
# version should be 1.15 but there is no development version number.
|
|
110
|
+
if ort is not None:
|
|
111
|
+
backend_test = onnx.backend.test.BackendTest(InferenceSessionBackend, __name__)
|
|
112
|
+
|
|
113
|
+
if platform.architecture()[0] == "32bit":
|
|
114
|
+
backend_test.exclude("(test_vgg19|test_zfnet|test_bvlc_alexnet)")
|
|
115
|
+
if platform.system() == "Windows":
|
|
116
|
+
backend_test.exclude("test_sequence_model")
|
|
117
|
+
|
|
118
|
+
# The following tests cannot pass because they consists in generating random number.
|
|
119
|
+
backend_test.exclude("(test_bernoulli)")
|
|
120
|
+
|
|
121
|
+
# The following tests are not supported by onnxruntime.
|
|
122
|
+
backend_test.exclude(
|
|
123
|
+
"("
|
|
124
|
+
"test_adagrad"
|
|
125
|
+
"|test_adam"
|
|
126
|
+
"|test_add_uint8"
|
|
127
|
+
"|bitshift_left_uint16"
|
|
128
|
+
"|bitshift_right_uint16"
|
|
129
|
+
"|cast_BFLOAT16_to_FLOAT"
|
|
130
|
+
"|cast_FLOAT_to_BFLOAT16"
|
|
131
|
+
"|castlike_BFLOAT16_to_FLOAT"
|
|
132
|
+
"|castlike_FLOAT_to_BFLOAT16"
|
|
133
|
+
"|clip_default_int8_min_expanded"
|
|
134
|
+
"|clip_default_int8_max_expanded"
|
|
135
|
+
"|div_uint8"
|
|
136
|
+
"|gru_batchwise" # Batchwise recurrent operations (layout == 1) are not supported.
|
|
137
|
+
"|loop16_seq_none" # The graph is missing type information needed to construct the ORT tensor.
|
|
138
|
+
"|lstm_batchwise" # Batchwise recurrent operations (layout == 1) are not supported.
|
|
139
|
+
"|m(in|ax)_u?int(16|8)"
|
|
140
|
+
"|momentum"
|
|
141
|
+
"|mul_uint8"
|
|
142
|
+
"|pow_types_float32_uint32"
|
|
143
|
+
"|pow_types_float32_uint64"
|
|
144
|
+
"|simple_rnn_batchwise" # Batchwise recurrent operations (layout == 1) are not supported.
|
|
145
|
+
"|sub_uint8"
|
|
146
|
+
"|gradient_of_add"
|
|
147
|
+
"|test_batchnorm_epsilon_training_mode" # Training mode does not support BN opset 14 (or higher) yet.
|
|
148
|
+
"|test_batchnorm_example_training_mode" # Training mode does not support BN opset 14 (or higher) yet.
|
|
149
|
+
"|_to_FLOAT8E4M3FN" # No corresponding Numpy type for Tensor Type.
|
|
150
|
+
"|_to_FLOAT8E5M2" # No corresponding Numpy type for Tensor Type.
|
|
151
|
+
"|cast_FLOAT8E" # No corresponding Numpy type for Tensor Type.
|
|
152
|
+
"|castlike_FLOAT8E" # No corresponding Numpy type for Tensor Type.
|
|
153
|
+
"|test_dequantizelinear_axis" # y_scale must be a scalar or 1D tensor of size 1.
|
|
154
|
+
"|test_dequantizelinear" # No corresponding Numpy type for Tensor Type.
|
|
155
|
+
"|test_quantizelinear_axis" # y_scale must be a scalar or 1D tensor of size 1.
|
|
156
|
+
"|test_quantizelinear" # No corresponding Numpy type for Tensor Type.
|
|
157
|
+
"|test_affine_grid_" # new IR version 9 and opset version 20 not supported yet.
|
|
158
|
+
"|test_quantizelinear_uint4" # No corresponding Numpy type for Tensor Type.
|
|
159
|
+
"|test_quantizelinear_int4" # No corresponding Numpy type for Tensor Type.
|
|
160
|
+
"|test_dequantizelinear_uint4" # No corresponding Numpy type for Tensor Type.
|
|
161
|
+
"|test_dequantizelinear_int4" # No corresponding Numpy type for Tensor Type.
|
|
162
|
+
"|test_cast_UINT4_to_FLOAT" # No corresponding Numpy type for Tensor Type.
|
|
163
|
+
"|test_cast_INT4_to_FLOAT" # No corresponding Numpy type for Tensor Type.
|
|
164
|
+
"|test_cast_UINT4_to_FLOAT16" # No corresponding Numpy type for Tensor Type.
|
|
165
|
+
"|test_cast_INT4_to_FLOAT16" # No corresponding Numpy type for Tensor Type.
|
|
166
|
+
"|test_maxpool_2d_ceil_output_size_reduce_by_one" # TODO: remove after https://github.com/microsoft/onnxruntime/pull/18377 in Ort release.
|
|
167
|
+
")"
|
|
168
|
+
)
|
|
169
|
+
|
|
170
|
+
# Exclude all tests that require IR10 until onnxruntime aligns
|
|
171
|
+
# TODO: Unwaive tests once onnxruntime supports Opset21/IR10 https://github.com/onnx/onnx/issues/5840
|
|
253
172
|
backend_test.exclude(
|
|
254
173
|
"("
|
|
255
|
-
"
|
|
256
|
-
"|
|
|
257
|
-
"|
|
|
258
|
-
"|
|
|
259
|
-
"|
|
|
260
|
-
"|
|
|
261
|
-
"|
|
|
262
|
-
"|
|
|
263
|
-
"|
|
|
264
|
-
"|
|
|
265
|
-
"|
|
|
266
|
-
"|
|
|
174
|
+
"test_cast_"
|
|
175
|
+
"|test_castlike_"
|
|
176
|
+
"|test_constant"
|
|
177
|
+
"|test_edge_pad_cpu"
|
|
178
|
+
"|test_flatten_"
|
|
179
|
+
"|test_identity"
|
|
180
|
+
"|test_reflect_pad"
|
|
181
|
+
"|test_reshape_"
|
|
182
|
+
"|test_shape_"
|
|
183
|
+
"|test_size_"
|
|
184
|
+
"|test_squeeze_"
|
|
185
|
+
"|test_transpose_"
|
|
186
|
+
"|test_unsqueeze_"
|
|
187
|
+
"|test_wrap_pad_"
|
|
267
188
|
")"
|
|
268
189
|
)
|
|
269
190
|
|
|
270
|
-
|
|
271
|
-
|
|
191
|
+
# The following tests fail due to small discrepancies.
|
|
192
|
+
backend_test.exclude("(cast_FLOAT_to_STRING|castlike_FLOAT_to_STRING|stft)")
|
|
193
|
+
|
|
194
|
+
# The following tests fail due to huge discrepancies.
|
|
272
195
|
backend_test.exclude(
|
|
273
196
|
"("
|
|
274
|
-
"
|
|
275
|
-
"|
|
|
276
|
-
"|
|
|
277
|
-
"|gridsample"
|
|
278
|
-
"|identity_opt"
|
|
279
|
-
"|image_decoder"
|
|
280
|
-
"|isinf_float16"
|
|
281
|
-
"|label_encoder"
|
|
282
|
-
"|optional_get_element_optional_sequence"
|
|
283
|
-
"|reduce_max_bool_inputs"
|
|
284
|
-
"|reduce_min_bool_inputs"
|
|
285
|
-
"|regex_full_match"
|
|
286
|
-
"|string_concat"
|
|
287
|
-
"|string_split"
|
|
197
|
+
"resize_downsample_scales_cubic_align_corners"
|
|
198
|
+
"|resize_downsample_scales_linear_align_corners"
|
|
199
|
+
"|training_dropout"
|
|
288
200
|
")"
|
|
289
201
|
)
|
|
290
202
|
|
|
291
|
-
|
|
292
|
-
#
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
203
|
+
# The followiing tests fail due to a bug in onnxruntime in handling reduction
|
|
204
|
+
# ops that perform reduction over an empty set of values.
|
|
205
|
+
backend_test.exclude(
|
|
206
|
+
"("
|
|
207
|
+
"test_reduce_sum_empty_set"
|
|
208
|
+
"|test_reduce_prod_empty_set"
|
|
209
|
+
"|test_reduce_min_empty_set"
|
|
210
|
+
"|test_reduce_max_empty_set"
|
|
211
|
+
"|test_reduce_sum_square_empty_set"
|
|
212
|
+
"|test_reduce_log_sum_empty_set"
|
|
213
|
+
"|test_reduce_log_sum_exp_empty_set"
|
|
214
|
+
"|test_reduce_l1_empty_set"
|
|
215
|
+
"|test_reduce_l2_empty_set"
|
|
216
|
+
")"
|
|
217
|
+
)
|
|
296
218
|
|
|
297
|
-
#
|
|
298
|
-
|
|
219
|
+
# The following tests fail for no obvious reason.
|
|
220
|
+
backend_test.exclude(
|
|
221
|
+
"("
|
|
222
|
+
"maxunpool_export_with_output_shape" # not the same expected output
|
|
223
|
+
"|softplus_example_expanded" # Could not find an implementation for Exp(1) node with name ''
|
|
224
|
+
"|softplus_expanded" # Could not find an implementation for Exp(1) node with name ''
|
|
225
|
+
"|AvgPool[1-3]d" # Could not find an implementation for AveragePool(1) node with name ''
|
|
226
|
+
"|BatchNorm1d_3d_input_eval" # Could not find an implementation for BatchNormalization(6) node with name ''
|
|
227
|
+
"|BatchNorm[2-3]d_eval" # Could not find an implementation for BatchNormalization(6) node with name ''
|
|
228
|
+
"|GLU" # Could not find an implementation for Mul(6) node with name ''
|
|
229
|
+
"|Linear" # Could not find an implementation for Gemm(6) node with name ''
|
|
230
|
+
"|PReLU" # Could not find an implementation for PRelu(6) node with name ''
|
|
231
|
+
"|PoissonNLL" # Could not find an implementation for Mul(6) node with name ''
|
|
232
|
+
"|Softsign" # Could not find an implementation for Gemm(6) node with name ''
|
|
233
|
+
"|operator_add_broadcast" # Could not find an implementation for Gemm(6) node with name ''
|
|
234
|
+
"|operator_add_size1" # Could not find an implementation for Gemm(6) node with name ''
|
|
235
|
+
"|operator_addconstant" # Could not find an implementation for Gemm(6) node with name ''
|
|
236
|
+
"|operator_addmm" # Could not find an implementation for Gemm(6) node with name ''
|
|
237
|
+
"|operator_basic" # Could not find an implementation for Add(6) node with name ''
|
|
238
|
+
"|operator_mm" # Could not find an implementation for Gemm(6) node with name ''
|
|
239
|
+
"|operator_non_float_params" # Could not find an implementation for Add(6) node with name ''
|
|
240
|
+
"|operator_params" # Could not find an implementation for Add(6) node with name ''
|
|
241
|
+
"|operator_pow" # Could not find an implementation for Pow(1) node with name ''
|
|
242
|
+
")"
|
|
243
|
+
)
|
|
244
|
+
|
|
245
|
+
# The following tests are new with opset 19 and 20, or ai.onnx.ml 4
|
|
246
|
+
if ort_version is not None and ort_version < Version("1.16"):
|
|
247
|
+
backend_test.exclude(
|
|
248
|
+
"("
|
|
249
|
+
"averagepool"
|
|
250
|
+
"|_pad_"
|
|
251
|
+
"|_resize_"
|
|
252
|
+
"|_size_"
|
|
253
|
+
"|cast"
|
|
254
|
+
"|castlike"
|
|
255
|
+
"|equal_string_broadcast"
|
|
256
|
+
"|equal_string"
|
|
257
|
+
"|equal"
|
|
258
|
+
"|half_pixel_symmetric"
|
|
259
|
+
"|identity"
|
|
260
|
+
"|reshape"
|
|
261
|
+
")"
|
|
262
|
+
)
|
|
263
|
+
if ort_version is not None and ort_version < Version("1.17"):
|
|
264
|
+
backend_test.exclude(
|
|
265
|
+
"("
|
|
266
|
+
"deform_conv"
|
|
267
|
+
"|dequantizelinear_uint16"
|
|
268
|
+
"|dequantizelinear_int16"
|
|
269
|
+
"|quantizelinear_uint16"
|
|
270
|
+
"|quantizelinear_int16"
|
|
271
|
+
"|dft"
|
|
272
|
+
"|gelu"
|
|
273
|
+
"|gridsample"
|
|
274
|
+
"|group_normalization"
|
|
275
|
+
"|identity_opt"
|
|
276
|
+
"|image_decoder"
|
|
277
|
+
"|isinf_float16"
|
|
278
|
+
"|label_encoder"
|
|
279
|
+
"|optional_get_element_optional_sequence"
|
|
280
|
+
"|qlinearmatmul_2D_int8"
|
|
281
|
+
"|qlinearmatmul_2D_uint8_float16"
|
|
282
|
+
"|qlinearmatmul_3D_int8"
|
|
283
|
+
"|qlinearmatmul_3D_uint8_float16"
|
|
284
|
+
"|reduce_max_bool_inputs"
|
|
285
|
+
"|reduce_min_bool_inputs"
|
|
286
|
+
"|regex_full_match"
|
|
287
|
+
"|string_concat"
|
|
288
|
+
"|string_split"
|
|
289
|
+
"|constantofshape_float_ones"
|
|
290
|
+
"|constantofshape_int_shape_zero"
|
|
291
|
+
"|constantofshape_int_zeros"
|
|
292
|
+
"|isinf"
|
|
293
|
+
"|isinf_negative"
|
|
294
|
+
"|isinf_positive"
|
|
295
|
+
"|isnan"
|
|
296
|
+
"|isnan_float16"
|
|
297
|
+
"|qlinearmatmul_2D_uint8_float32"
|
|
298
|
+
"|qlinearmatmul_3D_uint8_float32"
|
|
299
|
+
")"
|
|
300
|
+
)
|
|
301
|
+
if ort_version is not None and ort_version < Version("1.18"):
|
|
302
|
+
# when adding new tests to the list, please add a comment with the reason for exclusion
|
|
303
|
+
# for tests that "not supported by onnxruntime 1.17", it will be solved in the next
|
|
304
|
+
# onnxruntime release with ONNX 1.16.0 integrated. The work is covered in ONNX integration procedure.
|
|
305
|
+
backend_test.exclude(
|
|
306
|
+
"("
|
|
307
|
+
"deform_conv" # deform_conv is not supported in onnxruntime
|
|
308
|
+
"|dft" # Max absolute difference > atol=1e-07. shall be able to set atol (https://github.com/onnx/onnx/issues/5897)
|
|
309
|
+
"|group_normalization" # new/updated test cases with opset and/or IR version not supported by onnxruntime 1.17
|
|
310
|
+
"|identity_opt" # fixed in ort 1.18 (https://github.com/microsoft/onnxruntime/pull/19273)
|
|
311
|
+
"|image_decoder" # image_decoder is not supported in onnxruntime
|
|
312
|
+
"|optional_get_element_optional_sequence" # fixed in ort 1.18 (https://github.com/microsoft/onnxruntime/pull/19273)
|
|
313
|
+
"|qlinearmatmul_2D_int8" # new/updated test cases with opset and/or IR version not supported by onnxruntime 1.17
|
|
314
|
+
"|qlinearmatmul_2D_uint8_float16" # new/updated test cases with opset and/or IR version not supported by onnxruntime 1.17
|
|
315
|
+
"|qlinearmatmul_3D_int8" # new/updated test cases with opset and/or IR version not supported by onnxruntime 1.17
|
|
316
|
+
"|qlinearmatmul_3D_uint8_float16" # new/updated test cases with opset and/or IR version not supported by onnxruntime 1.17
|
|
317
|
+
"|qlinearmatmul_2D_uint8_float32" # new/updated test cases with opset and/or IR version not supported by onnxruntime 1.17
|
|
318
|
+
"|qlinearmatmul_3D_uint8_float32" # new/updated test cases with opset and/or IR version not supported by onnxruntime 1.17
|
|
319
|
+
"|tree_ensemble" # tree_ensemble not yet implemented in ort
|
|
320
|
+
")"
|
|
321
|
+
)
|
|
322
|
+
|
|
323
|
+
# Import all test cases at global scope to make them visible to python.unittest
|
|
299
324
|
globals().update(backend_test.test_cases)
|
|
300
325
|
|
|
301
326
|
|
|
302
327
|
if __name__ == "__main__":
|
|
303
|
-
|
|
304
|
-
tests_run = res.result.testsRun
|
|
305
|
-
errors = len(res.result.errors)
|
|
306
|
-
skipped = len(res.result.skipped)
|
|
307
|
-
unexpected_successes = len(res.result.unexpectedSuccesses)
|
|
308
|
-
expected_failures = len(res.result.expectedFailures)
|
|
309
|
-
print("---------------------------------")
|
|
310
|
-
print(
|
|
311
|
-
f"tests_run={tests_run} errors={errors} skipped={skipped} "
|
|
312
|
-
f"unexpected_successes={unexpected_successes} "
|
|
313
|
-
f"expected_failures={expected_failures}"
|
|
314
|
-
)
|
|
328
|
+
unittest.main()
|
|
@@ -120,12 +120,18 @@ backend_test.exclude(
|
|
|
120
120
|
"|test_cast_FLOAT16_to_FLOAT8"
|
|
121
121
|
"|test_castlike_FLOAT_to_FLOAT8"
|
|
122
122
|
"|test_castlike_FLOAT16_to_FLOAT8"
|
|
123
|
+
"|test_cast_FLOAT_to_UINT4"
|
|
124
|
+
"|test_cast_FLOAT16_to_UINT4"
|
|
125
|
+
"|test_cast_FLOAT_to_INT4"
|
|
126
|
+
"|test_cast_FLOAT16_to_INT4"
|
|
123
127
|
"|test_cast_no_saturate_FLOAT_to_FLOAT8"
|
|
124
128
|
"|test_cast_no_saturate_FLOAT16_to_FLOAT8"
|
|
125
129
|
"|test_cast_BFLOAT16_to_FLOAT"
|
|
126
130
|
"|test_castlike_BFLOAT16_to_FLOAT"
|
|
127
131
|
"|test_quantizelinear_e4m3"
|
|
128
132
|
"|test_quantizelinear_e5m2"
|
|
133
|
+
"|test_quantizelinear_uint4"
|
|
134
|
+
"|test_quantizelinear_int4"
|
|
129
135
|
")"
|
|
130
136
|
)
|
|
131
137
|
|
|
@@ -181,6 +187,11 @@ if sys.platform == "win32":
|
|
|
181
187
|
backend_test.exclude("test_regex_full_match_empty_cpu")
|
|
182
188
|
backend_test.exclude("test_image_decoder_decode_")
|
|
183
189
|
|
|
190
|
+
if sys.platform == "darwin":
|
|
191
|
+
# FIXME: https://github.com/onnx/onnx/issues/5792
|
|
192
|
+
backend_test.exclude("test_qlinearmatmul_3D_int8_float16_cpu")
|
|
193
|
+
backend_test.exclude("test_qlinearmatmul_3D_int8_float32_cpu")
|
|
194
|
+
|
|
184
195
|
# op_dft and op_stft requires numpy >= 1.21.5
|
|
185
196
|
if version_utils.numpy_older_than("1.21.5"):
|
|
186
197
|
backend_test.exclude("test_stft")
|
onnx/test/test_external_data.py
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
# SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
from __future__ import annotations
|
|
5
5
|
|
|
6
|
+
import itertools
|
|
6
7
|
import os
|
|
7
8
|
import pathlib
|
|
8
9
|
import tempfile
|
|
@@ -204,6 +205,52 @@ class TestLoadExternalDataSingleFile(TestLoadExternalDataBase):
|
|
|
204
205
|
attribute_tensor = new_model.graph.node[0].attribute[0].t
|
|
205
206
|
np.testing.assert_allclose(to_array(attribute_tensor), self.attribute_value)
|
|
206
207
|
|
|
208
|
+
@parameterized.parameterized.expand(itertools.product((True, False), (True, False)))
|
|
209
|
+
def test_save_external_invalid_single_file_data_and_check(
|
|
210
|
+
self, use_absolute_path: bool, use_model_path: bool
|
|
211
|
+
) -> None:
|
|
212
|
+
model = onnx.load_model(self.model_filename, self.serialization_format)
|
|
213
|
+
|
|
214
|
+
model_dir = os.path.join(self.temp_dir, "save_copy")
|
|
215
|
+
os.mkdir(model_dir)
|
|
216
|
+
|
|
217
|
+
traversal_external_data_dir = os.path.join(
|
|
218
|
+
self.temp_dir, "invlid_external_data"
|
|
219
|
+
)
|
|
220
|
+
os.mkdir(traversal_external_data_dir)
|
|
221
|
+
|
|
222
|
+
if use_absolute_path:
|
|
223
|
+
traversal_external_data_location = os.path.join(
|
|
224
|
+
traversal_external_data_dir, "tensors.bin"
|
|
225
|
+
)
|
|
226
|
+
else:
|
|
227
|
+
traversal_external_data_location = "../invlid_external_data/tensors.bin"
|
|
228
|
+
|
|
229
|
+
external_data_dir = os.path.join(self.temp_dir, "external_data")
|
|
230
|
+
os.mkdir(external_data_dir)
|
|
231
|
+
new_model_filepath = os.path.join(model_dir, "model.onnx")
|
|
232
|
+
|
|
233
|
+
def convert_model_to_external_data_no_check(model: ModelProto, location: str):
|
|
234
|
+
for tensor in model.graph.initializer:
|
|
235
|
+
if tensor.HasField("raw_data"):
|
|
236
|
+
set_external_data(tensor, location)
|
|
237
|
+
|
|
238
|
+
convert_model_to_external_data_no_check(
|
|
239
|
+
model,
|
|
240
|
+
location=traversal_external_data_location,
|
|
241
|
+
)
|
|
242
|
+
|
|
243
|
+
onnx.save_model(model, new_model_filepath, self.serialization_format)
|
|
244
|
+
if use_model_path:
|
|
245
|
+
with self.assertRaises(onnx.checker.ValidationError):
|
|
246
|
+
_ = onnx.load_model(new_model_filepath, self.serialization_format)
|
|
247
|
+
else:
|
|
248
|
+
onnx_model = onnx.load_model(
|
|
249
|
+
new_model_filepath, self.serialization_format, load_external_data=False
|
|
250
|
+
)
|
|
251
|
+
with self.assertRaises(onnx.checker.ValidationError):
|
|
252
|
+
load_external_data_for_model(onnx_model, external_data_dir)
|
|
253
|
+
|
|
207
254
|
|
|
208
255
|
@parameterized.parameterized_class(
|
|
209
256
|
[
|
|
@@ -674,7 +721,8 @@ class TestExternalDataToArray(unittest.TestCase):
|
|
|
674
721
|
|
|
675
722
|
class TestNotAllowToLoadExternalDataOutsideModelDirectory(TestLoadExternalDataBase):
|
|
676
723
|
"""Essential test to check that onnx (validate) C++ code will not allow to load external_data outside the model
|
|
677
|
-
directory.
|
|
724
|
+
directory.
|
|
725
|
+
"""
|
|
678
726
|
|
|
679
727
|
def create_external_data_tensor(
|
|
680
728
|
self, value: list[Any], tensor_name: str, location: str = ""
|
|
@@ -713,7 +761,8 @@ class TestNotAllowToLoadExternalDataOutsideModelDirectoryOnWindows(
|
|
|
713
761
|
TestNotAllowToLoadExternalDataOutsideModelDirectory
|
|
714
762
|
):
|
|
715
763
|
"""Essential test to check that onnx (validate) C++ code will not allow to load external_data outside the model
|
|
716
|
-
directory.
|
|
764
|
+
directory.
|
|
765
|
+
"""
|
|
717
766
|
|
|
718
767
|
def test_check_model(self) -> None:
|
|
719
768
|
"""We only test the model validation as onnxruntime uses this to load the model."""
|
|
@@ -53,7 +53,8 @@ class TestAutomaticConversion(unittest.TestCase):
|
|
|
53
53
|
optional_outputs: Sequence[int] = (),
|
|
54
54
|
is_upgrade: bool = True,
|
|
55
55
|
) -> None:
|
|
56
|
-
"""
|
|
56
|
+
"""Test conversion.
|
|
57
|
+
|
|
57
58
|
Args:
|
|
58
59
|
op: A string representing the name of the operator to test.
|
|
59
60
|
from_opset: An integer representing the lowest opset version to convert.
|