onnx2tf 1.25.10__tar.gz → 1.25.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.
Files changed (202) hide show
  1. {onnx2tf-1.25.10/onnx2tf.egg-info → onnx2tf-1.25.12}/PKG-INFO +4 -4
  2. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/README.md +3 -3
  3. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/__init__.py +1 -1
  4. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/BatchNormalization.py +74 -67
  5. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Flatten.py +11 -8
  6. {onnx2tf-1.25.10 → onnx2tf-1.25.12/onnx2tf.egg-info}/PKG-INFO +4 -4
  7. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/LICENSE +0 -0
  8. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/LICENSE_onnx-tensorflow +0 -0
  9. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/__main__.py +0 -0
  10. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/onnx2tf.py +0 -0
  11. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Abs.py +0 -0
  12. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Acos.py +0 -0
  13. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Acosh.py +0 -0
  14. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Add.py +0 -0
  15. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/And.py +0 -0
  16. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/ArgMax.py +0 -0
  17. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/ArgMin.py +0 -0
  18. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Asin.py +0 -0
  19. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Asinh.py +0 -0
  20. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Atan.py +0 -0
  21. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Atanh.py +0 -0
  22. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/AveragePool.py +0 -0
  23. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Bernoulli.py +0 -0
  24. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/BitShift.py +0 -0
  25. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Cast.py +0 -0
  26. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Ceil.py +0 -0
  27. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Celu.py +0 -0
  28. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Clip.py +0 -0
  29. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Col2Im.py +0 -0
  30. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Compress.py +0 -0
  31. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Concat.py +0 -0
  32. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/ConcatFromSequence.py +0 -0
  33. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Constant.py +0 -0
  34. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/ConstantOfShape.py +0 -0
  35. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Conv.py +0 -0
  36. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/ConvInteger.py +0 -0
  37. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/ConvTranspose.py +0 -0
  38. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Cos.py +0 -0
  39. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Cosh.py +0 -0
  40. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/CumSum.py +0 -0
  41. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/DepthToSpace.py +0 -0
  42. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/DequantizeLinear.py +0 -0
  43. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Det.py +0 -0
  44. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Div.py +0 -0
  45. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Dropout.py +0 -0
  46. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/DynamicQuantizeLinear.py +0 -0
  47. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Einsum.py +0 -0
  48. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Elu.py +0 -0
  49. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Equal.py +0 -0
  50. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Erf.py +0 -0
  51. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Exp.py +0 -0
  52. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Expand.py +0 -0
  53. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/EyeLike.py +0 -0
  54. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Floor.py +0 -0
  55. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/FusedConv.py +0 -0
  56. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/GRU.py +0 -0
  57. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Gather.py +0 -0
  58. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/GatherElements.py +0 -0
  59. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/GatherND.py +0 -0
  60. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Gelu.py +0 -0
  61. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Gemm.py +0 -0
  62. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/GlobalAveragePool.py +0 -0
  63. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/GlobalLpPool.py +0 -0
  64. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/GlobalMaxPool.py +0 -0
  65. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Greater.py +0 -0
  66. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/GreaterOrEqual.py +0 -0
  67. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/GridSample.py +0 -0
  68. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/GroupNorm.py +0 -0
  69. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/HammingWindow.py +0 -0
  70. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/HannWindow.py +0 -0
  71. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/HardSigmoid.py +0 -0
  72. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/HardSwish.py +0 -0
  73. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Hardmax.py +0 -0
  74. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Identity.py +0 -0
  75. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/If.py +0 -0
  76. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Input.py +0 -0
  77. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/InstanceNormalization.py +0 -0
  78. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Inverse.py +0 -0
  79. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/IsInf.py +0 -0
  80. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/IsNaN.py +0 -0
  81. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/LRN.py +0 -0
  82. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/LSTM.py +0 -0
  83. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/LayerNormalization.py +0 -0
  84. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/LeakyRelu.py +0 -0
  85. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Less.py +0 -0
  86. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/LessOrEqual.py +0 -0
  87. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Log.py +0 -0
  88. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/LogSoftmax.py +0 -0
  89. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/LpNormalization.py +0 -0
  90. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/MatMul.py +0 -0
  91. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/MatMulInteger.py +0 -0
  92. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Max.py +0 -0
  93. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/MaxPool.py +0 -0
  94. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/MaxUnpool.py +0 -0
  95. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Mean.py +0 -0
  96. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/MeanVarianceNormalization.py +0 -0
  97. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/MelWeightMatrix.py +0 -0
  98. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Min.py +0 -0
  99. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Mish.py +0 -0
  100. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Mod.py +0 -0
  101. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Mul.py +0 -0
  102. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Multinomial.py +0 -0
  103. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Neg.py +0 -0
  104. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/NonMaxSuppression.py +0 -0
  105. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/NonZero.py +0 -0
  106. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Not.py +0 -0
  107. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/OneHot.py +0 -0
  108. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/OptionalGetElement.py +0 -0
  109. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/OptionalHasElement.py +0 -0
  110. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Or.py +0 -0
  111. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/PRelu.py +0 -0
  112. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Pad.py +0 -0
  113. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Pow.py +0 -0
  114. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/QLinearAdd.py +0 -0
  115. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/QLinearConcat.py +0 -0
  116. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/QLinearConv.py +0 -0
  117. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/QLinearLeakyRelu.py +0 -0
  118. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/QLinearMatMul.py +0 -0
  119. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/QLinearMul.py +0 -0
  120. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/QLinearSigmoid.py +0 -0
  121. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/QLinearSoftmax.py +0 -0
  122. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/QuantizeLinear.py +0 -0
  123. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/RNN.py +0 -0
  124. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/RandomNormal.py +0 -0
  125. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/RandomNormalLike.py +0 -0
  126. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/RandomUniform.py +0 -0
  127. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/RandomUniformLike.py +0 -0
  128. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Range.py +0 -0
  129. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Reciprocal.py +0 -0
  130. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/ReduceL1.py +0 -0
  131. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/ReduceL2.py +0 -0
  132. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/ReduceLogSum.py +0 -0
  133. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/ReduceLogSumExp.py +0 -0
  134. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/ReduceMax.py +0 -0
  135. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/ReduceMean.py +0 -0
  136. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/ReduceMin.py +0 -0
  137. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/ReduceProd.py +0 -0
  138. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/ReduceSum.py +0 -0
  139. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/ReduceSumSquare.py +0 -0
  140. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Relu.py +0 -0
  141. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Reshape.py +0 -0
  142. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Resize.py +0 -0
  143. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/ReverseSequence.py +0 -0
  144. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/RoiAlign.py +0 -0
  145. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Round.py +0 -0
  146. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/STFT.py +0 -0
  147. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/ScaleAndTranslate.py +0 -0
  148. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Scatter.py +0 -0
  149. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/ScatterElements.py +0 -0
  150. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/ScatterND.py +0 -0
  151. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Selu.py +0 -0
  152. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/SequenceAt.py +0 -0
  153. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/SequenceConstruct.py +0 -0
  154. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/SequenceEmpty.py +0 -0
  155. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/SequenceErase.py +0 -0
  156. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/SequenceInsert.py +0 -0
  157. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/SequenceLength.py +0 -0
  158. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Shape.py +0 -0
  159. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Shrink.py +0 -0
  160. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Sigmoid.py +0 -0
  161. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Sign.py +0 -0
  162. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Sin.py +0 -0
  163. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Sinh.py +0 -0
  164. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Size.py +0 -0
  165. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Slice.py +0 -0
  166. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Softmax.py +0 -0
  167. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Softplus.py +0 -0
  168. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Softsign.py +0 -0
  169. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/SpaceToDepth.py +0 -0
  170. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Split.py +0 -0
  171. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/SplitToSequence.py +0 -0
  172. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Sqrt.py +0 -0
  173. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Squeeze.py +0 -0
  174. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/StringNormalizer.py +0 -0
  175. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Sub.py +0 -0
  176. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Sum.py +0 -0
  177. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Tan.py +0 -0
  178. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Tanh.py +0 -0
  179. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/ThresholdedRelu.py +0 -0
  180. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Tile.py +0 -0
  181. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/TopK.py +0 -0
  182. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Transpose.py +0 -0
  183. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Trilu.py +0 -0
  184. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Unique.py +0 -0
  185. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Unsqueeze.py +0 -0
  186. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Upsample.py +0 -0
  187. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Where.py +0 -0
  188. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/Xor.py +0 -0
  189. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/_Loop.py +0 -0
  190. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/__Loop.py +0 -0
  191. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/ops/__init__.py +0 -0
  192. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/utils/__init__.py +0 -0
  193. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/utils/common_functions.py +0 -0
  194. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/utils/enums.py +0 -0
  195. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf/utils/logging.py +0 -0
  196. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf.egg-info/SOURCES.txt +0 -0
  197. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf.egg-info/dependency_links.txt +0 -0
  198. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf.egg-info/entry_points.txt +0 -0
  199. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/onnx2tf.egg-info/top_level.txt +0 -0
  200. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/setup.cfg +0 -0
  201. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/setup.py +0 -0
  202. {onnx2tf-1.25.10 → onnx2tf-1.25.12}/tests/test_model_convert.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: onnx2tf
