onnx2tf 1.29.8__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.8/onnx2tf.egg-info → onnx2tf-1.29.9}/PKG-INFO +3 -3
  2. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/README.md +2 -2
  3. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/__init__.py +1 -1
  4. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Unsqueeze.py +69 -37
  5. {onnx2tf-1.29.8 → onnx2tf-1.29.9/onnx2tf.egg-info}/PKG-INFO +3 -3
  6. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/pyproject.toml +1 -1
  7. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/LICENSE +0 -0
  8. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/LICENSE_onnx-tensorflow +0 -0
  9. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/__main__.py +0 -0
  10. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/onnx2tf.py +0 -0
  11. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Abs.py +0 -0
  12. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Acos.py +0 -0
  13. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Acosh.py +0 -0
  14. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Add.py +0 -0
  15. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/AffineGrid.py +0 -0
  16. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/And.py +0 -0
  17. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/ArgMax.py +0 -0
  18. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/ArgMin.py +0 -0
  19. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Asin.py +0 -0
  20. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Asinh.py +0 -0
  21. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Atan.py +0 -0
  22. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Atanh.py +0 -0
  23. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Attention.py +0 -0
  24. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/AveragePool.py +0 -0
  25. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/BatchNormalization.py +0 -0
  26. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Bernoulli.py +0 -0
  27. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/BitShift.py +0 -0
  28. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/BitwiseAnd.py +0 -0
  29. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/BitwiseNot.py +0 -0
  30. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/BitwiseOr.py +0 -0
  31. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/BitwiseXor.py +0 -0
  32. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/BlackmanWindow.py +0 -0
  33. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Cast.py +0 -0
  34. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Ceil.py +0 -0
  35. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Celu.py +0 -0
  36. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Clip.py +0 -0
  37. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Col2Im.py +0 -0
  38. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Compress.py +0 -0
  39. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Concat.py +0 -0
  40. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/ConcatFromSequence.py +0 -0
  41. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Constant.py +0 -0
  42. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/ConstantOfShape.py +0 -0
  43. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Conv.py +0 -0
  44. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/ConvInteger.py +0 -0
  45. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/ConvTranspose.py +0 -0
  46. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Cos.py +0 -0
  47. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Cosh.py +0 -0
  48. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/CumProd.py +0 -0
  49. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/CumSum.py +0 -0
  50. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/DepthToSpace.py +0 -0
  51. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/DequantizeLinear.py +0 -0
  52. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Det.py +0 -0
  53. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Div.py +0 -0
  54. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Dropout.py +0 -0
  55. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/DynamicQuantizeLinear.py +0 -0
  56. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Einsum.py +0 -0
  57. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Elu.py +0 -0
  58. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Equal.py +0 -0
  59. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Erf.py +0 -0
  60. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Exp.py +0 -0
  61. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Expand.py +0 -0
  62. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/EyeLike.py +0 -0
  63. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Flatten.py +0 -0
  64. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Floor.py +0 -0
  65. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/FusedConv.py +0 -0
  66. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/GRU.py +0 -0
  67. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Gather.py +0 -0
  68. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/GatherElements.py +0 -0
  69. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/GatherND.py +0 -0
  70. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Gelu.py +0 -0
  71. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Gemm.py +0 -0
  72. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/GlobalAveragePool.py +0 -0
  73. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/GlobalLpPool.py +0 -0
  74. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/GlobalMaxPool.py +0 -0
  75. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Greater.py +0 -0
  76. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/GreaterOrEqual.py +0 -0
  77. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/GridSample.py +0 -0
  78. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/GroupNorm.py +0 -0
  79. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/HammingWindow.py +0 -0
  80. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/HannWindow.py +0 -0
  81. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/HardSigmoid.py +0 -0
  82. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/HardSwish.py +0 -0
  83. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Hardmax.py +0 -0
  84. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Identity.py +0 -0
  85. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/If.py +0 -0
  86. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Input.py +0 -0
  87. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/InstanceNormalization.py +0 -0
  88. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Inverse.py +0 -0
  89. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/IsInf.py +0 -0
  90. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/IsNaN.py +0 -0
  91. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/LRN.py +0 -0
  92. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/LSTM.py +0 -0
  93. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/LayerNormalization.py +0 -0
  94. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/LeakyRelu.py +0 -0
  95. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Less.py +0 -0
  96. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/LessOrEqual.py +0 -0
  97. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Log.py +0 -0
  98. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/LogSoftmax.py +0 -0
  99. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/LpNormalization.py +0 -0
  100. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/MatMul.py +0 -0
  101. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/MatMulInteger.py +0 -0
  102. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Max.py +0 -0
  103. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/MaxPool.py +0 -0
  104. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/MaxUnpool.py +0 -0
  105. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Mean.py +0 -0
  106. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/MeanVarianceNormalization.py +0 -0
  107. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/MelWeightMatrix.py +0 -0
  108. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Min.py +0 -0
  109. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Mish.py +0 -0
  110. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Mod.py +0 -0
  111. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Mul.py +0 -0
  112. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Multinomial.py +0 -0
  113. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Neg.py +0 -0
  114. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/NonMaxSuppression.py +0 -0
  115. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/NonZero.py +0 -0
  116. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Not.py +0 -0
  117. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/OneHot.py +0 -0
  118. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/OptionalGetElement.py +0 -0
  119. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/OptionalHasElement.py +0 -0
  120. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Or.py +0 -0
  121. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/PRelu.py +0 -0
  122. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Pad.py +0 -0
  123. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Pow.py +0 -0
  124. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/QLinearAdd.py +0 -0
  125. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/QLinearConcat.py +0 -0
  126. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/QLinearConv.py +0 -0
  127. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/QLinearLeakyRelu.py +0 -0
  128. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/QLinearMatMul.py +0 -0
  129. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/QLinearMul.py +0 -0
  130. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/QLinearSigmoid.py +0 -0
  131. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/QLinearSoftmax.py +0 -0
  132. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/QuantizeLinear.py +0 -0
  133. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/RNN.py +0 -0
  134. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/RandomNormal.py +0 -0
  135. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/RandomNormalLike.py +0 -0
  136. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/RandomUniform.py +0 -0
  137. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/RandomUniformLike.py +0 -0
  138. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Range.py +0 -0
  139. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Reciprocal.py +0 -0
  140. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/ReduceL1.py +0 -0
  141. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/ReduceL2.py +0 -0
  142. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/ReduceLogSum.py +0 -0
  143. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/ReduceLogSumExp.py +0 -0
  144. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/ReduceMax.py +0 -0
  145. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/ReduceMean.py +0 -0
  146. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/ReduceMin.py +0 -0
  147. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/ReduceProd.py +0 -0
  148. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/ReduceSum.py +0 -0
  149. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/ReduceSumSquare.py +0 -0
  150. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Relu.py +0 -0
  151. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Reshape.py +0 -0
  152. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Resize.py +0 -0
  153. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/ReverseSequence.py +0 -0
  154. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/RoiAlign.py +0 -0
  155. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Round.py +0 -0
  156. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/STFT.py +0 -0
  157. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/ScaleAndTranslate.py +0 -0
  158. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Scatter.py +0 -0
  159. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/ScatterElements.py +0 -0
  160. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/ScatterND.py +0 -0
  161. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Selu.py +0 -0
  162. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/SequenceAt.py +0 -0
  163. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/SequenceConstruct.py +0 -0
  164. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/SequenceEmpty.py +0 -0
  165. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/SequenceErase.py +0 -0
  166. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/SequenceInsert.py +0 -0
  167. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/SequenceLength.py +0 -0
  168. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Shape.py +0 -0
  169. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Shrink.py +0 -0
  170. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Sigmoid.py +0 -0
  171. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Sign.py +0 -0
  172. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Sin.py +0 -0
  173. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Sinh.py +0 -0
  174. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Size.py +0 -0
  175. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Slice.py +0 -0
  176. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Softmax.py +0 -0
  177. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Softplus.py +0 -0
  178. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Softsign.py +0 -0
  179. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/SpaceToDepth.py +0 -0
  180. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Split.py +0 -0
  181. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/SplitToSequence.py +0 -0
  182. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Sqrt.py +0 -0
  183. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Squeeze.py +0 -0
  184. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/StringNormalizer.py +0 -0
  185. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Sub.py +0 -0
  186. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Sum.py +0 -0
  187. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Tan.py +0 -0
  188. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Tanh.py +0 -0
  189. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/ThresholdedRelu.py +0 -0
  190. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Tile.py +0 -0
  191. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/TopK.py +0 -0
  192. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Transpose.py +0 -0
  193. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Trilu.py +0 -0
  194. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Unique.py +0 -0
  195. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Upsample.py +0 -0
  196. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Where.py +0 -0
  197. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/Xor.py +0 -0
  198. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/_Loop.py +0 -0
  199. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/__Loop.py +0 -0
  200. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/ops/__init__.py +0 -0
  201. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/utils/__init__.py +0 -0
  202. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/utils/common_functions.py +0 -0
  203. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/utils/enums.py +0 -0
  204. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/utils/iterative_json_optimizer.py +0 -0
  205. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/utils/json_auto_generator.py +0 -0
  206. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf/utils/logging.py +0 -0
  207. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf.egg-info/SOURCES.txt +0 -0
  208. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf.egg-info/dependency_links.txt +0 -0
  209. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf.egg-info/requires.txt +0 -0
  210. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/onnx2tf.egg-info/top_level.txt +0 -0
  211. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/setup.cfg +0 -0
  212. {onnx2tf-1.29.8 → onnx2tf-1.29.9}/setup.py +0 -0
  213. {onnx2tf-1.29.8 → 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.8
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
@@ -359,7 +359,7 @@ Video speed is adjusted approximately 50 times slower than actual speed.
359
359
  docker run --rm -it \
360
360
  -v `pwd`:/workdir \
361
361
  -w /workdir \
362
- ghcr.io/pinto0309/onnx2tf:1.29.8
362
+ ghcr.io/pinto0309/onnx2tf:1.29.9
363
363
 
364
364
  or
365
365
 
@@ -367,7 +367,7 @@ Video speed is adjusted approximately 50 times slower than actual speed.
367
367
  docker run --rm -it \
368
368
  -v `pwd`:/workdir \
369
369
  -w /workdir \
370
- docker.io/pinto0309/onnx2tf:1.29.8
370
+ docker.io/pinto0309/onnx2tf:1.29.9
371
371
 
372
372
  or
373
373
 
@@ -322,7 +322,7 @@ Video speed is adjusted approximately 50 times slower than actual speed.
322
322
  docker run --rm -it \
323
323
  -v `pwd`:/workdir \
324
324
  -w /workdir \
325
- ghcr.io/pinto0309/onnx2tf:1.29.8
325
+ ghcr.io/pinto0309/onnx2tf:1.29.9
326
326
 
327
327
  or
328
328
 
@@ -330,7 +330,7 @@ Video speed is adjusted approximately 50 times slower than actual speed.
330
330
  docker run --rm -it \
331
331
  -v `pwd`:/workdir \
332
332
  -w /workdir \
333
- docker.io/pinto0309/onnx2tf:1.29.8
333
+ docker.io/pinto0309/onnx2tf:1.29.9
334
334
 
335
335
  or
336
336
 
@@ -1,3 +1,3 @@
1
1
  from onnx2tf.onnx2tf import convert, main
2
2
 
3
- __version__ = '1.29.8'
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.8
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
@@ -359,7 +359,7 @@ Video speed is adjusted approximately 50 times slower than actual speed.
359
359
  docker run --rm -it \
360
360
  -v `pwd`:/workdir \
361
361
  -w /workdir \
362
- ghcr.io/pinto0309/onnx2tf:1.29.8
362
+ ghcr.io/pinto0309/onnx2tf:1.29.9
363
363
 
364
364
  or
365
365
 
@@ -367,7 +367,7 @@ Video speed is adjusted approximately 50 times slower than actual speed.
367
367
  docker run --rm -it \
368
368
  -v `pwd`:/workdir \
369
369
  -w /workdir \
370
- docker.io/pinto0309/onnx2tf:1.29.8
370
+ docker.io/pinto0309/onnx2tf:1.29.9
371
371
 
372
372
  or
373
373
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "onnx2tf"
3
- version = "1.29.8"
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"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes