onnx 1.13.1__cp311-cp311-win_amd64.whl → 1.14.1__cp311-cp311-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of onnx might be problematic. Click here for more details.
- onnx/__init__.py +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.cp311-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/numpy_helper.py
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
# Copyright (c) ONNX Project Contributors
|
|
2
|
+
#
|
|
1
3
|
# SPDX-License-Identifier: Apache-2.0
|
|
2
|
-
|
|
4
|
+
|
|
5
|
+
# pylint: disable=C3001,isinstance-second-argument-not-valid-type
|
|
3
6
|
|
|
4
7
|
import sys
|
|
5
|
-
from typing import Any, Dict, List, Optional, Sequence, Union
|
|
8
|
+
from typing import Any, Dict, List, Optional, Sequence, Tuple, Union
|
|
6
9
|
|
|
7
10
|
import numpy as np
|
|
8
11
|
|
|
@@ -27,12 +30,151 @@ def bfloat16_to_float32(
|
|
|
27
30
|
shift = lambda x: x << 16 # noqa: E731
|
|
28
31
|
if dims is None:
|
|
29
32
|
if len(data.shape) == 0:
|
|
30
|
-
return shift(np.array([data]).astype(np.int32)).view(np.float32)[0]
|
|
31
|
-
return shift(data.astype(np.int32)).view(np.float32)
|
|
32
|
-
return shift(data.astype(np.int32)).reshape(dims).view(np.float32)
|
|
33
|
+
return shift(np.array([data]).astype(np.int32)).view(np.float32)[0] # type: ignore[no-any-return]
|
|
34
|
+
return shift(data.astype(np.int32)).view(np.float32) # type: ignore[no-any-return]
|
|
35
|
+
return shift(data.astype(np.int32)).reshape(dims).view(np.float32) # type: ignore[no-any-return]
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def _float8e4m3_to_float32_scalar(ival: int, fn: bool, uz: bool) -> np.float32:
|
|
39
|
+
if not fn:
|
|
40
|
+
raise NotImplementedError("fn=False is not implemented.")
|
|
41
|
+
if ival < 0 or ival > 255:
|
|
42
|
+
raise ValueError(f"{ival} is not a float8.")
|
|
43
|
+
if uz:
|
|
44
|
+
exponent_bias = 8
|
|
45
|
+
if ival == 0x80:
|
|
46
|
+
return np.nan # type: ignore[return-value]
|
|
47
|
+
else:
|
|
48
|
+
exponent_bias = 7
|
|
49
|
+
if ival == 255:
|
|
50
|
+
return np.float32(-np.nan)
|
|
51
|
+
if ival == 127:
|
|
52
|
+
return np.float32(np.nan)
|
|
53
|
+
|
|
54
|
+
expo = (ival & 0x78) >> 3
|
|
55
|
+
mant = ival & 0x07
|
|
56
|
+
sign = ival & 0x80
|
|
57
|
+
res = sign << 24
|
|
58
|
+
if expo == 0:
|
|
59
|
+
if mant > 0:
|
|
60
|
+
expo = 0x7F - exponent_bias
|
|
61
|
+
if mant & 0x4 == 0:
|
|
62
|
+
mant &= 0x3
|
|
63
|
+
mant <<= 1
|
|
64
|
+
expo -= 1
|
|
65
|
+
if mant & 0x4 == 0:
|
|
66
|
+
mant &= 0x3
|
|
67
|
+
mant <<= 1
|
|
68
|
+
expo -= 1
|
|
69
|
+
res |= (mant & 0x3) << 21
|
|
70
|
+
res |= expo << 23
|
|
71
|
+
else:
|
|
72
|
+
res |= mant << 20
|
|
73
|
+
expo += 0x7F - exponent_bias
|
|
74
|
+
res |= expo << 23
|
|
75
|
+
f = np.uint32(res).view(np.float32) # pylint: disable=E1121
|
|
76
|
+
return f
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
_float8e4m3_to_float32 = np.vectorize(
|
|
80
|
+
_float8e4m3_to_float32_scalar, excluded=["fn", "uz"]
|
|
81
|
+
)
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
def float8e4m3_to_float32(
|
|
85
|
+
data: Union[np.int16, np.int32, np.ndarray],
|
|
86
|
+
dims: Optional[Union[int, Sequence[int]]] = None,
|
|
87
|
+
fn: bool = True,
|
|
88
|
+
uz: bool = False,
|
|
89
|
+
) -> np.ndarray:
|
|
90
|
+
"""Converts ndarray of float8, e4m3 (as uint32) to f32 (as uint32).
|
|
91
|
+
|
|
92
|
+
:param data: a numpy array, empty dimensions are allowed if dims is None
|
|
93
|
+
:param dims: if specified, the function reshapes the results
|
|
94
|
+
:param fn: no infinite values
|
|
95
|
+
:param uz: no negative zero
|
|
96
|
+
:return: a numpy array of float32 with the same dimension if dims is None,
|
|
97
|
+
or reshaped to dims if specified.
|
|
98
|
+
|
|
99
|
+
See :ref:`onnx-detail-float8` for technical details.
|
|
100
|
+
"""
|
|
101
|
+
if not fn:
|
|
102
|
+
raise NotImplementedError(
|
|
103
|
+
"float32_to_float8e4m3 not implemented with fn=False."
|
|
104
|
+
)
|
|
105
|
+
res = _float8e4m3_to_float32(data, fn=fn, uz=uz)
|
|
106
|
+
if dims is None:
|
|
107
|
+
return res # type: ignore[no-any-return]
|
|
108
|
+
return res.reshape(dims) # type: ignore[no-any-return]
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
def _float8e5m2_to_float32_scalar(ival: int, fn: bool, uz: bool) -> np.float32:
|
|
112
|
+
if fn and uz:
|
|
113
|
+
if ival == 0x80:
|
|
114
|
+
return np.float32(np.nan)
|
|
115
|
+
exponent_bias = 16
|
|
116
|
+
elif not fn and not uz:
|
|
117
|
+
if ival in {253, 254, 255}:
|
|
118
|
+
return np.float32(-np.nan)
|
|
119
|
+
if ival in {125, 126, 127}:
|
|
120
|
+
return np.float32(np.nan)
|
|
121
|
+
if ival == 252:
|
|
122
|
+
return np.float32(-np.inf)
|
|
123
|
+
if ival == 124:
|
|
124
|
+
return np.float32(np.inf)
|
|
125
|
+
exponent_bias = 15
|
|
126
|
+
else:
|
|
127
|
+
raise NotImplementedError("fn and uz must be both False or True.")
|
|
128
|
+
|
|
129
|
+
expo = (ival & 0x7C) >> 2
|
|
130
|
+
mant = ival & 0x03
|
|
131
|
+
sign = ival & 0x80
|
|
132
|
+
res = sign << 24
|
|
133
|
+
if expo == 0:
|
|
134
|
+
if mant > 0:
|
|
135
|
+
expo = 0x7F - exponent_bias
|
|
136
|
+
if mant & 0x2 == 0:
|
|
137
|
+
mant &= 0x1
|
|
138
|
+
mant <<= 1
|
|
139
|
+
expo -= 1
|
|
140
|
+
res |= (mant & 0x1) << 22
|
|
141
|
+
res |= expo << 23
|
|
142
|
+
else:
|
|
143
|
+
res |= mant << 21
|
|
144
|
+
expo += 0x7F - exponent_bias
|
|
145
|
+
res |= expo << 23
|
|
146
|
+
f = np.uint32(res).view(np.float32) # pylint: disable=E1121
|
|
147
|
+
return f
|
|
148
|
+
|
|
33
149
|
|
|
150
|
+
_float8e5m2_to_float32 = np.vectorize(
|
|
151
|
+
_float8e5m2_to_float32_scalar, excluded=["fn", "uz"]
|
|
152
|
+
)
|
|
34
153
|
|
|
35
|
-
|
|
154
|
+
|
|
155
|
+
def float8e5m2_to_float32(
|
|
156
|
+
data: Union[np.int16, np.int32, np.ndarray],
|
|
157
|
+
dims: Optional[Union[int, Sequence[int]]] = None,
|
|
158
|
+
fn: bool = False,
|
|
159
|
+
uz: bool = False,
|
|
160
|
+
) -> np.ndarray:
|
|
161
|
+
"""Converts ndarray of float8, e5m2 (as uint32) to f32 (as uint32).
|
|
162
|
+
|
|
163
|
+
:param data: a numpy array, empty dimensions are allowed if dims is None
|
|
164
|
+
:param dims: if specified, the function reshapes the results
|
|
165
|
+
:param fn: no infinite values
|
|
166
|
+
:param uz: no negative zero
|
|
167
|
+
:return: a numpy array of float32 with the same dimension if dims is None,
|
|
168
|
+
or reshaped to dims if specified"""
|
|
169
|
+
res = _float8e5m2_to_float32(data, fn=fn, uz=uz)
|
|
170
|
+
if dims is None:
|
|
171
|
+
return res # type: ignore[no-any-return]
|
|
172
|
+
return res.reshape(dims) # type: ignore[no-any-return]
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
def to_array( # pylint: disable=too-many-branches
|
|
176
|
+
tensor: TensorProto, base_dir: str = ""
|
|
177
|
+
) -> np.ndarray:
|
|
36
178
|
"""Converts a tensor def object to a numpy array.
|
|
37
179
|
|
|
38
180
|
Args:
|
|
@@ -75,29 +217,58 @@ def to_array(tensor: TensorProto, base_dir: str = "") -> np.ndarray:
|
|
|
75
217
|
data = np.frombuffer(tensor.raw_data, dtype=np.int16)
|
|
76
218
|
return bfloat16_to_float32(data, dims)
|
|
77
219
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
if tensor_dtype == TensorProto.FLOAT16:
|
|
82
|
-
return (
|
|
83
|
-
np.asarray(tensor.int32_data, dtype=np.uint16)
|
|
84
|
-
.reshape(dims)
|
|
85
|
-
.view(np.float16)
|
|
86
|
-
)
|
|
220
|
+
if tensor_dtype == TensorProto.FLOAT8E4M3FN:
|
|
221
|
+
data = np.frombuffer(tensor.raw_data, dtype=np.int8)
|
|
222
|
+
return float8e4m3_to_float32(data, dims)
|
|
87
223
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
224
|
+
if tensor_dtype == TensorProto.FLOAT8E4M3FNUZ:
|
|
225
|
+
data = np.frombuffer(tensor.raw_data, dtype=np.int8)
|
|
226
|
+
return float8e4m3_to_float32(data, dims, uz=True)
|
|
227
|
+
|
|
228
|
+
if tensor_dtype == TensorProto.FLOAT8E5M2:
|
|
229
|
+
data = np.frombuffer(tensor.raw_data, dtype=np.int8)
|
|
230
|
+
return float8e5m2_to_float32(data, dims)
|
|
231
|
+
|
|
232
|
+
if tensor_dtype == TensorProto.FLOAT8E5M2FNUZ:
|
|
233
|
+
data = np.frombuffer(tensor.raw_data, dtype=np.int8)
|
|
234
|
+
return float8e5m2_to_float32(data, dims, fn=True, uz=True)
|
|
235
|
+
|
|
236
|
+
return np.frombuffer(tensor.raw_data, dtype=np_dtype).reshape(dims) # type: ignore[no-any-return]
|
|
237
|
+
|
|
238
|
+
# float16 is stored as int32 (uint16 type); Need view to get the original value
|
|
239
|
+
if tensor_dtype == TensorProto.FLOAT16:
|
|
240
|
+
return (
|
|
241
|
+
np.asarray(tensor.int32_data, dtype=np.uint16)
|
|
242
|
+
.reshape(dims)
|
|
243
|
+
.view(np.float16)
|
|
244
|
+
)
|
|
245
|
+
|
|
246
|
+
# bfloat16 is stored as int32 (uint16 type); no numpy support for bf16
|
|
247
|
+
if tensor_dtype == TensorProto.BFLOAT16:
|
|
248
|
+
data = np.asarray(tensor.int32_data, dtype=np.int32)
|
|
249
|
+
return bfloat16_to_float32(data, dims)
|
|
250
|
+
|
|
251
|
+
if tensor_dtype == TensorProto.FLOAT8E4M3FN:
|
|
252
|
+
data = np.asarray(tensor.int32_data, dtype=np.int32)
|
|
253
|
+
return float8e4m3_to_float32(data, dims)
|
|
92
254
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
or tensor_dtype == TensorProto.COMPLEX128
|
|
97
|
-
):
|
|
98
|
-
data = combine_pairs_to_complex(data)
|
|
255
|
+
if tensor_dtype == TensorProto.FLOAT8E4M3FNUZ:
|
|
256
|
+
data = np.asarray(tensor.int32_data, dtype=np.int32)
|
|
257
|
+
return float8e4m3_to_float32(data, dims, uz=True)
|
|
99
258
|
|
|
100
|
-
|
|
259
|
+
if tensor_dtype == TensorProto.FLOAT8E5M2:
|
|
260
|
+
data = np.asarray(tensor.int32_data, dtype=np.int32)
|
|
261
|
+
return float8e5m2_to_float32(data, dims)
|
|
262
|
+
|
|
263
|
+
if tensor_dtype == TensorProto.FLOAT8E5M2FNUZ:
|
|
264
|
+
data = np.asarray(tensor.int32_data, dtype=np.int32)
|
|
265
|
+
return float8e5m2_to_float32(data, dims, fn=True, uz=True)
|
|
266
|
+
|
|
267
|
+
data = getattr(tensor, storage_field)
|
|
268
|
+
if tensor_dtype in (TensorProto.COMPLEX64, TensorProto.COMPLEX128):
|
|
269
|
+
data = combine_pairs_to_complex(data) # type: ignore[assignment,arg-type]
|
|
270
|
+
|
|
271
|
+
return np.asarray(data, dtype=storage_np_dtype).astype(np_dtype).reshape(dims)
|
|
101
272
|
|
|
102
273
|
|
|
103
274
|
def from_array(arr: np.ndarray, name: Optional[str] = None) -> TensorProto:
|
|
@@ -173,9 +344,9 @@ def to_list(sequence: SequenceProto) -> List[Any]:
|
|
|
173
344
|
"""
|
|
174
345
|
elem_type = sequence.elem_type
|
|
175
346
|
if elem_type == SequenceProto.TENSOR:
|
|
176
|
-
return [to_array(v) for v in sequence.tensor_values]
|
|
347
|
+
return [to_array(v) for v in sequence.tensor_values] # type: ignore[arg-type]
|
|
177
348
|
if elem_type == SequenceProto.SPARSE_TENSOR:
|
|
178
|
-
return [to_array(v) for v in sequence.sparse_tensor_values]
|
|
349
|
+
return [to_array(v) for v in sequence.sparse_tensor_values] # type: ignore[arg-type]
|
|
179
350
|
if elem_type == SequenceProto.SEQUENCE:
|
|
180
351
|
return [to_list(v) for v in sequence.sequence_values]
|
|
181
352
|
if elem_type == SequenceProto.MAP:
|
|
@@ -183,9 +354,9 @@ def to_list(sequence: SequenceProto) -> List[Any]:
|
|
|
183
354
|
raise TypeError("The element type in the input sequence is not supported.")
|
|
184
355
|
|
|
185
356
|
|
|
186
|
-
def from_list(
|
|
357
|
+
def from_list( # pylint: disable=too-many-branches
|
|
187
358
|
lst: List[Any], name: Optional[str] = None, dtype: Optional[int] = None
|
|
188
|
-
) -> SequenceProto:
|
|
359
|
+
) -> SequenceProto: # pylint: disable=too-many-branches
|
|
189
360
|
"""Converts a list into a sequence def.
|
|
190
361
|
|
|
191
362
|
Args:
|
|
@@ -230,8 +401,8 @@ def from_list(
|
|
|
230
401
|
for seq in lst:
|
|
231
402
|
sequence.sequence_values.extend([from_list(seq)])
|
|
232
403
|
elif elem_type == SequenceProto.MAP:
|
|
233
|
-
for
|
|
234
|
-
sequence.map_values.extend([from_dict(
|
|
404
|
+
for mapping in lst:
|
|
405
|
+
sequence.map_values.extend([from_dict(mapping)])
|
|
235
406
|
else:
|
|
236
407
|
raise TypeError(
|
|
237
408
|
"The element type in the input list is not a tensor, "
|
|
@@ -240,7 +411,7 @@ def from_list(
|
|
|
240
411
|
return sequence
|
|
241
412
|
|
|
242
413
|
|
|
243
|
-
def to_dict(
|
|
414
|
+
def to_dict(map_proto: MapProto) -> Dict[Any, Any]:
|
|
244
415
|
"""Converts a map def to a Python dictionary.
|
|
245
416
|
|
|
246
417
|
Args:
|
|
@@ -250,23 +421,23 @@ def to_dict(map: MapProto) -> Dict[Any, Any]:
|
|
|
250
421
|
dict: the converted dictionary.
|
|
251
422
|
"""
|
|
252
423
|
key_list: List[Any] = []
|
|
253
|
-
if
|
|
254
|
-
key_list = list(
|
|
424
|
+
if map_proto.key_type == TensorProto.STRING:
|
|
425
|
+
key_list = list(map_proto.string_keys)
|
|
255
426
|
else:
|
|
256
|
-
key_list = list(
|
|
427
|
+
key_list = list(map_proto.keys)
|
|
257
428
|
|
|
258
|
-
value_list = to_list(
|
|
429
|
+
value_list = to_list(map_proto.values)
|
|
259
430
|
if len(key_list) != len(value_list):
|
|
260
431
|
raise IndexError(
|
|
261
432
|
"Length of keys and values for MapProto (map name: ",
|
|
262
|
-
|
|
433
|
+
map_proto.name,
|
|
263
434
|
") are not the same.",
|
|
264
435
|
)
|
|
265
436
|
dictionary = dict(zip(key_list, value_list))
|
|
266
437
|
return dictionary
|
|
267
438
|
|
|
268
439
|
|
|
269
|
-
def from_dict(
|
|
440
|
+
def from_dict(dict_: Dict[Any, Any], name: Optional[str] = None) -> MapProto:
|
|
270
441
|
"""Converts a Python dictionary into a map def.
|
|
271
442
|
|
|
272
443
|
Args:
|
|
@@ -276,10 +447,10 @@ def from_dict(dict: Dict[Any, Any], name: Optional[str] = None) -> MapProto:
|
|
|
276
447
|
Returns:
|
|
277
448
|
MapProto: the converted map def.
|
|
278
449
|
"""
|
|
279
|
-
|
|
450
|
+
map_proto = MapProto()
|
|
280
451
|
if name:
|
|
281
|
-
|
|
282
|
-
keys = list(
|
|
452
|
+
map_proto.name = name
|
|
453
|
+
keys = list(dict_)
|
|
283
454
|
raw_key_type = np.array(keys[0]).dtype
|
|
284
455
|
key_type = helper.np_dtype_to_tensor_dtype(raw_key_type)
|
|
285
456
|
|
|
@@ -294,13 +465,19 @@ def from_dict(dict: Dict[Any, Any], name: Optional[str] = None) -> MapProto:
|
|
|
294
465
|
TensorProto.UINT64,
|
|
295
466
|
]
|
|
296
467
|
|
|
297
|
-
if not all(
|
|
468
|
+
if not all(
|
|
469
|
+
isinstance(
|
|
470
|
+
key,
|
|
471
|
+
raw_key_type, # type: ignore[arg-type]
|
|
472
|
+
)
|
|
473
|
+
for key in keys
|
|
474
|
+
):
|
|
298
475
|
raise TypeError(
|
|
299
476
|
"The key type in the input dictionary is not the same "
|
|
300
477
|
"for all keys and therefore is not valid as a map."
|
|
301
478
|
)
|
|
302
479
|
|
|
303
|
-
values = list(
|
|
480
|
+
values = list(dict_.values())
|
|
304
481
|
raw_value_type = type(values[0])
|
|
305
482
|
if not all(isinstance(val, raw_value_type) for val in values):
|
|
306
483
|
raise TypeError(
|
|
@@ -310,13 +487,13 @@ def from_dict(dict: Dict[Any, Any], name: Optional[str] = None) -> MapProto:
|
|
|
310
487
|
|
|
311
488
|
value_seq = from_list(values)
|
|
312
489
|
|
|
313
|
-
|
|
490
|
+
map_proto.key_type = key_type
|
|
314
491
|
if key_type == TensorProto.STRING:
|
|
315
|
-
|
|
492
|
+
map_proto.string_keys.extend(keys)
|
|
316
493
|
elif key_type in valid_key_int_types:
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
return
|
|
494
|
+
map_proto.keys.extend(keys)
|
|
495
|
+
map_proto.values.CopyFrom(value_seq)
|
|
496
|
+
return map_proto
|
|
320
497
|
|
|
321
498
|
|
|
322
499
|
def to_optional(optional: OptionalProto) -> Optional[Any]:
|
|
@@ -334,7 +511,7 @@ def to_optional(optional: OptionalProto) -> Optional[Any]:
|
|
|
334
511
|
if elem_type == OptionalProto.TENSOR:
|
|
335
512
|
return to_array(optional.tensor_value)
|
|
336
513
|
if elem_type == OptionalProto.SPARSE_TENSOR:
|
|
337
|
-
return to_array(optional.sparse_tensor_value)
|
|
514
|
+
return to_array(optional.sparse_tensor_value) # type: ignore[arg-type]
|
|
338
515
|
if elem_type == OptionalProto.SEQUENCE:
|
|
339
516
|
return to_list(optional.sequence_value)
|
|
340
517
|
if elem_type == OptionalProto.MAP:
|
|
@@ -366,8 +543,9 @@ def from_optional(
|
|
|
366
543
|
|
|
367
544
|
if dtype:
|
|
368
545
|
# dtype must be a valid OptionalProto.DataType
|
|
369
|
-
valid_dtypes =
|
|
370
|
-
|
|
546
|
+
valid_dtypes = list(OptionalProto.DataType.values())
|
|
547
|
+
if dtype not in valid_dtypes:
|
|
548
|
+
raise TypeError(f"{dtype} must be a valid OptionalProto.DataType.")
|
|
371
549
|
elem_type = dtype
|
|
372
550
|
elif isinstance(opt, dict):
|
|
373
551
|
elem_type = OptionalProto.MAP
|
|
@@ -407,3 +585,36 @@ def convert_endian(tensor: TensorProto) -> None:
|
|
|
407
585
|
tensor.raw_data = (
|
|
408
586
|
np.frombuffer(tensor.raw_data, dtype=np_dtype).byteswap().tobytes()
|
|
409
587
|
)
|
|
588
|
+
|
|
589
|
+
|
|
590
|
+
def create_random_int(
|
|
591
|
+
input_shape: Tuple[int], dtype: np.dtype, seed: int = 1
|
|
592
|
+
) -> np.ndarray:
|
|
593
|
+
"""
|
|
594
|
+
Create random integer array for backend/test/case/node.
|
|
595
|
+
|
|
596
|
+
Args:
|
|
597
|
+
input_shape: specify the shape for the returned integer array.
|
|
598
|
+
dtype: specify the NumPy data type for the returned integer array.
|
|
599
|
+
seed: (optional) the seed for np.random.
|
|
600
|
+
|
|
601
|
+
Returns:
|
|
602
|
+
np.ndarray: the created random integer array.
|
|
603
|
+
"""
|
|
604
|
+
np.random.seed(seed)
|
|
605
|
+
if dtype in (
|
|
606
|
+
np.uint8,
|
|
607
|
+
np.uint16,
|
|
608
|
+
np.uint32,
|
|
609
|
+
np.uint64,
|
|
610
|
+
np.int8,
|
|
611
|
+
np.int16,
|
|
612
|
+
np.int32,
|
|
613
|
+
np.int64,
|
|
614
|
+
):
|
|
615
|
+
# the range of np.random.randint is int32; set a fixed boundary if overflow
|
|
616
|
+
end = min(np.iinfo(dtype).max, np.iinfo(np.int32).max)
|
|
617
|
+
start = max(np.iinfo(dtype).min, np.iinfo(np.int32).min)
|
|
618
|
+
return np.random.randint(start, end, size=input_shape).astype(dtype)
|
|
619
|
+
else:
|
|
620
|
+
raise TypeError(f"{dtype} is not supported by create_random_int.")
|
onnx/onnx-ml.proto
CHANGED
|
@@ -98,13 +98,17 @@ enum Version {
|
|
|
98
98
|
// - Implicitly add inference graph into each TrainingInfoProto's algorithm.
|
|
99
99
|
IR_VERSION_2020_5_8 = 0x0000000000000007;
|
|
100
100
|
|
|
101
|
-
// IR VERSION 8 published on
|
|
101
|
+
// IR VERSION 8 published on July 30, 2021
|
|
102
102
|
// Introduce TypeProto.SparseTensor
|
|
103
103
|
// Introduce TypeProto.Optional
|
|
104
104
|
// Added a list of FunctionProtos local to the model
|
|
105
105
|
// Deprecated since_version and operator status from FunctionProto
|
|
106
|
-
|
|
106
|
+
IR_VERSION_2021_7_30 = 0x0000000000000008;
|
|
107
107
|
|
|
108
|
+
// IR VERSION 9 published on TBD
|
|
109
|
+
// Added AttributeProto to FunctionProto so that default attribute values can be set.
|
|
110
|
+
// Added FLOAT8E4M3FN, FLOAT8E4M3FNUZ, FLOAT8E5M2, FLOAT8E5M2FNUZ.
|
|
111
|
+
IR_VERSION = 0x0000000000000009;
|
|
108
112
|
}
|
|
109
113
|
|
|
110
114
|
// Attributes
|
|
@@ -507,6 +511,17 @@ message TensorProto {
|
|
|
507
511
|
// This format has 1 sign bit, 8 exponent bits, and 7 mantissa bits.
|
|
508
512
|
BFLOAT16 = 16;
|
|
509
513
|
|
|
514
|
+
// Non-IEEE floating-point format based on papers
|
|
515
|
+
// FP8 Formats for Deep Learning, https://arxiv.org/abs/2209.05433,
|
|
516
|
+
// 8-bit Numerical Formats For Deep Neural Networks, https://arxiv.org/pdf/2206.02915.pdf.
|
|
517
|
+
// Operators supported FP8 are Cast, CastLike, QuantizeLinear, DequantizeLinear.
|
|
518
|
+
// The computation usually happens inside a block quantize / dequantize
|
|
519
|
+
// fused by the runtime.
|
|
520
|
+
FLOAT8E4M3FN = 17; // float 8, mostly used for coefficients, supports nan, not inf
|
|
521
|
+
FLOAT8E4M3FNUZ = 18; // float 8, mostly used for coefficients, supports nan, not inf, no negative zero
|
|
522
|
+
FLOAT8E5M2 = 19; // follows IEEE 754, supports nan, inf, mostly used for gradients
|
|
523
|
+
FLOAT8E5M2FNUZ = 20; // follows IEEE 754, supports nan, inf, mostly used for gradients, no negative zero
|
|
524
|
+
|
|
510
525
|
// Future extensions go here.
|
|
511
526
|
}
|
|
512
527
|
|
|
@@ -540,11 +555,11 @@ message TensorProto {
|
|
|
540
555
|
// When this field is present, the data_type field MUST be FLOAT or COMPLEX64.
|
|
541
556
|
repeated float float_data = 4 [packed = true];
|
|
542
557
|
|
|
543
|
-
// For int32, uint8, int8, uint16, int16, bool, and float16 values
|
|
544
|
-
// float16 values must be bit-wise converted to an uint16_t prior
|
|
558
|
+
// For int32, uint8, int8, uint16, int16, bool, float8, and float16 values
|
|
559
|
+
// float16 and float8 values must be bit-wise converted to an uint16_t prior
|
|
545
560
|
// to writing to the buffer.
|
|
546
561
|
// When this field is present, the data_type field MUST be
|
|
547
|
-
// INT32, INT16, INT8, UINT16, UINT8, BOOL, FLOAT16
|
|
562
|
+
// INT32, INT16, INT8, UINT16, UINT8, BOOL, FLOAT16, BFLOAT16, FLOAT8E4M3FN, FLOAT8E4M3FNUZ, FLOAT8E5M2, FLOAT8E5M2FNUZ
|
|
548
563
|
repeated int32 int32_data = 5 [packed = true];
|
|
549
564
|
|
|
550
565
|
// For strings.
|
|
@@ -795,9 +810,16 @@ message FunctionProto {
|
|
|
795
810
|
repeated string input = 4;
|
|
796
811
|
repeated string output = 5;
|
|
797
812
|
|
|
798
|
-
// The
|
|
813
|
+
// The attribute parameters of the function.
|
|
814
|
+
// It is for function parameters without default values.
|
|
799
815
|
repeated string attribute = 6;
|
|
800
816
|
|
|
817
|
+
// The attribute protos of the function.
|
|
818
|
+
// It is for function attributes with default values.
|
|
819
|
+
// A function attribute shall be represented either as
|
|
820
|
+
// a string attribute or an AttributeProto, not both.
|
|
821
|
+
repeated AttributeProto attribute_proto = 11;
|
|
822
|
+
|
|
801
823
|
// The nodes in the function.
|
|
802
824
|
repeated NodeProto node = 7;
|
|
803
825
|
// A human-readable documentation for this function. Markdown is allowed.
|
onnx/onnx-operators-ml.proto
CHANGED
onnx/onnx-operators.in.proto
CHANGED
onnx/onnx-operators.proto
CHANGED
onnx/onnx.in.proto
CHANGED
|
@@ -95,13 +95,17 @@ enum Version {
|
|
|
95
95
|
// - Implicitly add inference graph into each TrainingInfoProto's algorithm.
|
|
96
96
|
IR_VERSION_2020_5_8 = 0x0000000000000007;
|
|
97
97
|
|
|
98
|
-
// IR VERSION 8 published on
|
|
98
|
+
// IR VERSION 8 published on July 30, 2021
|
|
99
99
|
// Introduce TypeProto.SparseTensor
|
|
100
100
|
// Introduce TypeProto.Optional
|
|
101
101
|
// Added a list of FunctionProtos local to the model
|
|
102
102
|
// Deprecated since_version and operator status from FunctionProto
|
|
103
|
-
|
|
103
|
+
IR_VERSION_2021_7_30 = 0x0000000000000008;
|
|
104
104
|
|
|
105
|
+
// IR VERSION 9 published on TBD
|
|
106
|
+
// Added AttributeProto to FunctionProto so that default attribute values can be set.
|
|
107
|
+
// Added FLOAT8E4M3FN, FLOAT8E4M3FNUZ, FLOAT8E5M2, FLOAT8E5M2FNUZ.
|
|
108
|
+
IR_VERSION = 0x0000000000000009;
|
|
105
109
|
}
|
|
106
110
|
|
|
107
111
|
// Attributes
|
|
@@ -504,6 +508,17 @@ message TensorProto {
|
|
|
504
508
|
// This format has 1 sign bit, 8 exponent bits, and 7 mantissa bits.
|
|
505
509
|
BFLOAT16 = 16;
|
|
506
510
|
|
|
511
|
+
// Non-IEEE floating-point format based on papers
|
|
512
|
+
// FP8 Formats for Deep Learning, https://arxiv.org/abs/2209.05433,
|
|
513
|
+
// 8-bit Numerical Formats For Deep Neural Networks, https://arxiv.org/pdf/2206.02915.pdf.
|
|
514
|
+
// Operators supported FP8 are Cast, CastLike, QuantizeLinear, DequantizeLinear.
|
|
515
|
+
// The computation usually happens inside a block quantize / dequantize
|
|
516
|
+
// fused by the runtime.
|
|
517
|
+
FLOAT8E4M3FN = 17; // float 8, mostly used for coefficients, supports nan, not inf
|
|
518
|
+
FLOAT8E4M3FNUZ = 18; // float 8, mostly used for coefficients, supports nan, not inf, no negative zero
|
|
519
|
+
FLOAT8E5M2 = 19; // follows IEEE 754, supports nan, inf, mostly used for gradients
|
|
520
|
+
FLOAT8E5M2FNUZ = 20; // follows IEEE 754, supports nan, inf, mostly used for gradients, no negative zero
|
|
521
|
+
|
|
507
522
|
// Future extensions go here.
|
|
508
523
|
}
|
|
509
524
|
|
|
@@ -537,11 +552,11 @@ message TensorProto {
|
|
|
537
552
|
// When this field is present, the data_type field MUST be FLOAT or COMPLEX64.
|
|
538
553
|
repeated float float_data = 4 [packed = true];
|
|
539
554
|
|
|
540
|
-
// For int32, uint8, int8, uint16, int16, bool, and float16 values
|
|
541
|
-
// float16 values must be bit-wise converted to an uint16_t prior
|
|
555
|
+
// For int32, uint8, int8, uint16, int16, bool, float8, and float16 values
|
|
556
|
+
// float16 and float8 values must be bit-wise converted to an uint16_t prior
|
|
542
557
|
// to writing to the buffer.
|
|
543
558
|
// When this field is present, the data_type field MUST be
|
|
544
|
-
// INT32, INT16, INT8, UINT16, UINT8, BOOL, FLOAT16
|
|
559
|
+
// INT32, INT16, INT8, UINT16, UINT8, BOOL, FLOAT16, BFLOAT16, FLOAT8E4M3FN, FLOAT8E4M3FNUZ, FLOAT8E5M2, FLOAT8E5M2FNUZ
|
|
545
560
|
repeated int32 int32_data = 5 [packed = true];
|
|
546
561
|
|
|
547
562
|
// For strings.
|
|
@@ -796,9 +811,16 @@ message FunctionProto {
|
|
|
796
811
|
repeated string input = 4;
|
|
797
812
|
repeated string output = 5;
|
|
798
813
|
|
|
799
|
-
// The
|
|
814
|
+
// The attribute parameters of the function.
|
|
815
|
+
// It is for function parameters without default values.
|
|
800
816
|
repeated string attribute = 6;
|
|
801
817
|
|
|
818
|
+
// The attribute protos of the function.
|
|
819
|
+
// It is for function attributes with default values.
|
|
820
|
+
// A function attribute shall be represented either as
|
|
821
|
+
// a string attribute or an AttributeProto, not both.
|
|
822
|
+
repeated AttributeProto attribute_proto = 11;
|
|
823
|
+
|
|
802
824
|
// The nodes in the function.
|
|
803
825
|
repeated NodeProto node = 7;
|
|
804
826
|
// A human-readable documentation for this function. Markdown is allowed.
|
onnx/onnx.proto
CHANGED
|
@@ -96,13 +96,17 @@ enum Version {
|
|
|
96
96
|
// - Implicitly add inference graph into each TrainingInfoProto's algorithm.
|
|
97
97
|
IR_VERSION_2020_5_8 = 0x0000000000000007;
|
|
98
98
|
|
|
99
|
-
// IR VERSION 8 published on
|
|
99
|
+
// IR VERSION 8 published on July 30, 2021
|
|
100
100
|
// Introduce TypeProto.SparseTensor
|
|
101
101
|
// Introduce TypeProto.Optional
|
|
102
102
|
// Added a list of FunctionProtos local to the model
|
|
103
103
|
// Deprecated since_version and operator status from FunctionProto
|
|
104
|
-
|
|
104
|
+
IR_VERSION_2021_7_30 = 0x0000000000000008;
|
|
105
105
|
|
|
106
|
+
// IR VERSION 9 published on TBD
|
|
107
|
+
// Added AttributeProto to FunctionProto so that default attribute values can be set.
|
|
108
|
+
// Added FLOAT8E4M3FN, FLOAT8E4M3FNUZ, FLOAT8E5M2, FLOAT8E5M2FNUZ.
|
|
109
|
+
IR_VERSION = 0x0000000000000009;
|
|
106
110
|
}
|
|
107
111
|
|
|
108
112
|
// Attributes
|
|
@@ -505,6 +509,17 @@ message TensorProto {
|
|
|
505
509
|
// This format has 1 sign bit, 8 exponent bits, and 7 mantissa bits.
|
|
506
510
|
BFLOAT16 = 16;
|
|
507
511
|
|
|
512
|
+
// Non-IEEE floating-point format based on papers
|
|
513
|
+
// FP8 Formats for Deep Learning, https://arxiv.org/abs/2209.05433,
|
|
514
|
+
// 8-bit Numerical Formats For Deep Neural Networks, https://arxiv.org/pdf/2206.02915.pdf.
|
|
515
|
+
// Operators supported FP8 are Cast, CastLike, QuantizeLinear, DequantizeLinear.
|
|
516
|
+
// The computation usually happens inside a block quantize / dequantize
|
|
517
|
+
// fused by the runtime.
|
|
518
|
+
FLOAT8E4M3FN = 17; // float 8, mostly used for coefficients, supports nan, not inf
|
|
519
|
+
FLOAT8E4M3FNUZ = 18; // float 8, mostly used for coefficients, supports nan, not inf, no negative zero
|
|
520
|
+
FLOAT8E5M2 = 19; // follows IEEE 754, supports nan, inf, mostly used for gradients
|
|
521
|
+
FLOAT8E5M2FNUZ = 20; // follows IEEE 754, supports nan, inf, mostly used for gradients, no negative zero
|
|
522
|
+
|
|
508
523
|
// Future extensions go here.
|
|
509
524
|
}
|
|
510
525
|
|
|
@@ -538,11 +553,11 @@ message TensorProto {
|
|
|
538
553
|
// When this field is present, the data_type field MUST be FLOAT or COMPLEX64.
|
|
539
554
|
repeated float float_data = 4 [packed = true];
|
|
540
555
|
|
|
541
|
-
// For int32, uint8, int8, uint16, int16, bool, and float16 values
|
|
542
|
-
// float16 values must be bit-wise converted to an uint16_t prior
|
|
556
|
+
// For int32, uint8, int8, uint16, int16, bool, float8, and float16 values
|
|
557
|
+
// float16 and float8 values must be bit-wise converted to an uint16_t prior
|
|
543
558
|
// to writing to the buffer.
|
|
544
559
|
// When this field is present, the data_type field MUST be
|
|
545
|
-
// INT32, INT16, INT8, UINT16, UINT8, BOOL, FLOAT16
|
|
560
|
+
// INT32, INT16, INT8, UINT16, UINT8, BOOL, FLOAT16, BFLOAT16, FLOAT8E4M3FN, FLOAT8E4M3FNUZ, FLOAT8E5M2, FLOAT8E5M2FNUZ
|
|
546
561
|
repeated int32 int32_data = 5 [packed = true];
|
|
547
562
|
|
|
548
563
|
// For strings.
|
|
@@ -779,9 +794,16 @@ message FunctionProto {
|
|
|
779
794
|
repeated string input = 4;
|
|
780
795
|
repeated string output = 5;
|
|
781
796
|
|
|
782
|
-
// The
|
|
797
|
+
// The attribute parameters of the function.
|
|
798
|
+
// It is for function parameters without default values.
|
|
783
799
|
repeated string attribute = 6;
|
|
784
800
|
|
|
801
|
+
// The attribute protos of the function.
|
|
802
|
+
// It is for function attributes with default values.
|
|
803
|
+
// A function attribute shall be represented either as
|
|
804
|
+
// a string attribute or an AttributeProto, not both.
|
|
805
|
+
repeated AttributeProto attribute_proto = 11;
|
|
806
|
+
|
|
785
807
|
// The nodes in the function.
|
|
786
808
|
repeated NodeProto node = 7;
|
|
787
809
|
// A human-readable documentation for this function. Markdown is allowed.
|
|
Binary file
|
onnx/onnx_data_pb2.pyi
CHANGED