onnx2tf 1.29.4__tar.gz → 1.29.5__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.4/onnx2tf.egg-info → onnx2tf-1.29.5}/PKG-INFO +25 -13
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/README.md +24 -12
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/__init__.py +1 -1
- onnx2tf-1.29.5/onnx2tf/ops/CumProd.py +127 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5/onnx2tf.egg-info}/PKG-INFO +25 -13
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf.egg-info/SOURCES.txt +1 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/pyproject.toml +1 -1
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/LICENSE +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/LICENSE_onnx-tensorflow +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/__main__.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/onnx2tf.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Abs.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Acos.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Acosh.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Add.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/And.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/ArgMax.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/ArgMin.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Asin.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Asinh.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Atan.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Atanh.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/AveragePool.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/BatchNormalization.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Bernoulli.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/BitShift.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/BitwiseAnd.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/BitwiseNot.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/BitwiseOr.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/BitwiseXor.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Cast.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Ceil.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Celu.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Clip.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Col2Im.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Compress.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Concat.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/ConcatFromSequence.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Constant.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/ConstantOfShape.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Conv.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/ConvInteger.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/ConvTranspose.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Cos.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Cosh.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/CumSum.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/DepthToSpace.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/DequantizeLinear.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Det.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Div.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Dropout.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/DynamicQuantizeLinear.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Einsum.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Elu.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Equal.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Erf.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Exp.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Expand.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/EyeLike.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Flatten.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Floor.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/FusedConv.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/GRU.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Gather.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/GatherElements.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/GatherND.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Gelu.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Gemm.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/GlobalAveragePool.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/GlobalLpPool.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/GlobalMaxPool.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Greater.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/GreaterOrEqual.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/GridSample.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/GroupNorm.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/HammingWindow.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/HannWindow.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/HardSigmoid.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/HardSwish.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Hardmax.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Identity.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/If.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Input.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/InstanceNormalization.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Inverse.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/IsInf.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/IsNaN.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/LRN.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/LSTM.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/LayerNormalization.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/LeakyRelu.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Less.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/LessOrEqual.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Log.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/LogSoftmax.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/LpNormalization.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/MatMul.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/MatMulInteger.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Max.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/MaxPool.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/MaxUnpool.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Mean.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/MeanVarianceNormalization.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/MelWeightMatrix.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Min.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Mish.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Mod.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Mul.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Multinomial.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Neg.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/NonMaxSuppression.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/NonZero.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Not.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/OneHot.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/OptionalGetElement.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/OptionalHasElement.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Or.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/PRelu.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Pad.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Pow.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/QLinearAdd.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/QLinearConcat.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/QLinearConv.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/QLinearLeakyRelu.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/QLinearMatMul.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/QLinearMul.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/QLinearSigmoid.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/QLinearSoftmax.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/QuantizeLinear.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/RNN.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/RandomNormal.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/RandomNormalLike.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/RandomUniform.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/RandomUniformLike.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Range.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Reciprocal.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/ReduceL1.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/ReduceL2.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/ReduceLogSum.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/ReduceLogSumExp.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/ReduceMax.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/ReduceMean.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/ReduceMin.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/ReduceProd.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/ReduceSum.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/ReduceSumSquare.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Relu.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Reshape.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Resize.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/ReverseSequence.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/RoiAlign.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Round.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/STFT.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/ScaleAndTranslate.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Scatter.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/ScatterElements.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/ScatterND.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Selu.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/SequenceAt.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/SequenceConstruct.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/SequenceEmpty.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/SequenceErase.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/SequenceInsert.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/SequenceLength.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Shape.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Shrink.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Sigmoid.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Sign.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Sin.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Sinh.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Size.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Slice.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Softmax.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Softplus.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Softsign.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/SpaceToDepth.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Split.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/SplitToSequence.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Sqrt.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Squeeze.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/StringNormalizer.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Sub.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Sum.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Tan.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Tanh.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/ThresholdedRelu.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Tile.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/TopK.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Transpose.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Trilu.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Unique.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Unsqueeze.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Upsample.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Where.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/Xor.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/_Loop.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/__Loop.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/ops/__init__.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/utils/__init__.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/utils/common_functions.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/utils/enums.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/utils/iterative_json_optimizer.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/utils/json_auto_generator.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf/utils/logging.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf.egg-info/dependency_links.txt +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf.egg-info/requires.txt +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/onnx2tf.egg-info/top_level.txt +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/setup.cfg +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/setup.py +0 -0
- {onnx2tf-1.29.4 → onnx2tf-1.29.5}/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.5
|
|
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
|
|
@@ -95,6 +95,7 @@ https://github.com/PINTO0309/onnx2tf/wiki/model_status
|
|
|
95
95
|
|Acosh|:heavy_check_mark:|
|
|
96
96
|
|Acos|:heavy_check_mark:|
|
|
97
97
|
|Add|:heavy_check_mark:|
|
|
98
|
+
|AffineGrid|**Help wanted**|
|
|
98
99
|
|And|:heavy_check_mark:|
|
|
99
100
|
|ArgMax|:heavy_check_mark:|
|
|
100
101
|
|ArgMin|:heavy_check_mark:|
|
|
@@ -102,6 +103,7 @@ https://github.com/PINTO0309/onnx2tf/wiki/model_status
|
|
|
102
103
|
|Asin|:heavy_check_mark:|
|
|
103
104
|
|Atanh|:heavy_check_mark:|
|
|
104
105
|
|Atan|:heavy_check_mark:|
|
|
106
|
+
|Attention|**Help wanted**|
|
|
105
107
|
|AveragePool|:heavy_check_mark:|
|
|
106
108
|
|BatchNormalization|:heavy_check_mark:|
|
|
107
109
|
|Bernoulli|:heavy_check_mark:|
|
|
@@ -110,6 +112,7 @@ https://github.com/PINTO0309/onnx2tf/wiki/model_status
|
|
|
110
112
|
|BitwiseNot|:heavy_check_mark:|
|
|
111
113
|
|BitwiseOr|:heavy_check_mark:|
|
|
112
114
|
|BitwiseXor|:heavy_check_mark:|
|
|
115
|
+
|BlackmanWindow|**Help wanted**|
|
|
113
116
|
|Cast|:heavy_check_mark:|
|
|
114
117
|
|Ceil|:heavy_check_mark:|
|
|
115
118
|
|Celu|:heavy_check_mark:|
|
|
@@ -126,6 +129,7 @@ https://github.com/PINTO0309/onnx2tf/wiki/model_status
|
|
|
126
129
|
|ConvTranspose|:heavy_check_mark:|
|
|
127
130
|
|Cosh|:heavy_check_mark:|
|
|
128
131
|
|Cos|:heavy_check_mark:|
|
|
132
|
+
|CumProd|:heavy_check_mark:|
|
|
129
133
|
|CumSum|:heavy_check_mark:|
|
|
130
134
|
|DeformConv|**Help wanted**|
|
|
131
135
|
|DepthToSpace|:heavy_check_mark:|
|
|
@@ -165,6 +169,7 @@ https://github.com/PINTO0309/onnx2tf/wiki/model_status
|
|
|
165
169
|
|HardSwish|:heavy_check_mark:|
|
|
166
170
|
|Identity|:heavy_check_mark:|
|
|
167
171
|
|If|:heavy_check_mark:|
|
|
172
|
+
|ImageDecoder|**Help wanted**|
|
|
168
173
|
|Input|:heavy_check_mark:|
|
|
169
174
|
|InstanceNormalization|:heavy_check_mark:|
|
|
170
175
|
|Inverse|:heavy_check_mark:|
|
|
@@ -178,6 +183,7 @@ https://github.com/PINTO0309/onnx2tf/wiki/model_status
|
|
|
178
183
|
|LogSoftmax|:heavy_check_mark:|
|
|
179
184
|
|Loop|**Help wanted**|
|
|
180
185
|
|LpNormalization|:heavy_check_mark:|
|
|
186
|
+
|LpPool|**Help wanted**|
|
|
181
187
|
|LRN|:heavy_check_mark:|
|
|
182
188
|
|LSTM|:heavy_check_mark:|
|
|
183
189
|
|MatMul|:heavy_check_mark:|
|
|
@@ -195,6 +201,7 @@ https://github.com/PINTO0309/onnx2tf/wiki/model_status
|
|
|
195
201
|
|Mul|:heavy_check_mark:|
|
|
196
202
|
|Multinomial|:heavy_check_mark:|
|
|
197
203
|
|Neg|:heavy_check_mark:|
|
|
204
|
+
|NegativeLogLikelihoodLoss|**Help wanted**|
|
|
198
205
|
|NonMaxSuppression|:heavy_check_mark:|
|
|
199
206
|
|NonZero|:heavy_check_mark:|
|
|
200
207
|
|Optional|**Help wanted**|
|
|
@@ -237,6 +244,7 @@ https://github.com/PINTO0309/onnx2tf/wiki/model_status
|
|
|
237
244
|
|ReverseSequence|:heavy_check_mark:|
|
|
238
245
|
|RNN|:heavy_check_mark:|
|
|
239
246
|
|RoiAlign|:heavy_check_mark:|
|
|
247
|
+
|RotaryEmbedding|**Help wanted**|
|
|
240
248
|
|Round|:heavy_check_mark:|
|
|
241
249
|
|ScaleAndTranslate|:heavy_check_mark:|
|
|
242
250
|
|Scatter|:heavy_check_mark:|
|
|
@@ -259,6 +267,7 @@ https://github.com/PINTO0309/onnx2tf/wiki/model_status
|
|
|
259
267
|
|Size|:heavy_check_mark:|
|
|
260
268
|
|Slice|:heavy_check_mark:|
|
|
261
269
|
|Softmax|:heavy_check_mark:|
|
|
270
|
+
|SoftmaxCrossEntropyLoss|**Help wanted**|
|
|
262
271
|
|Softplus|:heavy_check_mark:|
|
|
263
272
|
|Softsign|:heavy_check_mark:|
|
|
264
273
|
|SpaceToDepth|:heavy_check_mark:|
|
|
@@ -267,11 +276,14 @@ https://github.com/PINTO0309/onnx2tf/wiki/model_status
|
|
|
267
276
|
|Sqrt|:heavy_check_mark:|
|
|
268
277
|
|Squeeze|:heavy_check_mark:|
|
|
269
278
|
|STFT|:white_check_mark:|
|
|
279
|
+
|StringConcat|**Help wanted**|
|
|
270
280
|
|StringNormalizer|:white_check_mark:|
|
|
281
|
+
|StringSplit|**Help wanted**|
|
|
271
282
|
|Sub|:heavy_check_mark:|
|
|
272
283
|
|Sum|:heavy_check_mark:|
|
|
273
|
-
|Tanh|:heavy_check_mark:|
|
|
274
284
|
|Tan|:heavy_check_mark:|
|
|
285
|
+
|Tanh|:heavy_check_mark:|
|
|
286
|
+
|TensorScatter|**Help wanted**|
|
|
275
287
|
|TfIdfVectorizer|**Help wanted**|
|
|
276
288
|
|ThresholdedRelu|:heavy_check_mark:|
|
|
277
289
|
|Tile|:heavy_check_mark:|
|
|
@@ -292,11 +304,11 @@ Video speed is adjusted approximately 50 times slower than actual speed.
|
|
|
292
304
|
|
|
293
305
|
## Environment
|
|
294
306
|
- Linux / Windows
|
|
295
|
-
- onnx==1.
|
|
296
|
-
- onnxruntime==1.
|
|
307
|
+
- onnx==1.19.0
|
|
308
|
+
- onnxruntime==1.23.0
|
|
297
309
|
- onnx-simplifier==0.4.33 or 0.4.30 `(onnx.onnx_cpp2py_export.shape_inference.InferenceError: [ShapeInferenceError] (op_type:Slice, node name: /xxxx/Slice): [ShapeInferenceError] Inferred shape and existing shape differ in rank: (x) vs (y))`
|
|
298
|
-
- onnx_graphsurgeon
|
|
299
|
-
- simple_onnx_processing_tools
|
|
310
|
+
- onnx_graphsurgeon==0.5.8
|
|
311
|
+
- simple_onnx_processing_tools==1.1.32
|
|
300
312
|
- tensorflow==2.19.0, Special bugs: [#436](https://github.com/PINTO0309/onnx2tf/issues/436)
|
|
301
313
|
- tf-keras==2.19.0
|
|
302
314
|
- ai-edge-litert==1.2.0
|
|
@@ -345,7 +357,7 @@ Video speed is adjusted approximately 50 times slower than actual speed.
|
|
|
345
357
|
docker run --rm -it \
|
|
346
358
|
-v `pwd`:/workdir \
|
|
347
359
|
-w /workdir \
|
|
348
|
-
ghcr.io/pinto0309/onnx2tf:1.29.
|
|
360
|
+
ghcr.io/pinto0309/onnx2tf:1.29.5
|
|
349
361
|
|
|
350
362
|
or
|
|
351
363
|
|
|
@@ -353,15 +365,15 @@ Video speed is adjusted approximately 50 times slower than actual speed.
|
|
|
353
365
|
docker run --rm -it \
|
|
354
366
|
-v `pwd`:/workdir \
|
|
355
367
|
-w /workdir \
|
|
356
|
-
docker.io/pinto0309/onnx2tf:1.29.
|
|
368
|
+
docker.io/pinto0309/onnx2tf:1.29.5
|
|
357
369
|
|
|
358
370
|
or
|
|
359
371
|
|
|
360
|
-
pip install -U onnx==1.
|
|
361
|
-
&& pip install -U onnx-graphsurgeon \
|
|
362
|
-
&& pip install -U onnxruntime==1.
|
|
372
|
+
pip install -U onnx==1.19.0 \
|
|
373
|
+
&& pip install -U onnx-graphsurgeon==0.5.8 \
|
|
374
|
+
&& pip install -U onnxruntime==1.23.0 \
|
|
363
375
|
&& pip install -U onnxsim==0.4.33 \
|
|
364
|
-
&& pip install -U simple_onnx_processing_tools \
|
|
376
|
+
&& pip install -U simple_onnx_processing_tools==1.1.32 \
|
|
365
377
|
&& pip install -U sne4onnx>=1.0.13 \
|
|
366
378
|
&& pip install -U sng4onnx>=1.0.4 \
|
|
367
379
|
&& pip install -U ai_edge_litert==1.2.0 \
|
|
@@ -397,7 +409,7 @@ or
|
|
|
397
409
|
!pip install -U pip \
|
|
398
410
|
&& pip install tensorflow==2.19.0 \
|
|
399
411
|
&& pip install ai_edge_litert==1.2.0 \
|
|
400
|
-
&& pip install -U onnx==1.
|
|
412
|
+
&& pip install -U onnx==1.19.0 \
|
|
401
413
|
&& python -m pip install onnx_graphsurgeon \
|
|
402
414
|
--index-url https://pypi.ngc.nvidia.com \
|
|
403
415
|
&& pip install -U onnxruntime==1.18.1 \
|
|
@@ -59,6 +59,7 @@ https://github.com/PINTO0309/onnx2tf/wiki/model_status
|
|
|
59
59
|
|Acosh|:heavy_check_mark:|
|
|
60
60
|
|Acos|:heavy_check_mark:|
|
|
61
61
|
|Add|:heavy_check_mark:|
|
|
62
|
+
|AffineGrid|**Help wanted**|
|
|
62
63
|
|And|:heavy_check_mark:|
|
|
63
64
|
|ArgMax|:heavy_check_mark:|
|
|
64
65
|
|ArgMin|:heavy_check_mark:|
|
|
@@ -66,6 +67,7 @@ https://github.com/PINTO0309/onnx2tf/wiki/model_status
|
|
|
66
67
|
|Asin|:heavy_check_mark:|
|
|
67
68
|
|Atanh|:heavy_check_mark:|
|
|
68
69
|
|Atan|:heavy_check_mark:|
|
|
70
|
+
|Attention|**Help wanted**|
|
|
69
71
|
|AveragePool|:heavy_check_mark:|
|
|
70
72
|
|BatchNormalization|:heavy_check_mark:|
|
|
71
73
|
|Bernoulli|:heavy_check_mark:|
|
|
@@ -74,6 +76,7 @@ https://github.com/PINTO0309/onnx2tf/wiki/model_status
|
|
|
74
76
|
|BitwiseNot|:heavy_check_mark:|
|
|
75
77
|
|BitwiseOr|:heavy_check_mark:|
|
|
76
78
|
|BitwiseXor|:heavy_check_mark:|
|
|
79
|
+
|BlackmanWindow|**Help wanted**|
|
|
77
80
|
|Cast|:heavy_check_mark:|
|
|
78
81
|
|Ceil|:heavy_check_mark:|
|
|
79
82
|
|Celu|:heavy_check_mark:|
|
|
@@ -90,6 +93,7 @@ https://github.com/PINTO0309/onnx2tf/wiki/model_status
|
|
|
90
93
|
|ConvTranspose|:heavy_check_mark:|
|
|
91
94
|
|Cosh|:heavy_check_mark:|
|
|
92
95
|
|Cos|:heavy_check_mark:|
|
|
96
|
+
|CumProd|:heavy_check_mark:|
|
|
93
97
|
|CumSum|:heavy_check_mark:|
|
|
94
98
|
|DeformConv|**Help wanted**|
|
|
95
99
|
|DepthToSpace|:heavy_check_mark:|
|
|
@@ -129,6 +133,7 @@ https://github.com/PINTO0309/onnx2tf/wiki/model_status
|
|
|
129
133
|
|HardSwish|:heavy_check_mark:|
|
|
130
134
|
|Identity|:heavy_check_mark:|
|
|
131
135
|
|If|:heavy_check_mark:|
|
|
136
|
+
|ImageDecoder|**Help wanted**|
|
|
132
137
|
|Input|:heavy_check_mark:|
|
|
133
138
|
|InstanceNormalization|:heavy_check_mark:|
|
|
134
139
|
|Inverse|:heavy_check_mark:|
|
|
@@ -142,6 +147,7 @@ https://github.com/PINTO0309/onnx2tf/wiki/model_status
|
|
|
142
147
|
|LogSoftmax|:heavy_check_mark:|
|
|
143
148
|
|Loop|**Help wanted**|
|
|
144
149
|
|LpNormalization|:heavy_check_mark:|
|
|
150
|
+
|LpPool|**Help wanted**|
|
|
145
151
|
|LRN|:heavy_check_mark:|
|
|
146
152
|
|LSTM|:heavy_check_mark:|
|
|
147
153
|
|MatMul|:heavy_check_mark:|
|
|
@@ -159,6 +165,7 @@ https://github.com/PINTO0309/onnx2tf/wiki/model_status
|
|
|
159
165
|
|Mul|:heavy_check_mark:|
|
|
160
166
|
|Multinomial|:heavy_check_mark:|
|
|
161
167
|
|Neg|:heavy_check_mark:|
|
|
168
|
+
|NegativeLogLikelihoodLoss|**Help wanted**|
|
|
162
169
|
|NonMaxSuppression|:heavy_check_mark:|
|
|
163
170
|
|NonZero|:heavy_check_mark:|
|
|
164
171
|
|Optional|**Help wanted**|
|
|
@@ -201,6 +208,7 @@ https://github.com/PINTO0309/onnx2tf/wiki/model_status
|
|
|
201
208
|
|ReverseSequence|:heavy_check_mark:|
|
|
202
209
|
|RNN|:heavy_check_mark:|
|
|
203
210
|
|RoiAlign|:heavy_check_mark:|
|
|
211
|
+
|RotaryEmbedding|**Help wanted**|
|
|
204
212
|
|Round|:heavy_check_mark:|
|
|
205
213
|
|ScaleAndTranslate|:heavy_check_mark:|
|
|
206
214
|
|Scatter|:heavy_check_mark:|
|
|
@@ -223,6 +231,7 @@ https://github.com/PINTO0309/onnx2tf/wiki/model_status
|
|
|
223
231
|
|Size|:heavy_check_mark:|
|
|
224
232
|
|Slice|:heavy_check_mark:|
|
|
225
233
|
|Softmax|:heavy_check_mark:|
|
|
234
|
+
|SoftmaxCrossEntropyLoss|**Help wanted**|
|
|
226
235
|
|Softplus|:heavy_check_mark:|
|
|
227
236
|
|Softsign|:heavy_check_mark:|
|
|
228
237
|
|SpaceToDepth|:heavy_check_mark:|
|
|
@@ -231,11 +240,14 @@ https://github.com/PINTO0309/onnx2tf/wiki/model_status
|
|
|
231
240
|
|Sqrt|:heavy_check_mark:|
|
|
232
241
|
|Squeeze|:heavy_check_mark:|
|
|
233
242
|
|STFT|:white_check_mark:|
|
|
243
|
+
|StringConcat|**Help wanted**|
|
|
234
244
|
|StringNormalizer|:white_check_mark:|
|
|
245
|
+
|StringSplit|**Help wanted**|
|
|
235
246
|
|Sub|:heavy_check_mark:|
|
|
236
247
|
|Sum|:heavy_check_mark:|
|
|
237
|
-
|Tanh|:heavy_check_mark:|
|
|
238
248
|
|Tan|:heavy_check_mark:|
|
|
249
|
+
|Tanh|:heavy_check_mark:|
|
|
250
|
+
|TensorScatter|**Help wanted**|
|
|
239
251
|
|TfIdfVectorizer|**Help wanted**|
|
|
240
252
|
|ThresholdedRelu|:heavy_check_mark:|
|
|
241
253
|
|Tile|:heavy_check_mark:|
|
|
@@ -256,11 +268,11 @@ Video speed is adjusted approximately 50 times slower than actual speed.
|
|
|
256
268
|
|
|
257
269
|
## Environment
|
|
258
270
|
- Linux / Windows
|
|
259
|
-
- onnx==1.
|
|
260
|
-
- onnxruntime==1.
|
|
271
|
+
- onnx==1.19.0
|
|
272
|
+
- onnxruntime==1.23.0
|
|
261
273
|
- onnx-simplifier==0.4.33 or 0.4.30 `(onnx.onnx_cpp2py_export.shape_inference.InferenceError: [ShapeInferenceError] (op_type:Slice, node name: /xxxx/Slice): [ShapeInferenceError] Inferred shape and existing shape differ in rank: (x) vs (y))`
|
|
262
|
-
- onnx_graphsurgeon
|
|
263
|
-
- simple_onnx_processing_tools
|
|
274
|
+
- onnx_graphsurgeon==0.5.8
|
|
275
|
+
- simple_onnx_processing_tools==1.1.32
|
|
264
276
|
- tensorflow==2.19.0, Special bugs: [#436](https://github.com/PINTO0309/onnx2tf/issues/436)
|
|
265
277
|
- tf-keras==2.19.0
|
|
266
278
|
- ai-edge-litert==1.2.0
|
|
@@ -309,7 +321,7 @@ Video speed is adjusted approximately 50 times slower than actual speed.
|
|
|
309
321
|
docker run --rm -it \
|
|
310
322
|
-v `pwd`:/workdir \
|
|
311
323
|
-w /workdir \
|
|
312
|
-
ghcr.io/pinto0309/onnx2tf:1.29.
|
|
324
|
+
ghcr.io/pinto0309/onnx2tf:1.29.5
|
|
313
325
|
|
|
314
326
|
or
|
|
315
327
|
|
|
@@ -317,15 +329,15 @@ Video speed is adjusted approximately 50 times slower than actual speed.
|
|
|
317
329
|
docker run --rm -it \
|
|
318
330
|
-v `pwd`:/workdir \
|
|
319
331
|
-w /workdir \
|
|
320
|
-
docker.io/pinto0309/onnx2tf:1.29.
|
|
332
|
+
docker.io/pinto0309/onnx2tf:1.29.5
|
|
321
333
|
|
|
322
334
|
or
|
|
323
335
|
|
|
324
|
-
pip install -U onnx==1.
|
|
325
|
-
&& pip install -U onnx-graphsurgeon \
|
|
326
|
-
&& pip install -U onnxruntime==1.
|
|
336
|
+
pip install -U onnx==1.19.0 \
|
|
337
|
+
&& pip install -U onnx-graphsurgeon==0.5.8 \
|
|
338
|
+
&& pip install -U onnxruntime==1.23.0 \
|
|
327
339
|
&& pip install -U onnxsim==0.4.33 \
|
|
328
|
-
&& pip install -U simple_onnx_processing_tools \
|
|
340
|
+
&& pip install -U simple_onnx_processing_tools==1.1.32 \
|
|
329
341
|
&& pip install -U sne4onnx>=1.0.13 \
|
|
330
342
|
&& pip install -U sng4onnx>=1.0.4 \
|
|
331
343
|
&& pip install -U ai_edge_litert==1.2.0 \
|
|
@@ -361,7 +373,7 @@ or
|
|
|
361
373
|
!pip install -U pip \
|
|
362
374
|
&& pip install tensorflow==2.19.0 \
|
|
363
375
|
&& pip install ai_edge_litert==1.2.0 \
|
|
364
|
-
&& pip install -U onnx==1.
|
|
376
|
+
&& pip install -U onnx==1.19.0 \
|
|
365
377
|
&& python -m pip install onnx_graphsurgeon \
|
|
366
378
|
--index-url https://pypi.ngc.nvidia.com \
|
|
367
379
|
&& pip install -U onnxruntime==1.18.1 \
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import random
|
|
2
|
+
random.seed(0)
|
|
3
|
+
import numpy as np
|
|
4
|
+
np.random.seed(0)
|
|
5
|
+
import tensorflow as tf
|
|
6
|
+
import onnx_graphsurgeon as gs
|
|
7
|
+
from onnx2tf.utils.common_functions import (
|
|
8
|
+
get_constant_or_variable,
|
|
9
|
+
print_node_info,
|
|
10
|
+
inverted_operation_enable_disable,
|
|
11
|
+
make_tf_node_info,
|
|
12
|
+
get_replacement_parameter,
|
|
13
|
+
pre_process_transpose,
|
|
14
|
+
post_process_transpose,
|
|
15
|
+
)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
@print_node_info
|
|
19
|
+
@inverted_operation_enable_disable
|
|
20
|
+
@get_replacement_parameter
|
|
21
|
+
def make_node(
|
|
22
|
+
*,
|
|
23
|
+
graph_node: gs.Node,
|
|
24
|
+
tf_layers_dict: dict,
|
|
25
|
+
**kwargs: dict,
|
|
26
|
+
):
|
|
27
|
+
"""CumProd
|
|
28
|
+
|
|
29
|
+
Parameters
|
|
30
|
+
----------
|
|
31
|
+
graph_node: gs.Node
|
|
32
|
+
graph_surgeon Node
|
|
33
|
+
|
|
34
|
+
tf_layers_dict: dict
|
|
35
|
+
optype, shape, dtype, tensorflow graph
|
|
36
|
+
"""
|
|
37
|
+
before_op_output_shape_trans_1 = \
|
|
38
|
+
tf_layers_dict.get(graph_node.inputs[0].name, {}).get('before_op_output_shape_trans', True)
|
|
39
|
+
before_op_output_shape_trans_2 = \
|
|
40
|
+
tf_layers_dict.get(graph_node.inputs[1].name, {}).get('before_op_output_shape_trans', True)
|
|
41
|
+
before_op_output_shape_trans = \
|
|
42
|
+
before_op_output_shape_trans_1 \
|
|
43
|
+
and before_op_output_shape_trans_2
|
|
44
|
+
|
|
45
|
+
graph_node_input_1 = get_constant_or_variable(
|
|
46
|
+
graph_node.inputs[0],
|
|
47
|
+
before_op_output_shape_trans,
|
|
48
|
+
)
|
|
49
|
+
graph_node_input_2 = get_constant_or_variable(
|
|
50
|
+
graph_node.inputs[1],
|
|
51
|
+
before_op_output_shape_trans,
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
input_tensor = tf_layers_dict[graph_node_input_1.name]['tf_node'] \
|
|
55
|
+
if isinstance(graph_node_input_1, gs.Variable) else graph_node_input_1
|
|
56
|
+
input_tensor_dtype = input_tensor.dtype
|
|
57
|
+
axis = tf_layers_dict[graph_node_input_2.name]['tf_node'] \
|
|
58
|
+
if isinstance(graph_node_input_2, gs.Variable) else graph_node_input_2
|
|
59
|
+
|
|
60
|
+
graph_node_output: gs.Variable = graph_node.outputs[0]
|
|
61
|
+
|
|
62
|
+
shape = graph_node_output.shape
|
|
63
|
+
dtype = graph_node_output.dtype
|
|
64
|
+
|
|
65
|
+
exclusive = bool(graph_node.attrs.get('exclusive', 0))
|
|
66
|
+
reverse = bool(graph_node.attrs.get('reverse', 0))
|
|
67
|
+
|
|
68
|
+
# Preserving Graph Structure (Dict)
|
|
69
|
+
tf_layers_dict[graph_node_output.name] = {
|
|
70
|
+
'optype': graph_node.op,
|
|
71
|
+
'shape': shape,
|
|
72
|
+
'dtype': dtype,
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
# Pre-process transpose
|
|
76
|
+
input_tensor = pre_process_transpose(
|
|
77
|
+
value_before_transpose=input_tensor,
|
|
78
|
+
param_target='inputs',
|
|
79
|
+
param_name=graph_node.inputs[0].name,
|
|
80
|
+
**kwargs,
|
|
81
|
+
)
|
|
82
|
+
|
|
83
|
+
# TensorFlow's cumsum does not support boolean,
|
|
84
|
+
# so temporarily cast to INT32 for calculation.
|
|
85
|
+
if input_tensor_dtype == tf.bool:
|
|
86
|
+
input_tensor = tf.cast(input_tensor, dtype=tf.int32)
|
|
87
|
+
|
|
88
|
+
# Generation of TF OP
|
|
89
|
+
tf_layers_dict[graph_node_output.name]['tf_node'] = \
|
|
90
|
+
tf.math.cumprod(
|
|
91
|
+
x=input_tensor,
|
|
92
|
+
axis=axis,
|
|
93
|
+
exclusive=exclusive,
|
|
94
|
+
reverse=reverse,
|
|
95
|
+
name=graph_node.name,
|
|
96
|
+
)
|
|
97
|
+
|
|
98
|
+
# TensorFlow's cumsum does not support boolean,
|
|
99
|
+
# so INT32 is converted back to boolean.
|
|
100
|
+
if input_tensor_dtype == tf.bool:
|
|
101
|
+
tf_layers_dict[graph_node_output.name]['tf_node'] = \
|
|
102
|
+
tf.cast(tf_layers_dict[graph_node_output.name]['tf_node'], dtype=tf.bool)
|
|
103
|
+
|
|
104
|
+
# Post-process transpose
|
|
105
|
+
tf_layers_dict[graph_node_output.name]['tf_node'] = post_process_transpose(
|
|
106
|
+
value_before_transpose=tf_layers_dict[graph_node_output.name]['tf_node'],
|
|
107
|
+
param_target='outputs',
|
|
108
|
+
param_name=graph_node.outputs[0].name,
|
|
109
|
+
**kwargs,
|
|
110
|
+
)
|
|
111
|
+
|
|
112
|
+
# Generation of Debug Info
|
|
113
|
+
tf_layers_dict[graph_node_output.name]['tf_node_info'] = \
|
|
114
|
+
make_tf_node_info(
|
|
115
|
+
node_info={
|
|
116
|
+
'tf_op_type': tf.math.cumprod,
|
|
117
|
+
'tf_inputs': {
|
|
118
|
+
'x': input_tensor,
|
|
119
|
+
'axis': axis,
|
|
120
|
+
'exclusive': exclusive,
|
|
121
|
+
'reverse': reverse,
|
|
122
|
+
},
|
|
123
|
+
'tf_outputs': {
|
|
124
|
+
'output': tf_layers_dict[graph_node_output.name]['tf_node'],
|
|
125
|
+
},
|
|
126
|
+
}
|
|
127
|
+
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: onnx2tf
|
|
3
|
-
Version: 1.29.
|
|
3
|
+
Version: 1.29.5
|
|
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
|
|
@@ -95,6 +95,7 @@ https://github.com/PINTO0309/onnx2tf/wiki/model_status
|
|
|
95
95
|
|Acosh|:heavy_check_mark:|
|
|
96
96
|
|Acos|:heavy_check_mark:|
|
|
97
97
|
|Add|:heavy_check_mark:|
|
|
98
|
+
|AffineGrid|**Help wanted**|
|
|
98
99
|
|And|:heavy_check_mark:|
|
|
99
100
|
|ArgMax|:heavy_check_mark:|
|
|
100
101
|
|ArgMin|:heavy_check_mark:|
|
|
@@ -102,6 +103,7 @@ https://github.com/PINTO0309/onnx2tf/wiki/model_status
|
|
|
102
103
|
|Asin|:heavy_check_mark:|
|
|
103
104
|
|Atanh|:heavy_check_mark:|
|
|
104
105
|
|Atan|:heavy_check_mark:|
|
|
106
|
+
|Attention|**Help wanted**|
|
|
105
107
|
|AveragePool|:heavy_check_mark:|
|
|
106
108
|
|BatchNormalization|:heavy_check_mark:|
|
|
107
109
|
|Bernoulli|:heavy_check_mark:|
|
|
@@ -110,6 +112,7 @@ https://github.com/PINTO0309/onnx2tf/wiki/model_status
|
|
|
110
112
|
|BitwiseNot|:heavy_check_mark:|
|
|
111
113
|
|BitwiseOr|:heavy_check_mark:|
|
|
112
114
|
|BitwiseXor|:heavy_check_mark:|
|
|
115
|
+
|BlackmanWindow|**Help wanted**|
|
|
113
116
|
|Cast|:heavy_check_mark:|
|
|
114
117
|
|Ceil|:heavy_check_mark:|
|
|
115
118
|
|Celu|:heavy_check_mark:|
|
|
@@ -126,6 +129,7 @@ https://github.com/PINTO0309/onnx2tf/wiki/model_status
|
|
|
126
129
|
|ConvTranspose|:heavy_check_mark:|
|
|
127
130
|
|Cosh|:heavy_check_mark:|
|
|
128
131
|
|Cos|:heavy_check_mark:|
|
|
132
|
+
|CumProd|:heavy_check_mark:|
|
|
129
133
|
|CumSum|:heavy_check_mark:|
|
|
130
134
|
|DeformConv|**Help wanted**|
|
|
131
135
|
|DepthToSpace|:heavy_check_mark:|
|
|
@@ -165,6 +169,7 @@ https://github.com/PINTO0309/onnx2tf/wiki/model_status
|
|
|
165
169
|
|HardSwish|:heavy_check_mark:|
|
|
166
170
|
|Identity|:heavy_check_mark:|
|
|
167
171
|
|If|:heavy_check_mark:|
|
|
172
|
+
|ImageDecoder|**Help wanted**|
|
|
168
173
|
|Input|:heavy_check_mark:|
|
|
169
174
|
|InstanceNormalization|:heavy_check_mark:|
|
|
170
175
|
|Inverse|:heavy_check_mark:|
|
|
@@ -178,6 +183,7 @@ https://github.com/PINTO0309/onnx2tf/wiki/model_status
|
|
|
178
183
|
|LogSoftmax|:heavy_check_mark:|
|
|
179
184
|
|Loop|**Help wanted**|
|
|
180
185
|
|LpNormalization|:heavy_check_mark:|
|
|
186
|
+
|LpPool|**Help wanted**|
|
|
181
187
|
|LRN|:heavy_check_mark:|
|
|
182
188
|
|LSTM|:heavy_check_mark:|
|
|
183
189
|
|MatMul|:heavy_check_mark:|
|
|
@@ -195,6 +201,7 @@ https://github.com/PINTO0309/onnx2tf/wiki/model_status
|
|
|
195
201
|
|Mul|:heavy_check_mark:|
|
|
196
202
|
|Multinomial|:heavy_check_mark:|
|
|
197
203
|
|Neg|:heavy_check_mark:|
|
|
204
|
+
|NegativeLogLikelihoodLoss|**Help wanted**|
|
|
198
205
|
|NonMaxSuppression|:heavy_check_mark:|
|
|
199
206
|
|NonZero|:heavy_check_mark:|
|
|
200
207
|
|Optional|**Help wanted**|
|
|
@@ -237,6 +244,7 @@ https://github.com/PINTO0309/onnx2tf/wiki/model_status
|
|
|
237
244
|
|ReverseSequence|:heavy_check_mark:|
|
|
238
245
|
|RNN|:heavy_check_mark:|
|
|
239
246
|
|RoiAlign|:heavy_check_mark:|
|
|
247
|
+
|RotaryEmbedding|**Help wanted**|
|
|
240
248
|
|Round|:heavy_check_mark:|
|
|
241
249
|
|ScaleAndTranslate|:heavy_check_mark:|
|
|
242
250
|
|Scatter|:heavy_check_mark:|
|
|
@@ -259,6 +267,7 @@ https://github.com/PINTO0309/onnx2tf/wiki/model_status
|
|
|
259
267
|
|Size|:heavy_check_mark:|
|
|
260
268
|
|Slice|:heavy_check_mark:|
|
|
261
269
|
|Softmax|:heavy_check_mark:|
|
|
270
|
+
|SoftmaxCrossEntropyLoss|**Help wanted**|
|
|
262
271
|
|Softplus|:heavy_check_mark:|
|
|
263
272
|
|Softsign|:heavy_check_mark:|
|
|
264
273
|
|SpaceToDepth|:heavy_check_mark:|
|
|
@@ -267,11 +276,14 @@ https://github.com/PINTO0309/onnx2tf/wiki/model_status
|
|
|
267
276
|
|Sqrt|:heavy_check_mark:|
|
|
268
277
|
|Squeeze|:heavy_check_mark:|
|
|
269
278
|
|STFT|:white_check_mark:|
|
|
279
|
+
|StringConcat|**Help wanted**|
|
|
270
280
|
|StringNormalizer|:white_check_mark:|
|
|
281
|
+
|StringSplit|**Help wanted**|
|
|
271
282
|
|Sub|:heavy_check_mark:|
|
|
272
283
|
|Sum|:heavy_check_mark:|
|
|
273
|
-
|Tanh|:heavy_check_mark:|
|
|
274
284
|
|Tan|:heavy_check_mark:|
|
|
285
|
+
|Tanh|:heavy_check_mark:|
|
|
286
|
+
|TensorScatter|**Help wanted**|
|
|
275
287
|
|TfIdfVectorizer|**Help wanted**|
|
|
276
288
|
|ThresholdedRelu|:heavy_check_mark:|
|
|
277
289
|
|Tile|:heavy_check_mark:|
|
|
@@ -292,11 +304,11 @@ Video speed is adjusted approximately 50 times slower than actual speed.
|
|
|
292
304
|
|
|
293
305
|
## Environment
|
|
294
306
|
- Linux / Windows
|
|
295
|
-
- onnx==1.
|
|
296
|
-
- onnxruntime==1.
|
|
307
|
+
- onnx==1.19.0
|
|
308
|
+
- onnxruntime==1.23.0
|
|
297
309
|
- onnx-simplifier==0.4.33 or 0.4.30 `(onnx.onnx_cpp2py_export.shape_inference.InferenceError: [ShapeInferenceError] (op_type:Slice, node name: /xxxx/Slice): [ShapeInferenceError] Inferred shape and existing shape differ in rank: (x) vs (y))`
|
|
298
|
-
- onnx_graphsurgeon
|
|
299
|
-
- simple_onnx_processing_tools
|
|
310
|
+
- onnx_graphsurgeon==0.5.8
|
|
311
|
+
- simple_onnx_processing_tools==1.1.32
|
|
300
312
|
- tensorflow==2.19.0, Special bugs: [#436](https://github.com/PINTO0309/onnx2tf/issues/436)
|
|
301
313
|
- tf-keras==2.19.0
|
|
302
314
|
- ai-edge-litert==1.2.0
|
|
@@ -345,7 +357,7 @@ Video speed is adjusted approximately 50 times slower than actual speed.
|
|
|
345
357
|
docker run --rm -it \
|
|
346
358
|
-v `pwd`:/workdir \
|
|
347
359
|
-w /workdir \
|
|
348
|
-
ghcr.io/pinto0309/onnx2tf:1.29.
|
|
360
|
+
ghcr.io/pinto0309/onnx2tf:1.29.5
|
|
349
361
|
|
|
350
362
|
or
|
|
351
363
|
|
|
@@ -353,15 +365,15 @@ Video speed is adjusted approximately 50 times slower than actual speed.
|
|
|
353
365
|
docker run --rm -it \
|
|
354
366
|
-v `pwd`:/workdir \
|
|
355
367
|
-w /workdir \
|
|
356
|
-
docker.io/pinto0309/onnx2tf:1.29.
|
|
368
|
+
docker.io/pinto0309/onnx2tf:1.29.5
|
|
357
369
|
|
|
358
370
|
or
|
|
359
371
|
|
|
360
|
-
pip install -U onnx==1.
|
|
361
|
-
&& pip install -U onnx-graphsurgeon \
|
|
362
|
-
&& pip install -U onnxruntime==1.
|
|
372
|
+
pip install -U onnx==1.19.0 \
|
|
373
|
+
&& pip install -U onnx-graphsurgeon==0.5.8 \
|
|
374
|
+
&& pip install -U onnxruntime==1.23.0 \
|
|
363
375
|
&& pip install -U onnxsim==0.4.33 \
|
|
364
|
-
&& pip install -U simple_onnx_processing_tools \
|
|
376
|
+
&& pip install -U simple_onnx_processing_tools==1.1.32 \
|
|
365
377
|
&& pip install -U sne4onnx>=1.0.13 \
|
|
366
378
|
&& pip install -U sng4onnx>=1.0.4 \
|
|
367
379
|
&& pip install -U ai_edge_litert==1.2.0 \
|
|
@@ -397,7 +409,7 @@ or
|
|
|
397
409
|
!pip install -U pip \
|
|
398
410
|
&& pip install tensorflow==2.19.0 \
|
|
399
411
|
&& pip install ai_edge_litert==1.2.0 \
|
|
400
|
-
&& pip install -U onnx==1.
|
|
412
|
+
&& pip install -U onnx==1.19.0 \
|
|
401
413
|
&& python -m pip install onnx_graphsurgeon \
|
|
402
414
|
--index-url https://pypi.ngc.nvidia.com \
|
|
403
415
|
&& pip install -U onnxruntime==1.18.1 \
|
|
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
|