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/schema.h
CHANGED
|
@@ -583,6 +583,10 @@ class OpSchema final {
|
|
|
583
583
|
// Convenience members for types
|
|
584
584
|
|
|
585
585
|
// All high-precision numeric types.
|
|
586
|
+
static const std::vector<std::string>& numeric_types_for_math_reduction_ir10() {
|
|
587
|
+
return numeric_types_for_math_reduction_ir9();
|
|
588
|
+
}
|
|
589
|
+
|
|
586
590
|
static const std::vector<std::string>& numeric_types_for_math_reduction_ir9() {
|
|
587
591
|
static const std::vector<std::string> numeric_types_for_math_reduction_ir9 = {
|
|
588
592
|
"tensor(uint32)",
|
|
@@ -625,6 +629,29 @@ class OpSchema final {
|
|
|
625
629
|
return numeric_types_for_math_reduction;
|
|
626
630
|
}
|
|
627
631
|
|
|
632
|
+
static const std::vector<std::string>& all_numeric_types_ir10() {
|
|
633
|
+
static const std::vector<std::string> all_numeric_types_ir10 = {
|
|
634
|
+
"tensor(uint8)",
|
|
635
|
+
"tensor(uint16)",
|
|
636
|
+
"tensor(uint32)",
|
|
637
|
+
"tensor(uint64)",
|
|
638
|
+
"tensor(int8)",
|
|
639
|
+
"tensor(int16)",
|
|
640
|
+
"tensor(int32)",
|
|
641
|
+
"tensor(int64)",
|
|
642
|
+
"tensor(float16)",
|
|
643
|
+
"tensor(float)",
|
|
644
|
+
"tensor(double)",
|
|
645
|
+
"tensor(bfloat16)",
|
|
646
|
+
"tensor(float8e4m3fn)",
|
|
647
|
+
"tensor(float8e4m3fnuz)",
|
|
648
|
+
"tensor(float8e5m2)",
|
|
649
|
+
"tensor(float8e5m2fnuz)",
|
|
650
|
+
"tensor(uint4)",
|
|
651
|
+
"tensor(int4)"};
|
|
652
|
+
return all_numeric_types_ir10;
|
|
653
|
+
}
|
|
654
|
+
|
|
628
655
|
static const std::vector<std::string>& all_numeric_types_ir9() {
|
|
629
656
|
static const std::vector<std::string> all_numeric_types_ir9 = {
|
|
630
657
|
"tensor(uint8)",
|
|
@@ -755,6 +782,10 @@ class OpSchema final {
|
|
|
755
782
|
return all_float_types_ir9;
|
|
756
783
|
}
|
|
757
784
|
|
|
785
|
+
static const std::vector<std::string>& all_float_types_ir10() {
|
|
786
|
+
return all_float_types_ir9();
|
|
787
|
+
}
|
|
788
|
+
|
|
758
789
|
static const std::vector<std::string>& all_tensor_types_ir9() {
|
|
759
790
|
static const std::vector<std::string> all_tensor_types_ir9 = {
|
|
760
791
|
"tensor(uint8)", "tensor(uint16)", "tensor(uint32)", "tensor(uint64)",
|
|
@@ -765,6 +796,19 @@ class OpSchema final {
|
|
|
765
796
|
return all_tensor_types_ir9;
|
|
766
797
|
}
|
|
767
798
|
|
|
799
|
+
static const std::vector<std::string>& all_tensor_types_ir10() {
|
|
800
|
+
static const std::vector<std::string> all_tensor_types_ir10 = {
|
|
801
|
+
"tensor(uint8)", "tensor(uint16)", "tensor(uint32)",
|
|
802
|
+
"tensor(uint64)", "tensor(int8)", "tensor(int16)",
|
|
803
|
+
"tensor(int32)", "tensor(int64)", "tensor(bfloat16)",
|
|
804
|
+
"tensor(float16)", "tensor(float)", "tensor(double)",
|
|
805
|
+
"tensor(string)", "tensor(bool)", "tensor(complex64)",
|
|
806
|
+
"tensor(complex128)", "tensor(float8e4m3fn)", "tensor(float8e4m3fnuz)",
|
|
807
|
+
"tensor(float8e5m2)", "tensor(float8e5m2fnuz)", "tensor(uint4)",
|
|
808
|
+
"tensor(int4)"};
|
|
809
|
+
return all_tensor_types_ir10;
|
|
810
|
+
}
|
|
811
|
+
|
|
768
812
|
static const std::vector<std::string>& all_tensor_sequence_types() {
|
|
769
813
|
static const std::vector<std::string> all_tensor_sequence_types = {
|
|
770
814
|
"seq(tensor(uint8))",
|
|
@@ -807,7 +851,7 @@ class OpSchema final {
|
|
|
807
851
|
}
|
|
808
852
|
|
|
809
853
|
static const std::vector<std::string>& all_tensor_sequence_types_ir9() {
|
|
810
|
-
static const std::vector<std::string>
|
|
854
|
+
static const std::vector<std::string> all_tensor_sequence_types_ir9 = {
|
|
811
855
|
"seq(tensor(uint8))", "seq(tensor(uint16))", "seq(tensor(uint32))",
|
|
812
856
|
"seq(tensor(uint64))", "seq(tensor(int8))", "seq(tensor(int16))",
|
|
813
857
|
"seq(tensor(int32))", "seq(tensor(int64))", "seq(tensor(bfloat16))",
|
|
@@ -815,7 +859,20 @@ class OpSchema final {
|
|
|
815
859
|
"seq(tensor(string))", "seq(tensor(bool))", "seq(tensor(complex64))",
|
|
816
860
|
"seq(tensor(complex128))", "seq(tensor(float8e4m3fn))", "seq(tensor(float8e4m3fnuz))",
|
|
817
861
|
"seq(tensor(float8e5m2))", "seq(tensor(float8e5m2fnuz))"};
|
|
818
|
-
return
|
|
862
|
+
return all_tensor_sequence_types_ir9;
|
|
863
|
+
}
|
|
864
|
+
|
|
865
|
+
static const std::vector<std::string>& all_tensor_sequence_types_ir10() {
|
|
866
|
+
static const std::vector<std::string> all_tensor_sequence_types_ir10 = {
|
|
867
|
+
"seq(tensor(uint8))", "seq(tensor(uint16))", "seq(tensor(uint32))",
|
|
868
|
+
"seq(tensor(uint64))", "seq(tensor(int8))", "seq(tensor(int16))",
|
|
869
|
+
"seq(tensor(int32))", "seq(tensor(int64))", "seq(tensor(bfloat16))",
|
|
870
|
+
"seq(tensor(float16))", "seq(tensor(float))", "seq(tensor(double))",
|
|
871
|
+
"seq(tensor(string))", "seq(tensor(bool))", "seq(tensor(complex64))",
|
|
872
|
+
"seq(tensor(complex128))", "seq(tensor(float8e4m3fn))", "seq(tensor(float8e4m3fnuz))",
|
|
873
|
+
"seq(tensor(float8e5m2))", "seq(tensor(float8e5m2fnuz))", "seq(tensor(uint4))",
|
|
874
|
+
"seq(tensor(int4))"};
|
|
875
|
+
return all_tensor_sequence_types_ir10;
|
|
819
876
|
}
|
|
820
877
|
|
|
821
878
|
static const std::vector<std::string>& all_optional_types() {
|
|
@@ -866,6 +923,24 @@ class OpSchema final {
|
|
|
866
923
|
return all_optional_types;
|
|
867
924
|
}
|
|
868
925
|
|
|
926
|
+
static const std::vector<std::string>& all_optional_types_ir10() {
|
|
927
|
+
static const std::vector<std::string> all_optional_types = {
|
|
928
|
+
"optional(seq(tensor(uint8)))", "optional(seq(tensor(uint16)))", "optional(seq(tensor(uint32)))",
|
|
929
|
+
"optional(seq(tensor(uint64)))", "optional(seq(tensor(int8)))", "optional(seq(tensor(int16)))",
|
|
930
|
+
"optional(seq(tensor(int32)))", "optional(seq(tensor(int64)))", "optional(seq(tensor(bfloat16)))",
|
|
931
|
+
"optional(seq(tensor(float16)))", "optional(seq(tensor(float)))", "optional(seq(tensor(double)))",
|
|
932
|
+
"optional(seq(tensor(string)))", "optional(seq(tensor(bool)))", "optional(seq(tensor(complex64)))",
|
|
933
|
+
"optional(seq(tensor(complex128)))", "optional(tensor(uint8))", "optional(tensor(uint16))",
|
|
934
|
+
"optional(tensor(uint32))", "optional(tensor(uint64))", "optional(tensor(int8))",
|
|
935
|
+
"optional(tensor(int16))", "optional(tensor(int32))", "optional(tensor(int64))",
|
|
936
|
+
"optional(tensor(bfloat16))", "optional(tensor(float16))", "optional(tensor(float))",
|
|
937
|
+
"optional(tensor(double))", "optional(tensor(string))", "optional(tensor(bool))",
|
|
938
|
+
"optional(tensor(complex64))", "optional(tensor(complex128))", "optional(tensor(float8e4m3fn))",
|
|
939
|
+
"optional(tensor(float8e4m3fnuz))", "optional(tensor(float8e5m2))", "optional(tensor(float8e5m2fnuz))",
|
|
940
|
+
"optional(tensor(uint4))", "optional(tensor(int4))"};
|
|
941
|
+
return all_optional_types;
|
|
942
|
+
}
|
|
943
|
+
|
|
869
944
|
// Calls the passed function with `this` as an argument. Useful for
|
|
870
945
|
// adding docs for temlated/macro ops.
|
|
871
946
|
OpSchema& FillUsing(const std::function<void(OpSchema&)>& populator);
|
|
@@ -1078,8 +1153,8 @@ class OpSchemaRegistry final : public ISchemaRegistry {
|
|
|
1078
1153
|
// Increase the highest version when you make BC-breaking changes to the
|
|
1079
1154
|
// operator schema on specific domain. Update the lowest version when it's
|
|
1080
1155
|
// determined to remove too old version history.
|
|
1081
|
-
map_[ONNX_DOMAIN] = std::make_pair(1,
|
|
1082
|
-
map_[AI_ONNX_ML_DOMAIN] = std::make_pair(1,
|
|
1156
|
+
map_[ONNX_DOMAIN] = std::make_pair(1, 21);
|
|
1157
|
+
map_[AI_ONNX_ML_DOMAIN] = std::make_pair(1, 5);
|
|
1083
1158
|
map_[AI_ONNX_TRAINING_DOMAIN] = std::make_pair(1, 1);
|
|
1084
1159
|
// ONNX's preview domain contains operators subject to change, so
|
|
1085
1160
|
// versining is not meaningful and that domain should have only one
|
|
@@ -1088,8 +1163,8 @@ class OpSchemaRegistry final : public ISchemaRegistry {
|
|
|
1088
1163
|
// Version corresponding last release of ONNX. Update this to match with
|
|
1089
1164
|
// the max version above in a *release* version of ONNX. But in other
|
|
1090
1165
|
// versions, the max version may be ahead of the last-release-version.
|
|
1091
|
-
last_release_version_map_[ONNX_DOMAIN] =
|
|
1092
|
-
last_release_version_map_[AI_ONNX_ML_DOMAIN] =
|
|
1166
|
+
last_release_version_map_[ONNX_DOMAIN] = 21;
|
|
1167
|
+
last_release_version_map_[AI_ONNX_ML_DOMAIN] = 5;
|
|
1093
1168
|
last_release_version_map_[AI_ONNX_TRAINING_DOMAIN] = 1;
|
|
1094
1169
|
last_release_version_map_[AI_ONNX_PREVIEW_TRAINING_DOMAIN] = 1;
|
|
1095
1170
|
}
|
|
@@ -1112,16 +1187,52 @@ class OpSchemaRegistry final : public ISchemaRegistry {
|
|
|
1112
1187
|
void
|
|
1113
1188
|
AddDomainToVersion(const std::string& domain, int min_version, int max_version, int last_release_version = -1) {
|
|
1114
1189
|
std::lock_guard<std::mutex> lock(mutex_);
|
|
1115
|
-
|
|
1190
|
+
if (map_.count(domain) != 0) {
|
|
1191
|
+
std::stringstream err;
|
|
1192
|
+
err << "Trying to add a domain to DomainToVersion map, but the domain is already exist with version range ("
|
|
1193
|
+
<< map_.at(domain).first << ", " << map_.at(domain).second << "). domain: \"" << domain << "\""
|
|
1194
|
+
<< std::endl;
|
|
1195
|
+
fail_schema(err.str());
|
|
1196
|
+
}
|
|
1197
|
+
if (last_release_version_map_.count(domain) != 0) {
|
|
1198
|
+
std::stringstream err;
|
|
1199
|
+
err << "Trying to add a domain to LastReleaseVersion map, but the domain is already exist with last version: "
|
|
1200
|
+
<< last_release_version_map_.at(domain) << ", domain: \"" << domain << "\"" << std::endl;
|
|
1201
|
+
fail_schema(err.str());
|
|
1202
|
+
}
|
|
1116
1203
|
map_[domain] = std::make_pair(min_version, max_version);
|
|
1117
1204
|
// If a last-release-version is not explicitly specified, use max as
|
|
1118
1205
|
// last-release-version.
|
|
1119
|
-
if (last_release_version == -1)
|
|
1206
|
+
if (last_release_version == -1) {
|
|
1120
1207
|
last_release_version = max_version;
|
|
1121
|
-
|
|
1208
|
+
}
|
|
1122
1209
|
last_release_version_map_[domain] = last_release_version;
|
|
1123
1210
|
}
|
|
1124
1211
|
|
|
1212
|
+
void
|
|
1213
|
+
UpdateDomainToVersion(const std::string& domain, int min_version, int max_version, int last_release_version = -1) {
|
|
1214
|
+
std::lock_guard<std::mutex> lock(mutex_);
|
|
1215
|
+
if (map_.count(domain) == 0) {
|
|
1216
|
+
std::stringstream err;
|
|
1217
|
+
err << "Trying to update a domain in DomainToVersion map, but the domain has not been add. domain: \"" << domain
|
|
1218
|
+
<< "\"" << std::endl;
|
|
1219
|
+
fail_schema(err.str());
|
|
1220
|
+
}
|
|
1221
|
+
if (last_release_version_map_.count(domain) == 0) {
|
|
1222
|
+
std::stringstream err;
|
|
1223
|
+
err << "Trying to update a domain in LastReleaseVersion map, but the domain has not been add. domain: \""
|
|
1224
|
+
<< domain << "\"" << std::endl;
|
|
1225
|
+
fail_schema(err.str());
|
|
1226
|
+
}
|
|
1227
|
+
map_.at(domain).first = min_version;
|
|
1228
|
+
map_.at(domain).second = max_version;
|
|
1229
|
+
// Correspond to `AddDomainToVersion`
|
|
1230
|
+
if (last_release_version == -1) {
|
|
1231
|
+
last_release_version = max_version;
|
|
1232
|
+
}
|
|
1233
|
+
last_release_version_map_.at(domain) = last_release_version;
|
|
1234
|
+
}
|
|
1235
|
+
|
|
1125
1236
|
static DomainToVersionRange& Instance();
|
|
1126
1237
|
|
|
1127
1238
|
private:
|
|
@@ -1138,52 +1249,62 @@ class OpSchemaRegistry final : public ISchemaRegistry {
|
|
|
1138
1249
|
|
|
1139
1250
|
class OpSchemaRegisterOnce final {
|
|
1140
1251
|
public:
|
|
1141
|
-
|
|
1252
|
+
// Export to cpp custom register macro
|
|
1253
|
+
OpSchemaRegisterOnce(OpSchema op_schema, int opset_version_to_load = 0, bool fail_duplicate_schema = true) {
|
|
1254
|
+
OpSchemaRegisterNoExcept(std::move(op_schema), opset_version_to_load, fail_duplicate_schema);
|
|
1255
|
+
}
|
|
1256
|
+
static void
|
|
1257
|
+
OpSchemaRegisterNoExcept(OpSchema&& op_schema, int opset_version_to_load = 0, bool fail_duplicate_schema = true) {
|
|
1142
1258
|
ONNX_TRY {
|
|
1143
|
-
op_schema
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1259
|
+
OpSchemaRegisterImpl(std::move(op_schema), opset_version_to_load, fail_duplicate_schema);
|
|
1260
|
+
}
|
|
1261
|
+
ONNX_CATCH(const std::exception& e) {
|
|
1262
|
+
ONNX_HANDLE_EXCEPTION([&]() { std::cerr << "Schema error: " << e.what() << std::endl; });
|
|
1263
|
+
}
|
|
1264
|
+
}
|
|
1265
|
+
static void
|
|
1266
|
+
OpSchemaRegisterImpl(OpSchema&& op_schema, int opset_version_to_load = 0, bool fail_duplicate_schema = true) {
|
|
1267
|
+
op_schema.Finalize();
|
|
1268
|
+
auto& m = GetMapWithoutEnsuringRegistration();
|
|
1269
|
+
auto& op_name = op_schema.Name();
|
|
1270
|
+
auto& op_domain = op_schema.domain();
|
|
1271
|
+
auto& schema_ver_map = m[op_name][op_domain];
|
|
1272
|
+
auto ver = op_schema.SinceVersion();
|
|
1273
|
+
if (OpSchema::kUninitializedSinceVersion == ver) {
|
|
1274
|
+
op_schema.SinceVersion(1);
|
|
1275
|
+
ver = op_schema.SinceVersion();
|
|
1276
|
+
}
|
|
1277
|
+
|
|
1278
|
+
// Stops because the exact opset_version is registered
|
|
1279
|
+
if (schema_ver_map.count(ver)) {
|
|
1280
|
+
if (fail_duplicate_schema) {
|
|
1281
|
+
const auto& schema = schema_ver_map[ver];
|
|
1282
|
+
std::stringstream err;
|
|
1283
|
+
err << "Trying to register schema with name " << op_name << " (domain: " << op_domain << " version: " << ver
|
|
1284
|
+
<< ") from file " << op_schema.file() << " line " << op_schema.line()
|
|
1285
|
+
<< ", but it is already registered from file " << schema.file() << " line " << schema.line() << std::endl;
|
|
1286
|
+
fail_schema(err.str());
|
|
1152
1287
|
}
|
|
1288
|
+
return;
|
|
1289
|
+
}
|
|
1153
1290
|
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
const auto& schema = schema_ver_map[ver];
|
|
1158
|
-
std::stringstream err;
|
|
1159
|
-
err << "Trying to register schema with name " << op_name << " (domain: " << op_domain << " version: " << ver
|
|
1160
|
-
<< ") from file " << op_schema.file() << " line " << op_schema.line()
|
|
1161
|
-
<< ", but it is already registered from file " << schema.file() << " line " << schema.line()
|
|
1162
|
-
<< std::endl;
|
|
1163
|
-
fail_schema(err.str());
|
|
1164
|
-
}
|
|
1291
|
+
if (opset_version_to_load != 0) {
|
|
1292
|
+
// Stops because the opset_version is higher than opset_version_to_load
|
|
1293
|
+
if (ver > opset_version_to_load) {
|
|
1165
1294
|
return;
|
|
1166
1295
|
}
|
|
1167
1296
|
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1297
|
+
// Stops because a later version is registered within target opset version
|
|
1298
|
+
if (!schema_ver_map.empty()) {
|
|
1299
|
+
int max_registered_ver_le_target = GetMaxRegisteredVerWithinTarget(schema_ver_map, opset_version_to_load);
|
|
1300
|
+
if (max_registered_ver_le_target >= ver) {
|
|
1171
1301
|
return;
|
|
1172
|
-
|
|
1173
|
-
// Stops because a later version is registered within target opset version
|
|
1174
|
-
if (!schema_ver_map.empty()) {
|
|
1175
|
-
int max_registered_ver_le_target = GetMaxRegisteredVerWithinTarget(schema_ver_map, opset_version_to_load);
|
|
1176
|
-
if (max_registered_ver_le_target >= ver)
|
|
1177
|
-
return;
|
|
1178
1302
|
}
|
|
1179
1303
|
}
|
|
1180
|
-
|
|
1181
|
-
CheckDomainAndVersionToRegister(op_schema, op_name, op_domain);
|
|
1182
|
-
schema_ver_map.insert(std::pair<int, OpSchema&&>(ver, std::move(op_schema)));
|
|
1183
|
-
}
|
|
1184
|
-
ONNX_CATCH(const std::exception& e) {
|
|
1185
|
-
ONNX_HANDLE_EXCEPTION([&]() { std::cerr << "Schema error: " << e.what() << std::endl; });
|
|
1186
1304
|
}
|
|
1305
|
+
|
|
1306
|
+
CheckDomainAndVersionToRegister(op_schema, op_name, op_domain);
|
|
1307
|
+
schema_ver_map.insert(std::pair<int, OpSchema&&>(ver, std::move(op_schema)));
|
|
1187
1308
|
}
|
|
1188
1309
|
|
|
1189
1310
|
private:
|
|
@@ -1232,6 +1353,19 @@ class OpSchemaRegistry final : public ISchemaRegistry {
|
|
|
1232
1353
|
}
|
|
1233
1354
|
};
|
|
1234
1355
|
|
|
1356
|
+
static void
|
|
1357
|
+
OpSchemaDeregister(const std::string& op_type, const int version, const std::string& domain = ONNX_DOMAIN) {
|
|
1358
|
+
auto& schema_map = GetMapWithoutEnsuringRegistration();
|
|
1359
|
+
if (schema_map.count(op_type) && schema_map[op_type].count(domain) && schema_map[op_type][domain].count(version)) {
|
|
1360
|
+
schema_map[op_type][domain].erase(version);
|
|
1361
|
+
} else {
|
|
1362
|
+
std::stringstream err;
|
|
1363
|
+
err << "Attempting to deregister an unregistered schema with name: " << op_type << " domain: " << domain
|
|
1364
|
+
<< " version: " << version << std::endl;
|
|
1365
|
+
fail_schema(err.str());
|
|
1366
|
+
}
|
|
1367
|
+
}
|
|
1368
|
+
|
|
1235
1369
|
// Deregister all ONNX opset schemas from domain
|
|
1236
1370
|
// Domain with default value ONNX_DOMAIN means ONNX.
|
|
1237
1371
|
static void OpSchemaDeregisterAll(const std::string& domain = ONNX_DOMAIN) {
|
|
@@ -1341,21 +1475,33 @@ class OpSchemaRegistry final : public ISchemaRegistry {
|
|
|
1341
1475
|
for (auto& x : map()) {
|
|
1342
1476
|
for (auto& y : x.second) {
|
|
1343
1477
|
auto& version2schema = y.second;
|
|
1344
|
-
|
|
1478
|
+
if (!version2schema.empty()) {
|
|
1479
|
+
r.emplace_back(version2schema.rbegin()->second);
|
|
1480
|
+
}
|
|
1345
1481
|
}
|
|
1346
1482
|
}
|
|
1347
1483
|
return r;
|
|
1348
1484
|
}
|
|
1349
1485
|
};
|
|
1350
1486
|
|
|
1351
|
-
void RegisterSchema(
|
|
1487
|
+
void RegisterSchema(
|
|
1488
|
+
const OpSchema& schema,
|
|
1489
|
+
int opset_version_to_load = 0,
|
|
1490
|
+
bool fail_duplicate_schema = true,
|
|
1491
|
+
bool fail_with_exception = false);
|
|
1492
|
+
void RegisterSchema(
|
|
1493
|
+
OpSchema&& schema,
|
|
1494
|
+
int opset_version_to_load = 0,
|
|
1495
|
+
bool fail_duplicate_schema = true,
|
|
1496
|
+
bool fail_with_exception = false);
|
|
1497
|
+
void DeregisterSchema(const std::string& op_type, int version, const std::string& domain);
|
|
1352
1498
|
|
|
1353
1499
|
// Registers the latest opset schema before opset_version_to_load
|
|
1354
1500
|
// By default opset_version_to_load=0 means it will register all versions
|
|
1355
1501
|
template <class T>
|
|
1356
1502
|
void RegisterOpSetSchema(int opset_version_to_load = 0, bool fail_duplicate_schema = true) {
|
|
1357
1503
|
T::ForEachSchema([opset_version_to_load, fail_duplicate_schema](OpSchema&& schema) {
|
|
1358
|
-
RegisterSchema(schema, opset_version_to_load, fail_duplicate_schema);
|
|
1504
|
+
RegisterSchema(std::move(schema), opset_version_to_load, fail_duplicate_schema);
|
|
1359
1505
|
});
|
|
1360
1506
|
};
|
|
1361
1507
|
|
onnx/defs/shape_inference.cc
CHANGED
|
@@ -272,7 +272,11 @@ void UnionTypeInfo(const TypeProto& source_type, TypeProto& target_type) {
|
|
|
272
272
|
|
|
273
273
|
if (source_elem_type != target_elem_type) {
|
|
274
274
|
fail_type_inference(
|
|
275
|
-
"Mismatched tensor element type:",
|
|
275
|
+
"Mismatched tensor element type:",
|
|
276
|
+
" inferred=",
|
|
277
|
+
Utils::DataTypeUtils::ToDataTypeString(source_elem_type),
|
|
278
|
+
" declared=",
|
|
279
|
+
Utils::DataTypeUtils::ToDataTypeString(target_elem_type));
|
|
276
280
|
}
|
|
277
281
|
|
|
278
282
|
UnionShapeInfo(source_type.tensor_type(), *target_type.mutable_tensor_type());
|
|
@@ -281,7 +285,11 @@ void UnionTypeInfo(const TypeProto& source_type, TypeProto& target_type) {
|
|
|
281
285
|
auto target_elem_type = target_type.sparse_tensor_type().elem_type();
|
|
282
286
|
if (source_elem_type != target_elem_type) {
|
|
283
287
|
fail_type_inference(
|
|
284
|
-
"Mismatched sparse tensor element type:",
|
|
288
|
+
"Mismatched sparse tensor element type:",
|
|
289
|
+
" inferred=",
|
|
290
|
+
Utils::DataTypeUtils::ToDataTypeString(source_elem_type),
|
|
291
|
+
" declared=",
|
|
292
|
+
Utils::DataTypeUtils::ToDataTypeString(target_elem_type));
|
|
285
293
|
}
|
|
286
294
|
UnionShapeInfo(source_type.sparse_tensor_type(), *target_type.mutable_sparse_tensor_type());
|
|
287
295
|
} else if (target_case == TypeProto::ValueCase::kSequenceType) {
|
|
@@ -503,6 +511,23 @@ std::string stringify(const Container& elements) {
|
|
|
503
511
|
return ss.str();
|
|
504
512
|
}
|
|
505
513
|
|
|
514
|
+
std::pair<int, int> getAttributeProtoElemTypeAndLength(const AttributeProto* attr_proto) {
|
|
515
|
+
if (attr_proto->ints_size()) {
|
|
516
|
+
return {TensorProto_DataType_INT64, attr_proto->ints_size()};
|
|
517
|
+
} else if (attr_proto->floats_size()) {
|
|
518
|
+
return {TensorProto_DataType_FLOAT, attr_proto->floats_size()};
|
|
519
|
+
} else if (attr_proto->strings_size()) {
|
|
520
|
+
return {TensorProto_DataType_STRING, attr_proto->strings_size()};
|
|
521
|
+
} else if (attr_proto->has_t()) {
|
|
522
|
+
if (attr_proto->t().dims_size() != 1) {
|
|
523
|
+
fail_type_inference(
|
|
524
|
+
"Attribute ", attr_proto->name(), " expected to be a 1D tensor but was ", attr_proto->t().dims_size(), "D");
|
|
525
|
+
}
|
|
526
|
+
return {attr_proto->t().data_type(), attr_proto->t().dims(0)};
|
|
527
|
+
}
|
|
528
|
+
return {TensorProto::UNDEFINED, 0};
|
|
529
|
+
}
|
|
530
|
+
|
|
506
531
|
std::pair<int, int> getAttributeElementTypeAndLength(
|
|
507
532
|
const InferenceContext& ctx,
|
|
508
533
|
const std::initializer_list<std::string>& attribute_names) {
|
|
@@ -516,23 +541,7 @@ std::pair<int, int> getAttributeElementTypeAndLength(
|
|
|
516
541
|
// Another attribute was already set
|
|
517
542
|
fail_shape_inference("One and only one attribute must be set out of ", stringify(attribute_names));
|
|
518
543
|
}
|
|
519
|
-
|
|
520
|
-
elem_type = TensorProto_DataType_INT64;
|
|
521
|
-
length = attr_proto->ints_size();
|
|
522
|
-
} else if (attr_proto->floats_size()) {
|
|
523
|
-
elem_type = TensorProto_DataType_FLOAT;
|
|
524
|
-
length = attr_proto->floats_size();
|
|
525
|
-
} else if (attr_proto->strings_size()) {
|
|
526
|
-
elem_type = TensorProto_DataType_STRING;
|
|
527
|
-
length = attr_proto->strings_size();
|
|
528
|
-
} else if (attr_proto->has_t()) {
|
|
529
|
-
if (attr_proto->t().dims_size() != 1) {
|
|
530
|
-
fail_type_inference(
|
|
531
|
-
"Attribute ", attribute, " expected to be a 1D tensor but was ", attr_proto->t().dims_size(), "D");
|
|
532
|
-
}
|
|
533
|
-
elem_type = attr_proto->t().data_type();
|
|
534
|
-
length = attr_proto->t().dims(0);
|
|
535
|
-
}
|
|
544
|
+
std::tie(elem_type, length) = getAttributeProtoElemTypeAndLength(attr_proto);
|
|
536
545
|
}
|
|
537
546
|
}
|
|
538
547
|
return {elem_type, length};
|
onnx/defs/shape_inference.h
CHANGED
|
@@ -187,6 +187,8 @@ inline TensorShapeProto::Dimension operator*(TensorShapeProto::Dimension dim1, T
|
|
|
187
187
|
template <typename Container>
|
|
188
188
|
std::string stringify(const Container& elements);
|
|
189
189
|
|
|
190
|
+
std::pair<int, int> getAttributeProtoElemTypeAndLength(const AttributeProto* attr_proto);
|
|
191
|
+
|
|
190
192
|
std::pair<int, int> getAttributeElementTypeAndLength(
|
|
191
193
|
const InferenceContext& ctx,
|
|
192
194
|
const std::initializer_list<std::string>& attribute_names);
|