onnx2tf 1.29.7__tar.gz → 1.29.9__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 (213) hide show
  1. {onnx2tf-1.29.7/onnx2tf.egg-info → onnx2tf-1.29.9}/PKG-INFO +10 -7
  2. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/README.md +7 -5
  3. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/__init__.py +1 -1
  4. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Unsqueeze.py +69 -37
  5. {onnx2tf-1.29.7 → onnx2tf-1.29.9/onnx2tf.egg-info}/PKG-INFO +10 -7
  6. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf.egg-info/requires.txt +2 -1
  7. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/pyproject.toml +3 -2
  8. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/LICENSE +0 -0
  9. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/LICENSE_onnx-tensorflow +0 -0
  10. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/__main__.py +0 -0
  11. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/onnx2tf.py +0 -0
  12. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Abs.py +0 -0
  13. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Acos.py +0 -0
  14. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Acosh.py +0 -0
  15. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Add.py +0 -0
  16. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/AffineGrid.py +0 -0
  17. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/And.py +0 -0
  18. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/ArgMax.py +0 -0
  19. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/ArgMin.py +0 -0
  20. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Asin.py +0 -0
  21. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Asinh.py +0 -0
  22. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Atan.py +0 -0
  23. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Atanh.py +0 -0
  24. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Attention.py +0 -0
  25. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/AveragePool.py +0 -0
  26. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/BatchNormalization.py +0 -0
  27. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Bernoulli.py +0 -0
  28. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/BitShift.py +0 -0
  29. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/BitwiseAnd.py +0 -0
  30. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/BitwiseNot.py +0 -0
  31. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/BitwiseOr.py +0 -0
  32. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/BitwiseXor.py +0 -0
  33. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/BlackmanWindow.py +0 -0
  34. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Cast.py +0 -0
  35. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Ceil.py +0 -0
  36. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Celu.py +0 -0
  37. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Clip.py +0 -0
  38. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Col2Im.py +0 -0
  39. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Compress.py +0 -0
  40. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Concat.py +0 -0
  41. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/ConcatFromSequence.py +0 -0
  42. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Constant.py +0 -0
  43. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/ConstantOfShape.py +0 -0
  44. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Conv.py +0 -0
  45. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/ConvInteger.py +0 -0
  46. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/ConvTranspose.py +0 -0
  47. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Cos.py +0 -0
  48. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Cosh.py +0 -0
  49. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/CumProd.py +0 -0
  50. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/CumSum.py +0 -0
  51. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/DepthToSpace.py +0 -0
  52. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/DequantizeLinear.py +0 -0
  53. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Det.py +0 -0
  54. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Div.py +0 -0
  55. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Dropout.py +0 -0
  56. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/DynamicQuantizeLinear.py +0 -0
  57. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Einsum.py +0 -0
  58. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Elu.py +0 -0
  59. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Equal.py +0 -0
  60. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Erf.py +0 -0
  61. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Exp.py +0 -0
  62. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Expand.py +0 -0
  63. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/EyeLike.py +0 -0
  64. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Flatten.py +0 -0
  65. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Floor.py +0 -0
  66. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/FusedConv.py +0 -0
  67. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/GRU.py +0 -0
  68. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Gather.py +0 -0
  69. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/GatherElements.py +0 -0
  70. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/GatherND.py +0 -0
  71. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Gelu.py +0 -0
  72. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Gemm.py +0 -0
  73. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/GlobalAveragePool.py +0 -0
  74. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/GlobalLpPool.py +0 -0
  75. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/GlobalMaxPool.py +0 -0
  76. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Greater.py +0 -0
  77. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/GreaterOrEqual.py +0 -0
  78. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/GridSample.py +0 -0
  79. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/GroupNorm.py +0 -0
  80. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/HammingWindow.py +0 -0
  81. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/HannWindow.py +0 -0
  82. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/HardSigmoid.py +0 -0
  83. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/HardSwish.py +0 -0
  84. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Hardmax.py +0 -0
  85. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Identity.py +0 -0
  86. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/If.py +0 -0
  87. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Input.py +0 -0
  88. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/InstanceNormalization.py +0 -0
  89. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Inverse.py +0 -0
  90. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/IsInf.py +0 -0
  91. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/IsNaN.py +0 -0
  92. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/LRN.py +0 -0
  93. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/LSTM.py +0 -0
  94. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/LayerNormalization.py +0 -0
  95. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/LeakyRelu.py +0 -0
  96. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Less.py +0 -0
  97. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/LessOrEqual.py +0 -0
  98. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Log.py +0 -0
  99. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/LogSoftmax.py +0 -0
  100. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/LpNormalization.py +0 -0
  101. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/MatMul.py +0 -0
  102. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/MatMulInteger.py +0 -0
  103. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Max.py +0 -0
  104. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/MaxPool.py +0 -0
  105. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/MaxUnpool.py +0 -0
  106. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Mean.py +0 -0
  107. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/MeanVarianceNormalization.py +0 -0
  108. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/MelWeightMatrix.py +0 -0
  109. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Min.py +0 -0
  110. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Mish.py +0 -0
  111. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Mod.py +0 -0
  112. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Mul.py +0 -0
  113. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Multinomial.py +0 -0
  114. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Neg.py +0 -0
  115. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/NonMaxSuppression.py +0 -0
  116. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/NonZero.py +0 -0
  117. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Not.py +0 -0
  118. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/OneHot.py +0 -0
  119. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/OptionalGetElement.py +0 -0
  120. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/OptionalHasElement.py +0 -0
  121. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Or.py +0 -0
  122. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/PRelu.py +0 -0
  123. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Pad.py +0 -0
  124. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Pow.py +0 -0
  125. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/QLinearAdd.py +0 -0
  126. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/QLinearConcat.py +0 -0
  127. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/QLinearConv.py +0 -0
  128. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/QLinearLeakyRelu.py +0 -0
  129. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/QLinearMatMul.py +0 -0
  130. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/QLinearMul.py +0 -0
  131. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/QLinearSigmoid.py +0 -0
  132. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/QLinearSoftmax.py +0 -0
  133. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/QuantizeLinear.py +0 -0
  134. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/RNN.py +0 -0
  135. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/RandomNormal.py +0 -0
  136. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/RandomNormalLike.py +0 -0
  137. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/RandomUniform.py +0 -0
  138. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/RandomUniformLike.py +0 -0
  139. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Range.py +0 -0
  140. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Reciprocal.py +0 -0
  141. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/ReduceL1.py +0 -0
  142. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/ReduceL2.py +0 -0
  143. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/ReduceLogSum.py +0 -0
  144. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/ReduceLogSumExp.py +0 -0
  145. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/ReduceMax.py +0 -0
  146. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/ReduceMean.py +0 -0
  147. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/ReduceMin.py +0 -0
  148. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/ReduceProd.py +0 -0
  149. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/ReduceSum.py +0 -0
  150. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/ReduceSumSquare.py +0 -0
  151. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Relu.py +0 -0
  152. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Reshape.py +0 -0
  153. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Resize.py +0 -0
  154. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/ReverseSequence.py +0 -0
  155. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/RoiAlign.py +0 -0
  156. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Round.py +0 -0
  157. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/STFT.py +0 -0
  158. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/ScaleAndTranslate.py +0 -0
  159. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Scatter.py +0 -0
  160. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/ScatterElements.py +0 -0
  161. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/ScatterND.py +0 -0
  162. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Selu.py +0 -0
  163. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/SequenceAt.py +0 -0
  164. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/SequenceConstruct.py +0 -0
  165. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/SequenceEmpty.py +0 -0
  166. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/SequenceErase.py +0 -0
  167. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/SequenceInsert.py +0 -0
  168. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/SequenceLength.py +0 -0
  169. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Shape.py +0 -0
  170. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Shrink.py +0 -0
  171. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Sigmoid.py +0 -0
  172. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Sign.py +0 -0
  173. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Sin.py +0 -0
  174. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Sinh.py +0 -0
  175. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Size.py +0 -0
  176. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Slice.py +0 -0
  177. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Softmax.py +0 -0
  178. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Softplus.py +0 -0
  179. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Softsign.py +0 -0
  180. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/SpaceToDepth.py +0 -0
  181. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Split.py +0 -0
  182. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/SplitToSequence.py +0 -0
  183. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Sqrt.py +0 -0
  184. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Squeeze.py +0 -0
  185. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/StringNormalizer.py +0 -0
  186. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Sub.py +0 -0
  187. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Sum.py +0 -0
  188. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Tan.py +0 -0
  189. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Tanh.py +0 -0
  190. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/ThresholdedRelu.py +0 -0
  191. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Tile.py +0 -0
  192. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/TopK.py +0 -0
  193. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Transpose.py +0 -0
  194. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Trilu.py +0 -0
  195. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Unique.py +0 -0
  196. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Upsample.py +0 -0
  197. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Where.py +0 -0
  198. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/Xor.py +0 -0
  199. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/_Loop.py +0 -0
  200. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/__Loop.py +0 -0
  201. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/ops/__init__.py +0 -0
  202. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/utils/__init__.py +0 -0
  203. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/utils/common_functions.py +0 -0
  204. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/utils/enums.py +0 -0
  205. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/utils/iterative_json_optimizer.py +0 -0
  206. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/utils/json_auto_generator.py +0 -0
  207. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf/utils/logging.py +0 -0
  208. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf.egg-info/SOURCES.txt +0 -0
  209. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf.egg-info/dependency_links.txt +0 -0
  210. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/onnx2tf.egg-info/top_level.txt +0 -0
  211. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/setup.cfg +0 -0
  212. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/setup.py +0 -0
  213. {onnx2tf-1.29.7 → onnx2tf-1.29.9}/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.7
