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
onnx/defs/nn/old.cc
CHANGED
|
@@ -96,6 +96,52 @@ Flattens the input tensor into a 2D matrix. If input tensor has shape
|
|
|
96
96
|
(d_0 X d_1 ... d_(axis-1), d_axis X d_(axis+1) ... X dn).
|
|
97
97
|
)DOC";
|
|
98
98
|
|
|
99
|
+
ONNX_OPERATOR_SET_SCHEMA(
|
|
100
|
+
Flatten,
|
|
101
|
+
13,
|
|
102
|
+
OpSchema()
|
|
103
|
+
.SetDoc(Flatten_ver11_doc)
|
|
104
|
+
.Input(0, "input", "A tensor of rank >= axis.", "T", OpSchema::Single, true, 1, OpSchema::Differentiable)
|
|
105
|
+
.Output(
|
|
106
|
+
0,
|
|
107
|
+
"output",
|
|
108
|
+
"A 2D tensor with the contents of the input tensor, "
|
|
109
|
+
"with input dimensions up to axis flattened to the outer dimension "
|
|
110
|
+
"of the output and remaining input dimensions flattened into the inner "
|
|
111
|
+
"dimension of the output.",
|
|
112
|
+
"T",
|
|
113
|
+
OpSchema::Single,
|
|
114
|
+
true,
|
|
115
|
+
1,
|
|
116
|
+
OpSchema::Differentiable)
|
|
117
|
+
.TypeConstraint("T", OpSchema::all_tensor_types_ir4(), "Constrain input and output to all tensor types.")
|
|
118
|
+
.Attr(
|
|
119
|
+
"axis",
|
|
120
|
+
"Indicate up to which input dimensions "
|
|
121
|
+
"(exclusive) should be flattened to the outer dimension of the output. "
|
|
122
|
+
"The value for axis must be in the range [-r, r], where r is the rank of the input tensor. "
|
|
123
|
+
"Negative value means counting dimensions from the back. "
|
|
124
|
+
"When axis = 0, the shape of the output tensor is (1, (d_0 X d_1 ... d_n), "
|
|
125
|
+
"where the shape of the input tensor is (d_0, d_1, ... d_n). ",
|
|
126
|
+
AttributeProto::INT,
|
|
127
|
+
static_cast<int64_t>(1))
|
|
128
|
+
.TypeAndShapeInferenceFunction([](InferenceContext& ctx) {
|
|
129
|
+
propagateElemTypeFromInputToOutput(ctx, 0, 0);
|
|
130
|
+
if (!hasInputShape(ctx, 0))
|
|
131
|
+
return;
|
|
132
|
+
auto& input_shape = getInputShape(ctx, 0);
|
|
133
|
+
int rank = static_cast<int>(input_shape.dim_size());
|
|
134
|
+
int axis = static_cast<int>(getAttribute(ctx, "axis", 1));
|
|
135
|
+
if (axis < 0) {
|
|
136
|
+
axis += rank;
|
|
137
|
+
}
|
|
138
|
+
if (axis > rank || axis < 0) {
|
|
139
|
+
fail_shape_inference("Invalid value(", axis, ") for attribute 'axis'");
|
|
140
|
+
}
|
|
141
|
+
// TODO: is the operation defined for input-rank < 2?
|
|
142
|
+
updateOutputShape(ctx, 0, {multiplyDims(input_shape, 0, axis), multiplyDims(input_shape, axis, rank)});
|
|
143
|
+
}));
|
|
144
|
+
|
|
99
145
|
ONNX_OPERATOR_SET_SCHEMA(
|
|
100
146
|
Flatten,
|
|
101
147
|
11,
|
|
@@ -188,7 +234,7 @@ static const char* mvn_ver9_doc = R"DOC(
|
|
|
188
234
|
on the input tensor X using formula: <br/> ``` (X-EX)/sqrt(E(X-EX)^2) ```
|
|
189
235
|
)DOC";
|
|
190
236
|
|
|
191
|
-
static std::vector<int64_t>
|
|
237
|
+
static const std::vector<int64_t> old_mvn_default_axes = {0, 2, 3};
|
|
192
238
|
|
|
193
239
|
ONNX_OPERATOR_SET_SCHEMA(
|
|
194
240
|
MeanVarianceNormalization,
|
|
@@ -204,7 +250,7 @@ ONNX_OPERATOR_SET_SCHEMA(
|
|
|
204
250
|
"along each channel. Two variables with the same C-coordinate "
|
|
205
251
|
"are associated with the same mean and variance.",
|
|
206
252
|
AttributeProto::INTS,
|
|
207
|
-
|
|
253
|
+
old_mvn_default_axes)
|
|
208
254
|
.TypeConstraint(
|
|
209
255
|
"T",
|
|
210
256
|
{"tensor(float16)", "tensor(float)", "tensor(double)"},
|
|
@@ -2368,4 +2414,137 @@ ONNX_OPERATOR_SET_SCHEMA(
|
|
|
2368
2414
|
// TODO in training mode, it may be possible to infer some of
|
|
2369
2415
|
// the other outputs as well.
|
|
2370
2416
|
}));
|
|
2417
|
+
|
|
2418
|
+
static const char* GroupNormalization_ver18_doc = R"DOC(
|
|
2419
|
+
A GroupNormalization function. Carries out group normalization as described in
|
|
2420
|
+
the paper https://arxiv.org/abs/1803.08494
|
|
2421
|
+
|
|
2422
|
+
This operator transforms input according to
|
|
2423
|
+
```
|
|
2424
|
+
y = scale * (x - mean) / sqrt(variance + epsilon) + bias,
|
|
2425
|
+
```
|
|
2426
|
+
where the mean and variance are computed per instance per group of channels, and
|
|
2427
|
+
`scale` and `bias` should be specified for each group of channels. The number of
|
|
2428
|
+
groups `num_groups` should be divisible by the number of channels so that there are
|
|
2429
|
+
an equal number of channels per group.
|
|
2430
|
+
|
|
2431
|
+
When the number of groups is the same as the number of channels, this operator is
|
|
2432
|
+
equivalent to InstanceNormalization. When there is only one group, this operator
|
|
2433
|
+
is equivalent to LayerNormalization.
|
|
2434
|
+
)DOC";
|
|
2435
|
+
|
|
2436
|
+
ONNX_OPERATOR_SET_SCHEMA(
|
|
2437
|
+
GroupNormalization,
|
|
2438
|
+
18,
|
|
2439
|
+
OpSchema()
|
|
2440
|
+
.SetDoc(GroupNormalization_ver18_doc)
|
|
2441
|
+
.Attr("epsilon", "The epsilon value to use to avoid division by zero.", AttributeProto::FLOAT, 1e-5f)
|
|
2442
|
+
.Attr(
|
|
2443
|
+
"num_groups",
|
|
2444
|
+
"The number of groups of channels. It should be a divisor of the number of channels `C`.",
|
|
2445
|
+
AttributeProto::INT,
|
|
2446
|
+
true)
|
|
2447
|
+
.Input(
|
|
2448
|
+
0,
|
|
2449
|
+
"X",
|
|
2450
|
+
"Input data tensor. Dimensions for image cases are `(N x C x H x W)`, where `N` is the batch size, "
|
|
2451
|
+
"`C` is the number of channels, and `H` and `W` are the height and width of the data. Statistics are "
|
|
2452
|
+
"computed for every group of channels over `C`, `H`, and `W`. For non-image cases, the dimensions are "
|
|
2453
|
+
"in the form of `(N x C x D1 x D2 ... Dn)`.",
|
|
2454
|
+
"T",
|
|
2455
|
+
OpSchema::Single,
|
|
2456
|
+
true,
|
|
2457
|
+
1,
|
|
2458
|
+
OpSchema::Differentiable)
|
|
2459
|
+
.Input(
|
|
2460
|
+
1,
|
|
2461
|
+
"scale",
|
|
2462
|
+
"Scale tensor of shape `(num_groups)`.",
|
|
2463
|
+
"T",
|
|
2464
|
+
OpSchema::Single,
|
|
2465
|
+
true,
|
|
2466
|
+
1,
|
|
2467
|
+
OpSchema::Differentiable)
|
|
2468
|
+
.Input(
|
|
2469
|
+
2,
|
|
2470
|
+
"bias",
|
|
2471
|
+
"Bias tensor of shape `(num_groups)`.",
|
|
2472
|
+
"T",
|
|
2473
|
+
OpSchema::Single,
|
|
2474
|
+
true,
|
|
2475
|
+
1,
|
|
2476
|
+
OpSchema::Differentiable)
|
|
2477
|
+
.Output(
|
|
2478
|
+
0,
|
|
2479
|
+
"Y",
|
|
2480
|
+
"The output tensor of the same shape as `X`.",
|
|
2481
|
+
"T",
|
|
2482
|
+
OpSchema::Single,
|
|
2483
|
+
true,
|
|
2484
|
+
1,
|
|
2485
|
+
OpSchema::Differentiable)
|
|
2486
|
+
.TypeConstraint(
|
|
2487
|
+
"T",
|
|
2488
|
+
{"tensor(float16)", "tensor(float)", "tensor(double)", "tensor(bfloat16)"},
|
|
2489
|
+
"Constrain input and output types to float tensors.")
|
|
2490
|
+
.SetContextDependentFunctionBodyBuilder(
|
|
2491
|
+
[](const FunctionBodyBuildContext& ctx, const OpSchema& schema, FunctionProto& functionProto) {
|
|
2492
|
+
// GroupNormalization <epsilon, num_groups> (X, scale, bias) => (Y)
|
|
2493
|
+
auto* tp = ctx.getInputType(0);
|
|
2494
|
+
if ((tp == nullptr) || (!tp->has_tensor_type()))
|
|
2495
|
+
return false;
|
|
2496
|
+
int64_t T = tp->tensor_type().elem_type();
|
|
2497
|
+
|
|
2498
|
+
auto* epsilon_attr = ctx.getAttribute("epsilon");
|
|
2499
|
+
float epsilon = (epsilon_attr != nullptr) ? epsilon_attr->f() : 1e-5f;
|
|
2500
|
+
auto* num_groups_attr = ctx.getAttribute("num_groups");
|
|
2501
|
+
if (num_groups_attr == nullptr)
|
|
2502
|
+
return false;
|
|
2503
|
+
int64_t num_groups = num_groups_attr->i();
|
|
2504
|
+
|
|
2505
|
+
FunctionBuilder builder(functionProto);
|
|
2506
|
+
builder.Const1D("FloatEpsilon", epsilon)
|
|
2507
|
+
.Add("Epsilon = Cast (FloatEpsilon)", "to", T)
|
|
2508
|
+
.Add("XShape = Shape (X)") // shape of input tensor: 1D tensor
|
|
2509
|
+
.Add("C = Shape <start = 1, end = 2> (X)")
|
|
2510
|
+
.Const1D("NumGroups", num_groups)
|
|
2511
|
+
.Add("GroupSize = Div (C, NumGroups)")
|
|
2512
|
+
.Add("N = Shape <start = 0, end = 1> (X)") // batch size
|
|
2513
|
+
.Add("InstanceShape = Shape <start = 2> (X)") // data instance shape
|
|
2514
|
+
|
|
2515
|
+
// NewShape = [N, num_groups, group_size, H, W, (...)]
|
|
2516
|
+
.Add("NewShape = Concat <axis = 0> (N, NumGroups, GroupSize, InstanceShape)")
|
|
2517
|
+
.Add("XReshaped = Reshape (X, NewShape)")
|
|
2518
|
+
|
|
2519
|
+
// Flatten into 3D tensor: [N, num_groups, group_size x H x W (x ...)]
|
|
2520
|
+
.Add("Shape3D = Constant <value_ints = [0, 0, -1]> ()")
|
|
2521
|
+
.Add("X3D = Reshape(XReshaped, Shape3D)")
|
|
2522
|
+
|
|
2523
|
+
// Calculate statistics
|
|
2524
|
+
.Const1D("Axes2", (int64_t)2)
|
|
2525
|
+
.Add("Mean = ReduceMean (X3D, Axes2)")
|
|
2526
|
+
.Add("Square = Mul (X3D, X3D)")
|
|
2527
|
+
.Add("MeanOfSquare = ReduceMean (Square, Axes2)")
|
|
2528
|
+
.Add("SquareOfMean = Mul (Mean, Mean)")
|
|
2529
|
+
.Add("Var = Sub (MeanOfSquare, SquareOfMean)")
|
|
2530
|
+
.Add("VarPlusEpsilon = Add (Var, Epsilon)")
|
|
2531
|
+
.Add("StdDev = Sqrt (VarPlusEpsilon)")
|
|
2532
|
+
.Add("Deviation = Sub (X3D, Mean)")
|
|
2533
|
+
.Add("Normalized = Div (Deviation, StdDev)")
|
|
2534
|
+
|
|
2535
|
+
// Reshape scale and bias for broadcasting
|
|
2536
|
+
.Add("ScaleShape = Constant <value_ints = [1, -1, 1]> ()")
|
|
2537
|
+
.Add("ScaleT = Cast (scale)", "to", T)
|
|
2538
|
+
.Add("BiasT = Cast (bias)", "to", T)
|
|
2539
|
+
.Add("ScaleReshaped = Reshape (ScaleT, ScaleShape)")
|
|
2540
|
+
.Add("BiasReshaped = Reshape (BiasT, ScaleShape)")
|
|
2541
|
+
|
|
2542
|
+
// Calculate scaled and biased output
|
|
2543
|
+
.Add("Scaled = Mul (ScaleReshaped, Normalized)")
|
|
2544
|
+
.Add("Biased = Add (Scaled, BiasReshaped)")
|
|
2545
|
+
.Add("Y = Reshape (Biased, XShape)");
|
|
2546
|
+
|
|
2547
|
+
schema.BuildFunction(functionProto);
|
|
2548
|
+
return true;
|
|
2549
|
+
}));
|
|
2371
2550
|
} // namespace ONNX_NAMESPACE
|
|
@@ -124,7 +124,7 @@ ONNX_OPERATOR_SET_SCHEMA(
|
|
|
124
124
|
updateOutputShape(ctx, 0, {num_rois, C, ht, width});
|
|
125
125
|
}));
|
|
126
126
|
|
|
127
|
-
static const char*
|
|
127
|
+
static const char* NonMaxSuppression_ver11_doc = R"DOC(
|
|
128
128
|
Filter out boxes that have high intersection-over-union (IOU) overlap with previously selected boxes.
|
|
129
129
|
Bounding boxes with score less than score_threshold are removed. Bounding box format is indicated by attribute center_point_box.
|
|
130
130
|
Note that this algorithm is agnostic to where the origin is in the coordinate system and more generally is invariant to
|
|
@@ -175,7 +175,7 @@ ONNX_OPERATOR_SET_SCHEMA(
|
|
|
175
175
|
"1 - the box data is supplied as [x_center, y_center, width, height]. Mostly used for Pytorch models.",
|
|
176
176
|
AttributeProto::INT,
|
|
177
177
|
static_cast<int64_t>(0))
|
|
178
|
-
.SetDoc(
|
|
178
|
+
.SetDoc(NonMaxSuppression_ver11_doc)
|
|
179
179
|
.TypeAndShapeInferenceFunction([](InferenceContext& ctx) {
|
|
180
180
|
// Type inference - Output is always of type INT64
|
|
181
181
|
auto* selected_indices_type = ctx.getOutputType(0)->mutable_tensor_type();
|
|
@@ -116,7 +116,7 @@ ONNX_OPERATOR_SET_SCHEMA(
|
|
|
116
116
|
updateOutputShape(ctx, 0, {num_rois, C, ht, width});
|
|
117
117
|
}));
|
|
118
118
|
|
|
119
|
-
static const char*
|
|
119
|
+
static const char* NonMaxSuppression_ver10_doc = R"DOC(
|
|
120
120
|
Filter out boxes that have high intersection-over-union (IOU) overlap with previously selected boxes.
|
|
121
121
|
Bounding boxes with score less than score_threshold are removed. Bounding box format is indicated by attribute center_point_box.
|
|
122
122
|
Note that this algorithm is agnostic to where the origin is in the coordinate system and more generally is invariant to
|
|
@@ -167,7 +167,7 @@ ONNX_OPERATOR_SET_SCHEMA(
|
|
|
167
167
|
"1 - the box data is supplied as [x_center, y_center, width, height]. Mostly used for Pytorch models.",
|
|
168
168
|
AttributeProto::INT,
|
|
169
169
|
static_cast<int64_t>(0))
|
|
170
|
-
.SetDoc(
|
|
170
|
+
.SetDoc(NonMaxSuppression_ver10_doc)
|
|
171
171
|
.TypeAndShapeInferenceFunction([](InferenceContext& ctx) {
|
|
172
172
|
auto selected_indices_type = ctx.getOutputType(0)->mutable_tensor_type();
|
|
173
173
|
selected_indices_type->set_elem_type(::ONNX_NAMESPACE::TensorProto_DataType::TensorProto_DataType_INT64);
|
onnx/defs/operator_sets.h
CHANGED
|
@@ -1136,6 +1136,55 @@ class OpSet_Onnx_ver20 {
|
|
|
1136
1136
|
}
|
|
1137
1137
|
};
|
|
1138
1138
|
|
|
1139
|
+
// Forward declarations for ai.onnx version 21
|
|
1140
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, Cast);
|
|
1141
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, CastLike);
|
|
1142
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, Constant);
|
|
1143
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, ConstantOfShape);
|
|
1144
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, DequantizeLinear);
|
|
1145
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, Flatten);
|
|
1146
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, GroupNormalization);
|
|
1147
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, Identity);
|
|
1148
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, If);
|
|
1149
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, Loop);
|
|
1150
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, Pad);
|
|
1151
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, QLinearMatMul);
|
|
1152
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, QuantizeLinear);
|
|
1153
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, Reshape);
|
|
1154
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, Scan);
|
|
1155
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, Shape);
|
|
1156
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, Size);
|
|
1157
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, Squeeze);
|
|
1158
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, Transpose);
|
|
1159
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, Unsqueeze);
|
|
1160
|
+
|
|
1161
|
+
// Iterate over schema from ai.onnx version 21
|
|
1162
|
+
class OpSet_Onnx_ver21 {
|
|
1163
|
+
public:
|
|
1164
|
+
static void ForEachSchema(std::function<void(OpSchema&&)> fn) {
|
|
1165
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, Cast)>());
|
|
1166
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, CastLike)>());
|
|
1167
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, Constant)>());
|
|
1168
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, ConstantOfShape)>());
|
|
1169
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, DequantizeLinear)>());
|
|
1170
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, Flatten)>());
|
|
1171
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, GroupNormalization)>());
|
|
1172
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, Identity)>());
|
|
1173
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, If)>());
|
|
1174
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, Loop)>());
|
|
1175
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, Pad)>());
|
|
1176
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, QLinearMatMul)>());
|
|
1177
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, QuantizeLinear)>());
|
|
1178
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, Reshape)>());
|
|
1179
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, Scan)>());
|
|
1180
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, Shape)>());
|
|
1181
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, Size)>());
|
|
1182
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, Squeeze)>());
|
|
1183
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, Transpose)>());
|
|
1184
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 21, Unsqueeze)>());
|
|
1185
|
+
}
|
|
1186
|
+
};
|
|
1187
|
+
|
|
1139
1188
|
inline void RegisterOnnxOperatorSetSchema() {
|
|
1140
1189
|
RegisterOpSetSchema<OpSet_Onnx_ver1>();
|
|
1141
1190
|
RegisterOpSetSchema<OpSet_Onnx_ver2>();
|
|
@@ -1157,6 +1206,7 @@ inline void RegisterOnnxOperatorSetSchema() {
|
|
|
1157
1206
|
RegisterOpSetSchema<OpSet_Onnx_ver18>();
|
|
1158
1207
|
RegisterOpSetSchema<OpSet_Onnx_ver19>();
|
|
1159
1208
|
RegisterOpSetSchema<OpSet_Onnx_ver20>();
|
|
1209
|
+
RegisterOpSetSchema<OpSet_Onnx_ver21>();
|
|
1160
1210
|
// 0 means all versions of ONNX schema have been loaded
|
|
1161
1211
|
OpSchemaRegistry::Instance()->SetLoadedSchemaVersion(0);
|
|
1162
1212
|
}
|
|
@@ -1166,6 +1216,7 @@ inline void RegisterOnnxOperatorSetSchema(int target_version, bool fail_duplicat
|
|
|
1166
1216
|
// These calls for schema registration here are required to be in descending order for this to work correctly
|
|
1167
1217
|
//
|
|
1168
1218
|
// Version-sepcific registration sees duplicate schema version request as error if fail_duplicate_schema
|
|
1219
|
+
RegisterOpSetSchema<OpSet_Onnx_ver21>(target_version, fail_duplicate_schema);
|
|
1169
1220
|
RegisterOpSetSchema<OpSet_Onnx_ver20>(target_version, fail_duplicate_schema);
|
|
1170
1221
|
RegisterOpSetSchema<OpSet_Onnx_ver19>(target_version, fail_duplicate_schema);
|
|
1171
1222
|
RegisterOpSetSchema<OpSet_Onnx_ver18>(target_version, fail_duplicate_schema);
|
onnx/defs/operator_sets_ml.h
CHANGED
|
@@ -84,11 +84,25 @@ class OpSet_OnnxML_ver4 {
|
|
|
84
84
|
}
|
|
85
85
|
};
|
|
86
86
|
|
|
87
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(OnnxML, 5, TreeEnsemble);
|
|
88
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(OnnxML, 5, TreeEnsembleRegressor);
|
|
89
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(OnnxML, 5, TreeEnsembleClassifier);
|
|
90
|
+
|
|
91
|
+
class OpSet_OnnxML_ver5 {
|
|
92
|
+
public:
|
|
93
|
+
static void ForEachSchema(std::function<void(OpSchema&&)> fn) {
|
|
94
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(OnnxML, 5, TreeEnsemble)>());
|
|
95
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(OnnxML, 5, TreeEnsembleRegressor)>());
|
|
96
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(OnnxML, 5, TreeEnsembleClassifier)>());
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
|
|
87
100
|
inline void RegisterOnnxMLOperatorSetSchema() {
|
|
88
101
|
RegisterOpSetSchema<OpSet_OnnxML_ver1>();
|
|
89
102
|
RegisterOpSetSchema<OpSet_OnnxML_ver2>();
|
|
90
103
|
RegisterOpSetSchema<OpSet_OnnxML_ver3>();
|
|
91
104
|
RegisterOpSetSchema<OpSet_OnnxML_ver4>();
|
|
105
|
+
RegisterOpSetSchema<OpSet_OnnxML_ver5>();
|
|
92
106
|
}
|
|
93
107
|
} // namespace ONNX_NAMESPACE
|
|
94
108
|
|
onnx/defs/parser.cc
CHANGED
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|
|
|
8
8
|
#include "onnx/defs/parser.h"
|
|
9
9
|
|
|
10
|
+
#include <cctype>
|
|
10
11
|
#include <iostream>
|
|
11
12
|
#include <stdexcept>
|
|
12
13
|
#include <string>
|
|
13
|
-
#include <string_view>
|
|
14
14
|
#include <unordered_map>
|
|
15
15
|
#include <vector>
|
|
16
16
|
|
|
@@ -316,12 +316,44 @@ Status OnnxParser::Parse(ValueInfoProto& valueinfo) {
|
|
|
316
316
|
return Status::OK();
|
|
317
317
|
}
|
|
318
318
|
|
|
319
|
-
Status OnnxParser::Parse(ValueInfoList& vilist) {
|
|
319
|
+
Status OnnxParser::Parse(char open, ValueInfoList& vilist, char close) {
|
|
320
|
+
MATCH(open);
|
|
321
|
+
if (!Matches(close)) {
|
|
322
|
+
do {
|
|
323
|
+
PARSE(*vilist.Add());
|
|
324
|
+
} while (Matches(','));
|
|
325
|
+
MATCH(close);
|
|
326
|
+
}
|
|
327
|
+
return Status::OK();
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
Status OnnxParser::ParseGraphInputOutput(ValueInfoList& vilist) {
|
|
320
331
|
vilist.Clear();
|
|
332
|
+
PARSE('(', vilist, ')');
|
|
333
|
+
return Status::OK();
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
Status OnnxParser::ParseFunctionInputOutput(IdList& idlist, ValueInfoList& vilist) {
|
|
337
|
+
// Do not clear vilist, as it accumulates values over inputs and outputs.
|
|
338
|
+
idlist.Clear();
|
|
321
339
|
MATCH('(');
|
|
322
340
|
if (!Matches(')')) {
|
|
323
341
|
do {
|
|
324
|
-
|
|
342
|
+
// Function inputs/outputs can be optionally typed.
|
|
343
|
+
// Syntax: Name | Type Name
|
|
344
|
+
// The name is added to idlist. If the optional type is present, an entry is
|
|
345
|
+
// added to vilist.
|
|
346
|
+
|
|
347
|
+
std::string* name = idlist.Add();
|
|
348
|
+
ValueInfoProto* vi = nullptr;
|
|
349
|
+
|
|
350
|
+
if (NextIsType()) {
|
|
351
|
+
vi = vilist.Add();
|
|
352
|
+
PARSE(*(vi->mutable_type()));
|
|
353
|
+
}
|
|
354
|
+
CHECK_PARSER_STATUS(ParseIdentifier(*name));
|
|
355
|
+
if (vi != nullptr)
|
|
356
|
+
vi->set_name(*name);
|
|
325
357
|
} while (Matches(','));
|
|
326
358
|
MATCH(')');
|
|
327
359
|
}
|
|
@@ -377,6 +409,19 @@ Status OnnxParser::ParseValueInfo(ValueInfoList& value_infos, TensorList& initia
|
|
|
377
409
|
return Status::OK();
|
|
378
410
|
}
|
|
379
411
|
|
|
412
|
+
Status OnnxParser::Parse(StringStringList& stringStringList) {
|
|
413
|
+
std::string strval;
|
|
414
|
+
do {
|
|
415
|
+
auto* metadata = stringStringList.Add();
|
|
416
|
+
PARSE_TOKEN(strval);
|
|
417
|
+
metadata->set_key(strval);
|
|
418
|
+
MATCH(':');
|
|
419
|
+
PARSE_TOKEN(strval);
|
|
420
|
+
metadata->set_value(strval);
|
|
421
|
+
} while (Matches(','));
|
|
422
|
+
return Status::OK();
|
|
423
|
+
}
|
|
424
|
+
|
|
380
425
|
Status OnnxParser::Parse(TensorProto& tensorProto) {
|
|
381
426
|
tensorProto = TensorProto();
|
|
382
427
|
// Parse the concrete tensor-type with numeric dimensions:
|
|
@@ -410,46 +455,52 @@ Status OnnxParser::Parse(TensorProto& tensorProto, const TypeProto& tensorTypePr
|
|
|
410
455
|
float floatval = 0.0;
|
|
411
456
|
double dblval = 0.0;
|
|
412
457
|
std::string strval;
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
458
|
+
if (Matches('{')) {
|
|
459
|
+
if (!Matches('}')) {
|
|
460
|
+
do {
|
|
461
|
+
switch (static_cast<TensorProto::DataType>(elem_type)) {
|
|
462
|
+
case TensorProto::DataType::TensorProto_DataType_INT8:
|
|
463
|
+
case TensorProto::DataType::TensorProto_DataType_INT16:
|
|
464
|
+
case TensorProto::DataType::TensorProto_DataType_INT32:
|
|
465
|
+
case TensorProto::DataType::TensorProto_DataType_UINT8:
|
|
466
|
+
case TensorProto::DataType::TensorProto_DataType_UINT16:
|
|
467
|
+
case TensorProto::DataType::TensorProto_DataType_BOOL:
|
|
468
|
+
PARSE_TOKEN(intval);
|
|
469
|
+
// TODO: check values are in the correct range.
|
|
470
|
+
tensorProto.add_int32_data(intval);
|
|
471
|
+
break;
|
|
472
|
+
case TensorProto::DataType::TensorProto_DataType_INT64:
|
|
473
|
+
PARSE_TOKEN(intval);
|
|
474
|
+
tensorProto.add_int64_data(intval);
|
|
475
|
+
break;
|
|
476
|
+
case TensorProto::DataType::TensorProto_DataType_UINT32:
|
|
477
|
+
case TensorProto::DataType::TensorProto_DataType_UINT64:
|
|
478
|
+
PARSE_TOKEN(uintval);
|
|
479
|
+
tensorProto.add_uint64_data(uintval);
|
|
480
|
+
break;
|
|
481
|
+
case TensorProto::DataType::TensorProto_DataType_FLOAT:
|
|
482
|
+
PARSE_TOKEN(floatval);
|
|
483
|
+
tensorProto.add_float_data(floatval);
|
|
484
|
+
break;
|
|
485
|
+
case TensorProto::DataType::TensorProto_DataType_DOUBLE:
|
|
486
|
+
PARSE_TOKEN(dblval);
|
|
487
|
+
tensorProto.add_double_data(dblval);
|
|
488
|
+
break;
|
|
489
|
+
case TensorProto::DataType::TensorProto_DataType_STRING:
|
|
490
|
+
PARSE_TOKEN(strval);
|
|
491
|
+
tensorProto.add_string_data(strval);
|
|
492
|
+
break;
|
|
493
|
+
default:
|
|
494
|
+
return ParseError("Unhandled type: %d", elem_type);
|
|
495
|
+
}
|
|
496
|
+
} while (Matches(','));
|
|
497
|
+
MATCH('}');
|
|
498
|
+
}
|
|
499
|
+
} else if (Matches('[')) {
|
|
500
|
+
tensorProto.set_data_location(TensorProto::DataLocation::TensorProto_DataLocation_EXTERNAL);
|
|
501
|
+
auto& externalData = *tensorProto.mutable_external_data();
|
|
502
|
+
PARSE(externalData);
|
|
503
|
+
MATCH(']');
|
|
453
504
|
}
|
|
454
505
|
return Status::OK();
|
|
455
506
|
}
|
|
@@ -664,6 +715,12 @@ Status OnnxParser::Parse(NodeProto& node) {
|
|
|
664
715
|
}
|
|
665
716
|
node.set_domain(domain);
|
|
666
717
|
node.set_op_type(id);
|
|
718
|
+
|
|
719
|
+
if (Matches(':')) {
|
|
720
|
+
std::string overload;
|
|
721
|
+
ParseIdentifier(overload);
|
|
722
|
+
node.set_overload(overload);
|
|
723
|
+
}
|
|
667
724
|
PARSE(*node.mutable_attribute());
|
|
668
725
|
MATCH('(');
|
|
669
726
|
PARSE(*node.mutable_input());
|
|
@@ -696,7 +753,7 @@ Status OnnxParser::Parse(std::string name, GraphProto& graph) {
|
|
|
696
753
|
CHECK_PARSER_STATUS(ParseInput(*graph.mutable_input(), *graph.mutable_initializer()));
|
|
697
754
|
MATCH('=');
|
|
698
755
|
MATCH('>', false);
|
|
699
|
-
|
|
756
|
+
CHECK_PARSER_STATUS(ParseGraphInputOutput(*graph.mutable_output()));
|
|
700
757
|
CHECK_PARSER_STATUS(ParseValueInfo(*graph.mutable_value_info(), *graph.mutable_initializer()));
|
|
701
758
|
return Parse(*graph.mutable_node());
|
|
702
759
|
}
|
|
@@ -721,6 +778,10 @@ Status OnnxParser::Parse(FunctionProto& fn) {
|
|
|
721
778
|
PARSE_TOKEN(strval);
|
|
722
779
|
fn.set_domain(strval);
|
|
723
780
|
break;
|
|
781
|
+
case KeyWordMap::KeyWord::OVERLOAD_KW:
|
|
782
|
+
PARSE_TOKEN(strval);
|
|
783
|
+
fn.set_overload(strval);
|
|
784
|
+
break;
|
|
724
785
|
default:
|
|
725
786
|
return ParseError("Unhandled keyword.");
|
|
726
787
|
}
|
|
@@ -732,10 +793,14 @@ Status OnnxParser::Parse(FunctionProto& fn) {
|
|
|
732
793
|
fn.set_name(id);
|
|
733
794
|
|
|
734
795
|
PARSE('<', *fn.mutable_attribute(), *fn.mutable_attribute_proto(), '>');
|
|
735
|
-
|
|
796
|
+
fn.mutable_value_info()->Clear();
|
|
797
|
+
CHECK_PARSER_STATUS(ParseFunctionInputOutput(*fn.mutable_input(), *fn.mutable_value_info()));
|
|
736
798
|
MATCH('=');
|
|
737
799
|
MATCH('>', false);
|
|
738
|
-
|
|
800
|
+
CHECK_PARSER_STATUS(ParseFunctionInputOutput(*fn.mutable_output(), *fn.mutable_value_info()));
|
|
801
|
+
if (NextChar() == '<') {
|
|
802
|
+
PARSE('<', *fn.mutable_value_info(), '>');
|
|
803
|
+
}
|
|
739
804
|
return Parse(*fn.mutable_node());
|
|
740
805
|
}
|
|
741
806
|
|
|
@@ -798,14 +863,7 @@ Status OnnxParser::Parse(ModelProto& model) {
|
|
|
798
863
|
auto& metadata_props = *model.mutable_metadata_props();
|
|
799
864
|
MATCH('[');
|
|
800
865
|
if (!Matches(']')) {
|
|
801
|
-
|
|
802
|
-
auto* metadata = metadata_props.Add();
|
|
803
|
-
PARSE_TOKEN(strval);
|
|
804
|
-
metadata->set_key(strval);
|
|
805
|
-
MATCH(':');
|
|
806
|
-
PARSE_TOKEN(strval);
|
|
807
|
-
metadata->set_value(strval);
|
|
808
|
-
} while (Matches(','));
|
|
866
|
+
PARSE(metadata_props);
|
|
809
867
|
MATCH(']');
|
|
810
868
|
}
|
|
811
869
|
break;
|
onnx/defs/parser.h
CHANGED
|
@@ -34,6 +34,8 @@ using TensorList = google::protobuf::RepeatedPtrField<TensorProto>;
|
|
|
34
34
|
|
|
35
35
|
using OpsetIdList = google::protobuf::RepeatedPtrField<OperatorSetIdProto>;
|
|
36
36
|
|
|
37
|
+
using StringStringList = google::protobuf::RepeatedPtrField<StringStringEntryProto>;
|
|
38
|
+
|
|
37
39
|
#define CHECK_PARSER_STATUS(status) \
|
|
38
40
|
{ \
|
|
39
41
|
auto local_status_ = status; \
|
|
@@ -92,6 +94,8 @@ class PrimitiveTypeNameMap : public StringIntMap<PrimitiveTypeNameMap> {
|
|
|
92
94
|
map_["float8e4m3fnuz"] = TensorProto_DataType_FLOAT8E4M3FNUZ;
|
|
93
95
|
map_["float8e5m2"] = TensorProto_DataType_FLOAT8E5M2;
|
|
94
96
|
map_["float8e5m2fnuz"] = TensorProto_DataType_FLOAT8E5M2FNUZ;
|
|
97
|
+
map_["uint4"] = TensorProto_DataType_UINT4;
|
|
98
|
+
map_["int4"] = TensorProto_DataType_INT4;
|
|
95
99
|
}
|
|
96
100
|
|
|
97
101
|
static bool IsTypeName(const std::string& dtype) {
|
|
@@ -134,7 +138,8 @@ class KeyWordMap {
|
|
|
134
138
|
SEQ_TYPE,
|
|
135
139
|
MAP_TYPE,
|
|
136
140
|
OPTIONAL_TYPE,
|
|
137
|
-
SPARSE_TENSOR_TYPE
|
|
141
|
+
SPARSE_TENSOR_TYPE,
|
|
142
|
+
OVERLOAD_KW
|
|
138
143
|
};
|
|
139
144
|
|
|
140
145
|
KeyWordMap() {
|
|
@@ -150,6 +155,7 @@ class KeyWordMap {
|
|
|
150
155
|
map_["map"] = KeyWord::MAP_TYPE;
|
|
151
156
|
map_["optional"] = KeyWord::OPTIONAL_TYPE;
|
|
152
157
|
map_["sparse_tensor"] = KeyWord::SPARSE_TENSOR_TYPE;
|
|
158
|
+
map_["overload"] = KeyWord::OVERLOAD_KW;
|
|
153
159
|
}
|
|
154
160
|
|
|
155
161
|
static const std::unordered_map<std::string, KeyWord>& Instance() {
|
|
@@ -388,6 +394,8 @@ class OnnxParser : public ParserBase {
|
|
|
388
394
|
|
|
389
395
|
Status Parse(TypeProto& typeProto);
|
|
390
396
|
|
|
397
|
+
Status Parse(StringStringList& stringStringList);
|
|
398
|
+
|
|
391
399
|
Status Parse(TensorProto& tensorProto);
|
|
392
400
|
|
|
393
401
|
Status Parse(AttributeProto& attr);
|
|
@@ -427,7 +435,11 @@ class OnnxParser : public ParserBase {
|
|
|
427
435
|
|
|
428
436
|
Status Parse(ValueInfoProto& valueinfo);
|
|
429
437
|
|
|
430
|
-
Status
|
|
438
|
+
Status ParseGraphInputOutput(ValueInfoList& vilist);
|
|
439
|
+
|
|
440
|
+
Status ParseFunctionInputOutput(IdList& idlist, ValueInfoList& vilist);
|
|
441
|
+
|
|
442
|
+
Status Parse(char open, ValueInfoList& vilist, char close);
|
|
431
443
|
|
|
432
444
|
Status ParseInput(ValueInfoList& vilist, TensorList& initializers);
|
|
433
445
|
|