3
- Version: 1.25.10
3
+ Version: 1.25.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
  Home-page: https://github.com/PINTO0309/onnx2tf
6
6
  Author: Katsuya Hyodo
@@ -314,7 +314,7 @@ Video speed is adjusted approximately 50 times slower than actual speed.
314
314
  docker run --rm -it \
315
315
  -v `pwd`:/workdir \
316
316
  -w /workdir \
317
- ghcr.io/pinto0309/onnx2tf:1.25.10
317
+ ghcr.io/pinto0309/onnx2tf:1.25.12
318
318
 
319
319
  or
320
320
 
@@ -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
- docker.io/pinto0309/onnx2tf:1.25.10
325
+ docker.io/pinto0309/onnx2tf:1.25.12
326
326
 
327
327
  or
328
328
 
@@ -419,7 +419,7 @@ The given SavedModel SignatureDef contains the following input(s):
419
419
  The given SavedModel SignatureDef contains the following output(s):
420
420
  outputs['output_0'] tensor_info:
421
421
  dtype: DT_FLOAT
422
- shape: (1, 1000) # <-- Model design bug in resnet18-v1-7.onnx
422
+ shape: (-1, 1000)
423
423
  name: PartitionedCall:0
424
424
  Method name is: tensorflow/serving/predict
