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/common/ir.h
CHANGED
|
@@ -39,6 +39,16 @@
|
|
|
39
39
|
|
|
40
40
|
namespace ONNX_NAMESPACE {
|
|
41
41
|
|
|
42
|
+
namespace { // internal/private API
|
|
43
|
+
|
|
44
|
+
std::string toVarName(size_t i) {
|
|
45
|
+
std::ostringstream oss;
|
|
46
|
+
oss << "_v_" << i;
|
|
47
|
+
return oss.str();
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
} // namespace
|
|
51
|
+
|
|
42
52
|
// Graph represents one "function" of computation.
|
|
43
53
|
// It uses a simple ownership model where the graph owns all the nodes inside it.
|
|
44
54
|
// All references inside the graph are raw pointers.
|
|
@@ -346,7 +356,7 @@ struct Value final {
|
|
|
346
356
|
std::string uniqueName() const {
|
|
347
357
|
if (has_unique_name())
|
|
348
358
|
return unique_name_;
|
|
349
|
-
return
|
|
359
|
+
return toVarName(unique());
|
|
350
360
|
}
|
|
351
361
|
Value* setUniqueName(const std::string& name, bool rename_subgraph_captured_nodes = true);
|
|
352
362
|
Value* setStage(size_t s) {
|
|
@@ -434,6 +444,8 @@ struct Node : public Attributes<Node> {
|
|
|
434
444
|
std::string domain_;
|
|
435
445
|
bool has_doc_string_;
|
|
436
446
|
std::string doc_string_;
|
|
447
|
+
bool has_overload_;
|
|
448
|
+
std::string overload_;
|
|
437
449
|
|
|
438
450
|
protected:
|
|
439
451
|
Node(Graph* graph_, NodeKind kind_); // defined after graph
|
|
@@ -459,6 +471,16 @@ struct Node : public Attributes<Node> {
|
|
|
459
471
|
has_domain_ = true;
|
|
460
472
|
domain_ = std::move(domain);
|
|
461
473
|
}
|
|
474
|
+
bool has_overload() const {
|
|
475
|
+
return has_overload_;
|
|
476
|
+
}
|
|
477
|
+
const std::string& overload() const {
|
|
478
|
+
return overload_;
|
|
479
|
+
}
|
|
480
|
+
void setOverload(std::string overload) {
|
|
481
|
+
has_overload_ = true;
|
|
482
|
+
overload_ = std::move(overload);
|
|
483
|
+
}
|
|
462
484
|
bool has_doc_string() const {
|
|
463
485
|
return has_doc_string_;
|
|
464
486
|
}
|
|
@@ -954,7 +976,7 @@ struct Graph final {
|
|
|
954
976
|
|
|
955
977
|
void addInitializer(Tensor& initializer) {
|
|
956
978
|
if (initializer.name().empty()) {
|
|
957
|
-
initializer.setName(
|
|
979
|
+
initializer.setName(toVarName(getNextUnique()));
|
|
958
980
|
}
|
|
959
981
|
initializers_.push_back(initializer);
|
|
960
982
|
initializer_names_.push_back(initializer.name());
|
|
@@ -1034,9 +1056,9 @@ struct Graph final {
|
|
|
1034
1056
|
}
|
|
1035
1057
|
|
|
1036
1058
|
size_t getNextUnique() {
|
|
1037
|
-
std::string next_unique_name =
|
|
1059
|
+
std::string next_unique_name = toVarName(++next_unique_);
|
|
1038
1060
|
while (!isNameUnique(next_unique_name)) {
|
|
1039
|
-
next_unique_name =
|
|
1061
|
+
next_unique_name = toVarName(++next_unique_);
|
|
1040
1062
|
}
|
|
1041
1063
|
return next_unique_;
|
|
1042
1064
|
}
|
|
@@ -1144,7 +1166,7 @@ struct Graph final {
|
|
|
1144
1166
|
}
|
|
1145
1167
|
|
|
1146
1168
|
Value* addInitializerAndInput(const Tensor& initializer) {
|
|
1147
|
-
return addInitializerAndInput(initializer,
|
|
1169
|
+
return addInitializerAndInput(initializer, toVarName(getNextUnique()));
|
|
1148
1170
|
}
|
|
1149
1171
|
|
|
1150
1172
|
// Erases from graph initializer list, initializer names list, and as a graph input
|
|
@@ -1311,7 +1333,7 @@ inline void Value::replaceAllUsesWith(Value* newValue) {
|
|
|
1311
1333
|
newValue->setUniqueName(unique_name);
|
|
1312
1334
|
// The "unique" semantic of unique_name should be kept or uses()
|
|
1313
1335
|
// will return an incorrect result when the value is used in subgraph
|
|
1314
|
-
this->setUniqueName(
|
|
1336
|
+
this->setUniqueName(toVarName(graph->getNextUnique()), false);
|
|
1315
1337
|
}
|
|
1316
1338
|
newValue->uses_in_current_graph_.reserve(this->uses_in_current_graph_.size());
|
|
1317
1339
|
for (auto u : uses_in_current_graph_) {
|
|
@@ -1340,7 +1362,8 @@ inline Node::Node(Graph* graph_, NodeKind kind_)
|
|
|
1340
1362
|
stage_(graph_->new_node_stage_),
|
|
1341
1363
|
has_name_(false),
|
|
1342
1364
|
has_domain_(false),
|
|
1343
|
-
has_doc_string_(false)
|
|
1365
|
+
has_doc_string_(false),
|
|
1366
|
+
has_overload_(false) {
|
|
1344
1367
|
graph_->all_nodes.emplace(this);
|
|
1345
1368
|
}
|
|
1346
1369
|
|
onnx/common/ir_pb_converter.cc
CHANGED
|
@@ -326,6 +326,9 @@ std::unique_ptr<Graph> graphProtoToGraph(const ONNX_NAMESPACE::GraphProto& gp, b
|
|
|
326
326
|
if (np.has_domain()) {
|
|
327
327
|
n->setDomain(np.domain());
|
|
328
328
|
}
|
|
329
|
+
if (np.has_overload()) {
|
|
330
|
+
n->setOverload(np.overload());
|
|
331
|
+
}
|
|
329
332
|
}
|
|
330
333
|
|
|
331
334
|
for (auto n : g->nodes()) {
|
|
@@ -638,6 +641,9 @@ void encodeGraph(GraphProto* p_g, const std::shared_ptr<Graph>& g) {
|
|
|
638
641
|
if (node->has_domain()) {
|
|
639
642
|
p_n->set_domain(node->domain());
|
|
640
643
|
}
|
|
644
|
+
if (node->has_overload()) {
|
|
645
|
+
p_n->set_overload(node->overload());
|
|
646
|
+
}
|
|
641
647
|
}
|
|
642
648
|
|
|
643
649
|
auto num_initializers = g->initializers().size();
|
onnx/common/path.h
CHANGED
|
@@ -8,6 +8,11 @@
|
|
|
8
8
|
|
|
9
9
|
#include <string>
|
|
10
10
|
#ifdef _WIN32
|
|
11
|
+
// windows.h has preproc definitions for min and max, which prevents from using std::min and std::max.
|
|
12
|
+
// defining NOMINMAX disables the preproc macro.
|
|
13
|
+
#ifndef NOMINMAX
|
|
14
|
+
#define NOMINMAX
|
|
15
|
+
#endif
|
|
11
16
|
#include <windows.h>
|
|
12
17
|
|
|
13
18
|
#include <filesystem>
|
|
@@ -31,11 +36,22 @@ inline std::wstring utf8str_to_wstring(const std::string& utf8str) {
|
|
|
31
36
|
if (utf8str.size() > INT_MAX) {
|
|
32
37
|
fail_check("utf8str_to_wstring: string is too long for converting to wstring.");
|
|
33
38
|
}
|
|
34
|
-
int size_required = MultiByteToWideChar(CP_UTF8, 0, utf8str.c_str(), (
|
|
39
|
+
int size_required = MultiByteToWideChar(CP_UTF8, 0, utf8str.c_str(), static_cast<int>(utf8str.size()), NULL, 0);
|
|
35
40
|
std::wstring ws_str(size_required, 0);
|
|
36
|
-
MultiByteToWideChar(CP_UTF8, 0, utf8str.c_str(), (
|
|
41
|
+
MultiByteToWideChar(CP_UTF8, 0, utf8str.c_str(), static_cast<int>(utf8str.size()), &ws_str[0], size_required);
|
|
37
42
|
return ws_str;
|
|
38
43
|
}
|
|
44
|
+
inline std::string wstring_to_utf8str(const std::wstring& ws_str) {
|
|
45
|
+
if (ws_str.size() > INT_MAX) {
|
|
46
|
+
fail_check("wstring_to_utf8str: string is too long for converting to UTF-8.");
|
|
47
|
+
}
|
|
48
|
+
int size_required =
|
|
49
|
+
WideCharToMultiByte(CP_UTF8, 0, ws_str.c_str(), static_cast<int>(ws_str.size()), NULL, 0, NULL, NULL);
|
|
50
|
+
std::string utf8str(size_required, 0);
|
|
51
|
+
WideCharToMultiByte(
|
|
52
|
+
CP_UTF8, 0, ws_str.c_str(), static_cast<int>(ws_str.size()), &utf8str[0], size_required, NULL, NULL);
|
|
53
|
+
return utf8str;
|
|
54
|
+
}
|
|
39
55
|
|
|
40
56
|
#else
|
|
41
57
|
std::string path_join(const std::string& origin, const std::string& append);
|
onnx/common/proto_util.h
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// Copyright (c) ONNX Project Contributors
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
#pragma once
|
|
8
|
+
|
|
9
|
+
#include <string>
|
|
10
|
+
|
|
11
|
+
#include "onnx/common/constants.h"
|
|
12
|
+
#include "onnx/onnx_pb.h"
|
|
13
|
+
|
|
14
|
+
namespace ONNX_NAMESPACE {
|
|
15
|
+
|
|
16
|
+
// ONNX (model-local) function identifiers are a tuple (domain, op, overload).
|
|
17
|
+
// The pair (domain, op) represents a specification of a function, while
|
|
18
|
+
// overload is used to disambiguate between multiple (specialized) implementations of
|
|
19
|
+
// the same specification. Overload is optional and can be empty.
|
|
20
|
+
// Multiple overloads may be used to distinguish implementations specialized
|
|
21
|
+
// for a specific type or rank of input tensors or for specific attribute values.
|
|
22
|
+
|
|
23
|
+
// A single string representation of (domain, op)
|
|
24
|
+
using FunctionSpecId = std::string;
|
|
25
|
+
|
|
26
|
+
// A single string representation of (domain, op, overload)
|
|
27
|
+
using FunctionImplId = std::string;
|
|
28
|
+
|
|
29
|
+
FunctionImplId GetFunctionImplId(const std::string& domain, const std::string& op, const std::string& overload) {
|
|
30
|
+
if (overload.empty())
|
|
31
|
+
return NormalizeDomain(domain) + "::" + op;
|
|
32
|
+
return NormalizeDomain(domain) + "::" + op + "::" + overload;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
FunctionImplId GetFunctionImplId(const FunctionProto& function) {
|
|
36
|
+
return GetFunctionImplId(function.domain(), function.name(), function.overload());
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
FunctionImplId GetCalleeId(const NodeProto& node) {
|
|
40
|
+
return GetFunctionImplId(node.domain(), node.op_type(), node.overload());
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
} // namespace ONNX_NAMESPACE
|
onnx/common/version.h
CHANGED
onnx/cpp2py_export.cc
CHANGED
|
@@ -233,34 +233,7 @@ PYBIND11_MODULE(onnx_cpp2py_export, onnx_cpp2py_export) {
|
|
|
233
233
|
.def_property_readonly("option", &OpSchema::FormalParameter::GetOption)
|
|
234
234
|
.def_property_readonly("is_homogeneous", &OpSchema::FormalParameter::GetIsHomogeneous)
|
|
235
235
|
.def_property_readonly("min_arity", &OpSchema::FormalParameter::GetMinArity)
|
|
236
|
-
.def_property_readonly("differentiation_category", &OpSchema::FormalParameter::GetDifferentiationCategory)
|
|
237
|
-
// Legacy camel cased names. We retain them for backward compatibility.
|
|
238
|
-
// TODO(#5074): Remove these before the 1.16 release.
|
|
239
|
-
.def_property_readonly(
|
|
240
|
-
"typeStr",
|
|
241
|
-
[](const OpSchema::FormalParameter& self) {
|
|
242
|
-
auto warnings = py::module::import("warnings");
|
|
243
|
-
warnings.attr("warn")(
|
|
244
|
-
"OpSchema.FormalParameter.typeStr is deprecated and will be removed in 1.16. "
|
|
245
|
-
"Use OpSchema.FormalParameter.type_str instead.");
|
|
246
|
-
return self.GetTypeStr();
|
|
247
|
-
})
|
|
248
|
-
.def_property_readonly(
|
|
249
|
-
"isHomogeneous",
|
|
250
|
-
[](const OpSchema::FormalParameter& self) {
|
|
251
|
-
auto warnings = py::module::import("warnings");
|
|
252
|
-
warnings.attr("warn")(
|
|
253
|
-
"OpSchema.FormalParameter.isHomogeneous is deprecated and will be removed in 1.16. "
|
|
254
|
-
"Use OpSchema.FormalParameter.is_homogeneous instead.");
|
|
255
|
-
return self.GetIsHomogeneous();
|
|
256
|
-
})
|
|
257
|
-
.def_property_readonly("differentiationCategory", [](const OpSchema::FormalParameter& self) {
|
|
258
|
-
auto warnings = py::module::import("warnings");
|
|
259
|
-
warnings.attr("warn")(
|
|
260
|
-
"OpSchema.FormalParameter.differentiationCategory is deprecated and will be removed in 1.16. "
|
|
261
|
-
"Use OpSchema.FormalParameter.differentiation_category instead.");
|
|
262
|
-
return self.GetDifferentiationCategory();
|
|
263
|
-
});
|
|
236
|
+
.def_property_readonly("differentiation_category", &OpSchema::FormalParameter::GetDifferentiationCategory);
|
|
264
237
|
|
|
265
238
|
op_schema
|
|
266
239
|
.def(
|
|
@@ -430,6 +403,14 @@ PYBIND11_MODULE(onnx_cpp2py_export, onnx_cpp2py_export) {
|
|
|
430
403
|
},
|
|
431
404
|
"op_type"_a,
|
|
432
405
|
"domain"_a = ONNX_DOMAIN)
|
|
406
|
+
.def(
|
|
407
|
+
"has_schema",
|
|
408
|
+
[](const std::string& op_type, int max_inclusive_version, const std::string& domain) -> bool {
|
|
409
|
+
return OpSchemaRegistry::Schema(op_type, max_inclusive_version, domain) != nullptr;
|
|
410
|
+
},
|
|
411
|
+
"op_type"_a,
|
|
412
|
+
"max_inclusive_version"_a,
|
|
413
|
+
"domain"_a = ONNX_DOMAIN)
|
|
433
414
|
.def(
|
|
434
415
|
"schema_version_map",
|
|
435
416
|
[]() -> std::unordered_map<std::string, std::pair<int, int>> {
|
|
@@ -469,7 +450,34 @@ PYBIND11_MODULE(onnx_cpp2py_export, onnx_cpp2py_export) {
|
|
|
469
450
|
.def(
|
|
470
451
|
"get_all_schemas_with_history",
|
|
471
452
|
[]() -> const std::vector<OpSchema> { return OpSchemaRegistry::get_all_schemas_with_history(); },
|
|
472
|
-
"Return the schema of all existing operators and all versions.")
|
|
453
|
+
"Return the schema of all existing operators and all versions.")
|
|
454
|
+
.def(
|
|
455
|
+
"set_domain_to_version",
|
|
456
|
+
[](const std::string& domain, int min_version, int max_version, int last_release_version) {
|
|
457
|
+
auto& obj = OpSchemaRegistry::DomainToVersionRange::Instance();
|
|
458
|
+
if (obj.Map().count(domain) == 0) {
|
|
459
|
+
obj.AddDomainToVersion(domain, min_version, max_version, last_release_version);
|
|
460
|
+
} else {
|
|
461
|
+
obj.UpdateDomainToVersion(domain, min_version, max_version, last_release_version);
|
|
462
|
+
}
|
|
463
|
+
},
|
|
464
|
+
"domain"_a,
|
|
465
|
+
"min_version"_a,
|
|
466
|
+
"max_version"_a,
|
|
467
|
+
"last_release_version"_a = -1,
|
|
468
|
+
"Set the version range and last release version of the specified domain.")
|
|
469
|
+
.def(
|
|
470
|
+
"register_schema",
|
|
471
|
+
[](OpSchema schema) { RegisterSchema(std::move(schema), 0, true, true); },
|
|
472
|
+
"schema"_a,
|
|
473
|
+
"Register a user provided OpSchema.")
|
|
474
|
+
.def(
|
|
475
|
+
"deregister_schema",
|
|
476
|
+
&DeregisterSchema,
|
|
477
|
+
"op_type"_a,
|
|
478
|
+
"version"_a,
|
|
479
|
+
"domain"_a,
|
|
480
|
+
"Deregister the specified OpSchema.");
|
|
473
481
|
|
|
474
482
|
// Submodule `checker`
|
|
475
483
|
auto checker = onnx_cpp2py_export.def_submodule("checker");
|
|
@@ -481,6 +489,9 @@ PYBIND11_MODULE(onnx_cpp2py_export, onnx_cpp2py_export) {
|
|
|
481
489
|
.def_property(
|
|
482
490
|
"opset_imports", &checker::CheckerContext::get_opset_imports, &checker::CheckerContext::set_opset_imports);
|
|
483
491
|
|
|
492
|
+
py::class_<checker::LexicalScopeContext> lexical_scope_context(checker, "LexicalScopeContext");
|
|
493
|
+
lexical_scope_context.def(py::init<>());
|
|
494
|
+
|
|
484
495
|
py::register_exception<checker::ValidationError>(checker, "ValidationError");
|
|
485
496
|
|
|
486
497
|
checker.def("check_value_info", [](const py::bytes& bytes, const checker::CheckerContext& ctx) -> void {
|
|
@@ -501,49 +512,70 @@ PYBIND11_MODULE(onnx_cpp2py_export, onnx_cpp2py_export) {
|
|
|
501
512
|
checker::check_sparse_tensor(proto, ctx);
|
|
502
513
|
});
|
|
503
514
|
|
|
504
|
-
checker.def(
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
515
|
+
checker.def(
|
|
516
|
+
"check_attribute",
|
|
517
|
+
[](const py::bytes& bytes,
|
|
518
|
+
const checker::CheckerContext& ctx,
|
|
519
|
+
const checker::LexicalScopeContext& lex_ctx) -> void {
|
|
520
|
+
AttributeProto proto{};
|
|
521
|
+
ParseProtoFromPyBytes(&proto, bytes);
|
|
522
|
+
checker::check_attribute(proto, ctx, lex_ctx);
|
|
523
|
+
});
|
|
509
524
|
|
|
510
|
-
checker.def(
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
525
|
+
checker.def(
|
|
526
|
+
"check_node",
|
|
527
|
+
[](const py::bytes& bytes,
|
|
528
|
+
const checker::CheckerContext& ctx,
|
|
529
|
+
const checker::LexicalScopeContext& lex_ctx) -> void {
|
|
530
|
+
NodeProto proto{};
|
|
531
|
+
ParseProtoFromPyBytes(&proto, bytes);
|
|
532
|
+
checker::check_node(proto, ctx, lex_ctx);
|
|
533
|
+
});
|
|
516
534
|
|
|
517
|
-
checker.def(
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
535
|
+
checker.def(
|
|
536
|
+
"check_function",
|
|
537
|
+
[](const py::bytes& bytes,
|
|
538
|
+
const checker::CheckerContext& ctx,
|
|
539
|
+
const checker::LexicalScopeContext& lex_ctx) -> void {
|
|
540
|
+
FunctionProto proto{};
|
|
541
|
+
ParseProtoFromPyBytes(&proto, bytes);
|
|
542
|
+
checker::check_function(proto, ctx, lex_ctx);
|
|
543
|
+
});
|
|
522
544
|
|
|
523
|
-
checker.def(
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
545
|
+
checker.def(
|
|
546
|
+
"check_graph",
|
|
547
|
+
[](const py::bytes& bytes,
|
|
548
|
+
const checker::CheckerContext& ctx,
|
|
549
|
+
const checker::LexicalScopeContext& lex_ctx) -> void {
|
|
550
|
+
GraphProto proto{};
|
|
551
|
+
ParseProtoFromPyBytes(&proto, bytes);
|
|
552
|
+
checker::check_graph(proto, ctx, lex_ctx);
|
|
553
|
+
});
|
|
529
554
|
|
|
530
555
|
checker.def(
|
|
531
556
|
"check_model",
|
|
532
|
-
[](const py::bytes& bytes, bool full_check, bool skip_opset_compatibility_check
|
|
557
|
+
[](const py::bytes& bytes, bool full_check, bool skip_opset_compatibility_check, bool check_custom_domain)
|
|
558
|
+
-> void {
|
|
533
559
|
ModelProto proto{};
|
|
534
560
|
ParseProtoFromPyBytes(&proto, bytes);
|
|
535
|
-
checker::check_model(proto, full_check, skip_opset_compatibility_check);
|
|
561
|
+
checker::check_model(proto, full_check, skip_opset_compatibility_check, check_custom_domain);
|
|
536
562
|
},
|
|
537
563
|
"bytes"_a,
|
|
538
564
|
"full_check"_a = false,
|
|
539
|
-
"skip_opset_compatibility_check"_a = false
|
|
565
|
+
"skip_opset_compatibility_check"_a = false,
|
|
566
|
+
"check_custom_domain"_a = false);
|
|
540
567
|
|
|
541
568
|
checker.def(
|
|
542
569
|
"check_model_path",
|
|
543
|
-
(void (*)(
|
|
570
|
+
(void (*)(
|
|
571
|
+
const std::string& path, bool full_check, bool skip_opset_compatibility_check, bool check_custom_domain)) &
|
|
572
|
+
checker::check_model,
|
|
544
573
|
"path"_a,
|
|
545
574
|
"full_check"_a = false,
|
|
546
|
-
"skip_opset_compatibility_check"_a = false
|
|
575
|
+
"skip_opset_compatibility_check"_a = false,
|
|
576
|
+
"check_custom_domain"_a = false);
|
|
577
|
+
|
|
578
|
+
checker.def("_resolve_external_data_location", &checker::resolve_external_data_location);
|
|
547
579
|
|
|
548
580
|
// Submodule `version_converter`
|
|
549
581
|
auto version_converter = onnx_cpp2py_export.def_submodule("version_converter");
|
onnx/defs/__init__.py
CHANGED
|
@@ -8,6 +8,8 @@ __all__ = [
|
|
|
8
8
|
"ONNX_ML_DOMAIN",
|
|
9
9
|
"AI_ONNX_PREVIEW_TRAINING_DOMAIN",
|
|
10
10
|
"has",
|
|
11
|
+
"register_schema",
|
|
12
|
+
"deregister_schema",
|
|
11
13
|
"get_schema",
|
|
12
14
|
"get_all_schemas",
|
|
13
15
|
"get_all_schemas_with_history",
|
|
@@ -31,16 +33,19 @@ has = C.has_schema
|
|
|
31
33
|
get_schema = C.get_schema
|
|
32
34
|
get_all_schemas = C.get_all_schemas
|
|
33
35
|
get_all_schemas_with_history = C.get_all_schemas_with_history
|
|
36
|
+
deregister_schema = C.deregister_schema
|
|
34
37
|
|
|
35
38
|
|
|
36
39
|
def onnx_opset_version() -> int:
|
|
37
|
-
"""
|
|
38
|
-
Return current opset for domain `ai.onnx`.
|
|
39
|
-
"""
|
|
40
|
-
|
|
40
|
+
"""Return current opset for domain `ai.onnx`."""
|
|
41
41
|
return C.schema_version_map()[ONNX_DOMAIN][1]
|
|
42
42
|
|
|
43
43
|
|
|
44
|
+
def onnx_ml_opset_version() -> int:
|
|
45
|
+
"""Return current opset for domain `ai.onnx.ml`."""
|
|
46
|
+
return C.schema_version_map()[ONNX_ML_DOMAIN][1]
|
|
47
|
+
|
|
48
|
+
|
|
44
49
|
@property # type: ignore
|
|
45
50
|
def _function_proto(self): # type: ignore
|
|
46
51
|
func_proto = FunctionProto()
|
|
@@ -112,12 +117,28 @@ OpSchema.Attribute.__repr__ = _op_schema_attribute_repr # type: ignore
|
|
|
112
117
|
|
|
113
118
|
|
|
114
119
|
def get_function_ops() -> List[OpSchema]:
|
|
115
|
-
"""
|
|
116
|
-
Return operators defined as functions.
|
|
117
|
-
"""
|
|
118
|
-
|
|
120
|
+
"""Return operators defined as functions."""
|
|
119
121
|
schemas = C.get_all_schemas()
|
|
120
122
|
return [schema for schema in schemas if schema.has_function or schema.has_context_dependent_function] # type: ignore
|
|
121
123
|
|
|
122
124
|
|
|
123
125
|
SchemaError = C.SchemaError
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
def register_schema(schema: OpSchema) -> None:
|
|
129
|
+
"""Register a user provided OpSchema.
|
|
130
|
+
|
|
131
|
+
The function extends available operator set versions for the provided domain if necessary.
|
|
132
|
+
|
|
133
|
+
Args:
|
|
134
|
+
schema: The OpSchema to register.
|
|
135
|
+
"""
|
|
136
|
+
version_map = C.schema_version_map()
|
|
137
|
+
domain = schema.domain
|
|
138
|
+
version = schema.since_version
|
|
139
|
+
min_version, max_version = version_map.get(domain, (version, version))
|
|
140
|
+
if domain not in version_map or not (min_version <= version <= max_version):
|
|
141
|
+
min_version = min(min_version, version)
|
|
142
|
+
max_version = max(max_version, version)
|
|
143
|
+
C.set_domain_to_version(schema.domain, min_version, max_version)
|
|
144
|
+
C.register_schema(schema)
|
onnx/defs/controlflow/defs.cc
CHANGED
|
@@ -12,10 +12,10 @@
|
|
|
12
12
|
namespace ONNX_NAMESPACE {
|
|
13
13
|
using SupportType = OpSchema::SupportType;
|
|
14
14
|
|
|
15
|
-
static std::vector<std::string>
|
|
16
|
-
auto t = OpSchema::
|
|
17
|
-
auto s = OpSchema::
|
|
18
|
-
auto o = OpSchema::
|
|
15
|
+
static std::vector<std::string> control_flow_types_ir10() {
|
|
16
|
+
auto t = OpSchema::all_tensor_types_ir10();
|
|
17
|
+
auto s = OpSchema::all_tensor_sequence_types_ir10();
|
|
18
|
+
auto o = OpSchema::all_optional_types_ir10();
|
|
19
19
|
t.insert(t.end(), s.begin(), s.end());
|
|
20
20
|
t.insert(t.end(), o.begin(), o.end());
|
|
21
21
|
return t;
|
|
@@ -23,7 +23,7 @@ static std::vector<std::string> control_flow_types_ir9() {
|
|
|
23
23
|
|
|
24
24
|
ONNX_OPERATOR_SET_SCHEMA(
|
|
25
25
|
If,
|
|
26
|
-
|
|
26
|
+
21,
|
|
27
27
|
OpSchema()
|
|
28
28
|
.SetDoc("If conditional")
|
|
29
29
|
.Input(0, "cond", "Condition for the if. The tensor must contain a single element.", "B")
|
|
@@ -63,12 +63,12 @@ ONNX_OPERATOR_SET_SCHEMA(
|
|
|
63
63
|
AttributeProto::GRAPH)
|
|
64
64
|
.TypeConstraint(
|
|
65
65
|
"V",
|
|
66
|
-
|
|
67
|
-
"All Tensor, Sequence(Tensor), Optional(Tensor), and Optional(Sequence(Tensor)) types up to
|
|
66
|
+
control_flow_types_ir10(),
|
|
67
|
+
"All Tensor, Sequence(Tensor), Optional(Tensor), and Optional(Sequence(Tensor)) types up to IRv10.")
|
|
68
68
|
.TypeConstraint("B", {"tensor(bool)"}, "Only bool")
|
|
69
69
|
.TypeAndShapeInferenceFunction(IfInferenceFunction));
|
|
70
70
|
|
|
71
|
-
static const char*
|
|
71
|
+
static const char* Loop_ver16_doc = R"DOC(
|
|
72
72
|
Generic Looping construct. This loop has multiple termination conditions:
|
|
73
73
|
|
|
74
74
|
1) Trip count. Iteration count specified at runtime. Set by
|
|
@@ -208,9 +208,9 @@ The input/output of subgraph (produced by loop node) matching is based on order
|
|
|
208
208
|
|
|
209
209
|
ONNX_OPERATOR_SET_SCHEMA(
|
|
210
210
|
Loop,
|
|
211
|
-
|
|
211
|
+
21,
|
|
212
212
|
OpSchema()
|
|
213
|
-
.SetDoc(
|
|
213
|
+
.SetDoc(Loop_ver16_doc)
|
|
214
214
|
.Input(
|
|
215
215
|
0,
|
|
216
216
|
"M",
|
|
@@ -253,13 +253,13 @@ ONNX_OPERATOR_SET_SCHEMA(
|
|
|
253
253
|
AttributeProto::GRAPH)
|
|
254
254
|
.TypeConstraint(
|
|
255
255
|
"V",
|
|
256
|
-
|
|
257
|
-
"All Tensor, Sequence(Tensor), Optional(Tensor), and Optional(Sequence(Tensor)) types up to
|
|
256
|
+
control_flow_types_ir10(),
|
|
257
|
+
"All Tensor, Sequence(Tensor), Optional(Tensor), and Optional(Sequence(Tensor)) types up to IRv10.")
|
|
258
258
|
.TypeConstraint("I", {"tensor(int64)"}, "tensor of int64, which should be a scalar.")
|
|
259
259
|
.TypeConstraint("B", {"tensor(bool)"}, "tensor of bool, which should be a scalar.")
|
|
260
260
|
.TypeAndShapeInferenceFunction(LoopInferenceFunction));
|
|
261
261
|
|
|
262
|
-
static const char*
|
|
262
|
+
static const char* scan_16_doc = R"DOC(
|
|
263
263
|
Scan can be used to iterate over one or more scan_input tensors,
|
|
264
264
|
constructing zero or more scan_output tensors. It combines ideas from general recurrences,
|
|
265
265
|
functional programming constructs such as scan, fold, map, and zip, and is intended to enable
|
|
@@ -385,9 +385,9 @@ values are computed in the outer graph, they need to be passed in as extra state
|
|
|
385
385
|
|
|
386
386
|
ONNX_OPERATOR_SET_SCHEMA(
|
|
387
387
|
Scan,
|
|
388
|
-
|
|
388
|
+
21,
|
|
389
389
|
OpSchema()
|
|
390
|
-
.SetDoc(
|
|
390
|
+
.SetDoc(scan_16_doc)
|
|
391
391
|
.Input(
|
|
392
392
|
0,
|
|
393
393
|
"initial_state_and_scan_inputs",
|
|
@@ -448,7 +448,7 @@ ONNX_OPERATOR_SET_SCHEMA(
|
|
|
448
448
|
"range is [-r, r-1].",
|
|
449
449
|
AttributeProto::INTS,
|
|
450
450
|
false)
|
|
451
|
-
.TypeConstraint("V", OpSchema::
|
|
451
|
+
.TypeConstraint("V", OpSchema::all_tensor_types_ir10(), "All Tensor types up to IRv10.")
|
|
452
452
|
.TypeAndShapeInferenceFunction(ScanInferenceFunction)); // Shares same shape inference as opset 11
|
|
453
453
|
|
|
454
454
|
} // namespace ONNX_NAMESPACE
|