onnx 1.13.1__cp39-cp39-macosx_10_12_universal2.whl → 1.14.1__cp39-cp39-macosx_10_12_universal2.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 +116 -70
- onnx/backend/__init__.py +2 -0
- onnx/backend/base.py +3 -0
- onnx/backend/sample/__init__.py +2 -0
- onnx/backend/sample/ops/__init__.py +8 -6
- onnx/backend/sample/ops/abs.py +1 -1
- onnx/backend/test/__init__.py +4 -1
- onnx/backend/test/case/__init__.py +4 -2
- onnx/backend/test/case/base.py +2 -0
- onnx/backend/test/case/model/__init__.py +8 -6
- onnx/backend/test/case/model/expand.py +4 -3
- onnx/backend/test/case/model/gradient.py +4 -3
- onnx/backend/test/case/model/sequence.py +4 -3
- onnx/backend/test/case/model/shrink.py +4 -3
- onnx/backend/test/case/model/sign.py +4 -3
- onnx/backend/test/case/model/single-relu.py +4 -3
- onnx/backend/test/case/model/stringnormalizer.py +4 -3
- onnx/backend/test/case/node/__init__.py +18 -12
- onnx/backend/test/case/node/abs.py +4 -3
- onnx/backend/test/case/node/acos.py +4 -3
- onnx/backend/test/case/node/acosh.py +4 -3
- onnx/backend/test/case/node/adagrad.py +4 -3
- onnx/backend/test/case/node/adam.py +4 -3
- onnx/backend/test/case/node/add.py +4 -3
- onnx/backend/test/case/node/ai_onnx_ml/__init__.py +0 -0
- onnx/backend/test/case/node/ai_onnx_ml/array_feature_extractor.py +30 -0
- onnx/backend/test/case/node/ai_onnx_ml/binarizer.py +27 -0
- onnx/backend/test/case/node/and.py +4 -3
- onnx/backend/test/case/node/argmax.py +4 -3
- onnx/backend/test/case/node/argmin.py +4 -3
- onnx/backend/test/case/node/asin.py +4 -3
- onnx/backend/test/case/node/asinh.py +4 -3
- onnx/backend/test/case/node/atan.py +4 -3
- onnx/backend/test/case/node/atanh.py +4 -3
- onnx/backend/test/case/node/averagepool.py +43 -4
- onnx/backend/test/case/node/batchnorm.py +4 -3
- onnx/backend/test/case/node/bernoulli.py +4 -3
- onnx/backend/test/case/node/bitshift.py +4 -3
- onnx/backend/test/case/node/bitwiseand.py +13 -11
- onnx/backend/test/case/node/bitwisenot.py +8 -6
- onnx/backend/test/case/node/bitwiseor.py +13 -11
- onnx/backend/test/case/node/bitwisexor.py +13 -11
- onnx/backend/test/case/node/blackmanwindow.py +4 -4
- onnx/backend/test/case/node/cast.py +218 -8
- onnx/backend/test/case/node/castlike.py +103 -9
- onnx/backend/test/case/node/ceil.py +4 -3
- onnx/backend/test/case/node/celu.py +4 -3
- onnx/backend/test/case/node/center_crop_pad.py +26 -3
- onnx/backend/test/case/node/clip.py +4 -3
- onnx/backend/test/case/node/col2im.py +5 -4
- onnx/backend/test/case/node/compress.py +4 -3
- onnx/backend/test/case/node/concat.py +4 -3
- onnx/backend/test/case/node/constant.py +4 -3
- onnx/backend/test/case/node/constantofshape.py +4 -3
- onnx/backend/test/case/node/conv.py +4 -3
- onnx/backend/test/case/node/convinteger.py +4 -3
- onnx/backend/test/case/node/convtranspose.py +4 -3
- onnx/backend/test/case/node/cos.py +4 -3
- onnx/backend/test/case/node/cosh.py +4 -3
- onnx/backend/test/case/node/cumsum.py +4 -3
- onnx/backend/test/case/node/deformconv.py +170 -0
- onnx/backend/test/case/node/depthtospace.py +4 -3
- onnx/backend/test/case/node/dequantizelinear.py +46 -3
- onnx/backend/test/case/node/det.py +4 -3
- onnx/backend/test/case/node/dft.py +4 -4
- onnx/backend/test/case/node/div.py +4 -3
- onnx/backend/test/case/node/dropout.py +4 -3
- onnx/backend/test/case/node/dynamicquantizelinear.py +4 -3
- onnx/backend/test/case/node/einsum.py +4 -4
- onnx/backend/test/case/node/elu.py +4 -3
- onnx/backend/test/case/node/equal.py +28 -3
- onnx/backend/test/case/node/erf.py +4 -3
- onnx/backend/test/case/node/exp.py +4 -3
- onnx/backend/test/case/node/expand.py +4 -3
- onnx/backend/test/case/node/eyelike.py +4 -3
- onnx/backend/test/case/node/flatten.py +4 -3
- onnx/backend/test/case/node/floor.py +4 -3
- onnx/backend/test/case/node/gather.py +4 -3
- onnx/backend/test/case/node/gatherelements.py +4 -3
- onnx/backend/test/case/node/gathernd.py +5 -4
- onnx/backend/test/case/node/gemm.py +4 -3
- onnx/backend/test/case/node/globalaveragepool.py +4 -3
- onnx/backend/test/case/node/globalmaxpool.py +4 -3
- onnx/backend/test/case/node/greater.py +4 -3
- onnx/backend/test/case/node/greater_equal.py +4 -3
- onnx/backend/test/case/node/gridsample.py +4 -3
- onnx/backend/test/case/node/groupnormalization.py +5 -4
- onnx/backend/test/case/node/gru.py +10 -9
- onnx/backend/test/case/node/hammingwindow.py +4 -4
- onnx/backend/test/case/node/hannwindow.py +4 -4
- onnx/backend/test/case/node/hardmax.py +4 -3
- onnx/backend/test/case/node/hardsigmoid.py +4 -3
- onnx/backend/test/case/node/hardswish.py +4 -3
- onnx/backend/test/case/node/identity.py +4 -3
- onnx/backend/test/case/node/if.py +4 -3
- onnx/backend/test/case/node/instancenorm.py +4 -3
- onnx/backend/test/case/node/isinf.py +4 -3
- onnx/backend/test/case/node/isnan.py +4 -3
- onnx/backend/test/case/node/layernormalization.py +4 -3
- onnx/backend/test/case/node/leakyrelu.py +4 -3
- onnx/backend/test/case/node/less.py +4 -3
- onnx/backend/test/case/node/less_equal.py +4 -3
- onnx/backend/test/case/node/log.py +4 -3
- onnx/backend/test/case/node/logsoftmax.py +4 -3
- onnx/backend/test/case/node/loop.py +4 -3
- onnx/backend/test/case/node/lppool.py +279 -0
- onnx/backend/test/case/node/lrn.py +4 -3
- onnx/backend/test/case/node/lstm.py +10 -9
- onnx/backend/test/case/node/matmul.py +4 -3
- onnx/backend/test/case/node/matmulinteger.py +4 -3
- onnx/backend/test/case/node/max.py +5 -4
- onnx/backend/test/case/node/maxpool.py +9 -4
- onnx/backend/test/case/node/maxunpool.py +4 -3
- onnx/backend/test/case/node/mean.py +4 -3
- onnx/backend/test/case/node/meanvariancenormalization.py +4 -3
- onnx/backend/test/case/node/melweightmatrix.py +4 -4
- onnx/backend/test/case/node/min.py +5 -4
- onnx/backend/test/case/node/mish.py +4 -3
- onnx/backend/test/case/node/mod.py +4 -3
- onnx/backend/test/case/node/momentum.py +4 -3
- onnx/backend/test/case/node/mul.py +4 -3
- onnx/backend/test/case/node/neg.py +4 -3
- onnx/backend/test/case/node/negativeloglikelihoodloss.py +4 -3
- onnx/backend/test/case/node/nonmaxsuppression.py +4 -3
- onnx/backend/test/case/node/nonzero.py +4 -3
- onnx/backend/test/case/node/not.py +4 -3
- onnx/backend/test/case/node/onehot.py +5 -4
- onnx/backend/test/case/node/optionalgetelement.py +4 -3
- onnx/backend/test/case/node/optionalhaselement.py +4 -3
- onnx/backend/test/case/node/or.py +4 -3
- onnx/backend/test/case/node/pad.py +36 -5
- onnx/backend/test/case/node/pool_op_common.py +20 -2
- onnx/backend/test/case/node/pow.py +4 -3
- onnx/backend/test/case/node/prelu.py +4 -3
- onnx/backend/test/case/node/qlinearconv.py +4 -3
- onnx/backend/test/case/node/qlinearmatmul.py +4 -3
- onnx/backend/test/case/node/quantizelinear.py +50 -3
- onnx/backend/test/case/node/rangeop.py +4 -3
- onnx/backend/test/case/node/reciprocal.py +4 -3
- onnx/backend/test/case/node/reduce_log_sum.py +4 -3
- onnx/backend/test/case/node/reduce_log_sum_exp.py +4 -3
- onnx/backend/test/case/node/reducel1.py +4 -3
- onnx/backend/test/case/node/reducel2.py +4 -3
- onnx/backend/test/case/node/reducemax.py +4 -3
- onnx/backend/test/case/node/reducemean.py +4 -3
- onnx/backend/test/case/node/reducemin.py +4 -3
- onnx/backend/test/case/node/reduceprod.py +4 -3
- onnx/backend/test/case/node/reducesum.py +4 -3
- onnx/backend/test/case/node/reducesumsquare.py +4 -3
- onnx/backend/test/case/node/relu.py +4 -3
- onnx/backend/test/case/node/reshape.py +4 -3
- onnx/backend/test/case/node/resize.py +73 -321
- onnx/backend/test/case/node/reversesequence.py +4 -3
- onnx/backend/test/case/node/rnn.py +10 -9
- onnx/backend/test/case/node/roialign.py +193 -3
- onnx/backend/test/case/node/round.py +4 -3
- onnx/backend/test/case/node/scan.py +4 -3
- onnx/backend/test/case/node/scatter.py +4 -3
- onnx/backend/test/case/node/scatterelements.py +4 -3
- onnx/backend/test/case/node/scatternd.py +4 -3
- onnx/backend/test/case/node/selu.py +4 -3
- onnx/backend/test/case/node/sequence_map.py +4 -4
- onnx/backend/test/case/node/sequenceinsert.py +4 -3
- onnx/backend/test/case/node/shape.py +4 -3
- onnx/backend/test/case/node/shrink.py +4 -3
- onnx/backend/test/case/node/sigmoid.py +4 -3
- onnx/backend/test/case/node/sign.py +4 -3
- onnx/backend/test/case/node/sin.py +4 -3
- onnx/backend/test/case/node/sinh.py +4 -3
- onnx/backend/test/case/node/size.py +4 -3
- onnx/backend/test/case/node/slice.py +4 -3
- onnx/backend/test/case/node/softmax.py +4 -3
- onnx/backend/test/case/node/softmaxcrossentropy.py +4 -3
- onnx/backend/test/case/node/softplus.py +4 -3
- onnx/backend/test/case/node/softsign.py +4 -3
- onnx/backend/test/case/node/spacetodepth.py +6 -3
- onnx/backend/test/case/node/split.py +4 -3
- onnx/backend/test/case/node/splittosequence.py +79 -0
- onnx/backend/test/case/node/sqrt.py +4 -3
- onnx/backend/test/case/node/squeeze.py +2 -0
- onnx/backend/test/case/node/stft.py +4 -4
- onnx/backend/test/case/node/stringnormalizer.py +4 -4
- onnx/backend/test/case/node/sub.py +4 -3
- onnx/backend/test/case/node/sum.py +4 -3
- onnx/backend/test/case/node/tan.py +4 -3
- onnx/backend/test/case/node/tanh.py +4 -3
- onnx/backend/test/case/node/tfidfvectorizer.py +4 -3
- onnx/backend/test/case/node/thresholdedrelu.py +4 -3
- onnx/backend/test/case/node/tile.py +4 -3
- onnx/backend/test/case/node/topk.py +4 -3
- onnx/backend/test/case/node/transpose.py +8 -7
- onnx/backend/test/case/node/trilu.py +4 -3
- onnx/backend/test/case/node/unique.py +4 -3
- onnx/backend/test/case/node/unsqueeze.py +4 -3
- onnx/backend/test/case/node/upsample.py +4 -3
- onnx/backend/test/case/node/where.py +4 -3
- onnx/backend/test/case/node/xor.py +4 -3
- onnx/backend/test/case/test_case.py +2 -0
- onnx/backend/test/case/utils.py +9 -0
- onnx/backend/test/cmd_tools.py +22 -13
- onnx/backend/test/data/light/README.md +16 -0
- onnx/backend/test/data/light/light_bvlc_alexnet.onnx +0 -0
- onnx/backend/test/data/light/light_bvlc_alexnet_output_0.pb +1 -0
- onnx/backend/test/data/light/light_densenet121.onnx +0 -0
- onnx/backend/test/data/light/light_densenet121_output_0.pb +1 -0
- onnx/backend/test/data/light/light_inception_v1.onnx +0 -0
- onnx/backend/test/data/light/light_inception_v1_output_0.pb +1 -0
- onnx/backend/test/data/light/light_inception_v2.onnx +0 -0
- onnx/backend/test/data/light/light_inception_v2_output_0.pb +1 -0
- onnx/backend/test/data/light/light_resnet50.onnx +0 -0
- onnx/backend/test/data/light/light_resnet50_output_0.pb +1 -0
- onnx/backend/test/data/light/light_shufflenet.onnx +0 -0
- onnx/backend/test/data/light/light_shufflenet_output_0.pb +1 -0
- onnx/backend/test/data/light/light_squeezenet.onnx +0 -0
- onnx/backend/test/data/light/light_squeezenet_output_0.pb +1 -0
- onnx/backend/test/data/light/light_vgg19.onnx +0 -0
- onnx/backend/test/data/light/light_vgg19_output_0.pb +1 -0
- onnx/backend/test/data/light/light_zfnet512.onnx +0 -0
- onnx/backend/test/data/light/light_zfnet512_output_0.pb +1 -0
- onnx/backend/test/data/node/test_acos/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_acosh/test_data_set_0/output_0.pb +1 -1
- onnx/backend/test/data/node/test_ai_onnx_ml_array_feature_extractor/model.onnx +19 -0
- onnx/backend/test/data/node/test_ai_onnx_ml_array_feature_extractor/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_ai_onnx_ml_array_feature_extractor/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_ai_onnx_ml_array_feature_extractor/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_ai_onnx_ml_binarizer/model.onnx +0 -0
- onnx/backend/test/data/node/test_ai_onnx_ml_binarizer/test_data_set_0/input_0.pb +1 -0
- onnx/backend/test/data/node/test_ai_onnx_ml_binarizer/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_asin/test_data_set_0/output_0.pb +1 -1
- onnx/backend/test/data/node/test_asinh/test_data_set_0/output_0.pb +1 -1
- onnx/backend/test/data/node/test_atan/test_data_set_0/output_0.pb +1 -1
- onnx/backend/test/data/node/test_atanh/test_data_set_0/output_0.pb +2 -2
- onnx/backend/test/data/node/test_averagepool_1d_default/model.onnx +0 -0
- onnx/backend/test/data/node/test_averagepool_2d_ceil/model.onnx +0 -0
- onnx/backend/test/data/node/test_averagepool_2d_default/model.onnx +0 -0
- onnx/backend/test/data/node/test_averagepool_2d_dilations/model.onnx +0 -0
- onnx/backend/test/data/node/test_averagepool_2d_dilations/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_averagepool_2d_dilations/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_averagepool_2d_pads/model.onnx +0 -0
- onnx/backend/test/data/node/test_averagepool_2d_pads_count_include_pad/model.onnx +0 -0
- onnx/backend/test/data/node/test_averagepool_2d_precomputed_pads/model.onnx +0 -0
- onnx/backend/test/data/node/test_averagepool_2d_precomputed_pads_count_include_pad/model.onnx +0 -0
- onnx/backend/test/data/node/test_averagepool_2d_precomputed_same_upper/model.onnx +0 -0
- onnx/backend/test/data/node/test_averagepool_2d_precomputed_strides/model.onnx +0 -0
- onnx/backend/test/data/node/test_averagepool_2d_same_lower/model.onnx +0 -0
- onnx/backend/test/data/node/test_averagepool_2d_same_upper/model.onnx +0 -0
- onnx/backend/test/data/node/test_averagepool_2d_strides/model.onnx +0 -0
- onnx/backend/test/data/node/test_averagepool_3d_default/model.onnx +0 -0
- onnx/backend/test/data/node/test_basic_deform_conv_with_padding/model.onnx +0 -0
- onnx/backend/test/data/node/test_basic_deform_conv_with_padding/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_basic_deform_conv_with_padding/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_basic_deform_conv_with_padding/test_data_set_0/input_2.pb +0 -0
- onnx/backend/test/data/node/test_basic_deform_conv_with_padding/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_basic_deform_conv_without_padding/model.onnx +0 -0
- onnx/backend/test/data/node/test_basic_deform_conv_without_padding/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_basic_deform_conv_without_padding/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_basic_deform_conv_without_padding/test_data_set_0/input_2.pb +0 -0
- onnx/backend/test/data/node/test_basic_deform_conv_without_padding/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_and_i16_3d/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_and_i16_3d/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_and_i16_3d/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_and_i32_2d/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_and_i32_2d/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_and_i32_2d/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_and_ui64_bcast_3v1d/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_and_ui64_bcast_3v1d/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_and_ui64_bcast_3v1d/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_and_ui8_bcast_4v3d/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_and_ui8_bcast_4v3d/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_and_ui8_bcast_4v3d/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_not_2d/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_not_2d/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_not_3d/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_not_3d/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_not_4d/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_not_4d/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_or_i16_4d/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_or_i16_4d/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_or_i16_4d/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_or_i32_2d/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_or_i32_2d/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_or_i32_2d/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_or_ui64_bcast_3v1d/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_or_ui64_bcast_3v1d/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_or_ui64_bcast_3v1d/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_or_ui8_bcast_4v3d/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_or_ui8_bcast_4v3d/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_or_ui8_bcast_4v3d/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_xor_i16_3d/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_xor_i16_3d/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_xor_i16_3d/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_xor_i32_2d/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_xor_i32_2d/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_xor_i32_2d/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_xor_ui64_bcast_3v1d/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_xor_ui64_bcast_3v1d/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_xor_ui64_bcast_3v1d/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_xor_ui8_bcast_4v3d/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_xor_ui8_bcast_4v3d/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_bitwise_xor_ui8_bcast_4v3d/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 -0
- 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 -0
- 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 -0
- 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 -0
- 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_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_STRING/model.onnx +0 -0
- onnx/backend/test/data/node/test_cast_STRING_to_FLOAT/model.onnx +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 -0
- 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 -0
- 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 -0
- 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 -0
- 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/test_data_set_0/input_0.pb +1 -0
- onnx/backend/test/data/node/test_castlike_FLOAT8E4M3FNUZ_to_FLOAT/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT8E4M3FNUZ_to_FLOAT/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT8E4M3FNUZ_to_FLOAT_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT8E4M3FNUZ_to_FLOAT_expanded/test_data_set_0/input_0.pb +1 -0
- onnx/backend/test/data/node/test_castlike_FLOAT8E4M3FNUZ_to_FLOAT_expanded/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT8E4M3FNUZ_to_FLOAT_expanded/test_data_set_0/output_0.pb +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/test_data_set_0/input_0.pb +1 -0
- onnx/backend/test/data/node/test_castlike_FLOAT8E4M3FN_to_FLOAT/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT8E4M3FN_to_FLOAT/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT8E4M3FN_to_FLOAT_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT8E4M3FN_to_FLOAT_expanded/test_data_set_0/input_0.pb +1 -0
- onnx/backend/test/data/node/test_castlike_FLOAT8E4M3FN_to_FLOAT_expanded/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT8E4M3FN_to_FLOAT_expanded/test_data_set_0/output_0.pb +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/test_data_set_0/input_0.pb +1 -0
- onnx/backend/test/data/node/test_castlike_FLOAT8E5M2FNUZ_to_FLOAT/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT8E5M2FNUZ_to_FLOAT/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT8E5M2FNUZ_to_FLOAT_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT8E5M2FNUZ_to_FLOAT_expanded/test_data_set_0/input_0.pb +1 -0
- onnx/backend/test/data/node/test_castlike_FLOAT8E5M2FNUZ_to_FLOAT_expanded/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT8E5M2FNUZ_to_FLOAT_expanded/test_data_set_0/output_0.pb +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/test_data_set_0/input_0.pb +1 -0
- onnx/backend/test/data/node/test_castlike_FLOAT8E5M2_to_FLOAT/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT8E5M2_to_FLOAT/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT8E5M2_to_FLOAT_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT8E5M2_to_FLOAT_expanded/test_data_set_0/input_0.pb +1 -0
- onnx/backend/test/data/node/test_castlike_FLOAT8E5M2_to_FLOAT_expanded/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT8E5M2_to_FLOAT_expanded/test_data_set_0/output_0.pb +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_FLOAT8E4M3FN/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT_to_FLOAT8E4M3FN/test_data_set_0/input_1.pb +1 -0
- onnx/backend/test/data/node/test_castlike_FLOAT_to_FLOAT8E4M3FN/test_data_set_0/output_0.pb +1 -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/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT_to_FLOAT8E4M3FNUZ/test_data_set_0/input_1.pb +1 -0
- onnx/backend/test/data/node/test_castlike_FLOAT_to_FLOAT8E4M3FNUZ/test_data_set_0/output_0.pb +1 -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_FLOAT8E4M3FNUZ_expanded/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT_to_FLOAT8E4M3FNUZ_expanded/test_data_set_0/input_1.pb +1 -0
- onnx/backend/test/data/node/test_castlike_FLOAT_to_FLOAT8E4M3FNUZ_expanded/test_data_set_0/output_0.pb +1 -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_FLOAT8E4M3FN_expanded/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT_to_FLOAT8E4M3FN_expanded/test_data_set_0/input_1.pb +1 -0
- onnx/backend/test/data/node/test_castlike_FLOAT_to_FLOAT8E4M3FN_expanded/test_data_set_0/output_0.pb +1 -0
- onnx/backend/test/data/node/test_castlike_FLOAT_to_FLOAT8E5M2/model.onnx +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT_to_FLOAT8E5M2/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT_to_FLOAT8E5M2/test_data_set_0/input_1.pb +1 -0
- onnx/backend/test/data/node/test_castlike_FLOAT_to_FLOAT8E5M2/test_data_set_0/output_0.pb +1 -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/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT_to_FLOAT8E5M2FNUZ/test_data_set_0/input_1.pb +1 -0
- onnx/backend/test/data/node/test_castlike_FLOAT_to_FLOAT8E5M2FNUZ/test_data_set_0/output_0.pb +1 -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_FLOAT8E5M2FNUZ_expanded/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT_to_FLOAT8E5M2FNUZ_expanded/test_data_set_0/input_1.pb +1 -0
- onnx/backend/test/data/node/test_castlike_FLOAT_to_FLOAT8E5M2FNUZ_expanded/test_data_set_0/output_0.pb +1 -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_FLOAT8E5M2_expanded/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_castlike_FLOAT_to_FLOAT8E5M2_expanded/test_data_set_0/input_1.pb +1 -0
- onnx/backend/test/data/node/test_castlike_FLOAT_to_FLOAT8E5M2_expanded/test_data_set_0/output_0.pb +1 -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_center_crop_pad_crop_negative_axes_hwc/model.onnx +0 -0
- onnx/backend/test/data/node/test_center_crop_pad_crop_negative_axes_hwc/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_center_crop_pad_crop_negative_axes_hwc/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_center_crop_pad_crop_negative_axes_hwc/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_center_crop_pad_crop_negative_axes_hwc_expanded/model.onnx +0 -0
- onnx/backend/test/data/node/test_center_crop_pad_crop_negative_axes_hwc_expanded/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_center_crop_pad_crop_negative_axes_hwc_expanded/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_center_crop_pad_crop_negative_axes_hwc_expanded/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_col2im_pads/test_data_set_0/output_0.pb +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_constant_pad_negative_axes/test_data_set_0/input_0.pb +1 -0
- onnx/backend/test/data/node/test_constant_pad_negative_axes/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_constant_pad_negative_axes/test_data_set_0/input_2.pb +1 -0
- onnx/backend/test/data/node/test_constant_pad_negative_axes/test_data_set_0/input_3.pb +1 -0
- onnx/backend/test/data/node/test_constant_pad_negative_axes/test_data_set_0/output_0.pb +1 -0
- onnx/backend/test/data/node/test_cosh/test_data_set_0/output_0.pb +1 -1
- onnx/backend/test/data/node/test_cosh_example/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_deform_conv_with_mask_bias/model.onnx +0 -0
- onnx/backend/test/data/node/test_deform_conv_with_mask_bias/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_deform_conv_with_mask_bias/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_deform_conv_with_mask_bias/test_data_set_0/input_2.pb +0 -0
- onnx/backend/test/data/node/test_deform_conv_with_mask_bias/test_data_set_0/input_3.pb +0 -0
- onnx/backend/test/data/node/test_deform_conv_with_mask_bias/test_data_set_0/input_4.pb +0 -0
- onnx/backend/test/data/node/test_deform_conv_with_mask_bias/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_deform_conv_with_multiple_offset_groups/model.onnx +0 -0
- onnx/backend/test/data/node/test_deform_conv_with_multiple_offset_groups/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_deform_conv_with_multiple_offset_groups/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_deform_conv_with_multiple_offset_groups/test_data_set_0/input_2.pb +0 -0
- onnx/backend/test/data/node/test_deform_conv_with_multiple_offset_groups/test_data_set_0/output_0.pb +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_e4m3fn/model.onnx +0 -0
- onnx/backend/test/data/node/test_dequantizelinear_e4m3fn/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_dequantizelinear_e4m3fn/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_dequantizelinear_e4m3fn/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_dequantizelinear_e5m2/model.onnx +0 -0
- onnx/backend/test/data/node/test_dequantizelinear_e5m2/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_dequantizelinear_e5m2/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_dequantizelinear_e5m2/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_equal/model.onnx +0 -0
- onnx/backend/test/data/node/test_equal_bcast/model.onnx +0 -0
- onnx/backend/test/data/node/test_equal_string/model.onnx +0 -0
- onnx/backend/test/data/node/test_equal_string/test_data_set_0/input_0.pb +1 -0
- onnx/backend/test/data/node/test_equal_string/test_data_set_0/input_1.pb +1 -0
- onnx/backend/test/data/node/test_equal_string/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_equal_string_broadcast/model.onnx +0 -0
- onnx/backend/test/data/node/test_equal_string_broadcast/test_data_set_0/input_0.pb +1 -0
- onnx/backend/test/data/node/test_equal_string_broadcast/test_data_set_0/input_1.pb +1 -0
- onnx/backend/test/data/node/test_equal_string_broadcast/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_lppool_1d_default/model.onnx +0 -0
- onnx/backend/test/data/node/test_lppool_1d_default/test_data_set_0/input_0.pb +1 -0
- onnx/backend/test/data/node/test_lppool_1d_default/test_data_set_0/output_0.pb +2 -0
- onnx/backend/test/data/node/test_lppool_2d_default/model.onnx +0 -0
- onnx/backend/test/data/node/test_lppool_2d_default/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_lppool_2d_default/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_lppool_2d_dilations/model.onnx +0 -0
- onnx/backend/test/data/node/test_lppool_2d_dilations/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_lppool_2d_dilations/test_data_set_0/output_0.pb +1 -0
- onnx/backend/test/data/node/test_lppool_2d_pads/model.onnx +0 -0
- onnx/backend/test/data/node/test_lppool_2d_pads/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_lppool_2d_pads/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_lppool_2d_same_lower/model.onnx +0 -0
- onnx/backend/test/data/node/test_lppool_2d_same_lower/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_lppool_2d_same_lower/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_lppool_2d_same_upper/model.onnx +0 -0
- onnx/backend/test/data/node/test_lppool_2d_same_upper/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_lppool_2d_same_upper/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_lppool_2d_strides/model.onnx +0 -0
- onnx/backend/test/data/node/test_lppool_2d_strides/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_lppool_2d_strides/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_lppool_3d_default/model.onnx +0 -0
- onnx/backend/test/data/node/test_lppool_3d_default/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_lppool_3d_default/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_mish/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_mish_expanded/test_data_set_0/output_0.pb +0 -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_e4m3fn/model.onnx +0 -0
- onnx/backend/test/data/node/test_quantizelinear_e4m3fn/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_quantizelinear_e4m3fn/test_data_set_0/input_1.pb +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_0.pb +0 -0
- onnx/backend/test/data/node/test_quantizelinear_e5m2/test_data_set_0/input_1.pb +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_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_resize_downsample_scales_cubic/model.onnx +0 -0
- onnx/backend/test/data/node/test_resize_downsample_scales_cubic_A_n0p5_exclude_outside/model.onnx +0 -0
- onnx/backend/test/data/node/test_resize_downsample_scales_cubic_align_corners/model.onnx +0 -0
- onnx/backend/test/data/node/test_resize_downsample_scales_cubic_antialias/model.onnx +0 -0
- onnx/backend/test/data/node/test_resize_downsample_scales_linear/model.onnx +0 -0
- onnx/backend/test/data/node/test_resize_downsample_scales_linear_align_corners/model.onnx +0 -0
- onnx/backend/test/data/node/test_resize_downsample_scales_linear_antialias/model.onnx +0 -0
- onnx/backend/test/data/node/test_resize_downsample_scales_linear_half_pixel_symmetric/model.onnx +0 -0
- onnx/backend/test/data/node/test_resize_downsample_scales_linear_half_pixel_symmetric/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_resize_downsample_scales_linear_half_pixel_symmetric/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_resize_downsample_scales_linear_half_pixel_symmetric/test_data_set_0/output_0.pb +1 -0
- onnx/backend/test/data/node/test_resize_downsample_scales_nearest/model.onnx +0 -0
- onnx/backend/test/data/node/test_resize_downsample_sizes_cubic/model.onnx +0 -0
- onnx/backend/test/data/node/test_resize_downsample_sizes_cubic_antialias/model.onnx +0 -0
- onnx/backend/test/data/node/test_resize_downsample_sizes_linear_antialias/model.onnx +0 -0
- onnx/backend/test/data/node/test_resize_downsample_sizes_linear_pytorch_half_pixel/model.onnx +0 -0
- onnx/backend/test/data/node/test_resize_downsample_sizes_nearest/model.onnx +0 -0
- onnx/backend/test/data/node/test_resize_downsample_sizes_nearest_not_larger/model.onnx +0 -0
- onnx/backend/test/data/node/test_resize_downsample_sizes_nearest_not_smaller/model.onnx +0 -0
- onnx/backend/test/data/node/test_resize_tf_crop_and_resize/model.onnx +0 -0
- onnx/backend/test/data/node/test_resize_tf_crop_and_resize_axes_2_3/model.onnx +0 -0
- onnx/backend/test/data/node/test_resize_tf_crop_and_resize_axes_3_2/model.onnx +0 -0
- onnx/backend/test/data/node/test_resize_upsample_scales_cubic/model.onnx +0 -0
- onnx/backend/test/data/node/test_resize_upsample_scales_cubic_A_n0p5_exclude_outside/model.onnx +0 -0
- onnx/backend/test/data/node/test_resize_upsample_scales_cubic_align_corners/model.onnx +0 -0
- onnx/backend/test/data/node/test_resize_upsample_scales_cubic_asymmetric/model.onnx +0 -0
- onnx/backend/test/data/node/test_resize_upsample_scales_linear/model.onnx +0 -0
- onnx/backend/test/data/node/test_resize_upsample_scales_linear_align_corners/model.onnx +0 -0
- onnx/backend/test/data/node/test_resize_upsample_scales_linear_half_pixel_symmetric/model.onnx +0 -0
- onnx/backend/test/data/node/test_resize_upsample_scales_linear_half_pixel_symmetric/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_resize_upsample_scales_linear_half_pixel_symmetric/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_resize_upsample_scales_linear_half_pixel_symmetric/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_resize_upsample_scales_nearest/model.onnx +0 -0
- onnx/backend/test/data/node/test_resize_upsample_scales_nearest_axes_2_3/model.onnx +0 -0
- onnx/backend/test/data/node/test_resize_upsample_scales_nearest_axes_3_2/model.onnx +0 -0
- onnx/backend/test/data/node/test_resize_upsample_sizes_cubic/model.onnx +0 -0
- onnx/backend/test/data/node/test_resize_upsample_sizes_nearest/model.onnx +0 -0
- onnx/backend/test/data/node/test_resize_upsample_sizes_nearest_axes_2_3/model.onnx +0 -0
- onnx/backend/test/data/node/test_resize_upsample_sizes_nearest_axes_3_2/model.onnx +0 -0
- onnx/backend/test/data/node/test_resize_upsample_sizes_nearest_ceil_half_pixel/model.onnx +0 -0
- onnx/backend/test/data/node/test_resize_upsample_sizes_nearest_floor_align_corners/model.onnx +0 -0
- onnx/backend/test/data/node/test_resize_upsample_sizes_nearest_not_larger/model.onnx +0 -0
- onnx/backend/test/data/node/test_resize_upsample_sizes_nearest_round_prefer_ceil_asymmetric/model.onnx +0 -0
- onnx/backend/test/data/node/test_roialign_mode_max/model.onnx +0 -0
- onnx/backend/test/data/node/test_roialign_mode_max/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_roialign_mode_max/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_roialign_mode_max/test_data_set_0/input_2.pb +0 -0
- onnx/backend/test/data/node/test_roialign_mode_max/test_data_set_0/output_0.pb +2 -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_sinh/test_data_set_0/output_0.pb +1 -1
- 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_softplus_example_expanded_ver18/model.onnx +0 -0
- onnx/backend/test/data/node/{test_softplus_expanded → test_softplus_expanded_ver18}/model.onnx +0 -0
- onnx/backend/test/data/node/test_split_to_sequence_1/model.onnx +0 -0
- onnx/backend/test/data/node/test_split_to_sequence_1/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_split_to_sequence_1/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_split_to_sequence_1/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_split_to_sequence_2/model.onnx +0 -0
- onnx/backend/test/data/node/test_split_to_sequence_2/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_split_to_sequence_2/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_split_to_sequence_2/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_split_to_sequence_nokeepdims/model.onnx +0 -0
- onnx/backend/test/data/node/test_split_to_sequence_nokeepdims/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_split_to_sequence_nokeepdims/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/node/test_tan/test_data_set_0/output_0.pb +1 -1
- onnx/backend/test/data/node/test_wrap_pad/model.onnx +0 -0
- onnx/backend/test/data/node/test_wrap_pad/test_data_set_0/input_0.pb +0 -0
- onnx/backend/test/data/node/test_wrap_pad/test_data_set_0/input_1.pb +0 -0
- onnx/backend/test/data/node/test_wrap_pad/test_data_set_0/output_0.pb +0 -0
- onnx/backend/test/data/real/test_bvlc_alexnet/data.json +1 -1
- onnx/backend/test/data/real/test_densenet121/data.json +1 -1
- onnx/backend/test/data/real/test_inception_v1/data.json +1 -1
- onnx/backend/test/data/real/test_inception_v2/data.json +1 -1
- onnx/backend/test/data/real/test_resnet50/data.json +1 -1
- onnx/backend/test/data/real/test_shufflenet/data.json +1 -1
- onnx/backend/test/data/real/test_squeezenet/data.json +1 -1
- onnx/backend/test/data/real/test_vgg19/data.json +1 -1
- onnx/backend/test/data/real/test_zfnet512/data.json +1 -1
- onnx/backend/test/loader/__init__.py +3 -1
- onnx/backend/test/report/__init__.py +3 -1
- onnx/backend/test/report/base.py +2 -0
- onnx/backend/test/report/coverage.py +8 -14
- onnx/backend/test/runner/__init__.py +146 -39
- onnx/backend/test/runner/item.py +2 -0
- onnx/backend/test/stat_coverage.py +23 -26
- onnx/bin/__init__.py +2 -0
- onnx/bin/checker.py +2 -0
- onnx/checker.cc +26 -9
- onnx/checker.h +3 -3
- onnx/checker.py +22 -5
- onnx/common/array_ref.h +2 -0
- onnx/common/assertions.cc +2 -0
- onnx/common/assertions.h +2 -0
- onnx/common/common.h +2 -0
- onnx/common/constants.h +3 -3
- onnx/common/file_utils.h +3 -1
- onnx/common/graph_node_list.h +2 -0
- onnx/common/interned_strings.cc +2 -0
- onnx/common/interned_strings.h +2 -0
- onnx/common/ir.h +2 -0
- onnx/common/ir_pb_converter.cc +7 -1
- onnx/common/ir_pb_converter.h +2 -0
- onnx/common/model_helpers.cc +3 -3
- onnx/common/model_helpers.h +3 -3
- onnx/common/path.cc +0 -1
- onnx/common/path.h +0 -1
- onnx/common/platform_helpers.h +2 -0
- onnx/common/status.cc +2 -0
- onnx/common/status.h +2 -0
- onnx/common/stl_backports.h +3 -3
- onnx/common/tensor.h +24 -171
- onnx/common/version.h +3 -1
- onnx/compose.py +40 -32
- onnx/cpp2py_export.cc +268 -89
- onnx/defs/__init__.py +9 -7
- onnx/defs/attr_proto_util.cc +2 -0
- onnx/defs/attr_proto_util.h +2 -0
- onnx/defs/controlflow/defs.cc +25 -369
- onnx/defs/controlflow/old.cc +444 -0
- onnx/defs/controlflow/utils.cc +357 -0
- onnx/defs/controlflow/utils.h +21 -0
- onnx/defs/data_propagators.h +2 -0
- onnx/defs/data_type_utils.cc +6 -2
- onnx/defs/gen_doc.py +32 -46
- onnx/defs/gen_shape_inference_information.py +2 -0
- onnx/defs/generator/defs.cc +21 -19
- onnx/defs/generator/old.cc +159 -0
- onnx/defs/logical/defs.cc +17 -16
- onnx/defs/logical/old.cc +23 -0
- onnx/defs/math/defs.cc +155 -131
- onnx/defs/math/old.cc +1 -1
- onnx/defs/nn/defs.cc +135 -45
- onnx/defs/nn/old.cc +142 -9
- onnx/defs/operator_sets.h +45 -0
- onnx/defs/optional/defs.cc +8 -4
- onnx/defs/parser.cc +50 -3
- onnx/defs/parser.h +43 -31
- onnx/defs/printer.cc +7 -1
- onnx/defs/printer.h +1 -1
- onnx/defs/quantization/defs.cc +63 -26
- onnx/defs/quantization/old.cc +102 -1
- onnx/defs/reduction/defs.cc +1 -1
- onnx/defs/reduction/utils.cc +5 -4
- onnx/defs/rnn/defs.cc +95 -173
- onnx/defs/schema.cc +45 -29
- onnx/defs/schema.h +125 -15
- onnx/defs/sequence/defs.cc +11 -8
- onnx/defs/shape_inference.cc +25 -4
- onnx/defs/shape_inference.h +29 -1
- onnx/defs/tensor/defs.cc +500 -566
- onnx/defs/tensor/old.cc +777 -47
- onnx/defs/tensor/utils.cc +130 -8
- onnx/defs/tensor/utils.h +2 -0
- onnx/defs/tensor_proto_util.cc +3 -0
- onnx/defs/traditionalml/defs.cc +19 -2
- onnx/examples/Protobufs.ipynb +129 -31
- onnx/examples/check_model.ipynb +29 -21
- onnx/examples/load_model.ipynb +25 -3
- onnx/examples/make_model.ipynb +32 -23
- onnx/external_data_helper.py +6 -6
- onnx/frontend/__init__.py +2 -0
- onnx/gen_proto.py +18 -24
- onnx/helper.py +393 -108
- onnx/hub.py +189 -20
- onnx/mapping.py +29 -3
- onnx/numpy_helper.py +263 -52
- onnx/onnx-ml.proto +28 -6
- onnx/onnx-operators-ml.proto +1 -1
- onnx/onnx-operators.in.proto +1 -1
- onnx/onnx-operators.proto +1 -1
- onnx/onnx.in.proto +28 -6
- onnx/onnx.proto +28 -6
- onnx/onnx_cpp2py_export.cpython-39-darwin.so +0 -0
- onnx/onnx_data_pb2.pyi +2 -1
- onnx/onnx_ml_pb2.py +33 -33
- onnx/onnx_ml_pb2.pyi +12 -2
- onnx/onnx_operators_ml_pb2.pyi +2 -1
- onnx/parser.py +29 -13
- onnx/printer.py +6 -4
- onnx/proto_utils.h +3 -3
- onnx/py_utils.h +3 -3
- onnx/reference/__init__.py +2 -0
- onnx/reference/custom_element_types.py +11 -0
- onnx/reference/op_run.py +84 -8
- onnx/reference/ops/__init__.py +5 -1
- onnx/reference/ops/_helpers.py +55 -0
- onnx/reference/ops/_op.py +19 -12
- onnx/reference/ops/_op_common_indices.py +2 -0
- onnx/reference/ops/_op_common_pool.py +4 -9
- onnx/reference/ops/_op_common_random.py +2 -0
- onnx/reference/ops/_op_common_window.py +2 -0
- onnx/reference/ops/_op_list.py +208 -214
- onnx/reference/ops/aionnx_preview_training/__init__.py +4 -2
- onnx/reference/ops/aionnx_preview_training/_op_list.py +15 -38
- onnx/reference/ops/aionnx_preview_training/_op_run_training.py +2 -0
- onnx/reference/ops/aionnx_preview_training/op_adagrad.py +3 -1
- onnx/reference/ops/aionnx_preview_training/op_adam.py +3 -1
- onnx/reference/ops/aionnx_preview_training/op_momentum.py +3 -1
- onnx/reference/ops/aionnxml/__init__.py +3 -0
- onnx/reference/ops/aionnxml/_common_classifier.py +81 -0
- onnx/reference/ops/aionnxml/_op_list.py +97 -0
- onnx/reference/ops/aionnxml/_op_run_aionnxml.py +8 -0
- onnx/reference/ops/aionnxml/op_array_feature_extractor.py +50 -0
- onnx/reference/ops/aionnxml/op_binarizer.py +15 -0
- onnx/reference/ops/aionnxml/op_dict_vectorizer.py +56 -0
- onnx/reference/ops/aionnxml/op_feature_vectorizer.py +30 -0
- onnx/reference/ops/aionnxml/op_imputer.py +47 -0
- onnx/reference/ops/aionnxml/op_label_encoder.py +52 -0
- onnx/reference/ops/aionnxml/op_linear_classifier.py +99 -0
- onnx/reference/ops/aionnxml/op_linear_regressor.py +26 -0
- onnx/reference/ops/aionnxml/op_normalizer.py +41 -0
- onnx/reference/ops/aionnxml/op_one_hot_encoder.py +55 -0
- onnx/reference/ops/aionnxml/op_scaler.py +12 -0
- onnx/reference/ops/aionnxml/op_svm_classifier.py +334 -0
- onnx/reference/ops/aionnxml/op_svm_helper.py +99 -0
- onnx/reference/ops/aionnxml/op_svm_regressor.py +45 -0
- onnx/reference/ops/aionnxml/op_tree_ensemble_classifier.py +132 -0
- onnx/reference/ops/aionnxml/op_tree_ensemble_helper.py +109 -0
- onnx/reference/ops/aionnxml/op_tree_ensemble_regressor.py +105 -0
- onnx/reference/ops/experimental/__init__.py +3 -1
- onnx/reference/ops/experimental/_op_list.py +15 -36
- onnx/reference/ops/experimental/_op_run_experimental.py +2 -0
- onnx/reference/ops/experimental/op_im2col.py +3 -2
- onnx/reference/ops/op_abs.py +3 -1
- onnx/reference/ops/op_acos.py +3 -1
- onnx/reference/ops/op_acosh.py +3 -1
- onnx/reference/ops/op_add.py +3 -1
- onnx/reference/ops/op_and.py +3 -1
- onnx/reference/ops/op_argmax.py +4 -9
- onnx/reference/ops/op_argmin.py +4 -9
- onnx/reference/ops/op_asin.py +3 -1
- onnx/reference/ops/op_asinh.py +3 -1
- onnx/reference/ops/op_atan.py +3 -1
- onnx/reference/ops/op_atanh.py +3 -1
- onnx/reference/ops/op_attribute_has_value.py +2 -0
- onnx/reference/ops/op_average_pool.py +80 -2
- onnx/reference/ops/op_batch_normalization.py +14 -11
- onnx/reference/ops/op_bernoulli.py +3 -2
- onnx/reference/ops/op_bitshift.py +3 -1
- onnx/reference/ops/op_bitwise_and.py +3 -1
- onnx/reference/ops/op_bitwise_not.py +3 -1
- onnx/reference/ops/op_bitwise_or.py +3 -1
- onnx/reference/ops/op_bitwise_xor.py +3 -1
- onnx/reference/ops/op_blackman_window.py +3 -1
- onnx/reference/ops/op_cast.py +91 -10
- onnx/reference/ops/op_cast_like.py +32 -7
- onnx/reference/ops/op_ceil.py +3 -1
- onnx/reference/ops/op_celu.py +3 -1
- onnx/reference/ops/op_center_crop_pad.py +7 -3
- onnx/reference/ops/op_clip.py +2 -7
- onnx/reference/ops/op_col2im.py +3 -2
- onnx/reference/ops/op_compress.py +2 -0
- onnx/reference/ops/op_concat.py +6 -5
- onnx/reference/ops/op_concat_from_sequence.py +2 -0
- onnx/reference/ops/op_constant.py +46 -35
- onnx/reference/ops/op_constant_of_shape.py +4 -0
- onnx/reference/ops/op_conv.py +62 -39
- onnx/reference/ops/op_conv_integer.py +3 -2
- onnx/reference/ops/op_conv_transpose.py +4 -3
- onnx/reference/ops/op_cos.py +3 -1
- onnx/reference/ops/op_cosh.py +3 -1
- onnx/reference/ops/op_cum_sum.py +2 -0
- onnx/reference/ops/op_deform_conv.py +178 -0
- onnx/reference/ops/op_depth_to_space.py +2 -0
- onnx/reference/ops/op_dequantize_linear.py +72 -21
- onnx/reference/ops/op_det.py +3 -4
- onnx/reference/ops/op_dft.py +2 -0
- onnx/reference/ops/op_div.py +3 -1
- onnx/reference/ops/op_dropout.py +2 -7
- onnx/reference/ops/op_dynamic_quantize_linear.py +2 -0
- onnx/reference/ops/op_einsum.py +2 -0
- onnx/reference/ops/op_elu.py +4 -2
- onnx/reference/ops/op_equal.py +3 -1
- onnx/reference/ops/op_erf.py +3 -1
- onnx/reference/ops/op_exp.py +4 -2
- onnx/reference/ops/op_expand.py +2 -0
- onnx/reference/ops/op_eyelike.py +9 -4
- onnx/reference/ops/op_flatten.py +3 -1
- onnx/reference/ops/op_floor.py +3 -1
- onnx/reference/ops/op_gather.py +2 -0
- onnx/reference/ops/op_gather_elements.py +2 -0
- onnx/reference/ops/op_gathernd.py +3 -1
- onnx/reference/ops/op_gemm.py +5 -10
- onnx/reference/ops/op_global_average_pool.py +6 -5
- onnx/reference/ops/op_global_max_pool.py +2 -0
- onnx/reference/ops/op_greater.py +3 -1
- onnx/reference/ops/op_greater_or_equal.py +3 -1
- onnx/reference/ops/op_grid_sample.py +3 -1
- onnx/reference/ops/op_gru.py +4 -1
- onnx/reference/ops/op_hamming_window.py +3 -1
- onnx/reference/ops/op_hann_window.py +3 -1
- onnx/reference/ops/op_hard_sigmoid.py +3 -1
- onnx/reference/ops/op_hardmax.py +3 -1
- onnx/reference/ops/op_identity.py +3 -1
- onnx/reference/ops/op_if.py +16 -7
- onnx/reference/ops/op_instance_normalization.py +2 -0
- onnx/reference/ops/op_isinf.py +2 -0
- onnx/reference/ops/op_isnan.py +3 -1
- onnx/reference/ops/op_layer_normalization.py +2 -0
- onnx/reference/ops/op_leaky_relu.py +4 -2
- onnx/reference/ops/op_less.py +3 -1
- onnx/reference/ops/op_less_or_equal.py +3 -1
- onnx/reference/ops/op_log.py +4 -2
- onnx/reference/ops/op_log_softmax.py +3 -1
- onnx/reference/ops/op_loop.py +4 -2
- onnx/reference/ops/op_lp_normalization.py +4 -2
- onnx/reference/ops/op_lp_pool.py +41 -0
- onnx/reference/ops/op_lrn.py +9 -5
- onnx/reference/ops/op_lstm.py +4 -2
- onnx/reference/ops/op_matmul.py +3 -1
- onnx/reference/ops/op_matmul_integer.py +2 -0
- onnx/reference/ops/op_max.py +3 -1
- onnx/reference/ops/op_max_pool.py +3 -1
- onnx/reference/ops/op_max_unpool.py +2 -0
- onnx/reference/ops/op_mean.py +3 -1
- onnx/reference/ops/op_mel_weight_matrix.py +2 -0
- onnx/reference/ops/op_min.py +3 -1
- onnx/reference/ops/op_mod.py +2 -0
- onnx/reference/ops/op_mul.py +3 -1
- onnx/reference/ops/op_neg.py +3 -1
- onnx/reference/ops/op_negative_log_likelihood_loss.py +3 -1
- onnx/reference/ops/op_non_max_suppression.py +22 -19
- onnx/reference/ops/op_non_zero.py +4 -1
- onnx/reference/ops/op_not.py +3 -1
- onnx/reference/ops/op_one_hot.py +3 -1
- onnx/reference/ops/op_optional.py +2 -0
- onnx/reference/ops/op_optional_get_element.py +4 -8
- onnx/reference/ops/op_optional_has_element.py +3 -9
- onnx/reference/ops/op_or.py +3 -1
- onnx/reference/ops/op_pad.py +18 -29
- onnx/reference/ops/op_pow.py +2 -0
- onnx/reference/ops/op_prelu.py +4 -2
- onnx/reference/ops/op_qlinear_conv.py +3 -2
- onnx/reference/ops/op_qlinear_matmul.py +2 -0
- onnx/reference/ops/op_quantize_linear.py +100 -15
- onnx/reference/ops/op_random_normal.py +3 -1
- onnx/reference/ops/op_random_normal_like.py +3 -2
- onnx/reference/ops/op_random_uniform.py +3 -1
- onnx/reference/ops/op_random_uniform_like.py +3 -2
- onnx/reference/ops/op_range.py +2 -0
- onnx/reference/ops/op_reciprocal.py +4 -2
- onnx/reference/ops/op_reduce_l1.py +17 -31
- onnx/reference/ops/op_reduce_l2.py +17 -35
- onnx/reference/ops/op_reduce_log_sum.py +6 -29
- onnx/reference/ops/op_reduce_log_sum_exp.py +6 -29
- onnx/reference/ops/op_reduce_max.py +15 -36
- onnx/reference/ops/op_reduce_mean.py +15 -33
- onnx/reference/ops/op_reduce_min.py +15 -32
- onnx/reference/ops/op_reduce_prod.py +15 -29
- onnx/reference/ops/op_reduce_sum.py +17 -45
- onnx/reference/ops/op_reduce_sum_square.py +15 -29
- onnx/reference/ops/op_relu.py +3 -1
- onnx/reference/ops/op_reshape.py +2 -7
- onnx/reference/ops/op_resize.py +59 -26
- onnx/reference/ops/op_reverse_sequence.py +2 -0
- onnx/reference/ops/op_rnn.py +3 -7
- onnx/reference/ops/op_roi_align.py +7 -5
- onnx/reference/ops/op_round.py +4 -2
- onnx/reference/ops/op_scan.py +5 -2
- onnx/reference/ops/op_scatter_elements.py +17 -4
- onnx/reference/ops/op_scatternd.py +2 -0
- onnx/reference/ops/op_selu.py +5 -1
- onnx/reference/ops/op_sequence_at.py +2 -0
- onnx/reference/ops/op_sequence_construct.py +2 -0
- onnx/reference/ops/op_sequence_empty.py +2 -0
- onnx/reference/ops/op_sequence_erase.py +2 -0
- onnx/reference/ops/op_sequence_insert.py +4 -2
- onnx/reference/ops/op_sequence_length.py +7 -1
- onnx/reference/ops/op_sequence_map.py +4 -2
- onnx/reference/ops/op_shape.py +2 -7
- onnx/reference/ops/op_shrink.py +3 -1
- onnx/reference/ops/op_sigmoid.py +7 -1
- onnx/reference/ops/op_sign.py +3 -1
- onnx/reference/ops/op_sin.py +3 -1
- onnx/reference/ops/op_sinh.py +3 -1
- onnx/reference/ops/op_size.py +2 -0
- onnx/reference/ops/op_slice.py +3 -9
- onnx/reference/ops/op_softmax.py +4 -2
- onnx/reference/ops/op_softmax_cross_entropy_loss.py +4 -1
- onnx/reference/ops/op_softplus.py +4 -2
- onnx/reference/ops/op_softsign.py +3 -1
- onnx/reference/ops/op_space_to_depth.py +3 -1
- onnx/reference/ops/op_split.py +7 -9
- onnx/reference/ops/op_split_to_sequence.py +41 -10
- onnx/reference/ops/op_sqrt.py +4 -2
- onnx/reference/ops/op_squeeze.py +3 -12
- onnx/reference/ops/op_stft.py +8 -7
- onnx/reference/ops/op_string_normalizer.py +4 -3
- onnx/reference/ops/op_sub.py +3 -1
- onnx/reference/ops/op_sum.py +3 -1
- onnx/reference/ops/op_tan.py +3 -1
- onnx/reference/ops/op_tanh.py +3 -1
- onnx/reference/ops/op_tfidf_vectorizer.py +15 -13
- onnx/reference/ops/op_thresholded_relu.py +4 -2
- onnx/reference/ops/op_tile.py +2 -0
- onnx/reference/ops/op_topk.py +12 -19
- onnx/reference/ops/op_transpose.py +2 -0
- onnx/reference/ops/op_trilu.py +3 -1
- onnx/reference/ops/op_unique.py +2 -0
- onnx/reference/ops/op_unsqueeze.py +2 -9
- onnx/reference/ops/op_upsample.py +9 -8
- onnx/reference/ops/op_where.py +7 -1
- onnx/reference/ops/op_xor.py +3 -1
- onnx/reference/reference_evaluator.py +64 -20
- onnx/shape_inference/implementation.cc +204 -43
- onnx/shape_inference/implementation.h +33 -13
- onnx/shape_inference.py +37 -12
- onnx/string_utils.h +3 -3
- onnx/test/cpp/common_path_test.cc +2 -0
- onnx/test/cpp/data_propagation_test.cc +2 -0
- onnx/test/cpp/function_context_test.cc +2 -0
- onnx/test/cpp/function_get_test.cc +2 -0
- onnx/test/cpp/function_verify_test.cc +176 -0
- onnx/test/cpp/op_reg_test.cc +2 -0
- onnx/test/cpp/parser_test.cc +37 -1
- onnx/test/cpp/schema_registration_test.cc +2 -0
- onnx/test/cpp/shape_inference_test.cc +2 -0
- onnx/test/cpp/test_main.cc +2 -0
- onnx/tools/__init__.py +2 -0
- onnx/tools/net_drawer.py +13 -9
- onnx/tools/replace_constants.py +429 -0
- onnx/tools/update_model_dims.py +7 -9
- onnx/utils.py +16 -6
- onnx/version.py +2 -2
- onnx/version_converter/BaseConverter.h +2 -0
- onnx/version_converter/adapters/adapter.h +2 -0
- onnx/version_converter/adapters/axes_attribute_to_input.h +2 -0
- onnx/version_converter/adapters/axes_input_to_attribute.h +2 -0
- onnx/version_converter/adapters/batch_normalization_13_14.h +2 -0
- onnx/version_converter/adapters/broadcast_backward_compatibility.h +2 -0
- onnx/version_converter/adapters/broadcast_forward_compatibility.h +2 -0
- onnx/version_converter/adapters/cast_9_8.h +2 -0
- onnx/version_converter/adapters/clip_10_11.h +2 -0
- onnx/version_converter/adapters/compatible.h +2 -0
- onnx/version_converter/adapters/dropout_11_12.h +2 -0
- onnx/version_converter/adapters/extend_supported_types.h +2 -0
- onnx/version_converter/adapters/gemm_6_7.h +2 -0
- onnx/version_converter/adapters/gemm_7_6.h +2 -0
- onnx/version_converter/adapters/maxpool_8_7.h +2 -0
- onnx/version_converter/adapters/no_previous_version.h +2 -0
- onnx/version_converter/adapters/pad_10_11.h +4 -0
- onnx/version_converter/adapters/remove_consumed_inputs.h +2 -0
- onnx/version_converter/adapters/reshape_4_5.h +2 -0
- onnx/version_converter/adapters/reshape_5_4.h +2 -0
- onnx/version_converter/adapters/resize_10_11.h +2 -0
- onnx/version_converter/adapters/scan_8_9.h +2 -0
- onnx/version_converter/adapters/scan_9_8.h +2 -0
- onnx/version_converter/adapters/scatter_10_11.h +2 -0
- onnx/version_converter/adapters/slice_9_10.h +2 -0
- onnx/version_converter/adapters/softmax_12_13.h +20 -28
- onnx/version_converter/adapters/split_12_13.h +2 -0
- onnx/version_converter/adapters/split_13_12.h +2 -0
- onnx/version_converter/adapters/split_17_18.h +2 -0
- onnx/version_converter/adapters/sum_8_7.h +2 -0
- onnx/version_converter/adapters/topk_9_10.h +2 -0
- onnx/version_converter/adapters/transformers.h +3 -1
- onnx/version_converter/adapters/type_restriction.h +2 -0
- onnx/version_converter/adapters/upsample_6_7.h +2 -0
- onnx/version_converter/adapters/upsample_8_9.h +2 -0
- onnx/version_converter/adapters/upsample_9_10.h +2 -0
- onnx/version_converter/adapters/upsample_9_8.h +2 -0
- onnx/version_converter/convert.cc +14 -7
- onnx/version_converter/convert.h +20 -0
- onnx/version_converter/helper.cc +3 -3
- onnx/version_converter/helper.h +3 -3
- onnx/version_converter.py +6 -3
- {onnx-1.13.1.dist-info → onnx-1.14.1.dist-info}/METADATA +96 -52
- {onnx-1.13.1.dist-info → onnx-1.14.1.dist-info}/RECORD +1056 -743
- {onnx-1.13.1.dist-info → onnx-1.14.1.dist-info}/WHEEL +1 -1
- onnx/backend/test/data/node/test_softplus_example_expanded/model.onnx +0 -0
- /onnx/backend/test/data/node/{test_softplus_example_expanded → test_softplus_example_expanded_ver18}/test_data_set_0/input_0.pb +0 -0
- /onnx/backend/test/data/node/{test_softplus_example_expanded → test_softplus_example_expanded_ver18}/test_data_set_0/output_0.pb +0 -0
- /onnx/backend/test/data/node/{test_softplus_expanded → test_softplus_expanded_ver18}/test_data_set_0/input_0.pb +0 -0
- /onnx/backend/test/data/node/{test_softplus_expanded → test_softplus_expanded_ver18}/test_data_set_0/output_0.pb +0 -0
- {onnx-1.13.1.dist-info → onnx-1.14.1.dist-info}/LICENSE +0 -0
- {onnx-1.13.1.dist-info → onnx-1.14.1.dist-info}/entry_points.txt +0 -0
- {onnx-1.13.1.dist-info → onnx-1.14.1.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,429 @@
|
|
|
1
|
+
# Copyright (c) ONNX Project Contributors
|
|
2
|
+
|
|
3
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
# pylint: disable=too-many-statements,too-many-branches
|
|
5
|
+
from typing import List, Optional, Union
|
|
6
|
+
|
|
7
|
+
import numpy as np
|
|
8
|
+
|
|
9
|
+
from onnx import (
|
|
10
|
+
AttributeProto,
|
|
11
|
+
FunctionProto,
|
|
12
|
+
GraphProto,
|
|
13
|
+
ModelProto,
|
|
14
|
+
NodeProto,
|
|
15
|
+
SparseTensorProto,
|
|
16
|
+
TensorProto,
|
|
17
|
+
)
|
|
18
|
+
from onnx.helper import (
|
|
19
|
+
make_attribute,
|
|
20
|
+
make_function,
|
|
21
|
+
make_graph,
|
|
22
|
+
make_model,
|
|
23
|
+
make_node,
|
|
24
|
+
make_tensor,
|
|
25
|
+
make_tensor_value_info,
|
|
26
|
+
set_model_props,
|
|
27
|
+
tensor_dtype_to_np_dtype,
|
|
28
|
+
)
|
|
29
|
+
from onnx.numpy_helper import from_array
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
def _replace_constant(
|
|
33
|
+
node: NodeProto, threshold: int, value_constant_of_shape: float
|
|
34
|
+
) -> List[NodeProto]:
|
|
35
|
+
"""
|
|
36
|
+
Replaces a Constant node with a large tensor (with more than threshold elements)
|
|
37
|
+
by a sequence of nodes that produces a dummy constant of same shape as original tensor.
|
|
38
|
+
"""
|
|
39
|
+
if node.op_type != "Constant":
|
|
40
|
+
raise TypeError(f"Node type must be 'Constant' not {node.op_type!r}.")
|
|
41
|
+
for att in node.attribute:
|
|
42
|
+
if att.name == "sparse_value":
|
|
43
|
+
raise NotImplementedError(
|
|
44
|
+
f"This feature is not yet implemented for a sparse constant "
|
|
45
|
+
f"(node name={node.name!r})."
|
|
46
|
+
)
|
|
47
|
+
if att.name == "value":
|
|
48
|
+
value = att.t
|
|
49
|
+
new_name = f"{value.name}__SHAPE"
|
|
50
|
+
dims = value.dims
|
|
51
|
+
size = np.prod(dims)
|
|
52
|
+
if size <= threshold:
|
|
53
|
+
return [node]
|
|
54
|
+
init = from_array(np.array(list(dims), dtype=np.int64), name=new_name)
|
|
55
|
+
dtype = tensor_dtype_to_np_dtype(value.data_type)
|
|
56
|
+
node_shape = make_node(
|
|
57
|
+
"Constant",
|
|
58
|
+
[],
|
|
59
|
+
[new_name],
|
|
60
|
+
value=init,
|
|
61
|
+
)
|
|
62
|
+
new_node = make_node(
|
|
63
|
+
"ConstantOfShape",
|
|
64
|
+
[new_name],
|
|
65
|
+
node.output,
|
|
66
|
+
value=from_array(np.array([value_constant_of_shape], dtype=dtype)),
|
|
67
|
+
)
|
|
68
|
+
return [node_shape, new_node]
|
|
69
|
+
raise NotImplementedError(
|
|
70
|
+
f"Replacement of constant with attribute {att.name!r}"
|
|
71
|
+
)
|
|
72
|
+
return [node]
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
def _replace_constant_of_shape_with_range(
|
|
76
|
+
onx: Union[GraphProto, FunctionProto]
|
|
77
|
+
) -> Union[GraphProto, FunctionProto]:
|
|
78
|
+
"""
|
|
79
|
+
Replaces all *ConstantOfShape* by node *Range* to avoid constant tensors.
|
|
80
|
+
The function is not recursive. The recursivity is done by
|
|
81
|
+
*replace_initializer_by_constant_of_shape*.
|
|
82
|
+
"""
|
|
83
|
+
|
|
84
|
+
if isinstance(onx, GraphProto):
|
|
85
|
+
nodes = list(onx.node)
|
|
86
|
+
elif isinstance(onx, FunctionProto):
|
|
87
|
+
nodes = list(onx.node)
|
|
88
|
+
else:
|
|
89
|
+
raise TypeError(f"Not implemented for type {type(onx)}.")
|
|
90
|
+
|
|
91
|
+
existing_names = set()
|
|
92
|
+
for node in nodes:
|
|
93
|
+
existing_names |= set(node.input)
|
|
94
|
+
existing_names |= set(node.output)
|
|
95
|
+
|
|
96
|
+
def _find_name(prefix):
|
|
97
|
+
if prefix not in existing_names:
|
|
98
|
+
existing_names.add(prefix)
|
|
99
|
+
return prefix
|
|
100
|
+
i = 2
|
|
101
|
+
while True:
|
|
102
|
+
name = f"{prefix}_{i}"
|
|
103
|
+
if name not in existing_names:
|
|
104
|
+
existing_names.add(name)
|
|
105
|
+
return name
|
|
106
|
+
i += 1
|
|
107
|
+
# The function should never go through that line.
|
|
108
|
+
raise RuntimeError("The function should never go through that line.")
|
|
109
|
+
|
|
110
|
+
cst0 = make_node("Constant", [], [_find_name("zero")], value_int=0)
|
|
111
|
+
cst1 = make_node("Constant", [], [_find_name("one")], value_int=1)
|
|
112
|
+
update = {}
|
|
113
|
+
for inode, node in enumerate(nodes):
|
|
114
|
+
if node.op_type != "ConstantOfShape":
|
|
115
|
+
continue
|
|
116
|
+
shape = node.input[0]
|
|
117
|
+
|
|
118
|
+
n = make_node("ReduceProd", [shape], [_find_name(f"{shape}_N")])
|
|
119
|
+
a = make_node(
|
|
120
|
+
"Range",
|
|
121
|
+
[cst0.output[0], n.output[0], cst1.output[0]],
|
|
122
|
+
[_find_name(f"{shape}_RANGE")],
|
|
123
|
+
)
|
|
124
|
+
if len(node.attribute) == 1:
|
|
125
|
+
to = node.attribute[0].t.data_type
|
|
126
|
+
else:
|
|
127
|
+
to = TensorProto.FLOAT
|
|
128
|
+
ac = make_node("Cast", [a.output[0]], [_find_name(f"{shape}_RANGEf")], to=to)
|
|
129
|
+
cl = make_node("Cast", [n.output[0]], [_find_name(f"{shape}_Nf")], to=to)
|
|
130
|
+
d = make_node(
|
|
131
|
+
"Div", [ac.output[0], cl.output[0]], [_find_name(f"{shape}_FLAT")]
|
|
132
|
+
)
|
|
133
|
+
resh = make_node("Reshape", [d.output[0], shape], node.output)
|
|
134
|
+
update[inode] = [n, a, ac, cl, d, resh]
|
|
135
|
+
|
|
136
|
+
for inode, up in sorted(update.items(), reverse=True):
|
|
137
|
+
nodes[inode : inode + 1] = up
|
|
138
|
+
nodes.insert(0, cst0)
|
|
139
|
+
nodes.insert(1, cst1)
|
|
140
|
+
|
|
141
|
+
if isinstance(onx, GraphProto):
|
|
142
|
+
graph = make_graph(
|
|
143
|
+
nodes,
|
|
144
|
+
onx.name,
|
|
145
|
+
onx.input,
|
|
146
|
+
onx.output,
|
|
147
|
+
initializer=onx.initializer,
|
|
148
|
+
sparse_initializer=onx.sparse_initializer,
|
|
149
|
+
)
|
|
150
|
+
return graph
|
|
151
|
+
if isinstance(onx, FunctionProto):
|
|
152
|
+
new_onx = make_function(
|
|
153
|
+
onx.domain,
|
|
154
|
+
onx.name,
|
|
155
|
+
onx.input,
|
|
156
|
+
onx.output,
|
|
157
|
+
nodes,
|
|
158
|
+
opset_imports=onx.opset_import,
|
|
159
|
+
)
|
|
160
|
+
return new_onx
|
|
161
|
+
raise TypeError(f"Not implemented for type {type(onx)}.")
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
def _replace_constant_of_shape_value(
|
|
165
|
+
onx: Union[GraphProto, FunctionProto], value_constant_of_shape: float
|
|
166
|
+
) -> Union[GraphProto, FunctionProto]:
|
|
167
|
+
"""
|
|
168
|
+
Replaces all fill value of all nodes *ConstantOfShape*.
|
|
169
|
+
*replace_initializer_by_constant_of_shape*.
|
|
170
|
+
"""
|
|
171
|
+
|
|
172
|
+
if isinstance(onx, GraphProto):
|
|
173
|
+
nodes = list(onx.node)
|
|
174
|
+
elif isinstance(onx, FunctionProto):
|
|
175
|
+
nodes = list(onx.node)
|
|
176
|
+
else:
|
|
177
|
+
raise TypeError(f"Not implemented for type {type(onx)}.")
|
|
178
|
+
|
|
179
|
+
existing_names = set()
|
|
180
|
+
for node in nodes:
|
|
181
|
+
existing_names |= set(node.input)
|
|
182
|
+
existing_names |= set(node.output)
|
|
183
|
+
|
|
184
|
+
update = {}
|
|
185
|
+
for inode, node in enumerate(nodes):
|
|
186
|
+
if node.op_type != "ConstantOfShape":
|
|
187
|
+
continue
|
|
188
|
+
tensor = node.attribute[0].t
|
|
189
|
+
new_tensor = make_tensor(
|
|
190
|
+
tensor.name, tensor.data_type, [1], [value_constant_of_shape]
|
|
191
|
+
)
|
|
192
|
+
new_node = make_node("ConstantOfShape", node.input, node.output)
|
|
193
|
+
att = make_attribute(node.attribute[0].name, value=new_tensor)
|
|
194
|
+
new_node.attribute.append(att)
|
|
195
|
+
update[inode] = new_node
|
|
196
|
+
|
|
197
|
+
for inode, up in update.items():
|
|
198
|
+
nodes[inode] = up
|
|
199
|
+
|
|
200
|
+
if isinstance(onx, GraphProto):
|
|
201
|
+
graph = make_graph(
|
|
202
|
+
nodes,
|
|
203
|
+
onx.name,
|
|
204
|
+
onx.input,
|
|
205
|
+
onx.output,
|
|
206
|
+
initializer=onx.initializer,
|
|
207
|
+
sparse_initializer=onx.sparse_initializer,
|
|
208
|
+
)
|
|
209
|
+
return graph
|
|
210
|
+
if isinstance(onx, FunctionProto):
|
|
211
|
+
new_onx = make_function(
|
|
212
|
+
onx.domain,
|
|
213
|
+
onx.name,
|
|
214
|
+
onx.input,
|
|
215
|
+
onx.output,
|
|
216
|
+
nodes,
|
|
217
|
+
opset_imports=onx.opset_import,
|
|
218
|
+
)
|
|
219
|
+
return new_onx
|
|
220
|
+
raise TypeError(f"Not implemented for type {type(onx)}.")
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
def replace_initializer_by_constant_of_shape(
|
|
224
|
+
onx: Union[FunctionProto, GraphProto, ModelProto],
|
|
225
|
+
threshold: int = 128,
|
|
226
|
+
ir_version: Optional[int] = None,
|
|
227
|
+
use_range: bool = False,
|
|
228
|
+
value_constant_of_shape: float = 0.5,
|
|
229
|
+
):
|
|
230
|
+
"""
|
|
231
|
+
Replace initializers or constant node by nodes *ConstantOfShape* to reduce
|
|
232
|
+
the size. This reduce the cost to write a unit test about
|
|
233
|
+
a specific graph structure.
|
|
234
|
+
|
|
235
|
+
:param onx: ModelProto
|
|
236
|
+
:param threshold: every initializer under this threshold is not impacted
|
|
237
|
+
:param ir_version: initializer must be specified as input for `ir_version <= 3`,
|
|
238
|
+
this must be specified if onx is :class:`FunctionProto` or :class:`GraphProto`
|
|
239
|
+
:param use_range: if uses operator *Range* instead of *ConstantOfShape* to avoid
|
|
240
|
+
constant tensors
|
|
241
|
+
:param value_constant_of_shape: value to use as a value for all nodes *ConstantOfShape*,
|
|
242
|
+
a high value may produce nan or inf predictions
|
|
243
|
+
:return: onx, modified ModelProto
|
|
244
|
+
|
|
245
|
+
The function is designed so that the function can be reapplied on a modified model
|
|
246
|
+
and either replace *ConstantOfShape* with *Range* operators, either replace the fill value
|
|
247
|
+
for every *ConstantOfShape*.
|
|
248
|
+
"""
|
|
249
|
+
if isinstance(onx, FunctionProto):
|
|
250
|
+
modified = False
|
|
251
|
+
new_nodes: List[NodeProto] = []
|
|
252
|
+
for node in onx.node:
|
|
253
|
+
if node.op_type == "Constant":
|
|
254
|
+
cst_nodes = _replace_constant(node, threshold, value_constant_of_shape)
|
|
255
|
+
if len(cst_nodes) == 2:
|
|
256
|
+
modified = True
|
|
257
|
+
new_nodes.extend(cst_nodes)
|
|
258
|
+
continue
|
|
259
|
+
new_nodes.append(node)
|
|
260
|
+
if modified:
|
|
261
|
+
new_onx = make_function(
|
|
262
|
+
onx.domain,
|
|
263
|
+
onx.name,
|
|
264
|
+
onx.input,
|
|
265
|
+
onx.output,
|
|
266
|
+
new_nodes,
|
|
267
|
+
opset_imports=onx.opset_import,
|
|
268
|
+
)
|
|
269
|
+
if use_range:
|
|
270
|
+
return _replace_constant_of_shape_with_range(new_onx)
|
|
271
|
+
if value_constant_of_shape != 1:
|
|
272
|
+
return _replace_constant_of_shape_value(
|
|
273
|
+
new_onx, value_constant_of_shape
|
|
274
|
+
)
|
|
275
|
+
return new_onx
|
|
276
|
+
if use_range:
|
|
277
|
+
return _replace_constant_of_shape_with_range(onx)
|
|
278
|
+
if value_constant_of_shape != 1:
|
|
279
|
+
return _replace_constant_of_shape_value(onx, value_constant_of_shape)
|
|
280
|
+
return onx
|
|
281
|
+
|
|
282
|
+
if isinstance(onx, ModelProto):
|
|
283
|
+
new_graph = replace_initializer_by_constant_of_shape(
|
|
284
|
+
onx.graph,
|
|
285
|
+
ir_version=ir_version or onx.ir_version,
|
|
286
|
+
threshold=threshold,
|
|
287
|
+
use_range=use_range,
|
|
288
|
+
value_constant_of_shape=value_constant_of_shape,
|
|
289
|
+
)
|
|
290
|
+
new_functions = [
|
|
291
|
+
replace_initializer_by_constant_of_shape(
|
|
292
|
+
f,
|
|
293
|
+
threshold=threshold,
|
|
294
|
+
ir_version=ir_version or onx.ir_version,
|
|
295
|
+
use_range=use_range,
|
|
296
|
+
value_constant_of_shape=value_constant_of_shape,
|
|
297
|
+
)
|
|
298
|
+
for f in onx.functions
|
|
299
|
+
]
|
|
300
|
+
model = make_model(
|
|
301
|
+
new_graph,
|
|
302
|
+
functions=new_functions,
|
|
303
|
+
producer_name=onx.producer_name,
|
|
304
|
+
producer_version=onx.producer_version,
|
|
305
|
+
ir_version=ir_version or onx.ir_version,
|
|
306
|
+
doc_string=onx.doc_string,
|
|
307
|
+
domain=onx.domain,
|
|
308
|
+
model_version=onx.model_version,
|
|
309
|
+
)
|
|
310
|
+
if len(onx.metadata_props) > 0: # pragma: no cover
|
|
311
|
+
values = {p.key: p.value for p in onx.metadata_props}
|
|
312
|
+
set_model_props(model, values)
|
|
313
|
+
|
|
314
|
+
del model.opset_import[:] # pylint: disable=E1101
|
|
315
|
+
for oimp in onx.opset_import:
|
|
316
|
+
op_set = model.opset_import.add() # pylint: disable=E1101
|
|
317
|
+
if oimp.domain == "" and oimp.version < 11 and use_range:
|
|
318
|
+
raise RuntimeError(
|
|
319
|
+
f"Range was introduced in " f"opset 11 but opset is {oimp.version}."
|
|
320
|
+
)
|
|
321
|
+
if oimp.domain == "" and oimp.version < 9:
|
|
322
|
+
raise RuntimeError(
|
|
323
|
+
f"ConstantOfShape was introduced in "
|
|
324
|
+
f"opset 9 but opset is {oimp.version}."
|
|
325
|
+
)
|
|
326
|
+
op_set.domain = oimp.domain
|
|
327
|
+
op_set.version = oimp.version
|
|
328
|
+
return model
|
|
329
|
+
|
|
330
|
+
if not isinstance(onx, GraphProto):
|
|
331
|
+
raise TypeError(f"onx should be a GraphProto at this stage not {type(onx)}.")
|
|
332
|
+
|
|
333
|
+
n_modifications = 0
|
|
334
|
+
new_nodes = []
|
|
335
|
+
removed = set()
|
|
336
|
+
additional_inputs = []
|
|
337
|
+
|
|
338
|
+
new_inits: List[TensorProto] = []
|
|
339
|
+
for init in onx.initializer:
|
|
340
|
+
dims = tuple(init.dims)
|
|
341
|
+
size = np.prod(dims)
|
|
342
|
+
if size <= threshold:
|
|
343
|
+
new_inits.append(init)
|
|
344
|
+
continue
|
|
345
|
+
n_modifications += 1
|
|
346
|
+
new_name = f"{init.name}__SHAPE"
|
|
347
|
+
new_inits.append(
|
|
348
|
+
from_array(np.array(list(dims), dtype=np.int64), name=new_name)
|
|
349
|
+
)
|
|
350
|
+
dtype = tensor_dtype_to_np_dtype(init.data_type)
|
|
351
|
+
node = make_node(
|
|
352
|
+
"ConstantOfShape",
|
|
353
|
+
[new_name],
|
|
354
|
+
[init.name],
|
|
355
|
+
value=from_array(np.array([0.5], dtype=dtype)),
|
|
356
|
+
)
|
|
357
|
+
new_nodes.append(node)
|
|
358
|
+
removed.add(init.name)
|
|
359
|
+
if ir_version is not None and ir_version <= 3:
|
|
360
|
+
additional_inputs.append(
|
|
361
|
+
make_tensor_value_info(new_name, TensorProto.INT64, [len(dims)])
|
|
362
|
+
)
|
|
363
|
+
|
|
364
|
+
new_sparse_inits: List[SparseTensorProto] = []
|
|
365
|
+
for sp_init in onx.sparse_initializer:
|
|
366
|
+
dims = tuple(sp_init.dims)
|
|
367
|
+
size = np.prod(dims)
|
|
368
|
+
if size <= threshold:
|
|
369
|
+
new_sparse_inits.append(sp_init)
|
|
370
|
+
continue
|
|
371
|
+
raise NotImplementedError(
|
|
372
|
+
f"This feature is not yet implemented for a sparse initializer "
|
|
373
|
+
f"(indices.name={sp_init.indices.name!r}, "
|
|
374
|
+
f"values.name={sp_init.values.name!r})."
|
|
375
|
+
)
|
|
376
|
+
|
|
377
|
+
for node in onx.node:
|
|
378
|
+
if node.op_type == "Constant":
|
|
379
|
+
shape_nodes = _replace_constant(node, threshold, value_constant_of_shape)
|
|
380
|
+
if len(shape_nodes) == 2:
|
|
381
|
+
n_modifications += 1
|
|
382
|
+
new_nodes.extend(shape_nodes)
|
|
383
|
+
continue
|
|
384
|
+
modified = False
|
|
385
|
+
atts = []
|
|
386
|
+
for att in node.attribute:
|
|
387
|
+
if (
|
|
388
|
+
att.type == AttributeProto.GRAPH
|
|
389
|
+
and hasattr(att, "g")
|
|
390
|
+
and att.g is not None
|
|
391
|
+
):
|
|
392
|
+
g = replace_initializer_by_constant_of_shape(
|
|
393
|
+
att.g,
|
|
394
|
+
threshold=threshold,
|
|
395
|
+
ir_version=ir_version,
|
|
396
|
+
use_range=use_range,
|
|
397
|
+
value_constant_of_shape=value_constant_of_shape,
|
|
398
|
+
)
|
|
399
|
+
if id(g) != id(att.g):
|
|
400
|
+
modified = True
|
|
401
|
+
att = make_attribute(att.name, g)
|
|
402
|
+
atts.append(att)
|
|
403
|
+
if modified:
|
|
404
|
+
new_node = make_node(node.op_type, node.input, node.output)
|
|
405
|
+
new_node.attribute.extend(atts)
|
|
406
|
+
new_nodes.append(new_node)
|
|
407
|
+
n_modifications += 1
|
|
408
|
+
else:
|
|
409
|
+
new_nodes.append(node)
|
|
410
|
+
|
|
411
|
+
if n_modifications > 0:
|
|
412
|
+
graph = make_graph(
|
|
413
|
+
new_nodes,
|
|
414
|
+
onx.name,
|
|
415
|
+
[i for i in onx.input if i.name not in removed] + additional_inputs,
|
|
416
|
+
onx.output,
|
|
417
|
+
initializer=new_inits,
|
|
418
|
+
sparse_initializer=new_sparse_inits,
|
|
419
|
+
)
|
|
420
|
+
if use_range:
|
|
421
|
+
return _replace_constant_of_shape_with_range(graph)
|
|
422
|
+
if value_constant_of_shape != 1:
|
|
423
|
+
return _replace_constant_of_shape_value(graph, value_constant_of_shape)
|
|
424
|
+
return graph
|
|
425
|
+
if use_range:
|
|
426
|
+
return _replace_constant_of_shape_with_range(onx)
|
|
427
|
+
if value_constant_of_shape != 1:
|
|
428
|
+
return _replace_constant_of_shape_value(onx, value_constant_of_shape)
|
|
429
|
+
return onx
|
onnx/tools/update_model_dims.py
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# Copyright (c) ONNX Project Contributors
|
|
2
|
+
|
|
1
3
|
# SPDX-License-Identifier: Apache-2.0
|
|
2
4
|
|
|
3
5
|
from typing import Any, Dict, List, Set
|
|
@@ -63,18 +65,14 @@ def update_inputs_outputs_dims(
|
|
|
63
65
|
if dim >= 0:
|
|
64
66
|
if dim_proto.HasField("dim_value") and dim_proto.dim_value != dim:
|
|
65
67
|
raise ValueError(
|
|
66
|
-
"Unable to set dimension value to {} for axis {} of {}. Contradicts existing dimension value {}."
|
|
67
|
-
dim, j, name, dim_proto.dim_value
|
|
68
|
-
)
|
|
68
|
+
f"Unable to set dimension value to {dim} for axis {j} of {name}. Contradicts existing dimension value {dim_proto.dim_value}."
|
|
69
69
|
)
|
|
70
70
|
dim_proto.dim_value = dim
|
|
71
71
|
else:
|
|
72
72
|
generated_dim_param = name + "_" + str(j)
|
|
73
73
|
if generated_dim_param in dim_param_set:
|
|
74
74
|
raise ValueError(
|
|
75
|
-
"Unable to generate unique dim_param for axis {} of {}. Please manually provide a dim_param value."
|
|
76
|
-
j, name
|
|
77
|
-
)
|
|
75
|
+
f"Unable to generate unique dim_param for axis {j} of {name}. Please manually provide a dim_param value."
|
|
78
76
|
)
|
|
79
77
|
dim_proto.dim_param = generated_dim_param
|
|
80
78
|
elif isinstance(dim, str):
|
|
@@ -84,11 +82,11 @@ def update_inputs_outputs_dims(
|
|
|
84
82
|
f"Only int or str is accepted as dimension value, incorrect type: {type(dim)}"
|
|
85
83
|
)
|
|
86
84
|
|
|
87
|
-
for
|
|
88
|
-
input_name =
|
|
85
|
+
for input_ in model.graph.input:
|
|
86
|
+
input_name = input_.name
|
|
89
87
|
input_dim_arr = input_dims[input_name]
|
|
90
88
|
for j, dim in enumerate(input_dim_arr):
|
|
91
|
-
update_dim(
|
|
89
|
+
update_dim(input_, dim, j, input_name)
|
|
92
90
|
|
|
93
91
|
for output in model.graph.output:
|
|
94
92
|
output_name = output.name
|
onnx/utils.py
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# Copyright (c) ONNX Project Contributors
|
|
2
|
+
#
|
|
1
3
|
# SPDX-License-Identifier: Apache-2.0
|
|
2
4
|
|
|
3
5
|
import os
|
|
@@ -22,7 +24,7 @@ class Extractor:
|
|
|
22
24
|
|
|
23
25
|
def _collect_new_io_core(self, original_io, io_names_to_extract): # type: ignore
|
|
24
26
|
original_io_map = self._build_name2obj_dict(original_io)
|
|
25
|
-
original_io_names = set(original_io_map
|
|
27
|
+
original_io_names = set(original_io_map)
|
|
26
28
|
s_io_names_to_extract = set(io_names_to_extract)
|
|
27
29
|
io_names_to_keep = s_io_names_to_extract & original_io_names
|
|
28
30
|
new_io_names_to_add = s_io_names_to_extract - original_io_names
|
|
@@ -69,7 +71,7 @@ class Extractor:
|
|
|
69
71
|
input_names: List[str],
|
|
70
72
|
output_names: List[str],
|
|
71
73
|
) -> List[NodeProto]:
|
|
72
|
-
reachable_nodes =
|
|
74
|
+
reachable_nodes = [] # type: ignore[var-annotated]
|
|
73
75
|
for name in output_names:
|
|
74
76
|
self._dfs_search_reachable_nodes(name, input_names, reachable_nodes)
|
|
75
77
|
# needs to be topology sorted.
|
|
@@ -120,10 +122,18 @@ class Extractor:
|
|
|
120
122
|
for name in node.output:
|
|
121
123
|
all_tensors_name.add(name)
|
|
122
124
|
|
|
123
|
-
initializer = [self.wmap[t] for t in self.wmap
|
|
124
|
-
value_info = [self.vimap[t] for t in self.vimap
|
|
125
|
-
|
|
126
|
-
|
|
125
|
+
initializer = [self.wmap[t] for t in self.wmap if t in all_tensors_name]
|
|
126
|
+
value_info = [self.vimap[t] for t in self.vimap if t in all_tensors_name]
|
|
127
|
+
len_sparse_initializer = len(self.graph.sparse_initializer)
|
|
128
|
+
if len_sparse_initializer != 0:
|
|
129
|
+
raise ValueError(
|
|
130
|
+
f"len_sparse_initializer is {len_sparse_initializer}, it must be 0."
|
|
131
|
+
)
|
|
132
|
+
len_quantization_annotation = len(self.graph.quantization_annotation)
|
|
133
|
+
if len_quantization_annotation != 0:
|
|
134
|
+
raise ValueError(
|
|
135
|
+
f"len_quantization_annotation is {len_quantization_annotation}, it must be 0."
|
|
136
|
+
)
|
|
127
137
|
return initializer, value_info
|
|
128
138
|
|
|
129
139
|
def _make_model(
|
onnx/version.py
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// Copyright (c) ONNX Project Contributors
|
|
2
|
+
|
|
1
3
|
/*
|
|
2
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
3
5
|
*/
|
|
@@ -27,6 +29,8 @@ class Pad_10_11 final : public Adapter {
|
|
|
27
29
|
node->removeAttribute(kpads);
|
|
28
30
|
// Turn value attribute into input
|
|
29
31
|
if (!node->hasAttribute(kmode) || node->s(kmode) == "constant") {
|
|
32
|
+
if (!node->hasAttribute(kvalue))
|
|
33
|
+
node->f_(kvalue, 0.);
|
|
30
34
|
Tensor t_value;
|
|
31
35
|
t_value.elem_type() = TensorProto_DataType_FLOAT;
|
|
32
36
|
auto& data_value = t_value.floats();
|