425
425
 
@@ -299,7 +299,7 @@ Video speed is adjusted approximately 50 times slower than actual speed.
299
299
  docker run --rm -it \
300
300
  -v `pwd`:/workdir \
301
301
  -w /workdir \
302
- ghcr.io/pinto0309/onnx2tf:1.25.10
302
+ ghcr.io/pinto0309/onnx2tf:1.25.12
303
303
 
304
304
  or
305
305
 
@@ -307,7 +307,7 @@ Video speed is adjusted approximately 50 times slower than actual speed.
307
307
  docker run --rm -it \
308
308
  -v `pwd`:/workdir \
309
309
  -w /workdir \
310
- docker.io/pinto0309/onnx2tf:1.25.10
310
+ docker.io/pinto0309/onnx2tf:1.25.12
311
311
 
312
312
  or
313
313
 
@@ -404,7 +404,7 @@ The given SavedModel SignatureDef contains the following input(s):
404
404
  The given SavedModel SignatureDef contains the following output(s):
405
405
  outputs['output_0'] tensor_info:
406
406
  dtype: DT_FLOAT
407
- shape: (1, 1000) # <-- Model design bug in resnet18-v1-7.onnx
407
+ shape: (-1, 1000)
408
408
  name: PartitionedCall:0
409
409
  Method name is: tensorflow/serving/predict
410
410
 
@@ -1,3 +1,3 @@
1
1
  from onnx2tf.onnx2tf import convert, main
2
2
 
3
- __version__ = '1.25.10'
3
+ __version__ = '1.25.12'
@@ -338,11 +338,17 @@ def make_node(
338
338
 
339
339
  # Automatic correction of accuracy degradation
340
340
  min_abs_err = sys.maxsize
341
- min_abs_err_perm_1: List[int] = [idx for idx in range(len(mean.shape))]
341
+ min_abs_err_perm_1: List[int] = []
342
+ check_length = 0
343
+ if input_tensor.shape is not None and mean.shape is not None and len(input_tensor.shape) >= len(mean.shape):
344
+ check_length = len(input_tensor.shape)
345
+ else:
346
+ check_length = len(mean.shape)
347
+ min_abs_err_perm_1: List[int] = [idx for idx in range(check_length)]
342
348
 
343
349
  if not disable_strict_mode:
344
350
  if onnx_tensor_infos is not None and validation_data is not None:
345
- tensor_1_candidate_for_transpositions = list(itertools.permutations(range(len(mean.shape))))
351
+ tensor_1_candidate_for_transpositions = list(itertools.permutations(range(check_length)))
346
352
  # Search for the axis with the smallest error
347
353
  for tensor_1_candidate_for_transposition in tensor_1_candidate_for_transpositions:
348
354
  try:
@@ -470,71 +476,72 @@ def make_node(
470
476
  except Exception as ex:
471
477
  pass
472
478
 
473
- tf_layers_dict[Y.name]['tf_node'] = \
474
- tf.nn.batch_normalization(
475
- x=input_tensor,
476
- mean=\
477
- transpose_with_flexing_deterrence(
478
- input_tensor=mean,
479
- perm=min_abs_err_perm_1,
480
- output_shape=Y.shape \
481
- if None not in Y.shape and Y.shape != [] else None,
482
- **kwargs,
483
- ) if not isinstance(mean, np.ndarray) else \
484
- transpose_with_flexing_deterrence(
485
- input_tensor=tf.convert_to_tensor(mean),
486
- perm=min_abs_err_perm_1,
487
- output_shape=Y.shape \
488
- if None not in Y.shape and Y.shape != [] else None,
489
- **kwargs,
490
- ),
491
- variance=\
492
- transpose_with_flexing_deterrence(
493
- input_tensor=var,
494
- perm=min_abs_err_perm_1,
495
- output_shape=Y.shape \
496
- if None not in Y.shape and Y.shape != [] else None,
497
- **kwargs,
498
- ) if not isinstance(var, np.ndarray) else \
499
- transpose_with_flexing_deterrence(
500
- input_tensor=tf.convert_to_tensor(var),
501
- perm=min_abs_err_perm_1,
502
- output_shape=Y.shape \
503
- if None not in Y.shape and Y.shape != [] else None,
504
- **kwargs,
505
- ),
506
- offset=\
507
- transpose_with_flexing_deterrence(
508
- input_tensor=offset,
509
- perm=min_abs_err_perm_1,
510
- output_shape=Y.shape \
511
- if None not in Y.shape and Y.shape != [] else None,
512
- **kwargs,
513
- ) if not isinstance(offset, np.ndarray) else \
514
- transpose_with_flexing_deterrence(
515
- input_tensor=tf.convert_to_tensor(offset),
516
- perm=min_abs_err_perm_1,
517
- output_shape=Y.shape \
518
- if None not in Y.shape and Y.shape != [] else None,
519
- **kwargs,
520
- ),
521
- scale=\
522
- transpose_with_flexing_deterrence(
523
- input_tensor=scale,
524
- perm=min_abs_err_perm_1,
525
- output_shape=Y.shape \
526
- if None not in Y.shape and Y.shape != [] else None,
527
- **kwargs,
528
- ) if not isinstance(scale, np.ndarray) else \
529
- transpose_with_flexing_deterrence(
530
- input_tensor=tf.convert_to_tensor(scale),
531
- perm=min_abs_err_perm_1,
532
- output_shape=Y.shape \
533
- if None not in Y.shape and Y.shape != [] else None,
534
- **kwargs,
535
- ),
536
- variance_epsilon=epsilon,
537
- )
479
+ if min_abs_err_perm_1 != [idx for idx in range(check_length)]:
480
+ tf_layers_dict[Y.name]['tf_node'] = \
481
+ tf.nn.batch_normalization(
482
+ x=input_tensor,
483
+ mean=\
484
+ transpose_with_flexing_deterrence(
485
+ input_tensor=mean,
486
+ perm=min_abs_err_perm_1,
487
+ output_shape=Y.shape \
488
+ if None not in Y.shape and Y.shape != [] else None,
489
+ **kwargs,
490
+ ) if not isinstance(mean, np.ndarray) else \
491
+ transpose_with_flexing_deterrence(
492
+ input_tensor=tf.convert_to_tensor(mean),
493
+ perm=min_abs_err_perm_1,
494
+ output_shape=Y.shape \
495
+ if None not in Y.shape and Y.shape != [] else None,
496
+ **kwargs,
497
+ ),
498
+ variance=\
499
+ transpose_with_flexing_deterrence(
500
+ input_tensor=var,
501
+ perm=min_abs_err_perm_1,
502
+ output_shape=Y.shape \
503
+ if None not in Y.shape and Y.shape != [] else None,
504
+ **kwargs,
505
+ ) if not isinstance(var, np.ndarray) else \
506
+ transpose_with_flexing_deterrence(
507
+ input_tensor=tf.convert_to_tensor(var),
508
+ perm=min_abs_err_perm_1,
509
+ output_shape=Y.shape \
510
+ if None not in Y.shape and Y.shape != [] else None,
511
+ **kwargs,
512
+ ),
513
+ offset=\
514
+ transpose_with_flexing_deterrence(
515
+ input_tensor=offset,
516
+ perm=min_abs_err_perm_1,
517
+ output_shape=Y.shape \
518
+ if None not in Y.shape and Y.shape != [] else None,
519
+ **kwargs,
520
+ ) if not isinstance(offset, np.ndarray) else \
521
+ transpose_with_flexing_deterrence(
522
+ input_tensor=tf.convert_to_tensor(offset),
523
+ perm=min_abs_err_perm_1,
524
+ output_shape=Y.shape \
525
+ if None not in Y.shape and Y.shape != [] else None,
526
+ **kwargs,
527
+ ),
528
+ scale=\
529
+ transpose_with_flexing_deterrence(
530
+ input_tensor=scale,
531
+ perm=min_abs_err_perm_1,
532
+ output_shape=Y.shape \
533
+ if None not in Y.shape and Y.shape != [] else None,
534
+ **kwargs,
535
+ ) if not isinstance(scale, np.ndarray) else \
536
+ transpose_with_flexing_deterrence(
537
+ input_tensor=tf.convert_to_tensor(scale),
538
+ perm=min_abs_err_perm_1,
539
+ output_shape=Y.shape \
540
+ if None not in Y.shape and Y.shape != [] else None,
541
+ **kwargs,
542
+ ),
543
+ variance_epsilon=epsilon,
544
+ )
538
545
  tf_type = tf.nn.batch_normalization
539
546
 
540
547
  # Post-process transpose
@@ -57,14 +57,17 @@ def make_node(
57
57
  output_shape = graph_node_output.shape
58
58
  dtype = graph_node_output.dtype
59
59
 
60
- axis = graph_node.attrs.get("axis", 0)
61
- if graph_node_input.shape is not None \
62
- and axis < input_tensor_rank:
63
- axis = convert_axis(
64
- axis=axis,
65
- tensor_rank=len(graph_node_input.shape),
66
- before_op_output_shape_trans=before_op_output_shape_trans,
67
- )
60
+ axis = graph_node.attrs.get("axis", None)
61
+ if axis is not None:
62
+ if graph_node_input.shape is not None \
63
+ and axis < input_tensor_rank:
64
+ axis = convert_axis(
65
+ axis=axis,
66
+ tensor_rank=len(graph_node_input.shape),
67
+ before_op_output_shape_trans=before_op_output_shape_trans,
68
+ )
69
+ else:
70
+ axis = input_tensor_rank - 1
68
71
 
69
72
  # Preserving Graph Structure (Dict)
70
73
  tf_layers_dict[graph_node_output.name] = {
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: onnx2tf
3
- Version: 1.25.10
3
+ Version: 1.25.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
  Home-page: https://github.com/PINTO0309/onnx2tf
6
6
  Author: Katsuya Hyodo
@@ -314,7 +314,7 @@ Video speed is adjusted approximately 50 times slower than actual speed.
314
314
  docker run --rm -it \
315
315
  -v `pwd`:/workdir \
316
316
  -w /workdir \
317
- ghcr.io/pinto0309/onnx2tf:1.25.10
317
+ ghcr.io/pinto0309/onnx2tf:1.25.12
318
318
 
319
319
  or
320
320
 
@@ -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
- docker.io/pinto0309/onnx2tf:1.25.10
325
+ docker.io/pinto0309/onnx2tf:1.25.12
326
326
 
327
327
  or
328
328
 
@@ -419,7 +419,7 @@ The given SavedModel SignatureDef contains the following input(s):
419
419
  The given SavedModel SignatureDef contains the following output(s):
420
420
  outputs['output_0'] tensor_info:
421
421
  dtype: DT_FLOAT
422
- shape: (1, 1000) # <-- Model design bug in resnet18-v1-7.onnx
422
+ shape: (-1, 1000)
423
423
  name: PartitionedCall:0
424
424
  Method name is: tensorflow/serving/predict
425
425
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes