onnx2tf 1.28.1__tar.gz → 1.28.2__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.28.1/onnx2tf.egg-info → onnx2tf-1.28.2}/PKG-INFO +3 -3
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/README.md +2 -2
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/__init__.py +1 -1
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/MatMul.py +60 -2
- {onnx2tf-1.28.1 → onnx2tf-1.28.2/onnx2tf.egg-info}/PKG-INFO +3 -3
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/LICENSE +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/LICENSE_onnx-tensorflow +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/__main__.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/onnx2tf.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Abs.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Acos.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Acosh.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Add.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/And.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/ArgMax.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/ArgMin.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Asin.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Asinh.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Atan.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Atanh.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/AveragePool.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/BatchNormalization.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Bernoulli.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/BitShift.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Cast.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Ceil.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Celu.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Clip.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Col2Im.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Compress.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Concat.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/ConcatFromSequence.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Constant.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/ConstantOfShape.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Conv.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/ConvInteger.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/ConvTranspose.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Cos.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Cosh.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/CumSum.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/DepthToSpace.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/DequantizeLinear.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Det.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Div.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Dropout.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/DynamicQuantizeLinear.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Einsum.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Elu.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Equal.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Erf.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Exp.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Expand.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/EyeLike.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Flatten.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Floor.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/FusedConv.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/GRU.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Gather.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/GatherElements.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/GatherND.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Gelu.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Gemm.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/GlobalAveragePool.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/GlobalLpPool.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/GlobalMaxPool.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Greater.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/GreaterOrEqual.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/GridSample.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/GroupNorm.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/HammingWindow.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/HannWindow.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/HardSigmoid.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/HardSwish.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Hardmax.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Identity.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/If.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Input.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/InstanceNormalization.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Inverse.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/IsInf.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/IsNaN.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/LRN.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/LSTM.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/LayerNormalization.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/LeakyRelu.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Less.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/LessOrEqual.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Log.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/LogSoftmax.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/LpNormalization.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/MatMulInteger.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Max.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/MaxPool.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/MaxUnpool.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Mean.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/MeanVarianceNormalization.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/MelWeightMatrix.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Min.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Mish.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Mod.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Mul.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Multinomial.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Neg.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/NonMaxSuppression.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/NonZero.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Not.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/OneHot.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/OptionalGetElement.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/OptionalHasElement.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Or.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/PRelu.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Pad.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Pow.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/QLinearAdd.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/QLinearConcat.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/QLinearConv.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/QLinearLeakyRelu.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/QLinearMatMul.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/QLinearMul.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/QLinearSigmoid.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/QLinearSoftmax.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/QuantizeLinear.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/RNN.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/RandomNormal.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/RandomNormalLike.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/RandomUniform.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/RandomUniformLike.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Range.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Reciprocal.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/ReduceL1.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/ReduceL2.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/ReduceLogSum.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/ReduceLogSumExp.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/ReduceMax.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/ReduceMean.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/ReduceMin.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/ReduceProd.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/ReduceSum.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/ReduceSumSquare.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Relu.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Reshape.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Resize.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/ReverseSequence.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/RoiAlign.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Round.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/STFT.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/ScaleAndTranslate.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Scatter.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/ScatterElements.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/ScatterND.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Selu.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/SequenceAt.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/SequenceConstruct.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/SequenceEmpty.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/SequenceErase.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/SequenceInsert.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/SequenceLength.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Shape.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Shrink.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Sigmoid.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Sign.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Sin.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Sinh.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Size.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Slice.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Softmax.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Softplus.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Softsign.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/SpaceToDepth.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Split.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/SplitToSequence.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Sqrt.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Squeeze.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/StringNormalizer.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Sub.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Sum.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Tan.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Tanh.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/ThresholdedRelu.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Tile.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/TopK.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Transpose.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Trilu.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Unique.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Unsqueeze.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Upsample.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Where.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/Xor.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/_Loop.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/__Loop.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/ops/__init__.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/utils/__init__.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/utils/common_functions.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/utils/enums.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/utils/iterative_json_optimizer.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/utils/json_auto_generator.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf/utils/logging.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf.egg-info/SOURCES.txt +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf.egg-info/dependency_links.txt +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf.egg-info/entry_points.txt +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/onnx2tf.egg-info/top_level.txt +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/setup.cfg +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/setup.py +0 -0
- {onnx2tf-1.28.1 → onnx2tf-1.28.2}/tests/test_model_convert.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: onnx2tf
|
|
3
|
-
Version: 1.28.
|
|
3
|
+
Version: 1.28.2
|
|
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
|
Home-page: https://github.com/PINTO0309/onnx2tf
|
|
6
6
|
Author: Katsuya Hyodo
|
|
@@ -334,7 +334,7 @@ Video speed is adjusted approximately 50 times slower than actual speed.
|
|
|
334
334
|
docker run --rm -it \
|
|
335
335
|
-v `pwd`:/workdir \
|
|
336
336
|
-w /workdir \
|
|
337
|
-
ghcr.io/pinto0309/onnx2tf:1.28.
|
|
337
|
+
ghcr.io/pinto0309/onnx2tf:1.28.2
|
|
338
338
|
|
|
339
339
|
or
|
|
340
340
|
|
|
@@ -342,7 +342,7 @@ Video speed is adjusted approximately 50 times slower than actual speed.
|
|
|
342
342
|
docker run --rm -it \
|
|
343
343
|
-v `pwd`:/workdir \
|
|
344
344
|
-w /workdir \
|
|
345
|
-
docker.io/pinto0309/onnx2tf:1.28.
|
|
345
|
+
docker.io/pinto0309/onnx2tf:1.28.2
|
|
346
346
|
|
|
347
347
|
or
|
|
348
348
|
|
|
@@ -309,7 +309,7 @@ Video speed is adjusted approximately 50 times slower than actual speed.
|
|
|
309
309
|
docker run --rm -it \
|
|
310
310
|
-v `pwd`:/workdir \
|
|
311
311
|
-w /workdir \
|
|
312
|
-
ghcr.io/pinto0309/onnx2tf:1.28.
|
|
312
|
+
ghcr.io/pinto0309/onnx2tf:1.28.2
|
|
313
313
|
|
|
314
314
|
or
|
|
315
315
|
|
|
@@ -317,7 +317,7 @@ Video speed is adjusted approximately 50 times slower than actual speed.
|
|
|
317
317
|
docker run --rm -it \
|
|
318
318
|
-v `pwd`:/workdir \
|
|
319
319
|
-w /workdir \
|
|
320
|
-
docker.io/pinto0309/onnx2tf:1.28.
|
|
320
|
+
docker.io/pinto0309/onnx2tf:1.28.2
|
|
321
321
|
|
|
322
322
|
or
|
|
323
323
|
|
|
@@ -25,6 +25,59 @@ from onnx2tf.utils.enums import (
|
|
|
25
25
|
)
|
|
26
26
|
from typing import Any, Dict, List
|
|
27
27
|
|
|
28
|
+
def _matmul_output_shape(shape_a, shape_b):
|
|
29
|
+
""" _matmul_output_shape
|
|
30
|
+
Computes the shape of matrix M=np.matmul(A, B) given shapes of A and B.
|
|
31
|
+
|
|
32
|
+
Parameters
|
|
33
|
+
----------
|
|
34
|
+
shape_a: tuple with shape of matrix A.
|
|
35
|
+
shape_b: tuple with shape of matrix B.
|
|
36
|
+
|
|
37
|
+
Returns
|
|
38
|
+
-------
|
|
39
|
+
Shape of matrix M=np.matmul(A, B)
|
|
40
|
+
"""
|
|
41
|
+
if len(shape_a) == 0 or len(shape_b) == 0 or \
|
|
42
|
+
None in shape_a or None in shape_b or \
|
|
43
|
+
any(dim <= 0 for dim in shape_a) or any(dim <= 0 for dim in shape_b):
|
|
44
|
+
# If there are no dimensions, any dimension is None or not positive, we cannot determine the output shape
|
|
45
|
+
return None
|
|
46
|
+
# Handle 1D cases as per numpy.matmul rules
|
|
47
|
+
if len(shape_a) == 1 and len(shape_b) == 1:
|
|
48
|
+
# Vector dot product -> scalar
|
|
49
|
+
if shape_a[0] != shape_b[0]:
|
|
50
|
+
return None # Incompatible shapes for matmul
|
|
51
|
+
else:
|
|
52
|
+
return ()
|
|
53
|
+
elif len(shape_a) == 1:
|
|
54
|
+
# (K,) @ (..., K, N) -> (..., N)
|
|
55
|
+
if shape_a[0] != shape_b[-2]:
|
|
56
|
+
return None # Incompatible shapes for matmul
|
|
57
|
+
batch_shape = shape_b[:-2]
|
|
58
|
+
return batch_shape + (shape_b[-1],)
|
|
59
|
+
elif len(shape_b) == 1:
|
|
60
|
+
# (..., M, K) @ (K,) -> (..., M)
|
|
61
|
+
if shape_a[-1] != shape_b[0]:
|
|
62
|
+
return None # Incompatible shapes for matmul
|
|
63
|
+
batch_shape = shape_a[:-2]
|
|
64
|
+
return batch_shape + (shape_a[-2],)
|
|
65
|
+
else:
|
|
66
|
+
# (..., M, K) @ (..., K, N) -> broadcast(...), M, N
|
|
67
|
+
# prepend the shorter shape with 1s to match lengths
|
|
68
|
+
if len(shape_a) < len(shape_b):
|
|
69
|
+
shape_a = (1,) * (len(shape_b) - len(shape_a)) + shape_a
|
|
70
|
+
elif len(shape_b) < len(shape_a):
|
|
71
|
+
shape_b = (1,) * (len(shape_a) - len(shape_b)) + shape_b
|
|
72
|
+
|
|
73
|
+
if shape_a[-1] != shape_b[-2]:
|
|
74
|
+
return None # Incompatible shapes for matmul
|
|
75
|
+
|
|
76
|
+
try:
|
|
77
|
+
batch_shape = np.broadcast_shapes(shape_a[:-2], shape_b[:-2])
|
|
78
|
+
except ValueError:
|
|
79
|
+
return None # If broadcasting fails, it means the batch dimensions are incompatible
|
|
80
|
+
return batch_shape + (shape_a[-2], shape_b[-1])
|
|
28
81
|
|
|
29
82
|
@print_node_info
|
|
30
83
|
@inverted_operation_enable_disable
|
|
@@ -199,8 +252,13 @@ def make_node(
|
|
|
199
252
|
and sum([1 if isinstance(s, str) else 0 for s in target_onnx_output_shape]) == 0:
|
|
200
253
|
dummy_np_1 = np.ones(list(input_tensor_1.shape), dtype=np.float32).transpose(tensor_1_candidate_for_transposition)
|
|
201
254
|
dummy_np_2 = np.ones(list(input_tensor_2.shape), dtype=np.float32).transpose(tensor_2_candidate_for_transposition)
|
|
202
|
-
|
|
203
|
-
|
|
255
|
+
|
|
256
|
+
actual_output_shape = _matmul_output_shape(dummy_np_1.shape, dummy_np_2.shape)
|
|
257
|
+
if actual_output_shape is None:
|
|
258
|
+
dummy_np_result: np.ndarray = np.matmul(dummy_np_1, dummy_np_2)
|
|
259
|
+
actual_output_shape = dummy_np_result.shape
|
|
260
|
+
|
|
261
|
+
if np.prod(actual_output_shape) != np.prod(target_onnx_output_shape):
|
|
204
262
|
continue
|
|
205
263
|
|
|
206
264
|
# Build TF dummy model
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: onnx2tf
|
|
3
|
-
Version: 1.28.
|
|
3
|
+
Version: 1.28.2
|
|
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
|
Home-page: https://github.com/PINTO0309/onnx2tf
|
|
6
6
|
Author: Katsuya Hyodo
|
|
@@ -334,7 +334,7 @@ Video speed is adjusted approximately 50 times slower than actual speed.
|
|
|
334
334
|
docker run --rm -it \
|
|
335
335
|
-v `pwd`:/workdir \
|
|
336
336
|
-w /workdir \
|
|
337
|
-
ghcr.io/pinto0309/onnx2tf:1.28.
|
|
337
|
+
ghcr.io/pinto0309/onnx2tf:1.28.2
|
|
338
338
|
|
|
339
339
|
or
|
|
340
340
|
|
|
@@ -342,7 +342,7 @@ Video speed is adjusted approximately 50 times slower than actual speed.
|
|
|
342
342
|
docker run --rm -it \
|
|
343
343
|
-v `pwd`:/workdir \
|
|
344
344
|
-w /workdir \
|
|
345
|
-
docker.io/pinto0309/onnx2tf:1.28.
|
|
345
|
+
docker.io/pinto0309/onnx2tf:1.28.2
|
|
346
346
|
|
|
347
347
|
or
|
|
348
348
|
|
|
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
|