3
+ Version: 1.29.9
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
@@ -16,7 +16,8 @@ Requires-Dist: numpy==1.26.4
16
16
  Requires-Dist: onnx==1.19.0
17
17
  Requires-Dist: onnxruntime==1.23.0
18
18
  Requires-Dist: opencv-python==4.11.0.86
19
- Requires-Dist: onnxsim==0.4.30
19
+ Requires-Dist: onnxsim==0.4.36
20
+ Requires-Dist: onnxoptimizer==0.4.2
20
21
  Requires-Dist: ai-edge-litert==2.1.0
21
22
  Requires-Dist: tensorflow==2.19.0
22
23
  Requires-Dist: tf-keras==2.19.0
@@ -306,10 +307,11 @@ Video speed is adjusted approximately 50 times slower than actual speed.
306
307
  - Linux / Windows
307
308
  - onnx==1.19.0
308
309
  - onnxruntime==1.23.0
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))`
310
+ - onnxsim==0.4.36
311
+ - onnxoptimizer==0.4.2
310
312
  - onnx_graphsurgeon==0.5.8
311
313
  - simple_onnx_processing_tools==1.1.32
312
- - tensorflow==2.19.0, Special bugs: [#436](https://github.com/PINTO0309/onnx2tf/issues/436)
314
+ - tensorflow==2.19.0
313
315
  - tf-keras==2.19.0
314
316
  - ai-edge-litert==1.2.0
315
317
  - psutil==5.9.5
@@ -357,7 +359,7 @@ Video speed is adjusted approximately 50 times slower than actual speed.
357
359
  docker run --rm -it \
358
360
  -v `pwd`:/workdir \
359
361
  -w /workdir \
360
- ghcr.io/pinto0309/onnx2tf:1.29.7
362
+ ghcr.io/pinto0309/onnx2tf:1.29.9
361
363
 
362
364
  or
363
365
 
@@ -365,14 +367,15 @@ Video speed is adjusted approximately 50 times slower than actual speed.
365
367
  docker run --rm -it \
366
368
  -v `pwd`:/workdir \
367
369
  -w /workdir \
368
- docker.io/pinto0309/onnx2tf:1.29.7
370
+ docker.io/pinto0309/onnx2tf:1.29.9
369
371
 
370
372
  or
371
373
 
372
374
  pip install -U onnx==1.19.0 \
373
375
  && pip install -U onnx-graphsurgeon==0.5.8 \
374
376
  && pip install -U onnxruntime==1.23.0 \
375
- && pip install -U onnxsim==0.4.33 \
377
+ && pip install -U onnxsim==0.4.36 \
378
+ && pip install -U onnxoptimizer==0.4.2 \
376
379
  && pip install -U simple_onnx_processing_tools==1.1.32 \
377
380
  && pip install -U sne4onnx>=1.0.13 \
378
381
  && pip install -U sng4onnx>=1.0.4 \
@@ -270,10 +270,11 @@ Video speed is adjusted approximately 50 times slower than actual speed.
270
270
  - Linux / Windows
271
271
  - onnx==1.19.0
272
272
  - onnxruntime==1.23.0
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))`
273
+ - onnxsim==0.4.36
274
+ - onnxoptimizer==0.4.2
274
275
  - onnx_graphsurgeon==0.5.8
