onnx 1.13.1__cp37-cp37m-win_amd64.whl → 1.14.1__cp37-cp37m-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 +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.cp37-win_amd64.pyd +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
onnx/defs/nn/defs.cc
CHANGED
|
@@ -220,11 +220,7 @@ std::function<void(OpSchema&)> PoolOpSchemaGenerator(
|
|
|
220
220
|
```
|
|
221
221
|
output_spatial_shape[i] = ceil((input_spatial_shape[i] + pad_shape[i] - {kernelSpatialShape}) / strides_spatial_shape[i] + 1)
|
|
222
222
|
```
|
|
223
|
-
if ceil_mode is enabled
|
|
224
|
-
|
|
225
|
-
```
|
|
226
|
-
* pad_shape[i] is sum of pads along axis i
|
|
227
|
-
```
|
|
223
|
+
if ceil_mode is enabled `pad_shape[i]` is the sum of pads along axis `i`.
|
|
228
224
|
|
|
229
225
|
`auto_pad` is a DEPRECATED attribute. If you are using them currently, the output spatial shape will be following:
|
|
230
226
|
```
|
|
@@ -311,14 +307,19 @@ std::function<void(OpSchema&)> PoolOpSchemaGenerator(
|
|
|
311
307
|
|
|
312
308
|
ONNX_OPERATOR_SET_SCHEMA(
|
|
313
309
|
AveragePool,
|
|
314
|
-
|
|
310
|
+
19,
|
|
315
311
|
OpSchema()
|
|
316
312
|
.FillUsing(PoolOpSchemaGenerator(
|
|
317
313
|
"AveragePool",
|
|
318
314
|
"average",
|
|
319
315
|
"The output of each pooling window is divided by the number of elements (exclude pad when attribute count_include_pad is zero).",
|
|
320
|
-
|
|
321
|
-
false))
|
|
316
|
+
true, /* use_dilation: dilations attribute has been added in opset 19. */
|
|
317
|
+
false /* supports8bit: does not support 8bit. */))
|
|
318
|
+
.Attr(
|
|
319
|
+
"dilations",
|
|
320
|
+
"Dilation value along each spatial axis of filter. If not present, the dilation defaults to 1 along each spatial axis.",
|
|
321
|
+
AttributeProto::INTS,
|
|
322
|
+
OPTIONAL_VALUE)
|
|
322
323
|
.Attr(
|
|
323
324
|
"count_include_pad",
|
|
324
325
|
"Whether include pad pixels when calculating values for the edges. Default is 0, doesn't count include pad.",
|
|
@@ -557,11 +558,7 @@ std::function<void(OpSchema&)> LpPoolOpSchemaGenerator(const char* name) {
|
|
|
557
558
|
```
|
|
558
559
|
output_spatial_shape[i] = ceil((input_spatial_shape[i] + pad_shape[i] - {kernelSpatialShape}) / strides_spatial_shape[i] + 1)
|
|
559
560
|
```
|
|
560
|
-
if ceil_mode is enabled
|
|
561
|
-
|
|
562
|
-
```
|
|
563
|
-
* pad_shape[i] is sum of pads along axis i
|
|
564
|
-
```
|
|
561
|
+
if ceil_mode is enabled `pad_shape[i]` is the sum of pads along axis `i`.
|
|
565
562
|
|
|
566
563
|
`auto_pad` is a DEPRECATED attribute. If you are using them currently, the output spatial shape will be following:
|
|
567
564
|
```
|
|
@@ -1371,6 +1368,104 @@ output_shape can also be explicitly specified in which case pads values are auto
|
|
|
1371
1368
|
|
|
1372
1369
|
ONNX_OPERATOR_SET_SCHEMA(ConvTranspose, 11, OpSchema().FillUsing(ConvTransposeOpSchemaGenerator("a filter")));
|
|
1373
1370
|
|
|
1371
|
+
static const char* DeformConv_ver19_doc = R"DOC(
|
|
1372
|
+
Performs deformable convolution as described in https://arxiv.org/abs/1703.06211 and https://arxiv.org/abs/1811.11168.
|
|
1373
|
+
This operator specification supports the general N-D case. Note that most common use cases have 2D or 3D data.
|
|
1374
|
+
)DOC";
|
|
1375
|
+
|
|
1376
|
+
ONNX_OPERATOR_SET_SCHEMA(
|
|
1377
|
+
DeformConv,
|
|
1378
|
+
19,
|
|
1379
|
+
OpSchema()
|
|
1380
|
+
.SetDoc(DeformConv_ver19_doc)
|
|
1381
|
+
.Input(
|
|
1382
|
+
0,
|
|
1383
|
+
"X",
|
|
1384
|
+
"Input data tensor. For 2D image data, it has shape (N, C, H, W) where N is the batch size, "
|
|
1385
|
+
"C is the number of input channels, and H and W are the height and width. "
|
|
1386
|
+
"In general, the shape is (N, C, D1, D2, ... , Dn) for n-dimensional data, where "
|
|
1387
|
+
"D1 to Dn are the spatial dimension sizes. Most common use cases have n = 2 or 3.",
|
|
1388
|
+
"T")
|
|
1389
|
+
.Input(
|
|
1390
|
+
1,
|
|
1391
|
+
"W",
|
|
1392
|
+
"Weight tensor that will be used in the convolutions. It has shape (oC, C/group, kH, kW), "
|
|
1393
|
+
"where oC is the number of output channels and kH and kW are the kernel height and width. "
|
|
1394
|
+
"For more than 2 dimensions, it has shape (oC, C/group, k1, k2, ... , kn).",
|
|
1395
|
+
"T")
|
|
1396
|
+
.Input(
|
|
1397
|
+
2,
|
|
1398
|
+
"offset",
|
|
1399
|
+
"Offset tensor denoting the offset for the sampling locations in the convolution kernel. "
|
|
1400
|
+
"It has shape (N, offset_group * kH * kW * 2, oH, oW) for 2D data or "
|
|
1401
|
+
"(N, offset_group * k1 * k2 * ... * kn * n, o1, o2, ... , on) for nD data. Use linear interpolation"
|
|
1402
|
+
"for fractional offset values. Sampling locations outside of the padded input tensor gives zero.",
|
|
1403
|
+
"T")
|
|
1404
|
+
.Input(
|
|
1405
|
+
3,
|
|
1406
|
+
"B",
|
|
1407
|
+
"Optional 1D bias of length oC to be added to the convolution. Default is a tensor of zeros.",
|
|
1408
|
+
"T",
|
|
1409
|
+
OpSchema::Optional)
|
|
1410
|
+
.Input(
|
|
1411
|
+
4,
|
|
1412
|
+
"mask",
|
|
1413
|
+
"The mask tensor to be applied to each position in the convolution kernel. "
|
|
1414
|
+
"It has shape (N, offset_group * kH * kW, oH, oW) for 2D data or "
|
|
1415
|
+
"(N, offset_group * k1 * k2 * ... * kn * n, o1, o2, ... , on) for nD data. Default is a "
|
|
1416
|
+
"tensor of ones.",
|
|
1417
|
+
"T",
|
|
1418
|
+
OpSchema::Optional)
|
|
1419
|
+
.Output(
|
|
1420
|
+
0,
|
|
1421
|
+
"Y",
|
|
1422
|
+
"Output data tensor that contains the result of convolution. It has shape (N, oC, oH, oW) "
|
|
1423
|
+
"for 2D data or (N, oC, o1, o2, ..., on) for nD data",
|
|
1424
|
+
"T")
|
|
1425
|
+
.TypeConstraint(
|
|
1426
|
+
"T",
|
|
1427
|
+
{"tensor(float16)", "tensor(float)", "tensor(double)"},
|
|
1428
|
+
"Constrain input and output types to float tensors.")
|
|
1429
|
+
.Attr(
|
|
1430
|
+
"dilations",
|
|
1431
|
+
"Dilation value along each spatial axis of the kernel. Default is 1 along each axis.",
|
|
1432
|
+
AttributeProto::INTS,
|
|
1433
|
+
OPTIONAL_VALUE)
|
|
1434
|
+
.Attr(
|
|
1435
|
+
"group",
|
|
1436
|
+
"Number of groups the input and output channels, C and oC, are divided into. C and oC must both "
|
|
1437
|
+
"be divisible by group. Default is 1.",
|
|
1438
|
+
AttributeProto::INT,
|
|
1439
|
+
static_cast<int64_t>(1))
|
|
1440
|
+
.Attr(
|
|
1441
|
+
"kernel_shape",
|
|
1442
|
+
"Shape of the convolution kernel. If not present, it is inferred from the shape of input W.",
|
|
1443
|
+
AttributeProto::INTS,
|
|
1444
|
+
OPTIONAL_VALUE)
|
|
1445
|
+
.Attr(
|
|
1446
|
+
"offset_group",
|
|
1447
|
+
"Number of groups of offset. C must be divisible by offset_group. Default is 1.",
|
|
1448
|
+
AttributeProto::INT,
|
|
1449
|
+
static_cast<int64_t>(1))
|
|
1450
|
+
.Attr(
|
|
1451
|
+
"pads",
|
|
1452
|
+
"Padding for the beginning and end along each spatial axis. The values represent the number of pixels "
|
|
1453
|
+
"added to the beginning and end of the corresponding axis and can take any nonnegative value. "
|
|
1454
|
+
"The format should be as follows: [x1_begin, x2_begin, ..., x1_end, x2_end, ...], where xi_begin "
|
|
1455
|
+
"is the number of pixels added at the beginning of axis `i` and xi_end is the number of pixels "
|
|
1456
|
+
"added at the end of axis `i`. Default is 0 along each axis.",
|
|
1457
|
+
AttributeProto::INTS,
|
|
1458
|
+
OPTIONAL_VALUE)
|
|
1459
|
+
.Attr(
|
|
1460
|
+
"strides",
|
|
1461
|
+
"Stride along each spatial axis. Default is 1 along each axis.",
|
|
1462
|
+
AttributeProto::INTS,
|
|
1463
|
+
OPTIONAL_VALUE)
|
|
1464
|
+
.TypeAndShapeInferenceFunction([](InferenceContext& ctx) {
|
|
1465
|
+
propagateElemTypeFromInputToOutput(ctx, 0, 0);
|
|
1466
|
+
convPoolShapeInference(ctx, true, false, 0, 1);
|
|
1467
|
+
}));
|
|
1468
|
+
|
|
1374
1469
|
// For GlobalPool operations.
|
|
1375
1470
|
void globalPoolTypeShapeInference(InferenceContext& ctx) {
|
|
1376
1471
|
propagateElemTypeFromInputToOutput(ctx, 0, 0);
|
|
@@ -1507,8 +1602,8 @@ statistics in inference mode (training_mode=False, default),
|
|
|
1507
1602
|
and the running statistics in training mode (training_mode=True).
|
|
1508
1603
|
There are multiple cases for the number of outputs, which we list below:
|
|
1509
1604
|
|
|
1510
|
-
Output case #1: Y, running_mean, running_var (training_mode=True)
|
|
1511
|
-
Output case #2: Y (training_mode=False)
|
|
1605
|
+
* Output case #1: Y, running_mean, running_var (training_mode=True)
|
|
1606
|
+
* Output case #2: Y (training_mode=False)
|
|
1512
1607
|
|
|
1513
1608
|
When training_mode=False, extra outputs are invalid.
|
|
1514
1609
|
The outputs are updated as follows when training_mode=True:
|
|
@@ -1517,17 +1612,15 @@ running_mean = input_mean * momentum + current_mean * (1 - momentum)
|
|
|
1517
1612
|
running_var = input_var * momentum + current_var * (1 - momentum)
|
|
1518
1613
|
|
|
1519
1614
|
Y = (X - current_mean) / sqrt(current_var + epsilon) * scale + B
|
|
1520
|
-
|
|
1615
|
+
```
|
|
1521
1616
|
where:
|
|
1522
|
-
|
|
1617
|
+
```
|
|
1523
1618
|
current_mean = ReduceMean(X, axis=all_except_channel_index)
|
|
1524
1619
|
current_var = ReduceVar(X, axis=all_except_channel_index)
|
|
1525
|
-
|
|
1526
|
-
Notice that ReduceVar refers to the population variance, and it equals to
|
|
1527
|
-
sum(sqrd(x_i - x_avg)) / N
|
|
1528
|
-
where N is the population size (this formula does not use sample size N - 1).
|
|
1529
|
-
|
|
1530
1620
|
```
|
|
1621
|
+
Notice that `ReduceVar` refers to the population variance, and it equals to
|
|
1622
|
+
`sum(sqrd(x_i - x_avg)) / N`
|
|
1623
|
+
where `N` is the population size (this formula does not use sample size `N - 1`).
|
|
1531
1624
|
|
|
1532
1625
|
The computation of ReduceMean and ReduceVar uses float to avoid overflow for float16 inputs.
|
|
1533
1626
|
|
|
@@ -1919,10 +2012,7 @@ ONNX_OPERATOR_SET_SCHEMA(
|
|
|
1919
2012
|
true,
|
|
1920
2013
|
1,
|
|
1921
2014
|
OpSchema::Differentiable)
|
|
1922
|
-
.TypeConstraint(
|
|
1923
|
-
"T",
|
|
1924
|
-
OpSchema::all_tensor_types_with_bfloat(),
|
|
1925
|
-
"Constrain input and output to all tensor types.")
|
|
2015
|
+
.TypeConstraint("T", OpSchema::all_tensor_types_ir4(), "Constrain input and output to all tensor types.")
|
|
1926
2016
|
.Attr(
|
|
1927
2017
|
"axis",
|
|
1928
2018
|
"Indicate up to which input dimensions "
|
|
@@ -1953,14 +2043,14 @@ ONNX_OPERATOR_SET_SCHEMA(
|
|
|
1953
2043
|
static const char* LRN_ver13_doc = R"DOC(
|
|
1954
2044
|
Local Response Normalization proposed in the [AlexNet paper](https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf).
|
|
1955
2045
|
It normalizes over local input regions.
|
|
1956
|
-
The local region is defined across the channels. For an element X[n, c, d1, ..., dk] in a tensor
|
|
1957
|
-
of shape (N x C x D1 x D2, ..., Dk)
|
|
1958
|
-
{X[n, i, d1, ..., dk] | max(0, c - floor((size - 1) / 2)) <= i <= min(C - 1, c + ceil((size - 1) / 2))}
|
|
2046
|
+
The local region is defined across the channels. For an element `X[n, c, d1, ..., dk]` in a tensor
|
|
2047
|
+
of shape `(N x C x D1 x D2, ..., Dk)`, its region is
|
|
2048
|
+
`{X[n, i, d1, ..., dk] | max(0, c - floor((size - 1) / 2)) <= i <= min(C - 1, c + ceil((size - 1) / 2))}`.
|
|
1959
2049
|
|
|
1960
|
-
square_sum[n, c, d1, ..., dk] = sum(X[n, i, d1, ..., dk] ^ 2)
|
|
1961
|
-
where max(0, c - floor((size - 1) / 2)) <= i <= min(C - 1, c + ceil((size - 1) / 2))
|
|
2050
|
+
`square_sum[n, c, d1, ..., dk] = sum(X[n, i, d1, ..., dk] ^ 2)`,
|
|
2051
|
+
where `max(0, c - floor((size - 1) / 2)) <= i <= min(C - 1, c + ceil((size - 1) / 2))`.
|
|
1962
2052
|
|
|
1963
|
-
Y[n, c, d1, ..., dk] = X[n, c, d1, ..., dk] / (bias + alpha / size * square_sum[n, c, d1, ..., dk] ) ^ beta
|
|
2053
|
+
`Y[n, c, d1, ..., dk] = X[n, c, d1, ..., dk] / (bias + alpha / size * square_sum[n, c, d1, ..., dk] ) ^ beta`
|
|
1964
2054
|
)DOC";
|
|
1965
2055
|
|
|
1966
2056
|
ONNX_OPERATOR_SET_SCHEMA(
|
|
@@ -2204,7 +2294,7 @@ ONNX_OPERATOR_SET_SCHEMA(
|
|
|
2204
2294
|
|
|
2205
2295
|
static const char* mvn_ver13_doc = R"DOC(
|
|
2206
2296
|
A MeanVarianceNormalization Function: Perform mean variance normalization
|
|
2207
|
-
on the input tensor X using formula:
|
|
2297
|
+
on the input tensor X using formula: `(X-EX)/sqrt(E(X-EX)^2)`
|
|
2208
2298
|
)DOC";
|
|
2209
2299
|
|
|
2210
2300
|
static const std::vector<int64_t> mvn_default_axes = {0, 2, 3};
|
|
@@ -2361,10 +2451,10 @@ Col2Im behaves similarly to PyTorch's fold https://pytorch.org/docs/stable/gener
|
|
|
2361
2451
|
but it only supports *batched* multi-dimensional image tensors.
|
|
2362
2452
|
Another implementation in Python with N-dimension support can be found at https://github.com/f-dangel/unfoldNd/.
|
|
2363
2453
|
|
|
2364
|
-
NOTE:
|
|
2365
|
-
|
|
2366
|
-
|
|
2367
|
-
|
|
2454
|
+
NOTE:
|
|
2455
|
+
Although specifying image_shape looks redundant because it could be calculated from
|
|
2456
|
+
convolution formulas, it is required as input for more advanced scenarios as explained
|
|
2457
|
+
at PyTorch's implementation (https://github.com/pytorch/pytorch/blob/master/aten/src/ATen/native/Col2Im.cpp#L10)
|
|
2368
2458
|
)DOC";
|
|
2369
2459
|
|
|
2370
2460
|
ONNX_OPERATOR_SET_SCHEMA(
|
|
@@ -2443,7 +2533,7 @@ ONNX_OPERATOR_SET_SCHEMA(
|
|
|
2443
2533
|
OpSchema::Differentiable)
|
|
2444
2534
|
.TypeConstraint(
|
|
2445
2535
|
"T",
|
|
2446
|
-
OpSchema::
|
|
2536
|
+
OpSchema::all_tensor_types_ir4(),
|
|
2447
2537
|
"Constrain input and output types to all numeric tensor types.")
|
|
2448
2538
|
.TypeAndShapeInferenceFunction([](InferenceContext& ctx) { col2imShapeInference(ctx); }));
|
|
2449
2539
|
|
|
@@ -2676,20 +2766,20 @@ ONNX_OPERATOR_SET_SCHEMA(
|
|
|
2676
2766
|
}));
|
|
2677
2767
|
|
|
2678
2768
|
static const char* GroupNormalization_ver18_doc = R"DOC(
|
|
2679
|
-
A GroupNormalization function. Carries out group normalization as described in
|
|
2680
|
-
the paper https://arxiv.org/abs/1803.08494
|
|
2769
|
+
A GroupNormalization function. Carries out group normalization as described in
|
|
2770
|
+
the paper https://arxiv.org/abs/1803.08494
|
|
2681
2771
|
|
|
2682
2772
|
This operator transforms input according to
|
|
2683
2773
|
```
|
|
2684
2774
|
y = scale * (x - mean) / sqrt(variance + epsilon) + bias,
|
|
2685
2775
|
```
|
|
2686
|
-
where the mean and variance are computed per instance per group of channels, and
|
|
2687
|
-
`scale` and `bias` should be specified for each group of channels. The number of
|
|
2688
|
-
groups `num_groups` should be divisible by the number of channels so that there are
|
|
2776
|
+
where the mean and variance are computed per instance per group of channels, and
|
|
2777
|
+
`scale` and `bias` should be specified for each group of channels. The number of
|
|
2778
|
+
groups `num_groups` should be divisible by the number of channels so that there are
|
|
2689
2779
|
an equal number of channels per group.
|
|
2690
2780
|
|
|
2691
|
-
When the number of groups is the same as the number of channels, this operator is
|
|
2692
|
-
equivalent to InstanceNormalization. When there is only one group, this operator
|
|
2781
|
+
When the number of groups is the same as the number of channels, this operator is
|
|
2782
|
+
equivalent to InstanceNormalization. When there is only one group, this operator
|
|
2693
2783
|
is equivalent to LayerNormalization.
|
|
2694
2784
|
)DOC";
|
|
2695
2785
|
|
onnx/defs/nn/old.cc
CHANGED
|
@@ -236,6 +236,14 @@ const char* auto_pad_doc2 =
|
|
|
236
236
|
"SAME_UPPER or SAME_LOWER mean pad the input so that the output spatial size match the input."
|
|
237
237
|
"In case of odd number add the extra padding at the end for SAME_UPPER and at the "
|
|
238
238
|
"beginning for SAME_LOWER. VALID mean no padding.";
|
|
239
|
+
const char* auto_pad_doc3 =
|
|
240
|
+
"auto_pad must be either NOTSET, SAME_UPPER, SAME_LOWER or VALID. Where "
|
|
241
|
+
"default value is NOTSET, which means explicit padding is used. "
|
|
242
|
+
"SAME_UPPER or SAME_LOWER mean pad the input so that "
|
|
243
|
+
"`output_shape[i] = ceil(input_shape[i] / strides[i])` for each axis `i`. "
|
|
244
|
+
"The padding is split between the two sides equally or almost equally (depending "
|
|
245
|
+
"on whether it is even or odd). In case the padding is an odd number, the extra "
|
|
246
|
+
"padding is added at the end for SAME_UPPER and at the beginning for SAME_LOWER.";
|
|
239
247
|
|
|
240
248
|
void convPoolShapeInference1(
|
|
241
249
|
InferenceContext& ctx,
|
|
@@ -575,6 +583,124 @@ std::function<void(OpSchema&)> PoolOpSchemaGenerator_10(
|
|
|
575
583
|
};
|
|
576
584
|
}
|
|
577
585
|
|
|
586
|
+
std::vector<std::string> GetSupportedDataTypesForPoolingOps_1(bool supports8bit) {
|
|
587
|
+
if (supports8bit) {
|
|
588
|
+
return {"tensor(float16)", "tensor(float)", "tensor(double)", "tensor(int8)", "tensor(uint8)"};
|
|
589
|
+
}
|
|
590
|
+
return {"tensor(float16)", "tensor(float)", "tensor(double)"};
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
std::function<void(OpSchema&)> PoolOpSchemaGenerator_11(
|
|
594
|
+
const char* name,
|
|
595
|
+
const char* opName,
|
|
596
|
+
const char* additionalDescription,
|
|
597
|
+
bool use_dilation,
|
|
598
|
+
bool supports8bit = false) {
|
|
599
|
+
return [=](OpSchema& schema) {
|
|
600
|
+
std::string doc;
|
|
601
|
+
POPULATE_OP_DOC_STR(
|
|
602
|
+
doc = R"DOC(
|
|
603
|
+
{name} consumes an input tensor X and applies {opName} pooling across
|
|
604
|
+
the tensor according to kernel sizes, stride sizes, and pad lengths.
|
|
605
|
+
{opName} pooling consisting of computing the {opName} on all values of a
|
|
606
|
+
subset of the input tensor according to the kernel size and downsampling the
|
|
607
|
+
data into the output tensor Y for further processing. The output spatial shape will be following:
|
|
608
|
+
```
|
|
609
|
+
output_spatial_shape[i] = floor((input_spatial_shape[i] + pad_shape[i] - {kernelSpatialShape}) / strides_spatial_shape[i] + 1)
|
|
610
|
+
```
|
|
611
|
+
or
|
|
612
|
+
```
|
|
613
|
+
output_spatial_shape[i] = ceil((input_spatial_shape[i] + pad_shape[i] - {kernelSpatialShape}) / strides_spatial_shape[i] + 1)
|
|
614
|
+
```
|
|
615
|
+
if ceil_mode is enabled
|
|
616
|
+
|
|
617
|
+
```
|
|
618
|
+
* pad_shape[i] is sum of pads along axis i
|
|
619
|
+
```
|
|
620
|
+
|
|
621
|
+
`auto_pad` is a DEPRECATED attribute. If you are using them currently, the output spatial shape will be following:
|
|
622
|
+
```
|
|
623
|
+
VALID: output_spatial_shape[i] = ceil((input_spatial_shape[i] - {kernelSpatialShape} + 1) / strides_spatial_shape[i])
|
|
624
|
+
SAME_UPPER or SAME_LOWER: output_spatial_shape[i] = ceil(input_spatial_shape[i] / strides_spatial_shape[i])
|
|
625
|
+
```
|
|
626
|
+
And pad shape will be following if `SAME_UPPER` or `SAME_LOWER`:
|
|
627
|
+
```
|
|
628
|
+
pad_shape[i] = (output_spatial_shape[i] - 1) * strides_spatial_shape[i] + {kernelSpatialShape} - input_spatial_shape[i]
|
|
629
|
+
```
|
|
630
|
+
{additionalDescription}
|
|
631
|
+
)DOC";
|
|
632
|
+
ReplaceAll(doc, "{name}", name);
|
|
633
|
+
ReplaceAll(doc, "{opName}", opName);
|
|
634
|
+
ReplaceAll(doc, "{additionalDescription}", additionalDescription);
|
|
635
|
+
ReplaceAll(
|
|
636
|
+
doc,
|
|
637
|
+
"{kernelSpatialShape}",
|
|
638
|
+
use_dilation ? "((kernel_spatial_shape[i] - 1) * dilations[i] + 1)" : "kernel_spatial_shape[i]"););
|
|
639
|
+
schema.SetDoc(doc);
|
|
640
|
+
schema.Attr("kernel_shape", "The size of the kernel along each axis.", AttributeProto::INTS);
|
|
641
|
+
schema.Attr(
|
|
642
|
+
"strides",
|
|
643
|
+
"Stride along each spatial axis. If not present, the stride defaults to 1 along each spatial axis.",
|
|
644
|
+
AttributeProto::INTS,
|
|
645
|
+
OPTIONAL_VALUE);
|
|
646
|
+
schema.Attr("auto_pad", auto_pad_doc3, AttributeProto::STRING, std::string("NOTSET"));
|
|
647
|
+
schema.Attr("pads", pads_doc2, AttributeProto::INTS, OPTIONAL_VALUE);
|
|
648
|
+
schema.Attr(
|
|
649
|
+
"ceil_mode",
|
|
650
|
+
"Whether to use ceil or floor (default) to compute the output shape.",
|
|
651
|
+
AttributeProto::INT,
|
|
652
|
+
static_cast<int64_t>(0));
|
|
653
|
+
schema.Input(
|
|
654
|
+
0,
|
|
655
|
+
"X",
|
|
656
|
+
"Input data tensor from the previous operator; "
|
|
657
|
+
"dimensions for image case are (N x C x H x W), "
|
|
658
|
+
"where N is the batch size, C is the number of "
|
|
659
|
+
"channels, and H and W are the height and the "
|
|
660
|
+
"width of the data. For non image case, the "
|
|
661
|
+
"dimensions are in the form of "
|
|
662
|
+
"(N x C x D1 x D2 ... Dn), where N is the batch "
|
|
663
|
+
"size. Optionally, if dimension denotation is "
|
|
664
|
+
"in effect, the operation expects the input "
|
|
665
|
+
"data tensor to arrive with the dimension denotation "
|
|
666
|
+
"of [DATA_BATCH, DATA_CHANNEL, DATA_FEATURE, DATA_FEATURE ...].",
|
|
667
|
+
"T",
|
|
668
|
+
OpSchema::Single,
|
|
669
|
+
true,
|
|
670
|
+
1,
|
|
671
|
+
OpSchema::Differentiable);
|
|
672
|
+
schema.Output(
|
|
673
|
+
0,
|
|
674
|
+
"Y",
|
|
675
|
+
"Output data tensor from average or max pooling across "
|
|
676
|
+
"the input tensor. Dimensions will vary based "
|
|
677
|
+
"on various kernel, stride, and pad sizes. Floor value of "
|
|
678
|
+
"the dimension is used",
|
|
679
|
+
"T",
|
|
680
|
+
OpSchema::Single,
|
|
681
|
+
true,
|
|
682
|
+
1,
|
|
683
|
+
OpSchema::Differentiable);
|
|
684
|
+
schema.TypeConstraint(
|
|
685
|
+
"T",
|
|
686
|
+
GetSupportedDataTypesForPoolingOps_1(supports8bit),
|
|
687
|
+
supports8bit ? "Constrain input and output types to float and 8 bit tensors."
|
|
688
|
+
: "Constrain input and output types to float tensors.");
|
|
689
|
+
schema.TypeAndShapeInferenceFunction([use_dilation](InferenceContext& ctx) {
|
|
690
|
+
propagateElemTypeFromInputToOutput(ctx, 0, 0);
|
|
691
|
+
if (ctx.getNumOutputs() > 1) {
|
|
692
|
+
// MaxPool with two outputs case.
|
|
693
|
+
auto output_type = ctx.getOutputType(1);
|
|
694
|
+
if (output_type->value_case() == TypeProto::kTensorType ||
|
|
695
|
+
output_type->value_case() == TypeProto::VALUE_NOT_SET) {
|
|
696
|
+
output_type->mutable_tensor_type()->set_elem_type(TensorProto::INT64);
|
|
697
|
+
}
|
|
698
|
+
}
|
|
699
|
+
convPoolShapeInference1(ctx, use_dilation, true, 0, 1);
|
|
700
|
+
});
|
|
701
|
+
};
|
|
702
|
+
}
|
|
703
|
+
|
|
578
704
|
ONNX_OPERATOR_SET_SCHEMA(
|
|
579
705
|
AveragePool,
|
|
580
706
|
1,
|
|
@@ -613,6 +739,22 @@ ONNX_OPERATOR_SET_SCHEMA(
|
|
|
613
739
|
AttributeProto::INT,
|
|
614
740
|
static_cast<int64_t>(0)));
|
|
615
741
|
|
|
742
|
+
ONNX_OPERATOR_SET_SCHEMA(
|
|
743
|
+
AveragePool,
|
|
744
|
+
11,
|
|
745
|
+
OpSchema()
|
|
746
|
+
.FillUsing(PoolOpSchemaGenerator_11(
|
|
747
|
+
"AveragePool",
|
|
748
|
+
"average",
|
|
749
|
+
"The output of each pooling window is divided by the number of elements (exclude pad when attribute count_include_pad is zero).",
|
|
750
|
+
true,
|
|
751
|
+
false))
|
|
752
|
+
.Attr(
|
|
753
|
+
"count_include_pad",
|
|
754
|
+
"Whether include pad pixels when calculating values for the edges. Default is 0, doesn't count include pad.",
|
|
755
|
+
AttributeProto::INT,
|
|
756
|
+
static_cast<int64_t>(0)));
|
|
757
|
+
|
|
616
758
|
ONNX_OPERATOR_SET_SCHEMA(
|
|
617
759
|
MaxPool,
|
|
618
760
|
1,
|
|
@@ -980,15 +1122,6 @@ static const char* GlobalLpPool_ver1_doc = R"DOC(
|
|
|
980
1122
|
the values in the same channel. This is equivalent to LpPool with kernel size
|
|
981
1123
|
equal to the spatial dimension of input tensor.)DOC";
|
|
982
1124
|
|
|
983
|
-
const char* auto_pad_doc3 =
|
|
984
|
-
"auto_pad must be either NOTSET, SAME_UPPER, SAME_LOWER or VALID. Where "
|
|
985
|
-
"default value is NOTSET, which means explicit padding is used. "
|
|
986
|
-
"SAME_UPPER or SAME_LOWER mean pad the input so that "
|
|
987
|
-
"`output_shape[i] = ceil(input_shape[i] / strides[i])` for each axis `i`. "
|
|
988
|
-
"The padding is split between the two sides equally or almost equally (depending "
|
|
989
|
-
"on whether it is even or odd). In case the padding is an odd number, the extra "
|
|
990
|
-
"padding is added at the end for SAME_UPPER and at the beginning for SAME_LOWER.";
|
|
991
|
-
|
|
992
1125
|
std::function<void(OpSchema&)> LpPoolOpSchemaGenerator_11(const char* name) {
|
|
993
1126
|
return [=](OpSchema& schema) {
|
|
994
1127
|
std::string doc;
|
onnx/defs/operator_sets.h
CHANGED
|
@@ -1058,6 +1058,49 @@ class OpSet_Onnx_ver18 {
|
|
|
1058
1058
|
}
|
|
1059
1059
|
};
|
|
1060
1060
|
|
|
1061
|
+
// Forward declarations for ai.onnx version 19
|
|
1062
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 19, Equal);
|
|
1063
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 19, AveragePool);
|
|
1064
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 19, Cast);
|
|
1065
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 19, CastLike);
|
|
1066
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 19, Constant);
|
|
1067
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 19, DeformConv);
|
|
1068
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 19, DequantizeLinear);
|
|
1069
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 19, Identity);
|
|
1070
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 19, If);
|
|
1071
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 19, Loop);
|
|
1072
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 19, Pad);
|
|
1073
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 19, QuantizeLinear);
|
|
1074
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 19, Resize);
|
|
1075
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 19, Reshape);
|
|
1076
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 19, Scan);
|
|
1077
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 19, Shape);
|
|
1078
|
+
class ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 19, Size);
|
|
1079
|
+
|
|
1080
|
+
// Iterate over schema from ai.onnx version 19
|
|
1081
|
+
class OpSet_Onnx_ver19 {
|
|
1082
|
+
public:
|
|
1083
|
+
static void ForEachSchema(std::function<void(OpSchema&&)> fn) {
|
|
1084
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 19, Equal)>());
|
|
1085
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 19, AveragePool)>());
|
|
1086
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 19, Cast)>());
|
|
1087
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 19, CastLike)>());
|
|
1088
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 19, Constant)>());
|
|
1089
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 19, DeformConv)>());
|
|
1090
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 19, DequantizeLinear)>());
|
|
1091
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 19, Identity)>());
|
|
1092
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 19, If)>());
|
|
1093
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 19, Loop)>());
|
|
1094
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 19, Pad)>());
|
|
1095
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 19, QuantizeLinear)>());
|
|
1096
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 19, Reshape)>());
|
|
1097
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 19, Resize)>());
|
|
1098
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 19, Scan)>());
|
|
1099
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 19, Shape)>());
|
|
1100
|
+
fn(GetOpSchema<ONNX_OPERATOR_SET_SCHEMA_CLASS_NAME(Onnx, 19, Size)>());
|
|
1101
|
+
}
|
|
1102
|
+
};
|
|
1103
|
+
|
|
1061
1104
|
inline void RegisterOnnxOperatorSetSchema() {
|
|
1062
1105
|
RegisterOpSetSchema<OpSet_Onnx_ver1>();
|
|
1063
1106
|
RegisterOpSetSchema<OpSet_Onnx_ver2>();
|
|
@@ -1077,6 +1120,7 @@ inline void RegisterOnnxOperatorSetSchema() {
|
|
|
1077
1120
|
RegisterOpSetSchema<OpSet_Onnx_ver16>();
|
|
1078
1121
|
RegisterOpSetSchema<OpSet_Onnx_ver17>();
|
|
1079
1122
|
RegisterOpSetSchema<OpSet_Onnx_ver18>();
|
|
1123
|
+
RegisterOpSetSchema<OpSet_Onnx_ver19>();
|
|
1080
1124
|
// 0 means all versions of ONNX schema have been loaded
|
|
1081
1125
|
OpSchemaRegistry::Instance()->SetLoadedSchemaVersion(0);
|
|
1082
1126
|
}
|
|
@@ -1084,6 +1128,7 @@ inline void RegisterOnnxOperatorSetSchema() {
|
|
|
1084
1128
|
inline void RegisterOnnxOperatorSetSchema(int target_version) {
|
|
1085
1129
|
// Update here if opset_version bumps
|
|
1086
1130
|
// These calls for schema registration here are required to be in descending order for this to work correctly
|
|
1131
|
+
RegisterOpSetSchema<OpSet_Onnx_ver19>(target_version);
|
|
1087
1132
|
RegisterOpSetSchema<OpSet_Onnx_ver18>(target_version);
|
|
1088
1133
|
RegisterOpSetSchema<OpSet_Onnx_ver17>(target_version);
|
|
1089
1134
|
RegisterOpSetSchema<OpSet_Onnx_ver16>(target_version);
|
onnx/defs/optional/defs.cc
CHANGED
|
@@ -141,10 +141,14 @@ ONNX_OPERATOR_SET_SCHEMA(
|
|
|
141
141
|
if (input_type == nullptr) {
|
|
142
142
|
fail_type_inference("Input type is null. Input must have Type information.");
|
|
143
143
|
}
|
|
144
|
-
if (input_type->has_optional_type()
|
|
145
|
-
|
|
144
|
+
if (input_type->has_optional_type()) {
|
|
145
|
+
if (!input_type->optional_type().has_elem_type()) {
|
|
146
|
+
fail_type_inference("Optional-type input must contain an element with type information.");
|
|
147
|
+
}
|
|
148
|
+
ctx.getOutputType(0)->CopyFrom(input_type->optional_type().elem_type());
|
|
149
|
+
} else {
|
|
150
|
+
propagateShapeAndTypeFromFirstInput(ctx);
|
|
146
151
|
}
|
|
147
|
-
ctx.getOutputType(0)->CopyFrom(input_type->optional_type().elem_type());
|
|
148
152
|
}));
|
|
149
153
|
|
|
150
|
-
} // namespace ONNX_NAMESPACE
|
|
154
|
+
} // namespace ONNX_NAMESPACE
|
onnx/defs/parser.cc
CHANGED
|
@@ -106,6 +106,32 @@ Status OnnxParser::Parse(char open, IdList& idlist, char close) {
|
|
|
106
106
|
return Status::OK();
|
|
107
107
|
}
|
|
108
108
|
|
|
109
|
+
Status OnnxParser::Parse(IdList& idlist, AttrList& attrlist) {
|
|
110
|
+
idlist.Clear();
|
|
111
|
+
attrlist.Clear();
|
|
112
|
+
do {
|
|
113
|
+
std::string id;
|
|
114
|
+
ParseIdentifier(id);
|
|
115
|
+
auto next = NextChar();
|
|
116
|
+
if (next == ':' || next == '=')
|
|
117
|
+
Parse(*attrlist.Add(), id);
|
|
118
|
+
else
|
|
119
|
+
*idlist.Add() = id;
|
|
120
|
+
} while (Matches(','));
|
|
121
|
+
return Status::OK();
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
Status OnnxParser::Parse(char open, IdList& idlist, AttrList& attrlist, char close) {
|
|
125
|
+
if (Matches(open)) {
|
|
126
|
+
PARSE(idlist, attrlist);
|
|
127
|
+
MATCH(close);
|
|
128
|
+
} else {
|
|
129
|
+
idlist.Clear();
|
|
130
|
+
attrlist.Clear();
|
|
131
|
+
}
|
|
132
|
+
return Status::OK();
|
|
133
|
+
}
|
|
134
|
+
|
|
109
135
|
Status OnnxParser::Parse(TensorShapeProto& shape) {
|
|
110
136
|
shape.clear_dim();
|
|
111
137
|
do {
|
|
@@ -366,6 +392,12 @@ Status OnnxParser::Parse(TensorProto& tensorProto, const TypeProto& tensorTypePr
|
|
|
366
392
|
return Status::OK();
|
|
367
393
|
}
|
|
368
394
|
|
|
395
|
+
bool OnnxParser::NextIsIdentifier() {
|
|
396
|
+
std::string id("");
|
|
397
|
+
(void)PeekIdentifier(id);
|
|
398
|
+
return !(id.empty());
|
|
399
|
+
}
|
|
400
|
+
|
|
369
401
|
bool OnnxParser::NextIsType() {
|
|
370
402
|
std::string id("");
|
|
371
403
|
(void)PeekIdentifier(id);
|
|
@@ -387,8 +419,19 @@ Status OnnxParser::ParseSingleAttributeValue(AttributeProto& attr) {
|
|
|
387
419
|
auto next = NextChar();
|
|
388
420
|
if (isalpha(next) || next == '_') {
|
|
389
421
|
if (NextIsType()) {
|
|
390
|
-
|
|
391
|
-
Parse(
|
|
422
|
+
TypeProto typeProto;
|
|
423
|
+
Parse(typeProto);
|
|
424
|
+
next = NextChar();
|
|
425
|
+
if ((next == '{') || (next == '=') || (NextIsIdentifier())) {
|
|
426
|
+
attr.set_type(AttributeProto_AttributeType_TENSOR);
|
|
427
|
+
auto& tensorProto = *attr.mutable_t();
|
|
428
|
+
ParseOptionalIdentifier(*tensorProto.mutable_name());
|
|
429
|
+
(void)Matches('='); // Optional, to unify handling of initializers
|
|
430
|
+
Parse(tensorProto, typeProto);
|
|
431
|
+
} else {
|
|
432
|
+
attr.set_type(AttributeProto_AttributeType_TYPE_PROTO);
|
|
433
|
+
attr.mutable_tp()->CopyFrom(typeProto);
|
|
434
|
+
}
|
|
392
435
|
} else {
|
|
393
436
|
attr.set_type(AttributeProto_AttributeType_GRAPH);
|
|
394
437
|
Parse(*attr.mutable_g());
|
|
@@ -424,6 +467,10 @@ Status OnnxParser::Parse(AttributeProto& attr) {
|
|
|
424
467
|
attr.Clear();
|
|
425
468
|
std::string name;
|
|
426
469
|
CHECK_PARSER_STATUS(ParseIdentifier(name));
|
|
470
|
+
return Parse(attr, name);
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
Status OnnxParser::Parse(AttributeProto& attr, std::string& name) {
|
|
427
474
|
attr.set_name(name);
|
|
428
475
|
if (Matches(':')) {
|
|
429
476
|
CHECK_PARSER_STATUS(ParseIdentifier(name));
|
|
@@ -559,7 +606,7 @@ Status OnnxParser::Parse(FunctionProto& fn) {
|
|
|
559
606
|
ParseIdentifier(id);
|
|
560
607
|
fn.set_name(id);
|
|
561
608
|
|
|
562
|
-
PARSE('<', *fn.mutable_attribute(), '>');
|
|
609
|
+
PARSE('<', *fn.mutable_attribute(), *fn.mutable_attribute_proto(), '>');
|
|
563
610
|
PARSE('(', *fn.mutable_input(), ')');
|
|
564
611
|
MATCH('=');
|
|
565
612
|
MATCH('>', false);
|