onnx 1.15.0__cp311-cp311-win32.whl → 1.16.1__cp311-cp311-win32.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-win32.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,16 +4,19 @@
|
|
|
4
4
|
# type: ignore
|
|
5
5
|
|
|
6
6
|
|
|
7
|
+
import itertools
|
|
7
8
|
import unittest
|
|
8
9
|
from functools import wraps
|
|
9
10
|
from os import getenv
|
|
10
11
|
|
|
11
12
|
import numpy as np # type: ignore
|
|
12
13
|
from numpy.testing import assert_allclose # type: ignore
|
|
14
|
+
from parameterized import parameterized
|
|
13
15
|
|
|
16
|
+
import onnx
|
|
14
17
|
from onnx import ONNX_ML, TensorProto, TypeProto, ValueInfoProto
|
|
15
18
|
from onnx.checker import check_model
|
|
16
|
-
from onnx.defs import onnx_opset_version
|
|
19
|
+
from onnx.defs import onnx_ml_opset_version, onnx_opset_version
|
|
17
20
|
from onnx.helper import (
|
|
18
21
|
make_graph,
|
|
19
22
|
make_model_gen_version,
|
|
@@ -23,6 +26,11 @@ from onnx.helper import (
|
|
|
23
26
|
make_tensor_value_info,
|
|
24
27
|
)
|
|
25
28
|
from onnx.reference import ReferenceEvaluator
|
|
29
|
+
from onnx.reference.ops.aionnxml.op_tree_ensemble import (
|
|
30
|
+
AggregationFunction,
|
|
31
|
+
Mode,
|
|
32
|
+
PostTransform,
|
|
33
|
+
)
|
|
26
34
|
|
|
27
35
|
# TODO (https://github.com/microsoft/onnxruntime/issues/14932): Get max supported version from onnxruntime directly
|
|
28
36
|
# For now, bump the version in CIs whenever there is a new onnxruntime release
|
|
@@ -35,7 +43,7 @@ ORT_MAX_ML_OPSET_SUPPORTED_VERSION = int(
|
|
|
35
43
|
)
|
|
36
44
|
|
|
37
45
|
TARGET_OPSET = onnx_opset_version() - 2
|
|
38
|
-
TARGET_OPSET_ML =
|
|
46
|
+
TARGET_OPSET_ML = onnx_ml_opset_version()
|
|
39
47
|
OPSETS = [make_opsetid("", TARGET_OPSET), make_opsetid("ai.onnx.ml", TARGET_OPSET_ML)]
|
|
40
48
|
|
|
41
49
|
|
|
@@ -755,10 +763,81 @@ class TestReferenceEvaluatorAiOnnxMl(unittest.TestCase):
|
|
|
755
763
|
assert_allclose(expected[1], got[1], atol=1e-6)
|
|
756
764
|
assert_allclose(expected[0], got[0])
|
|
757
765
|
|
|
766
|
+
@staticmethod
|
|
767
|
+
def _get_test_tree_ensemble_opset_latest(
|
|
768
|
+
aggregate_function,
|
|
769
|
+
rule=Mode.LEQ,
|
|
770
|
+
unique_targets=False,
|
|
771
|
+
input_type=TensorProto.FLOAT,
|
|
772
|
+
):
|
|
773
|
+
X = make_tensor_value_info("X", input_type, [None, None])
|
|
774
|
+
Y = make_tensor_value_info("Y", input_type, [None, None])
|
|
775
|
+
if unique_targets:
|
|
776
|
+
weights = [
|
|
777
|
+
1.0,
|
|
778
|
+
10.0,
|
|
779
|
+
100.0,
|
|
780
|
+
1000.0,
|
|
781
|
+
10000.0,
|
|
782
|
+
100000.0,
|
|
783
|
+
]
|
|
784
|
+
else:
|
|
785
|
+
weights = [
|
|
786
|
+
0.07692307978868484,
|
|
787
|
+
0.5,
|
|
788
|
+
0.5,
|
|
789
|
+
0.0,
|
|
790
|
+
0.2857142984867096,
|
|
791
|
+
0.5,
|
|
792
|
+
]
|
|
793
|
+
node = make_node(
|
|
794
|
+
"TreeEnsemble",
|
|
795
|
+
["X"],
|
|
796
|
+
["Y"],
|
|
797
|
+
domain="ai.onnx.ml",
|
|
798
|
+
n_targets=1,
|
|
799
|
+
aggregate_function=aggregate_function,
|
|
800
|
+
membership_values=None,
|
|
801
|
+
nodes_missing_value_tracks_true=None,
|
|
802
|
+
nodes_hitrates=None,
|
|
803
|
+
post_transform=0,
|
|
804
|
+
tree_roots=[0, 2],
|
|
805
|
+
nodes_splits=make_tensor(
|
|
806
|
+
"node_splits",
|
|
807
|
+
input_type,
|
|
808
|
+
(4,),
|
|
809
|
+
[
|
|
810
|
+
0.26645058393478394,
|
|
811
|
+
0.6214364767074585,
|
|
812
|
+
-0.5592705607414246,
|
|
813
|
+
-0.7208403944969177,
|
|
814
|
+
],
|
|
815
|
+
),
|
|
816
|
+
nodes_featureids=[0, 2, 0, 0],
|
|
817
|
+
nodes_modes=make_tensor(
|
|
818
|
+
"nodes_modes",
|
|
819
|
+
TensorProto.UINT8,
|
|
820
|
+
(4,),
|
|
821
|
+
[rule] * 4,
|
|
822
|
+
),
|
|
823
|
+
nodes_truenodeids=[1, 0, 3, 4],
|
|
824
|
+
nodes_trueleafs=[0, 1, 1, 1],
|
|
825
|
+
nodes_falsenodeids=[2, 1, 3, 5],
|
|
826
|
+
nodes_falseleafs=[1, 1, 0, 1],
|
|
827
|
+
leaf_targetids=[0, 0, 0, 0, 0, 0],
|
|
828
|
+
leaf_weights=make_tensor(
|
|
829
|
+
"leaf_weights", input_type, (len(weights),), weights
|
|
830
|
+
),
|
|
831
|
+
)
|
|
832
|
+
graph = make_graph([node], "ml", [X], [Y])
|
|
833
|
+
model = make_model_gen_version(graph, opset_imports=OPSETS)
|
|
834
|
+
return model
|
|
835
|
+
|
|
758
836
|
@staticmethod
|
|
759
837
|
def _get_test_tree_ensemble_regressor(
|
|
760
|
-
aggregate_function, rule="BRANCH_LEQ", unique_targets=False
|
|
838
|
+
aggregate_function, rule="BRANCH_LEQ", unique_targets=False, base_values=None
|
|
761
839
|
):
|
|
840
|
+
opsets = [make_opsetid("", TARGET_OPSET), make_opsetid("ai.onnx.ml", 3)]
|
|
762
841
|
X = make_tensor_value_info("X", TensorProto.FLOAT, [None, None])
|
|
763
842
|
Y = make_tensor_value_info("Y", TensorProto.FLOAT, [None, None])
|
|
764
843
|
if unique_targets:
|
|
@@ -786,6 +865,7 @@ class TestReferenceEvaluatorAiOnnxMl(unittest.TestCase):
|
|
|
786
865
|
domain="ai.onnx.ml",
|
|
787
866
|
n_targets=1,
|
|
788
867
|
aggregate_function=aggregate_function,
|
|
868
|
+
base_values=base_values,
|
|
789
869
|
nodes_falsenodeids=[4, 3, 0, 0, 0, 2, 0, 4, 0, 0],
|
|
790
870
|
nodes_featureids=[0, 2, 0, 0, 0, 0, 0, 2, 0, 0],
|
|
791
871
|
nodes_hitrates=[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],
|
|
@@ -824,57 +904,127 @@ class TestReferenceEvaluatorAiOnnxMl(unittest.TestCase):
|
|
|
824
904
|
target_weights=targets,
|
|
825
905
|
)
|
|
826
906
|
graph = make_graph([node1], "ml", [X], [Y])
|
|
827
|
-
onx = make_model_gen_version(graph, opset_imports=
|
|
907
|
+
onx = make_model_gen_version(graph, opset_imports=opsets)
|
|
828
908
|
check_model(onx)
|
|
829
909
|
return onx
|
|
830
910
|
|
|
911
|
+
@parameterized.expand(
|
|
912
|
+
tuple(
|
|
913
|
+
itertools.chain.from_iterable(
|
|
914
|
+
(
|
|
915
|
+
(
|
|
916
|
+
AggregationFunction.SUM if opset5 else "SUM",
|
|
917
|
+
np.array(
|
|
918
|
+
[[0.576923], [0.576923], [0.576923]], dtype=np.float32
|
|
919
|
+
),
|
|
920
|
+
opset5,
|
|
921
|
+
),
|
|
922
|
+
(
|
|
923
|
+
AggregationFunction.AVERAGE if opset5 else "AVERAGE",
|
|
924
|
+
np.array(
|
|
925
|
+
[[0.288462], [0.288462], [0.288462]], dtype=np.float32
|
|
926
|
+
),
|
|
927
|
+
opset5,
|
|
928
|
+
),
|
|
929
|
+
(
|
|
930
|
+
AggregationFunction.MIN if opset5 else "MIN",
|
|
931
|
+
np.array(
|
|
932
|
+
[[0.076923], [0.076923], [0.076923]], dtype=np.float32
|
|
933
|
+
),
|
|
934
|
+
opset5,
|
|
935
|
+
),
|
|
936
|
+
(
|
|
937
|
+
AggregationFunction.MAX if opset5 else "MAX",
|
|
938
|
+
np.array([[0.5], [0.5], [0.5]], dtype=np.float32),
|
|
939
|
+
opset5,
|
|
940
|
+
),
|
|
941
|
+
)
|
|
942
|
+
for opset5 in [True, False]
|
|
943
|
+
)
|
|
944
|
+
)
|
|
945
|
+
)
|
|
831
946
|
@unittest.skipIf(not ONNX_ML, reason="onnx not compiled with ai.onnx.ml")
|
|
832
|
-
def
|
|
947
|
+
def test_tree_ensemble_regressor_aggregation_functions(
|
|
948
|
+
self, aggregate_function, expected_result, opset5
|
|
949
|
+
):
|
|
833
950
|
x = np.arange(9).reshape((-1, 3)).astype(np.float32) / 10 - 0.5
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
951
|
+
model_factory = (
|
|
952
|
+
self._get_test_tree_ensemble_opset_latest
|
|
953
|
+
if opset5
|
|
954
|
+
else self._get_test_tree_ensemble_regressor
|
|
955
|
+
)
|
|
956
|
+
model_proto = model_factory(
|
|
957
|
+
aggregate_function,
|
|
958
|
+
)
|
|
959
|
+
sess = ReferenceEvaluator(model_proto)
|
|
960
|
+
(actual,) = sess.run(None, {"X": x})
|
|
961
|
+
assert_allclose(expected_result, actual, atol=1e-6)
|
|
962
|
+
|
|
963
|
+
@parameterized.expand(
|
|
964
|
+
tuple(
|
|
965
|
+
itertools.chain.from_iterable(
|
|
966
|
+
(
|
|
967
|
+
(
|
|
968
|
+
Mode.LEQ if opset5 else "BRANCH_LEQ",
|
|
969
|
+
np.array(
|
|
970
|
+
[[0.576923], [0.576923], [0.576923]], dtype=np.float32
|
|
971
|
+
),
|
|
972
|
+
opset5,
|
|
973
|
+
),
|
|
974
|
+
(
|
|
975
|
+
Mode.GT if opset5 else "BRANCH_GT",
|
|
976
|
+
np.array([[0.5], [0.5], [0.5]], dtype=np.float32),
|
|
977
|
+
opset5,
|
|
978
|
+
),
|
|
979
|
+
(
|
|
980
|
+
Mode.LT if opset5 else "BRANCH_LT",
|
|
981
|
+
np.array(
|
|
982
|
+
[[0.576923], [0.576923], [0.576923]], dtype=np.float32
|
|
983
|
+
),
|
|
984
|
+
opset5,
|
|
985
|
+
),
|
|
986
|
+
(
|
|
987
|
+
Mode.GTE if opset5 else "BRANCH_GTE",
|
|
988
|
+
np.array([[0.5], [0.5], [0.5]], dtype=np.float32),
|
|
989
|
+
opset5,
|
|
990
|
+
),
|
|
991
|
+
(
|
|
992
|
+
Mode.EQ if opset5 else "BRANCH_EQ",
|
|
993
|
+
np.array([[1.0], [1.0], [1.0]], dtype=np.float32),
|
|
994
|
+
opset5,
|
|
995
|
+
),
|
|
996
|
+
(
|
|
997
|
+
Mode.NEQ if opset5 else "BRANCH_NEQ",
|
|
998
|
+
np.array(
|
|
999
|
+
[[0.076923], [0.076923], [0.076923]], dtype=np.float32
|
|
1000
|
+
),
|
|
1001
|
+
opset5,
|
|
1002
|
+
),
|
|
1003
|
+
)
|
|
1004
|
+
for opset5 in [True, False]
|
|
1005
|
+
)
|
|
1006
|
+
)
|
|
1007
|
+
)
|
|
849
1008
|
@unittest.skipIf(not ONNX_ML, reason="onnx not compiled with ai.onnx.ml")
|
|
850
|
-
def test_tree_ensemble_regressor_rule(self):
|
|
1009
|
+
def test_tree_ensemble_regressor_rule(self, rule, expected, opset5):
|
|
851
1010
|
x = np.arange(9).reshape((-1, 3)).astype(np.float32) / 10 - 0.5
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
[[0.076923], [0.076923], [0.076923]], dtype=np.float32
|
|
864
|
-
),
|
|
865
|
-
}
|
|
866
|
-
for rule, expected in expected_agg.items():
|
|
867
|
-
with self.subTest(rule=rule):
|
|
868
|
-
onx = self._get_test_tree_ensemble_regressor("SUM", rule)
|
|
869
|
-
self._check_ort(onx, {"X": x}, equal=True)
|
|
870
|
-
sess = ReferenceEvaluator(onx)
|
|
871
|
-
got = sess.run(None, {"X": x})
|
|
872
|
-
assert_allclose(expected, got[0], atol=1e-6)
|
|
1011
|
+
model_factory = (
|
|
1012
|
+
self._get_test_tree_ensemble_opset_latest
|
|
1013
|
+
if opset5
|
|
1014
|
+
else self._get_test_tree_ensemble_regressor
|
|
1015
|
+
)
|
|
1016
|
+
aggregate_function = AggregationFunction.SUM if opset5 else "SUM"
|
|
1017
|
+
|
|
1018
|
+
model_proto = model_factory(aggregate_function, rule)
|
|
1019
|
+
sess = ReferenceEvaluator(model_proto)
|
|
1020
|
+
(actual,) = sess.run(None, {"X": x})
|
|
1021
|
+
assert_allclose(expected, actual, atol=1e-6)
|
|
873
1022
|
|
|
874
1023
|
@unittest.skipIf(not ONNX_ML, reason="onnx not compiled with ai.onnx.ml")
|
|
875
|
-
def
|
|
1024
|
+
def test_tree_ensemble_regressor_2_targets_opset3(self):
|
|
876
1025
|
X = make_tensor_value_info("X", TensorProto.FLOAT, [None, None])
|
|
877
1026
|
Y = make_tensor_value_info("Y", TensorProto.FLOAT, [None, None])
|
|
1027
|
+
opsets = [make_opsetid("", TARGET_OPSET), make_opsetid("ai.onnx.ml", 3)]
|
|
878
1028
|
node1 = make_node(
|
|
879
1029
|
"TreeEnsembleRegressor",
|
|
880
1030
|
["X"],
|
|
@@ -959,7 +1109,7 @@ class TestReferenceEvaluatorAiOnnxMl(unittest.TestCase):
|
|
|
959
1109
|
],
|
|
960
1110
|
)
|
|
961
1111
|
graph = make_graph([node1], "ml", [X], [Y])
|
|
962
|
-
onx = make_model_gen_version(graph, opset_imports=
|
|
1112
|
+
onx = make_model_gen_version(graph, opset_imports=opsets)
|
|
963
1113
|
check_model(onx)
|
|
964
1114
|
x = np.arange(9).reshape((-1, 3)).astype(np.float32) / 10 - 0.5
|
|
965
1115
|
expected = np.array(
|
|
@@ -971,7 +1121,7 @@ class TestReferenceEvaluatorAiOnnxMl(unittest.TestCase):
|
|
|
971
1121
|
assert_allclose(expected, got[0], atol=1e-6)
|
|
972
1122
|
|
|
973
1123
|
@unittest.skipIf(not ONNX_ML, reason="onnx not compiled with ai.onnx.ml")
|
|
974
|
-
def
|
|
1124
|
+
def test_tree_ensemble_regressor_missing_opset3(self):
|
|
975
1125
|
x = np.arange(9).reshape((-1, 3)).astype(np.float32) / 10 - 0.5
|
|
976
1126
|
x[2, 0] = 5
|
|
977
1127
|
x[1, :] = np.nan
|
|
@@ -983,6 +1133,165 @@ class TestReferenceEvaluatorAiOnnxMl(unittest.TestCase):
|
|
|
983
1133
|
assert_allclose(expected, got[0], atol=1e-6)
|
|
984
1134
|
self.assertIn("op_type=TreeEnsembleRegressor", str(sess.rt_nodes_[0]))
|
|
985
1135
|
|
|
1136
|
+
@unittest.skipIf(not ONNX_ML, reason="onnx not compiled with ai.onnx.ml")
|
|
1137
|
+
@parameterized.expand(
|
|
1138
|
+
[(input_type,) for input_type in [TensorProto.FLOAT, TensorProto.DOUBLE]]
|
|
1139
|
+
)
|
|
1140
|
+
def test_tree_ensemble_missing_opset5(self, input_type):
|
|
1141
|
+
model = self._get_test_tree_ensemble_opset_latest(
|
|
1142
|
+
AggregationFunction.SUM, Mode.LEQ, True, input_type
|
|
1143
|
+
)
|
|
1144
|
+
np_dtype = onnx.helper.tensor_dtype_to_np_dtype(input_type)
|
|
1145
|
+
x = np.arange(9).reshape((-1, 3)).astype(np_dtype) / 10 - 0.5
|
|
1146
|
+
x[2, 0] = 5
|
|
1147
|
+
x[1, :] = np.nan
|
|
1148
|
+
expected = np.array([[100001.0], [100100.0], [100100.0]], dtype=np_dtype)
|
|
1149
|
+
session = ReferenceEvaluator(model)
|
|
1150
|
+
(actual,) = session.run(None, {"X": x})
|
|
1151
|
+
assert_allclose(expected, actual, atol=1e-6)
|
|
1152
|
+
|
|
1153
|
+
@unittest.skipIf(not ONNX_ML, reason="onnx not compiled with ai.onnx.ml")
|
|
1154
|
+
def test_tree_ensemble_regressor_missing_opset5_float16(self):
|
|
1155
|
+
model = self._get_test_tree_ensemble_opset_latest(
|
|
1156
|
+
AggregationFunction.SUM, Mode.LEQ, False, TensorProto.FLOAT16
|
|
1157
|
+
)
|
|
1158
|
+
np_dtype = np.float16
|
|
1159
|
+
x = np.arange(9).reshape((-1, 3)).astype(np_dtype) / 10 - 0.5
|
|
1160
|
+
x[2, 0] = 5
|
|
1161
|
+
x[1, :] = np.nan
|
|
1162
|
+
expected = np.array([[0.577], [1.0], [1.0]], dtype=np_dtype)
|
|
1163
|
+
session = ReferenceEvaluator(model)
|
|
1164
|
+
(actual,) = session.run(None, {"X": x})
|
|
1165
|
+
assert_allclose(expected, actual, atol=1e-6)
|
|
1166
|
+
|
|
1167
|
+
@unittest.skipIf(not ONNX_ML, reason="onnx not compiled with ai.onnx.ml")
|
|
1168
|
+
def test_single_tree_ensemble(self):
|
|
1169
|
+
X = make_tensor_value_info("X", TensorProto.DOUBLE, [None, None])
|
|
1170
|
+
Y = make_tensor_value_info("Y", TensorProto.DOUBLE, [None, None])
|
|
1171
|
+
node = make_node(
|
|
1172
|
+
"TreeEnsemble",
|
|
1173
|
+
["X"],
|
|
1174
|
+
["Y"],
|
|
1175
|
+
domain="ai.onnx.ml",
|
|
1176
|
+
n_targets=2,
|
|
1177
|
+
membership_values=None,
|
|
1178
|
+
nodes_missing_value_tracks_true=None,
|
|
1179
|
+
nodes_hitrates=None,
|
|
1180
|
+
aggregate_function=1,
|
|
1181
|
+
post_transform=PostTransform.NONE,
|
|
1182
|
+
tree_roots=[0],
|
|
1183
|
+
nodes_modes=make_tensor(
|
|
1184
|
+
"nodes_modes",
|
|
1185
|
+
TensorProto.UINT8,
|
|
1186
|
+
(3,),
|
|
1187
|
+
[Mode.LEQ] * 3,
|
|
1188
|
+
),
|
|
1189
|
+
nodes_featureids=[0, 0, 0],
|
|
1190
|
+
nodes_splits=make_tensor(
|
|
1191
|
+
"nodes_splits",
|
|
1192
|
+
TensorProto.DOUBLE,
|
|
1193
|
+
(3,),
|
|
1194
|
+
np.array([3.14, 1.2, 4.2], dtype=np.float64),
|
|
1195
|
+
),
|
|
1196
|
+
nodes_truenodeids=[1, 0, 1],
|
|
1197
|
+
nodes_trueleafs=[0, 1, 1],
|
|
1198
|
+
nodes_falsenodeids=[2, 2, 3],
|
|
1199
|
+
nodes_falseleafs=[0, 1, 1],
|
|
1200
|
+
leaf_targetids=[0, 1, 0, 1],
|
|
1201
|
+
leaf_weights=make_tensor(
|
|
1202
|
+
"leaf_weights",
|
|
1203
|
+
TensorProto.DOUBLE,
|
|
1204
|
+
(4,),
|
|
1205
|
+
np.array([5.23, 12.12, -12.23, 7.21], dtype=np.float64),
|
|
1206
|
+
),
|
|
1207
|
+
)
|
|
1208
|
+
graph = make_graph([node], "ml", [X], [Y])
|
|
1209
|
+
model = make_model_gen_version(
|
|
1210
|
+
graph,
|
|
1211
|
+
opset_imports=[
|
|
1212
|
+
make_opsetid("", TARGET_OPSET),
|
|
1213
|
+
make_opsetid("ai.onnx.ml", 5),
|
|
1214
|
+
],
|
|
1215
|
+
)
|
|
1216
|
+
check_model(model)
|
|
1217
|
+
session = ReferenceEvaluator(model)
|
|
1218
|
+
(output,) = session.run(
|
|
1219
|
+
None,
|
|
1220
|
+
{
|
|
1221
|
+
"X": np.array([1.2, 3.4, -0.12, 1.66, 4.14, 1.77], np.float64).reshape(
|
|
1222
|
+
3, 2
|
|
1223
|
+
)
|
|
1224
|
+
},
|
|
1225
|
+
)
|
|
1226
|
+
np.testing.assert_equal(
|
|
1227
|
+
output, np.array([[5.23, 0], [5.23, 0], [0, 12.12]], dtype=np.float64)
|
|
1228
|
+
)
|
|
1229
|
+
|
|
1230
|
+
@unittest.skipIf(not ONNX_ML, reason="onnx not compiled with ai.onnx.ml")
|
|
1231
|
+
def test_tree_ensemble_regressor_set_membership_opset5(self):
|
|
1232
|
+
X = make_tensor_value_info("X", TensorProto.FLOAT, [None, None])
|
|
1233
|
+
Y = make_tensor_value_info("Y", TensorProto.FLOAT, [None, None])
|
|
1234
|
+
node = make_node(
|
|
1235
|
+
"TreeEnsemble",
|
|
1236
|
+
["X"],
|
|
1237
|
+
["Y"],
|
|
1238
|
+
domain="ai.onnx.ml",
|
|
1239
|
+
n_targets=4,
|
|
1240
|
+
aggregate_function=AggregationFunction.SUM,
|
|
1241
|
+
membership_values=make_tensor(
|
|
1242
|
+
"membership_values",
|
|
1243
|
+
TensorProto.FLOAT,
|
|
1244
|
+
(8,),
|
|
1245
|
+
[1.2, 3.7, 8, 9, np.nan, 12, 7, np.nan],
|
|
1246
|
+
),
|
|
1247
|
+
nodes_missing_value_tracks_true=None,
|
|
1248
|
+
nodes_hitrates=None,
|
|
1249
|
+
post_transform=PostTransform.NONE,
|
|
1250
|
+
tree_roots=[0],
|
|
1251
|
+
nodes_modes=make_tensor(
|
|
1252
|
+
"nodes_modes",
|
|
1253
|
+
TensorProto.UINT8,
|
|
1254
|
+
(3,),
|
|
1255
|
+
[Mode.LEQ, Mode.MEMBER, Mode.MEMBER],
|
|
1256
|
+
),
|
|
1257
|
+
nodes_featureids=[0, 0, 0],
|
|
1258
|
+
nodes_splits=make_tensor(
|
|
1259
|
+
"nodes_splits",
|
|
1260
|
+
TensorProto.FLOAT,
|
|
1261
|
+
(3,),
|
|
1262
|
+
np.array([11, 232344.0, np.nan], dtype=np.float32),
|
|
1263
|
+
),
|
|
1264
|
+
nodes_trueleafs=[0, 1, 1],
|
|
1265
|
+
nodes_truenodeids=[1, 0, 1],
|
|
1266
|
+
nodes_falseleafs=[1, 0, 1],
|
|
1267
|
+
nodes_falsenodeids=[2, 2, 3],
|
|
1268
|
+
leaf_targetids=[0, 1, 2, 3],
|
|
1269
|
+
leaf_weights=make_tensor(
|
|
1270
|
+
"leaf_weights", TensorProto.FLOAT, (4,), [1, 10, 1000, 100]
|
|
1271
|
+
),
|
|
1272
|
+
)
|
|
1273
|
+
graph = make_graph([node], "ml", [X], [Y])
|
|
1274
|
+
model = make_model_gen_version(
|
|
1275
|
+
graph,
|
|
1276
|
+
opset_imports=OPSETS,
|
|
1277
|
+
)
|
|
1278
|
+
check_model(model)
|
|
1279
|
+
session = ReferenceEvaluator(model)
|
|
1280
|
+
X = np.array([1.2, 3.4, -0.12, np.nan, 12, 7], np.float32).reshape(-1, 1)
|
|
1281
|
+
expected = np.array(
|
|
1282
|
+
[
|
|
1283
|
+
[1, 0, 0, 0],
|
|
1284
|
+
[0, 0, 0, 100],
|
|
1285
|
+
[0, 0, 0, 100],
|
|
1286
|
+
[0, 0, 1000, 0],
|
|
1287
|
+
[0, 0, 1000, 0],
|
|
1288
|
+
[0, 10, 0, 0],
|
|
1289
|
+
],
|
|
1290
|
+
dtype=np.float32,
|
|
1291
|
+
)
|
|
1292
|
+
(output,) = session.run(None, {"X": X})
|
|
1293
|
+
np.testing.assert_equal(output, expected)
|
|
1294
|
+
|
|
986
1295
|
@staticmethod
|
|
987
1296
|
def _get_test_svm_regressor(kernel_type, kernel_params):
|
|
988
1297
|
X = make_tensor_value_info("X", TensorProto.FLOAT, [None, None])
|
|
@@ -1125,7 +1434,13 @@ class TestReferenceEvaluatorAiOnnxMl(unittest.TestCase):
|
|
|
1125
1434
|
post_transform=post_transform,
|
|
1126
1435
|
)
|
|
1127
1436
|
graph = make_graph([node1], "ml", [X], [In, Y])
|
|
1128
|
-
onx = make_model_gen_version(
|
|
1437
|
+
onx = make_model_gen_version(
|
|
1438
|
+
graph,
|
|
1439
|
+
opset_imports=[
|
|
1440
|
+
make_opsetid("", TARGET_OPSET),
|
|
1441
|
+
make_opsetid("ai.onnx.ml", 3),
|
|
1442
|
+
],
|
|
1443
|
+
)
|
|
1129
1444
|
check_model(onx)
|
|
1130
1445
|
return onx
|
|
1131
1446
|
|
|
@@ -1247,7 +1562,13 @@ class TestReferenceEvaluatorAiOnnxMl(unittest.TestCase):
|
|
|
1247
1562
|
post_transform=post_transform,
|
|
1248
1563
|
)
|
|
1249
1564
|
graph = make_graph([node1], "ml", [X], [In, Y])
|
|
1250
|
-
onx = make_model_gen_version(
|
|
1565
|
+
onx = make_model_gen_version(
|
|
1566
|
+
graph,
|
|
1567
|
+
opset_imports=[
|
|
1568
|
+
make_opsetid("", TARGET_OPSET),
|
|
1569
|
+
make_opsetid("ai.onnx.ml", 3),
|
|
1570
|
+
],
|
|
1571
|
+
)
|
|
1251
1572
|
check_model(onx)
|
|
1252
1573
|
return onx
|
|
1253
1574
|
|
|
@@ -1789,6 +2110,86 @@ class TestReferenceEvaluatorAiOnnxMl(unittest.TestCase):
|
|
|
1789
2110
|
got = sess.run(None, {"X": x})
|
|
1790
2111
|
assert_allclose(expected[0], got[0], atol=1e-6)
|
|
1791
2112
|
|
|
2113
|
+
def test_onnxrt_tfidf_vectorizer_ints(self):
|
|
2114
|
+
inputi = np.array([[1, 1, 3, 3, 3, 7], [8, 6, 7, 5, 6, 8]]).astype(np.int64)
|
|
2115
|
+
output = np.array(
|
|
2116
|
+
[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0]]
|
|
2117
|
+
).astype(np.float32)
|
|
2118
|
+
|
|
2119
|
+
ngram_counts = np.array([0, 4]).astype(np.int64)
|
|
2120
|
+
ngram_indexes = np.array([0, 1, 2, 3, 4, 5, 6]).astype(np.int64)
|
|
2121
|
+
pool_int64s = np.array([2, 3, 5, 4, 5, 6, 7, 8, 6, 7]).astype( # unigrams
|
|
2122
|
+
np.int64
|
|
2123
|
+
) # bigrams
|
|
2124
|
+
|
|
2125
|
+
model = make_model_gen_version(
|
|
2126
|
+
make_graph(
|
|
2127
|
+
[
|
|
2128
|
+
make_node(
|
|
2129
|
+
"TfIdfVectorizer",
|
|
2130
|
+
["tokens"],
|
|
2131
|
+
["out"],
|
|
2132
|
+
mode="TF",
|
|
2133
|
+
min_gram_length=2,
|
|
2134
|
+
max_gram_length=2,
|
|
2135
|
+
max_skip_count=0,
|
|
2136
|
+
ngram_counts=ngram_counts,
|
|
2137
|
+
ngram_indexes=ngram_indexes,
|
|
2138
|
+
pool_int64s=pool_int64s,
|
|
2139
|
+
)
|
|
2140
|
+
],
|
|
2141
|
+
"tfidf",
|
|
2142
|
+
[make_tensor_value_info("tokens", TensorProto.INT64, [None, None])],
|
|
2143
|
+
[make_tensor_value_info("out", TensorProto.FLOAT, [None, None])],
|
|
2144
|
+
),
|
|
2145
|
+
opset_imports=OPSETS,
|
|
2146
|
+
)
|
|
2147
|
+
|
|
2148
|
+
oinf = ReferenceEvaluator(model)
|
|
2149
|
+
res = oinf.run(None, {"tokens": inputi})
|
|
2150
|
+
self.assertEqual(output.tolist(), res[0].tolist())
|
|
2151
|
+
|
|
2152
|
+
def test_onnxrt_tfidf_vectorizer_strings(self):
|
|
2153
|
+
inputi = np.array(
|
|
2154
|
+
[["i1", "i1", "i3", "i3", "i3", "i7"], ["i8", "i6", "i7", "i5", "i6", "i8"]]
|
|
2155
|
+
)
|
|
2156
|
+
output = np.array(
|
|
2157
|
+
[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0]]
|
|
2158
|
+
).astype(np.float32)
|
|
2159
|
+
|
|
2160
|
+
ngram_counts = np.array([0, 4]).astype(np.int64)
|
|
2161
|
+
ngram_indexes = np.array([0, 1, 2, 3, 4, 5, 6]).astype(np.int64)
|
|
2162
|
+
pool_strings = np.array(
|
|
2163
|
+
["i2", "i3", "i5", "i4", "i5", "i6", "i7", "i8", "i6", "i7"]
|
|
2164
|
+
)
|
|
2165
|
+
|
|
2166
|
+
model = make_model_gen_version(
|
|
2167
|
+
make_graph(
|
|
2168
|
+
[
|
|
2169
|
+
make_node(
|
|
2170
|
+
"TfIdfVectorizer",
|
|
2171
|
+
["tokens"],
|
|
2172
|
+
["out"],
|
|
2173
|
+
mode="TF",
|
|
2174
|
+
min_gram_length=2,
|
|
2175
|
+
max_gram_length=2,
|
|
2176
|
+
max_skip_count=0,
|
|
2177
|
+
ngram_counts=ngram_counts,
|
|
2178
|
+
ngram_indexes=ngram_indexes,
|
|
2179
|
+
pool_strings=pool_strings,
|
|
2180
|
+
)
|
|
2181
|
+
],
|
|
2182
|
+
"tfidf",
|
|
2183
|
+
[make_tensor_value_info("tokens", TensorProto.INT64, [None, None])],
|
|
2184
|
+
[make_tensor_value_info("out", TensorProto.FLOAT, [None, None])],
|
|
2185
|
+
),
|
|
2186
|
+
opset_imports=OPSETS,
|
|
2187
|
+
)
|
|
2188
|
+
|
|
2189
|
+
oinf = ReferenceEvaluator(model)
|
|
2190
|
+
res = oinf.run(None, {"tokens": inputi})
|
|
2191
|
+
self.assertEqual(output.tolist(), res[0].tolist())
|
|
2192
|
+
|
|
1792
2193
|
|
|
1793
2194
|
if __name__ == "__main__":
|
|
1794
2195
|
unittest.main(verbosity=2)
|