275
276
  - simple_onnx_processing_tools==1.1.32
276
- - tensorflow==2.19.0, Special bugs: [#436](https://github.com/PINTO0309/onnx2tf/issues/436)
277
+ - tensorflow==2.19.0
277
278
  - tf-keras==2.19.0
278
279
  - ai-edge-litert==1.2.0
279
280
  - psutil==5.9.5
@@ -321,7 +322,7 @@ Video speed is adjusted approximately 50 times slower than actual speed.
321
322
  docker run --rm -it \
322
323
  -v `pwd`:/workdir \
323
324
  -w /workdir \
324
- ghcr.io/pinto0309/onnx2tf:1.29.7
325
+ ghcr.io/pinto0309/onnx2tf:1.29.9
325
326
 
326
327
  or
327
328
 
@@ -329,14 +330,15 @@ Video speed is adjusted approximately 50 times slower than actual speed.
329
330
  docker run --rm -it \
330
331
  -v `pwd`:/workdir \
331
332
  -w /workdir \
332
- docker.io/pinto0309/onnx2tf:1.29.7
333
+ docker.io/pinto0309/onnx2tf:1.29.9
333
334
 
334
335
  or
335
336
 
336
337
  pip install -U onnx==1.19.0 \
337
338
  && pip install -U onnx-graphsurgeon==0.5.8 \
338
339
  && pip install -U onnxruntime==1.23.0 \
339
- && pip install -U onnxsim==0.4.33 \
340
+ && pip install -U onnxsim==0.4.36 \
341
+ && pip install -U onnxoptimizer==0.4.2 \
340
342
  && pip install -U simple_onnx_processing_tools==1.1.32 \
341
343
  && pip install -U sne4onnx>=1.0.13 \
342
344
  && pip install -U sng4onnx>=1.0.4 \
@@ -1,3 +1,3 @@
1
1
  from onnx2tf.onnx2tf import convert, main
2
2
 
3
- __version__ = '1.29.7'
3
+ __version__ = '1.29.9'
@@ -69,52 +69,58 @@ def make_node(
69
69
  if isinstance(graph_node_input_1, gs.Variable) \
70
70
  and 'nhwc' in tf_layers_dict[graph_node_input_1.name].keys() else False
71
71
 
72
+ input_tensor_shape = None
73
+ tensor_rank = None
72
74
  if input_tensor.shape != tf.TensorShape(None):
73
75
  input_tensor_shape = list(input_tensor.shape)
74
- tensor_rank = len(input_tensor_shape)
75
- elif graph_node_output.shape is not None:
76
+ elif graph_node_output.shape is not None and axes is not None:
76
77
  input_tensor_shape = [
77
78
  dim for idx, dim in enumerate(graph_node_output.shape) if idx not in axes
78
79
  ]
79
80
  input_tensor_shape = [
80
81
  dim if not isinstance(dim, str) else None for dim in input_tensor_shape
81
82
  ]
83
+ if input_tensor_shape is not None:
82
84
  tensor_rank = len(input_tensor_shape)
83
85
 
84
86
  if isinstance(axes, list) or (isinstance(axes, np.ndarray) and len(axes.shape) > 0):
85
- if nhwc:
86
- axes = [
87
- convert_axis(
88
- axis=idx,
89
- tensor_rank=tensor_rank+len(axes),
90
- before_op_output_shape_trans=True,
91
- ) for idx in axes
92
- ]
93
- elif not nhwc and (isinstance(axes, list) and len(axes) == 1 or isinstance(axes, np.ndarray) and len(axes.shape) == 1) and axes[0] == -1:
94
- axes = [
95
- convert_axis(
96
- axis=idx,
97
- tensor_rank=tensor_rank+len(axes),
98
- before_op_output_shape_trans=before_op_output_shape_trans,
99
- ) for idx in axes
100
- ]
87
+ if tensor_rank is not None:
88
+ if nhwc:
89
+ axes = [
90
+ convert_axis(
91
+ axis=idx,
92
+ tensor_rank=tensor_rank+len(axes),
93
+ before_op_output_shape_trans=True,
94
+ ) for idx in axes
95
+ ]
96
+ elif not nhwc and (isinstance(axes, list) and len(axes) == 1 or isinstance(axes, np.ndarray) and len(axes.shape) == 1) and axes[0] == -1:
97
+ axes = [
98
+ convert_axis(
99
+ axis=idx,
100
+ tensor_rank=tensor_rank+len(axes),
101
+ before_op_output_shape_trans=before_op_output_shape_trans,
102
+ ) for idx in axes
103
+ ]
104
+ else:
105
+ axes = [idx for idx in axes]
101
106
  else:
102
- axes = [idx for idx in axes]
107
+ axes = [int(idx) for idx in axes]
103
108
  elif axes is not None and isinstance(axes, np.ndarray) and len(axes.shape) == 0:
104
- if nhwc:
105
- axes = convert_axis(
106
- axis=axes,
107
- tensor_rank=tensor_rank+1,
108
- before_op_output_shape_trans=True,
109
- )
110
- elif not nhwc and (isinstance(axes, list) and len(axes) == 1 or isinstance(axes, np.ndarray) and len(axes.shape) == 1) and axes[0] == -1:
111
- axes = [
112
- convert_axis(
113
- axis=idx,
114
- tensor_rank=tensor_rank+len(axes),
115
- before_op_output_shape_trans=before_op_output_shape_trans,
116
- ) for idx in axes
117
- ]
109
+ if tensor_rank is not None:
110
+ if nhwc:
111
+ axes = convert_axis(
112
+ axis=axes,
113
+ tensor_rank=tensor_rank+1,
114
+ before_op_output_shape_trans=True,
115
+ )
116
+ elif not nhwc and (isinstance(axes, list) and len(axes) == 1 or isinstance(axes, np.ndarray) and len(axes.shape) == 1) and axes[0] == -1:
117
+ axes = [
118
+ convert_axis(
119
+ axis=idx,
120
+ tensor_rank=tensor_rank+len(axes),
121
+ before_op_output_shape_trans=before_op_output_shape_trans,
122
+ ) for idx in axes
123
+ ]
118
124
  axes = list(axes[np.newaxis])
119
125
 
120
126
  if axes is not None and isinstance(axes, list) and len(axes) > 0:
@@ -128,11 +134,13 @@ def make_node(
128
134
  **kwargs,
129
135
  )
130
136
 
131
- new_shape = copy.deepcopy(input_tensor_shape)
132
- for idx in axes:
133
- new_shape.insert(idx, 1)
137
+ new_shape = None
138
+ if input_tensor_shape is not None and axes is not None:
139
+ new_shape = copy.deepcopy(input_tensor_shape)
140
+ for idx in axes:
141
+ new_shape.insert(idx, 1)
134
142
 
135
- new_shape = [dim if dim is not None else -1 for dim in new_shape]
143
+ new_shape = [dim if dim is not None else -1 for dim in new_shape]
136
144
 
137
145
  # Preserving Graph Structure (Dict)
138
146
  tf_layers_dict[graph_node_output.name] = {
@@ -234,6 +242,29 @@ def make_node(
234
242
  tf.identity(input=input_tensor)
235
243
  tf_type = tf.identity
236
244
 
245
+ elif not shape_replaced \
246
+ and new_shape is None:
247
+ axes_list = axes
248
+ if axes_list is None:
249
+ axes_list = []
250
+ elif isinstance(axes_list, np.ndarray):
251
+ axes_list = axes_list.tolist() if axes_list.shape != () else [int(axes_list)]
252
+ elif not isinstance(axes_list, list):
253
+ axes_list = [int(axes_list)]
254
+
255
+ unsqueeze_tensor = input_tensor
256
+ for axis_idx, axis in enumerate(axes_list):
257
+ axis_val = int(axis) if isinstance(axis, (np.integer, np.int64, np.int32)) else axis
258
+ if isinstance(axis_val, int) and axis_val < 0:
259
+ axis_val = tf.rank(unsqueeze_tensor) + axis_val + 1
260
+ unsqueeze_tensor = tf.expand_dims(
261
+ input=unsqueeze_tensor,
262
+ axis=axis_val,
263
+ name=graph_node.name if axis_idx == len(axes_list) - 1 else None,
264
+ )
265
+ tf_layers_dict[graph_node_output.name]['tf_node'] = unsqueeze_tensor
266
+ tf_type = tf.expand_dims
267
+
237
268
  elif not shape_replaced \
238
269
  and nhwc \
239
270
  and len(axes) == 1 \
@@ -247,6 +278,7 @@ def make_node(
247
278
  tf_type = tf.expand_dims
248
279
 
249
280
  elif not shape_replaced \
281
+ and new_shape is not None \
250
282
  and len(new_shape) >= 2 \
251
283
  and len([dim for dim in new_shape if dim is None or dim == -1]) >= 2 \
252
284
  and not isinstance(axes, int) \
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: onnx2tf
3
- Version: 1.29.7
3
+ Version: 1.29.9
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
@@ -16,7 +16,8 @@ Requires-Dist: numpy==1.26.4
16
16
  Requires-Dist: onnx==1.19.0
17
17
  Requires-Dist: onnxruntime==1.23.0
18
18
  Requires-Dist: opencv-python==4.11.0.86
19
- Requires-Dist: onnxsim==0.4.30
19
+ Requires-Dist: onnxsim==0.4.36
20
+ Requires-Dist: onnxoptimizer==0.4.2
20
21
  Requires-Dist: ai-edge-litert==2.1.0
21
22
  Requires-Dist: tensorflow==2.19.0
22
23
  Requires-Dist: tf-keras==2.19.0
@@ -306,10 +307,11 @@ Video speed is adjusted approximately 50 times slower than actual speed.
306
307
  - Linux / Windows
307
308
  - onnx==1.19.0
308
309
  - onnxruntime==1.23.0
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))`
310
+ - onnxsim==0.4.36
311
+ - onnxoptimizer==0.4.2
310
312
  - onnx_graphsurgeon==0.5.8
311
313
  - simple_onnx_processing_tools==1.1.32
312
- - tensorflow==2.19.0, Special bugs: [#436](https://github.com/PINTO0309/onnx2tf/issues/436)
314
+ - tensorflow==2.19.0
313
315
  - tf-keras==2.19.0
314
316
  - ai-edge-litert==1.2.0
315
317
  - psutil==5.9.5
@@ -357,7 +359,7 @@ Video speed is adjusted approximately 50 times slower than actual speed.
357
359
  docker run --rm -it \
358
360
  -v `pwd`:/workdir \
359
361
  -w /workdir \
360
- ghcr.io/pinto0309/onnx2tf:1.29.7
362
+ ghcr.io/pinto0309/onnx2tf:1.29.9
361
363
 
362
364
  or
363
365
 
@@ -365,14 +367,15 @@ Video speed is adjusted approximately 50 times slower than actual speed.
365
367
  docker run --rm -it \
366
368
  -v `pwd`:/workdir \
367
369
  -w /workdir \
368
- docker.io/pinto0309/onnx2tf:1.29.7
370
+ docker.io/pinto0309/onnx2tf:1.29.9
369
371
 
370
372
  or
371
373
 
372
374
  pip install -U onnx==1.19.0 \
373
375
  && pip install -U onnx-graphsurgeon==0.5.8 \
374
376
  && pip install -U onnxruntime==1.23.0 \
375
- && pip install -U onnxsim==0.4.33 \
377
+ && pip install -U onnxsim==0.4.36 \
378
+ && pip install -U onnxoptimizer==0.4.2 \
376
379
  && pip install -U simple_onnx_processing_tools==1.1.32 \
377
380
  && pip install -U sne4onnx>=1.0.13 \
378
381
  && pip install -U sng4onnx>=1.0.4 \
@@ -3,7 +3,8 @@ numpy==1.26.4
3
3
  onnx==1.19.0
4
4
  onnxruntime==1.23.0
5
5
  opencv-python==4.11.0.86
6
- onnxsim==0.4.30
6
+ onnxsim==0.4.36
7
+ onnxoptimizer==0.4.2
7
8
  ai-edge-litert==2.1.0
8
9
  tensorflow==2.19.0
9
10
  tf-keras==2.19.0
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "onnx2tf"
3
- version = "1.29.7"
3
+ version = "1.29.9"
4
4
  description = "Self-Created Tools to convert ONNX files (NCHW) to TensorFlow/TFLite/Keras format (NHWC)."
5
5
  readme = "README.md"
6
6
  requires-python = "==3.11.12"
@@ -10,7 +10,8 @@ dependencies = [
10
10
  "onnx==1.19.0",
11
11
  "onnxruntime==1.23.0",
12
12
  "opencv-python==4.11.0.86",
13
- "onnxsim==0.4.30",
13
+ "onnxsim==0.4.36",
14
+ "onnxoptimizer==0.4.2",
14
15
  "ai-edge-litert==2.1.0",
15
16
  "tensorflow==2.19.0",
16
17
  "tf-keras==2.19.0",
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes