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