onnx2tf 1.29.11__tar.gz → 1.29.12__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.11 → onnx2tf-1.29.12}/PKG-INFO +3 -3
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/README.md +2 -2
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/__init__.py +1 -1
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/MatMul.py +55 -6
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/pyproject.toml +1 -1
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/__main__.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/onnx2tf.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Abs.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Acos.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Acosh.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Add.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/AffineGrid.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/And.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/ArgMax.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/ArgMin.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Asin.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Asinh.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Atan.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Atanh.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Attention.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/AveragePool.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/BatchNormalization.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Bernoulli.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/BitShift.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/BitwiseAnd.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/BitwiseNot.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/BitwiseOr.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/BitwiseXor.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/BlackmanWindow.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Cast.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Ceil.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Celu.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Clip.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Col2Im.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Compress.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Concat.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/ConcatFromSequence.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Constant.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/ConstantOfShape.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Conv.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/ConvInteger.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/ConvTranspose.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Cos.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Cosh.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/CumProd.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/CumSum.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/DepthToSpace.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/DequantizeLinear.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Det.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Div.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Dropout.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/DynamicQuantizeLinear.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Einsum.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Elu.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Equal.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Erf.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Exp.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Expand.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/EyeLike.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Flatten.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Floor.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/FusedConv.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/GRU.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Gather.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/GatherElements.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/GatherND.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Gelu.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Gemm.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/GlobalAveragePool.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/GlobalLpPool.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/GlobalMaxPool.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Greater.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/GreaterOrEqual.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/GridSample.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/GroupNorm.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/HammingWindow.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/HannWindow.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/HardSigmoid.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/HardSwish.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Hardmax.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Identity.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/If.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Input.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/InstanceNormalization.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Inverse.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/IsInf.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/IsNaN.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/LRN.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/LSTM.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/LayerNormalization.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/LeakyRelu.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Less.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/LessOrEqual.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Log.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/LogSoftmax.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Loop.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/LpNormalization.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/LpPool.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/MatMulInteger.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Max.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/MaxPool.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/MaxRoiPool.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/MaxUnpool.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Mean.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/MeanVarianceNormalization.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/MelWeightMatrix.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Min.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Mish.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Mod.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Mul.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Multinomial.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Neg.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/NonMaxSuppression.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/NonZero.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Not.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/OneHot.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/OptionalGetElement.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/OptionalHasElement.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Or.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/PRelu.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Pad.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Pow.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/QLinearAdd.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/QLinearConcat.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/QLinearConv.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/QLinearLeakyRelu.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/QLinearMatMul.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/QLinearMul.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/QLinearSigmoid.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/QLinearSoftmax.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/QuantizeLinear.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/RNN.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/RandomNormal.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/RandomNormalLike.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/RandomUniform.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/RandomUniformLike.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Range.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Reciprocal.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/ReduceL1.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/ReduceL2.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/ReduceLogSum.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/ReduceLogSumExp.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/ReduceMax.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/ReduceMean.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/ReduceMin.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/ReduceProd.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/ReduceSum.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/ReduceSumSquare.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Relu.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Reshape.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Resize.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/ReverseSequence.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/RoiAlign.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Round.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/STFT.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/ScaleAndTranslate.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Scatter.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/ScatterElements.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/ScatterND.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Selu.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/SequenceAt.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/SequenceConstruct.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/SequenceEmpty.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/SequenceErase.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/SequenceInsert.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/SequenceLength.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Shape.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Shrink.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Sigmoid.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Sign.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Sin.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Sinh.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Size.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Slice.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Softmax.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Softplus.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Softsign.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/SpaceToDepth.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Split.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/SplitToSequence.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Sqrt.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Squeeze.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/StringNormalizer.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Sub.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Sum.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Tan.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Tanh.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/ThresholdedRelu.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Tile.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/TopK.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Transpose.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Trilu.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Unique.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Unsqueeze.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Upsample.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Where.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/Xor.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/ops/__init__.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/utils/__init__.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/utils/common_functions.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/utils/enums.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/utils/iterative_json_optimizer.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/utils/json_auto_generator.py +0 -0
- {onnx2tf-1.29.11 → onnx2tf-1.29.12}/onnx2tf/utils/logging.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.12
|
|
4
4
|
Summary: Self-Created Tools to convert ONNX files (NCHW) to TensorFlow/TFLite/Keras format (NHWC). The purpose of this tool is to solve the massive Transpose extrapolation problem in onnx-tensorflow (onnx-tf).
|
|
5
5
|
Keywords: onnx,tensorflow,tflite,keras,deep-learning,machine-learning
|
|
6
6
|
Author: Katsuya Hyodo
|
|
@@ -363,7 +363,7 @@ Video speed is adjusted approximately 50 times slower than actual speed.
|
|
|
363
363
|
docker run --rm -it \
|
|
364
364
|
-v `pwd`:/workdir \
|
|
365
365
|
-w /workdir \
|
|
366
|
-
ghcr.io/pinto0309/onnx2tf:1.29.
|
|
366
|
+
ghcr.io/pinto0309/onnx2tf:1.29.12
|
|
367
367
|
|
|
368
368
|
or
|
|
369
369
|
|
|
@@ -371,7 +371,7 @@ Video speed is adjusted approximately 50 times slower than actual speed.
|
|
|
371
371
|
docker run --rm -it \
|
|
372
372
|
-v `pwd`:/workdir \
|
|
373
373
|
-w /workdir \
|
|
374
|
-
docker.io/pinto0309/onnx2tf:1.29.
|
|
374
|
+
docker.io/pinto0309/onnx2tf:1.29.12
|
|
375
375
|
|
|
376
376
|
or
|
|
377
377
|
|
|
@@ -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.12
|
|
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.12
|
|
334
334
|
|
|
335
335
|
or
|
|
336
336
|
|
|
@@ -444,19 +444,68 @@ def make_node(
|
|
|
444
444
|
onnx_output_shape = [
|
|
445
445
|
dim if not isinstance(dim, str) else None for dim in onnx_output_shape
|
|
446
446
|
]
|
|
447
|
+
|
|
448
|
+
def _shape_match(a_shape, b_shape):
|
|
449
|
+
if len(a_shape) != len(b_shape):
|
|
450
|
+
return False
|
|
451
|
+
for a_dim, b_dim in zip(a_shape, b_shape):
|
|
452
|
+
if a_dim is None or b_dim is None:
|
|
453
|
+
continue
|
|
454
|
+
if a_dim != b_dim:
|
|
455
|
+
return False
|
|
456
|
+
return True
|
|
457
|
+
|
|
458
|
+
# Squeeze unit dims if ONNX output rank is smaller.
|
|
459
|
+
if len(post_matmul_shape) > len(onnx_output_shape):
|
|
460
|
+
squeeze_axes = []
|
|
461
|
+
tmp_shape = list(post_matmul_shape)
|
|
462
|
+
while len(tmp_shape) > len(onnx_output_shape) and tmp_shape[-1] == 1:
|
|
463
|
+
squeeze_axes.append(len(tmp_shape) - 1)
|
|
464
|
+
tmp_shape.pop()
|
|
465
|
+
if squeeze_axes and len(tmp_shape) == len(onnx_output_shape) \
|
|
466
|
+
and _shape_match(tmp_shape, onnx_output_shape):
|
|
467
|
+
tf_layers_dict[graph_node_output.name]['tf_node'] = \
|
|
468
|
+
tf.squeeze(
|
|
469
|
+
input=tf_layers_dict[graph_node_output.name]['tf_node'],
|
|
470
|
+
axis=squeeze_axes,
|
|
471
|
+
)
|
|
472
|
+
post_matmul_shape = list(tf_layers_dict[graph_node_output.name]['tf_node'].shape)
|
|
473
|
+
post_matmul_shape_none_count = sum(
|
|
474
|
+
[1 if dim is None else 0 for dim in post_matmul_shape]
|
|
475
|
+
)
|
|
476
|
+
else:
|
|
477
|
+
leading_ones = 0
|
|
478
|
+
tmp_shape = list(post_matmul_shape)
|
|
479
|
+
while len(tmp_shape) > len(onnx_output_shape) and tmp_shape and tmp_shape[0] == 1:
|
|
480
|
+
leading_ones += 1
|
|
481
|
+
tmp_shape.pop(0)
|
|
482
|
+
if leading_ones and len(tmp_shape) == len(onnx_output_shape) \
|
|
483
|
+
and _shape_match(tmp_shape, onnx_output_shape):
|
|
484
|
+
tf_layers_dict[graph_node_output.name]['tf_node'] = \
|
|
485
|
+
tf.squeeze(
|
|
486
|
+
input=tf_layers_dict[graph_node_output.name]['tf_node'],
|
|
487
|
+
axis=list(range(leading_ones)),
|
|
488
|
+
)
|
|
489
|
+
post_matmul_shape = list(tf_layers_dict[graph_node_output.name]['tf_node'].shape)
|
|
490
|
+
post_matmul_shape_none_count = sum(
|
|
491
|
+
[1 if dim is None else 0 for dim in post_matmul_shape]
|
|
492
|
+
)
|
|
493
|
+
|
|
447
494
|
onnx_output_shape_none_count = sum([1 if dim is None else 0 for dim in onnx_output_shape])
|
|
448
|
-
if post_matmul_shape_none_count == onnx_output_shape_none_count
|
|
495
|
+
if post_matmul_shape_none_count == onnx_output_shape_none_count \
|
|
496
|
+
and post_matmul_shape != list(onnx_output_shape):
|
|
449
497
|
post_transpose_perm = []
|
|
450
498
|
for dim in onnx_output_shape:
|
|
451
499
|
idx = post_matmul_shape.index(dim)
|
|
452
500
|
post_transpose_perm.append(idx)
|
|
453
501
|
post_matmul_shape[idx] = -999
|
|
454
502
|
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
503
|
+
if len(post_transpose_perm) == len(post_matmul_shape):
|
|
504
|
+
tf_layers_dict[graph_node_output.name]['tf_node'] = \
|
|
505
|
+
tf.transpose(
|
|
506
|
+
a=tf_layers_dict[graph_node_output.name]['tf_node'],
|
|
507
|
+
perm=post_transpose_perm,
|
|
508
|
+
)
|
|
460
509
|
|
|
461
510
|
# Post-process transpose
|
|
462
511
|
tf_layers_dict[graph_node_output.name]['tf_node'] = post_process_transpose(
|
|
@@ -4,7 +4,7 @@ build-backend = "uv_build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "onnx2tf"
|
|
7
|
-
version = "1.29.
|
|
7
|
+
version = "1.29.12"
|
|
8
8
|
description = "Self-Created Tools to convert ONNX files (NCHW) to TensorFlow/TFLite/Keras format (NHWC). The purpose of this tool is to solve the massive Transpose extrapolation problem in onnx-tensorflow (onnx-tf)."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10.12"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|