onnx2tf 1.29.8__tar.gz → 1.29.10__tar.gz
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.
- {onnx2tf-1.29.8/onnx2tf.egg-info → onnx2tf-1.29.10}/PKG-INFO +6 -6
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/README.md +5 -5
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/__init__.py +1 -1
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/onnx2tf.py +83 -73
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/If.py +4 -2
- onnx2tf-1.29.10/onnx2tf/ops/Loop.py +392 -0
- onnx2tf-1.29.10/onnx2tf/ops/LpPool.py +296 -0
- onnx2tf-1.29.10/onnx2tf/ops/MaxRoiPool.py +236 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Unsqueeze.py +69 -37
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/utils/common_functions.py +3 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10/onnx2tf.egg-info}/PKG-INFO +6 -6
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf.egg-info/SOURCES.txt +3 -2
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/pyproject.toml +1 -1
- onnx2tf-1.29.8/onnx2tf/ops/_Loop.py +0 -306
- onnx2tf-1.29.8/onnx2tf/ops/__Loop.py +0 -509
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/LICENSE +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/LICENSE_onnx-tensorflow +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/__main__.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Abs.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Acos.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Acosh.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Add.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/AffineGrid.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/And.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/ArgMax.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/ArgMin.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Asin.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Asinh.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Atan.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Atanh.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Attention.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/AveragePool.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/BatchNormalization.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Bernoulli.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/BitShift.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/BitwiseAnd.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/BitwiseNot.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/BitwiseOr.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/BitwiseXor.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/BlackmanWindow.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Cast.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Ceil.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Celu.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Clip.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Col2Im.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Compress.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Concat.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/ConcatFromSequence.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Constant.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/ConstantOfShape.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Conv.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/ConvInteger.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/ConvTranspose.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Cos.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Cosh.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/CumProd.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/CumSum.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/DepthToSpace.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/DequantizeLinear.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Det.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Div.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Dropout.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/DynamicQuantizeLinear.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Einsum.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Elu.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Equal.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Erf.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Exp.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Expand.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/EyeLike.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Flatten.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Floor.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/FusedConv.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/GRU.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Gather.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/GatherElements.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/GatherND.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Gelu.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Gemm.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/GlobalAveragePool.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/GlobalLpPool.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/GlobalMaxPool.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Greater.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/GreaterOrEqual.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/GridSample.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/GroupNorm.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/HammingWindow.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/HannWindow.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/HardSigmoid.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/HardSwish.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Hardmax.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Identity.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Input.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/InstanceNormalization.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Inverse.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/IsInf.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/IsNaN.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/LRN.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/LSTM.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/LayerNormalization.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/LeakyRelu.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Less.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/LessOrEqual.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Log.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/LogSoftmax.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/LpNormalization.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/MatMul.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/MatMulInteger.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Max.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/MaxPool.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/MaxUnpool.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Mean.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/MeanVarianceNormalization.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/MelWeightMatrix.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Min.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Mish.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Mod.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Mul.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Multinomial.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Neg.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/NonMaxSuppression.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/NonZero.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Not.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/OneHot.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/OptionalGetElement.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/OptionalHasElement.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Or.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/PRelu.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Pad.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Pow.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/QLinearAdd.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/QLinearConcat.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/QLinearConv.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/QLinearLeakyRelu.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/QLinearMatMul.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/QLinearMul.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/QLinearSigmoid.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/QLinearSoftmax.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/QuantizeLinear.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/RNN.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/RandomNormal.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/RandomNormalLike.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/RandomUniform.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/RandomUniformLike.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Range.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Reciprocal.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/ReduceL1.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/ReduceL2.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/ReduceLogSum.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/ReduceLogSumExp.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/ReduceMax.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/ReduceMean.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/ReduceMin.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/ReduceProd.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/ReduceSum.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/ReduceSumSquare.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Relu.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Reshape.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Resize.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/ReverseSequence.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/RoiAlign.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Round.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/STFT.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/ScaleAndTranslate.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Scatter.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/ScatterElements.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/ScatterND.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Selu.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/SequenceAt.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/SequenceConstruct.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/SequenceEmpty.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/SequenceErase.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/SequenceInsert.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/SequenceLength.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Shape.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Shrink.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Sigmoid.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Sign.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Sin.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Sinh.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Size.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Slice.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Softmax.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Softplus.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Softsign.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/SpaceToDepth.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Split.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/SplitToSequence.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Sqrt.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Squeeze.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/StringNormalizer.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Sub.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Sum.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Tan.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Tanh.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/ThresholdedRelu.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Tile.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/TopK.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Transpose.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Trilu.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Unique.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Upsample.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Where.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/Xor.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/ops/__init__.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/utils/__init__.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/utils/enums.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/utils/iterative_json_optimizer.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/utils/json_auto_generator.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf/utils/logging.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf.egg-info/dependency_links.txt +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf.egg-info/requires.txt +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/onnx2tf.egg-info/top_level.txt +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/setup.cfg +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/setup.py +0 -0
- {onnx2tf-1.29.8 → onnx2tf-1.29.10}/tests/test_model_convert.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: onnx2tf
|
|
3
|
-
Version: 1.29.
|
|
3
|
+
Version: 1.29.10
|
|
4
4
|
Summary: Self-Created Tools to convert ONNX files (NCHW) to TensorFlow/TFLite/Keras format (NHWC).
|
|
5
5
|
Home-page: https://github.com/PINTO0309/onnx2tf
|
|
6
6
|
Author: Katsuya Hyodo
|
|
@@ -182,16 +182,16 @@ https://github.com/PINTO0309/onnx2tf/wiki/model_status
|
|
|
182
182
|
|Less|:heavy_check_mark:|
|
|
183
183
|
|Log|:heavy_check_mark:|
|
|
184
184
|
|LogSoftmax|:heavy_check_mark:|
|
|
185
|
-
|Loop
|
|
185
|
+
|Loop|:heavy_check_mark:|
|
|
186
186
|
|LpNormalization|:heavy_check_mark:|
|
|
187
|
-
|LpPool
|
|
187
|
+
|LpPool|:heavy_check_mark:|
|
|
188
188
|
|LRN|:heavy_check_mark:|
|
|
189
189
|
|LSTM|:heavy_check_mark:|
|
|
190
190
|
|MatMul|:heavy_check_mark:|
|
|
191
191
|
|MatMulInteger|:heavy_check_mark:|
|
|
192
192
|
|MaxPool|:heavy_check_mark:|
|
|
193
193
|
|Max|:heavy_check_mark:|
|
|
194
|
-
|MaxRoiPool
|
|
194
|
+
|MaxRoiPool|:heavy_check_mark:|
|
|
195
195
|
|MaxUnpool|:heavy_check_mark:|
|
|
196
196
|
|Mean|:heavy_check_mark:|
|
|
197
197
|
|MeanVarianceNormalization|:heavy_check_mark:|
|
|
@@ -359,7 +359,7 @@ Video speed is adjusted approximately 50 times slower than actual speed.
|
|
|
359
359
|
docker run --rm -it \
|
|
360
360
|
-v `pwd`:/workdir \
|
|
361
361
|
-w /workdir \
|
|
362
|
-
ghcr.io/pinto0309/onnx2tf:1.29.
|
|
362
|
+
ghcr.io/pinto0309/onnx2tf:1.29.10
|
|
363
363
|
|
|
364
364
|
or
|
|
365
365
|
|
|
@@ -367,7 +367,7 @@ Video speed is adjusted approximately 50 times slower than actual speed.
|
|
|
367
367
|
docker run --rm -it \
|
|
368
368
|
-v `pwd`:/workdir \
|
|
369
369
|
-w /workdir \
|
|
370
|
-
docker.io/pinto0309/onnx2tf:1.29.
|
|
370
|
+
docker.io/pinto0309/onnx2tf:1.29.10
|
|
371
371
|
|
|
372
372
|
or
|
|
373
373
|
|
|
@@ -145,16 +145,16 @@ https://github.com/PINTO0309/onnx2tf/wiki/model_status
|
|
|
145
145
|
|Less|:heavy_check_mark:|
|
|
146
146
|
|Log|:heavy_check_mark:|
|
|
147
147
|
|LogSoftmax|:heavy_check_mark:|
|
|
148
|
-
|Loop
|
|
148
|
+
|Loop|:heavy_check_mark:|
|
|
149
149
|
|LpNormalization|:heavy_check_mark:|
|
|
150
|
-
|LpPool
|
|
150
|
+
|LpPool|:heavy_check_mark:|
|
|
151
151
|
|LRN|:heavy_check_mark:|
|
|
152
152
|
|LSTM|:heavy_check_mark:|
|
|
153
153
|
|MatMul|:heavy_check_mark:|
|
|
154
154
|
|MatMulInteger|:heavy_check_mark:|
|
|
155
155
|
|MaxPool|:heavy_check_mark:|
|
|
156
156
|
|Max|:heavy_check_mark:|
|
|
157
|
-
|MaxRoiPool
|
|
157
|
+
|MaxRoiPool|:heavy_check_mark:|
|
|
158
158
|
|MaxUnpool|:heavy_check_mark:|
|
|
159
159
|
|Mean|:heavy_check_mark:|
|
|
160
160
|
|MeanVarianceNormalization|:heavy_check_mark:|
|
|
@@ -322,7 +322,7 @@ Video speed is adjusted approximately 50 times slower than actual speed.
|
|
|
322
322
|
docker run --rm -it \
|
|
323
323
|
-v `pwd`:/workdir \
|
|
324
324
|
-w /workdir \
|
|
325
|
-
ghcr.io/pinto0309/onnx2tf:1.29.
|
|
325
|
+
ghcr.io/pinto0309/onnx2tf:1.29.10
|
|
326
326
|
|
|
327
327
|
or
|
|
328
328
|
|
|
@@ -330,7 +330,7 @@ Video speed is adjusted approximately 50 times slower than actual speed.
|
|
|
330
330
|
docker run --rm -it \
|
|
331
331
|
-v `pwd`:/workdir \
|
|
332
332
|
-w /workdir \
|
|
333
|
-
docker.io/pinto0309/onnx2tf:1.29.
|
|
333
|
+
docker.io/pinto0309/onnx2tf:1.29.10
|
|
334
334
|
|
|
335
335
|
or
|
|
336
336
|
|
|
@@ -1467,82 +1467,89 @@ def convert(
|
|
|
1467
1467
|
SIGNATURE_KEY = 'serving_default'
|
|
1468
1468
|
|
|
1469
1469
|
# saved_model
|
|
1470
|
+
saved_model_log_level = get_log_level()
|
|
1470
1471
|
try:
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
export_archive = tf_keras.export.ExportArchive()
|
|
1495
|
-
export_archive.add_endpoint(
|
|
1496
|
-
name=SIGNATURE_KEY,
|
|
1497
|
-
fn=lambda *inputs : model(inputs),
|
|
1498
|
-
input_signature=[tf.TensorSpec(tensor.shape, tensor.dtype, tensor.name) for tensor in model.inputs],
|
|
1499
|
-
)
|
|
1500
|
-
export_archive.write_out(output_folder_path)
|
|
1501
|
-
break
|
|
1502
|
-
except ValueError as e:
|
|
1503
|
-
msg_list = [s for s in e.args if isinstance(s, str)]
|
|
1504
|
-
if len(msg_list) > 0:
|
|
1472
|
+
if saved_model_log_level <= LOG_LEVELS['debug']:
|
|
1473
|
+
set_log_level('info')
|
|
1474
|
+
try:
|
|
1475
|
+
# concrete_func
|
|
1476
|
+
info(Color.REVERSE(f'saved_model output started'), '=' * 58)
|
|
1477
|
+
if not output_signaturedefs and not output_integer_quantized_tflite:
|
|
1478
|
+
tf.saved_model.save(model, output_folder_path)
|
|
1479
|
+
else:
|
|
1480
|
+
export_archive = tf_keras.export.ExportArchive()
|
|
1481
|
+
export_archive.add_endpoint(
|
|
1482
|
+
name=SIGNATURE_KEY,
|
|
1483
|
+
fn=lambda *inputs : model(inputs),
|
|
1484
|
+
input_signature=[tf.TensorSpec(tensor.shape, tensor.dtype, tensor.name) for tensor in model.inputs],
|
|
1485
|
+
)
|
|
1486
|
+
export_archive.write_out(output_folder_path)
|
|
1487
|
+
info(Color.GREEN(f'saved_model output complete!'))
|
|
1488
|
+
except TypeError as e:
|
|
1489
|
+
# Switch to .pb
|
|
1490
|
+
info(Color.GREEN(f'Switch to the output of an optimized protocol buffer file (.pb).'))
|
|
1491
|
+
except (KeyError, AssertionError) as e:
|
|
1492
|
+
msg_list = [s for s in e.args if isinstance(s, str)]
|
|
1493
|
+
if len(msg_list) > 0:
|
|
1494
|
+
try:
|
|
1505
1495
|
for s in msg_list:
|
|
1506
|
-
if '
|
|
1507
|
-
|
|
1508
|
-
|
|
1496
|
+
if 'Failed to add concrete function' in s \
|
|
1497
|
+
or "Tried to export a function which references an 'untracked' resource" in s:
|
|
1498
|
+
export_archive = tf_keras.export.ExportArchive()
|
|
1499
|
+
export_archive.add_endpoint(
|
|
1500
|
+
name=SIGNATURE_KEY,
|
|
1501
|
+
fn=lambda *inputs : model(inputs),
|
|
1502
|
+
input_signature=[tf.TensorSpec(tensor.shape, tensor.dtype, tensor.name) for tensor in model.inputs],
|
|
1509
1503
|
)
|
|
1510
|
-
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
|
|
1519
|
-
|
|
1520
|
-
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1504
|
+
export_archive.write_out(output_folder_path)
|
|
1505
|
+
break
|
|
1506
|
+
except ValueError as e:
|
|
1507
|
+
msg_list = [s for s in e.args if isinstance(s, str)]
|
|
1508
|
+
if len(msg_list) > 0:
|
|
1509
|
+
for s in msg_list:
|
|
1510
|
+
if 'A root scope name has to match the following pattern' in s:
|
|
1511
|
+
error(
|
|
1512
|
+
f'Generation of saved_model failed because the OP name does not match the following pattern. ^[A-Za-z0-9.][A-Za-z0-9_.\\\\/>-]*$'
|
|
1513
|
+
)
|
|
1514
|
+
matches = re.findall(r"'([^']*)'", s)
|
|
1515
|
+
error(f'{matches[0]}')
|
|
1516
|
+
error(
|
|
1517
|
+
f'Please convert again with the `-osd` or `--output_signaturedefs` option.'
|
|
1518
|
+
)
|
|
1519
|
+
sys.exit(1)
|
|
1520
|
+
else:
|
|
1521
|
+
error(e)
|
|
1522
|
+
import traceback
|
|
1523
|
+
error(traceback.format_exc(), prefix=False)
|
|
1524
|
+
else:
|
|
1525
|
+
error(e)
|
|
1526
|
+
import traceback
|
|
1527
|
+
error(traceback.format_exc(), prefix=False)
|
|
1528
|
+
except ValueError as e:
|
|
1529
|
+
msg_list = [s for s in e.args if isinstance(s, str)]
|
|
1530
|
+
if len(msg_list) > 0:
|
|
1531
|
+
for s in msg_list:
|
|
1532
|
+
if 'A root scope name has to match the following pattern' in s:
|
|
1533
|
+
error(
|
|
1534
|
+
f'Generation of saved_model failed because the OP name does not match the following pattern. ^[A-Za-z0-9.][A-Za-z0-9_.\\\\/>-]*$'
|
|
1535
|
+
)
|
|
1536
|
+
matches = re.findall(r"'([^']*)'", s)
|
|
1537
|
+
error(f'{matches[0]}')
|
|
1538
|
+
error(
|
|
1539
|
+
f'Please convert again with the `-osd` or `--output_signaturedefs` option.'
|
|
1540
|
+
)
|
|
1541
|
+
sys.exit(1)
|
|
1542
|
+
else:
|
|
1543
|
+
error(e)
|
|
1544
|
+
import traceback
|
|
1545
|
+
error(traceback.format_exc(), prefix=False)
|
|
1546
|
+
except Exception as e:
|
|
1539
1547
|
error(e)
|
|
1540
1548
|
import traceback
|
|
1541
1549
|
error(traceback.format_exc(), prefix=False)
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
error(traceback.format_exc(), prefix=False)
|
|
1550
|
+
finally:
|
|
1551
|
+
if get_log_level() != saved_model_log_level:
|
|
1552
|
+
set_log_level(saved_model_log_level)
|
|
1546
1553
|
|
|
1547
1554
|
# TFv1 .pb
|
|
1548
1555
|
if output_tfv1_pb:
|
|
@@ -1581,9 +1588,12 @@ def convert(
|
|
|
1581
1588
|
Name: flatbuffers
|
|
1582
1589
|
Version: 22.10.26
|
|
1583
1590
|
"""
|
|
1584
|
-
|
|
1585
|
-
|
|
1586
|
-
|
|
1591
|
+
try:
|
|
1592
|
+
converter = tf.lite.TFLiteConverter.from_keras_model(model)
|
|
1593
|
+
except Exception as e:
|
|
1594
|
+
converter = tf.lite.TFLiteConverter.from_concrete_functions(
|
|
1595
|
+
[concrete_func]
|
|
1596
|
+
)
|
|
1587
1597
|
converter.target_spec.supported_ops = [
|
|
1588
1598
|
tf.lite.OpsSet.TFLITE_BUILTINS,
|
|
1589
1599
|
tf.lite.OpsSet.SELECT_TF_OPS,
|
|
@@ -54,6 +54,8 @@ def make_node(
|
|
|
54
54
|
graph_node_outputs = [] + graph_node.outputs
|
|
55
55
|
|
|
56
56
|
# Then branch
|
|
57
|
+
subgraph_kwargs = dict(kwargs)
|
|
58
|
+
subgraph_kwargs['suppress_log'] = True
|
|
57
59
|
then_branch_graph: gs.Graph = graph_node.attrs['then_branch']
|
|
58
60
|
then_branch_graph_outputs = then_branch_graph.outputs
|
|
59
61
|
for then_branch_graph_node in then_branch_graph.nodes:
|
|
@@ -73,7 +75,7 @@ def make_node(
|
|
|
73
75
|
op.make_node(
|
|
74
76
|
graph_node=then_branch_graph_node,
|
|
75
77
|
tf_layers_dict=tf_layers_dict,
|
|
76
|
-
**
|
|
78
|
+
**subgraph_kwargs,
|
|
77
79
|
)
|
|
78
80
|
# Then branch - Resister constant
|
|
79
81
|
for output in then_branch_graph_outputs:
|
|
@@ -115,7 +117,7 @@ def make_node(
|
|
|
115
117
|
op.make_node(
|
|
116
118
|
graph_node=else_branch_graph_node,
|
|
117
119
|
tf_layers_dict=tf_layers_dict,
|
|
118
|
-
**
|
|
120
|
+
**subgraph_kwargs,
|
|
119
121
|
)
|
|
120
122
|
# Else branch - Resister constant
|
|
121
123
|
for output in else_branch_graph_outputs:
|