onnx2tf 1.29.9__tar.gz → 1.29.11__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 (217) hide show
  1. {onnx2tf-1.29.9/onnx2tf.egg-info → onnx2tf-1.29.11}/PKG-INFO +26 -22
  2. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/README.md +5 -5
  3. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/__init__.py +1 -1
  4. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/onnx2tf.py +83 -73
  5. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/If.py +4 -2
  6. onnx2tf-1.29.11/onnx2tf/ops/Loop.py +392 -0
  7. onnx2tf-1.29.11/onnx2tf/ops/LpPool.py +296 -0
  8. onnx2tf-1.29.11/onnx2tf/ops/MaxRoiPool.py +236 -0
  9. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/utils/common_functions.py +3 -0
  10. onnx2tf-1.29.11/pyproject.toml +63 -0
  11. onnx2tf-1.29.9/LICENSE +0 -21
  12. onnx2tf-1.29.9/LICENSE_onnx-tensorflow +0 -213
  13. onnx2tf-1.29.9/PKG-INFO +0 -3021
  14. onnx2tf-1.29.9/onnx2tf/ops/_Loop.py +0 -306
  15. onnx2tf-1.29.9/onnx2tf/ops/__Loop.py +0 -509
  16. onnx2tf-1.29.9/onnx2tf.egg-info/SOURCES.txt +0 -211
  17. onnx2tf-1.29.9/onnx2tf.egg-info/dependency_links.txt +0 -1
  18. onnx2tf-1.29.9/onnx2tf.egg-info/requires.txt +0 -17
  19. onnx2tf-1.29.9/onnx2tf.egg-info/top_level.txt +0 -1
  20. onnx2tf-1.29.9/pyproject.toml +0 -30
  21. onnx2tf-1.29.9/setup.cfg +0 -4
  22. onnx2tf-1.29.9/setup.py +0 -36
  23. onnx2tf-1.29.9/tests/test_model_convert.py +0 -327
  24. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/__main__.py +0 -0
  25. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Abs.py +0 -0
  26. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Acos.py +0 -0
  27. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Acosh.py +0 -0
  28. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Add.py +0 -0
  29. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/AffineGrid.py +0 -0
  30. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/And.py +0 -0
  31. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/ArgMax.py +0 -0
  32. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/ArgMin.py +0 -0
  33. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Asin.py +0 -0
  34. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Asinh.py +0 -0
  35. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Atan.py +0 -0
  36. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Atanh.py +0 -0
  37. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Attention.py +0 -0
  38. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/AveragePool.py +0 -0
  39. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/BatchNormalization.py +0 -0
  40. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Bernoulli.py +0 -0
  41. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/BitShift.py +0 -0
  42. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/BitwiseAnd.py +0 -0
  43. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/BitwiseNot.py +0 -0
  44. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/BitwiseOr.py +0 -0
  45. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/BitwiseXor.py +0 -0
  46. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/BlackmanWindow.py +0 -0
  47. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Cast.py +0 -0
  48. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Ceil.py +0 -0
  49. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Celu.py +0 -0
  50. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Clip.py +0 -0
  51. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Col2Im.py +0 -0
  52. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Compress.py +0 -0
  53. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Concat.py +0 -0
  54. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/ConcatFromSequence.py +0 -0
  55. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Constant.py +0 -0
  56. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/ConstantOfShape.py +0 -0
  57. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Conv.py +0 -0
  58. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/ConvInteger.py +0 -0
  59. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/ConvTranspose.py +0 -0
  60. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Cos.py +0 -0
  61. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Cosh.py +0 -0
  62. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/CumProd.py +0 -0
  63. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/CumSum.py +0 -0
  64. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/DepthToSpace.py +0 -0
  65. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/DequantizeLinear.py +0 -0
  66. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Det.py +0 -0
  67. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Div.py +0 -0
  68. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Dropout.py +0 -0
  69. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/DynamicQuantizeLinear.py +0 -0
  70. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Einsum.py +0 -0
  71. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Elu.py +0 -0
  72. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Equal.py +0 -0
  73. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Erf.py +0 -0
  74. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Exp.py +0 -0
  75. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Expand.py +0 -0
  76. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/EyeLike.py +0 -0
  77. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Flatten.py +0 -0
  78. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Floor.py +0 -0
  79. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/FusedConv.py +0 -0
  80. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/GRU.py +0 -0
  81. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Gather.py +0 -0
  82. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/GatherElements.py +0 -0
  83. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/GatherND.py +0 -0
  84. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Gelu.py +0 -0
  85. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Gemm.py +0 -0
  86. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/GlobalAveragePool.py +0 -0
  87. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/GlobalLpPool.py +0 -0
  88. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/GlobalMaxPool.py +0 -0
  89. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Greater.py +0 -0
  90. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/GreaterOrEqual.py +0 -0
  91. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/GridSample.py +0 -0
  92. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/GroupNorm.py +0 -0
  93. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/HammingWindow.py +0 -0
  94. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/HannWindow.py +0 -0
  95. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/HardSigmoid.py +0 -0
  96. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/HardSwish.py +0 -0
  97. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Hardmax.py +0 -0
  98. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Identity.py +0 -0
  99. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Input.py +0 -0
  100. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/InstanceNormalization.py +0 -0
  101. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Inverse.py +0 -0
  102. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/IsInf.py +0 -0
  103. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/IsNaN.py +0 -0
  104. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/LRN.py +0 -0
  105. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/LSTM.py +0 -0
  106. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/LayerNormalization.py +0 -0
  107. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/LeakyRelu.py +0 -0
  108. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Less.py +0 -0
  109. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/LessOrEqual.py +0 -0
  110. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Log.py +0 -0
  111. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/LogSoftmax.py +0 -0
  112. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/LpNormalization.py +0 -0
  113. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/MatMul.py +0 -0
  114. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/MatMulInteger.py +0 -0
  115. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Max.py +0 -0
  116. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/MaxPool.py +0 -0
  117. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/MaxUnpool.py +0 -0
  118. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Mean.py +0 -0
  119. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/MeanVarianceNormalization.py +0 -0
  120. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/MelWeightMatrix.py +0 -0
  121. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Min.py +0 -0
  122. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Mish.py +0 -0
  123. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Mod.py +0 -0
  124. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Mul.py +0 -0
  125. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Multinomial.py +0 -0
  126. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Neg.py +0 -0
  127. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/NonMaxSuppression.py +0 -0
  128. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/NonZero.py +0 -0
  129. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Not.py +0 -0
  130. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/OneHot.py +0 -0
  131. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/OptionalGetElement.py +0 -0
  132. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/OptionalHasElement.py +0 -0
  133. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Or.py +0 -0
  134. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/PRelu.py +0 -0
  135. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Pad.py +0 -0
  136. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Pow.py +0 -0
  137. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/QLinearAdd.py +0 -0
  138. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/QLinearConcat.py +0 -0
  139. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/QLinearConv.py +0 -0
  140. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/QLinearLeakyRelu.py +0 -0
  141. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/QLinearMatMul.py +0 -0
  142. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/QLinearMul.py +0 -0
  143. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/QLinearSigmoid.py +0 -0
  144. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/QLinearSoftmax.py +0 -0
  145. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/QuantizeLinear.py +0 -0
  146. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/RNN.py +0 -0
  147. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/RandomNormal.py +0 -0
  148. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/RandomNormalLike.py +0 -0
  149. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/RandomUniform.py +0 -0
  150. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/RandomUniformLike.py +0 -0
  151. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Range.py +0 -0
  152. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Reciprocal.py +0 -0
  153. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/ReduceL1.py +0 -0
  154. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/ReduceL2.py +0 -0
  155. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/ReduceLogSum.py +0 -0
  156. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/ReduceLogSumExp.py +0 -0
  157. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/ReduceMax.py +0 -0
  158. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/ReduceMean.py +0 -0
  159. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/ReduceMin.py +0 -0
  160. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/ReduceProd.py +0 -0
  161. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/ReduceSum.py +0 -0
  162. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/ReduceSumSquare.py +0 -0
  163. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Relu.py +0 -0
  164. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Reshape.py +0 -0
  165. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Resize.py +0 -0
  166. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/ReverseSequence.py +0 -0
  167. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/RoiAlign.py +0 -0
  168. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Round.py +0 -0
  169. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/STFT.py +0 -0
  170. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/ScaleAndTranslate.py +0 -0
  171. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Scatter.py +0 -0
  172. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/ScatterElements.py +0 -0
  173. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/ScatterND.py +0 -0
  174. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Selu.py +0 -0
  175. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/SequenceAt.py +0 -0
  176. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/SequenceConstruct.py +0 -0
  177. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/SequenceEmpty.py +0 -0
  178. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/SequenceErase.py +0 -0
  179. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/SequenceInsert.py +0 -0
  180. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/SequenceLength.py +0 -0
  181. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Shape.py +0 -0
  182. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Shrink.py +0 -0
  183. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Sigmoid.py +0 -0
  184. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Sign.py +0 -0
  185. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Sin.py +0 -0
  186. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Sinh.py +0 -0
  187. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Size.py +0 -0
  188. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Slice.py +0 -0
  189. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Softmax.py +0 -0
  190. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Softplus.py +0 -0
  191. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Softsign.py +0 -0
  192. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/SpaceToDepth.py +0 -0
  193. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Split.py +0 -0
  194. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/SplitToSequence.py +0 -0
  195. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Sqrt.py +0 -0
  196. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Squeeze.py +0 -0
  197. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/StringNormalizer.py +0 -0
  198. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Sub.py +0 -0
  199. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Sum.py +0 -0
  200. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Tan.py +0 -0
  201. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Tanh.py +0 -0
  202. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/ThresholdedRelu.py +0 -0
  203. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Tile.py +0 -0
  204. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/TopK.py +0 -0
  205. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Transpose.py +0 -0
  206. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Trilu.py +0 -0
  207. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Unique.py +0 -0
  208. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Unsqueeze.py +0 -0
  209. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Upsample.py +0 -0
  210. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Where.py +0 -0
  211. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/Xor.py +0 -0
  212. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/ops/__init__.py +0 -0
  213. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/utils/__init__.py +0 -0
  214. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/utils/enums.py +0 -0
  215. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/utils/iterative_json_optimizer.py +0 -0
  216. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/utils/json_auto_generator.py +0 -0
  217. {onnx2tf-1.29.9 → onnx2tf-1.29.11}/onnx2tf/utils/logging.py +0 -0
@@ -1,16 +1,20 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: onnx2tf
3
- Version: 1.29.9
4
- Summary: Self-Created Tools to convert ONNX files (NCHW) to TensorFlow/TFLite/Keras format (NHWC).
5
- Home-page: https://github.com/PINTO0309/onnx2tf
3
+ Version: 1.29.11
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
+ Keywords: onnx,tensorflow,tflite,keras,deep-learning,machine-learning
6
6
  Author: Katsuya Hyodo
7
- Author-email: rmsdh122@yahoo.co.jp
8
- Platform: linux
9
- Platform: unix
10
- Requires-Python: >=3.10
11
- Description-Content-Type: text/markdown
12
- License-File: LICENSE
13
- License-File: LICENSE_onnx-tensorflow
7
+ Author-email: Katsuya Hyodo <rmsdh122@yahoo.co.jp>
8
+ License-Expression: MIT
9
+ Classifier: Development Status :: 5 - Production/Stable
10
+ Classifier: Intended Audience :: Developers
11
+ Classifier: Intended Audience :: Science/Research
12
+ Classifier: License :: OSI Approved :: MIT License
13
+ Classifier: Operating System :: POSIX :: Linux
14
+ Classifier: Operating System :: Unix
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.11
17
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
14
18
  Requires-Dist: requests==2.32.5
15
19
  Requires-Dist: numpy==1.26.4
16
20
  Requires-Dist: onnx==1.19.0
@@ -26,14 +30,14 @@ Requires-Dist: simple-onnx-processing-tools==1.1.32
26
30
  Requires-Dist: psutil==5.9.5
27
31
  Requires-Dist: protobuf==4.25.5
28
32
  Requires-Dist: h5py==3.11.0
29
- Requires-Dist: ml_dtypes==0.5.1
33
+ Requires-Dist: ml-dtypes==0.5.1
30
34
  Requires-Dist: flatbuffers==25.12.19
31
- Dynamic: author
32
- Dynamic: author-email
33
- Dynamic: home-page
34
- Dynamic: license-file
35
- Dynamic: platform
36
- Dynamic: requires-python
35
+ Requires-Python: >=3.10.12
36
+ Project-URL: Homepage, https://github.com/PINTO0309/onnx2tf
37
+ Project-URL: Repository, https://github.com/PINTO0309/onnx2tf
38
+ Project-URL: Documentation, https://github.com/PINTO0309/onnx2tf#readme
39
+ Project-URL: Issues, https://github.com/PINTO0309/onnx2tf/issues
40
+ Description-Content-Type: text/markdown
37
41
 
38
42
  # onnx2tf
39
43
  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](https://github.com/onnx/onnx-tensorflow) ([onnx-tf](https://pypi.org/project/onnx-tf/)). I don't need a Star, but give me a pull request. Since I am adding challenging model optimizations and fixing bugs almost daily, I frequently embed potential bugs that would otherwise break through CI's regression testing. Therefore, if you encounter new problems, I recommend that you try a package that is a few versions older, or try the latest package that will be released in a few days.
@@ -182,16 +186,16 @@ https://github.com/PINTO0309/onnx2tf/wiki/model_status
182
186
  |Less|:heavy_check_mark:|
183
187
  |Log|:heavy_check_mark:|
184
188
  |LogSoftmax|:heavy_check_mark:|
185
- |Loop|**Help wanted**|
189
+ |Loop|:heavy_check_mark:|
186
190
  |LpNormalization|:heavy_check_mark:|
187
- |LpPool|**Help wanted**|
191
+ |LpPool|:heavy_check_mark:|
188
192
  |LRN|:heavy_check_mark:|
189
193
  |LSTM|:heavy_check_mark:|
190
194
  |MatMul|:heavy_check_mark:|
191
195
  |MatMulInteger|:heavy_check_mark:|
192
196
  |MaxPool|:heavy_check_mark:|
193
197
  |Max|:heavy_check_mark:|
194
- |MaxRoiPool|**Help wanted**|
198
+ |MaxRoiPool|:heavy_check_mark:|
195
199
  |MaxUnpool|:heavy_check_mark:|
196
200
  |Mean|:heavy_check_mark:|
197
201
  |MeanVarianceNormalization|:heavy_check_mark:|
@@ -359,7 +363,7 @@ Video speed is adjusted approximately 50 times slower than actual speed.
359
363
  docker run --rm -it \
360
364
  -v `pwd`:/workdir \
361
365
  -w /workdir \
362
- ghcr.io/pinto0309/onnx2tf:1.29.9
366
+ ghcr.io/pinto0309/onnx2tf:1.29.11
363
367
 
364
368
  or
365
369
 
@@ -367,7 +371,7 @@ Video speed is adjusted approximately 50 times slower than actual speed.
367
371
  docker run --rm -it \
368
372
  -v `pwd`:/workdir \
369
373
  -w /workdir \
370
- docker.io/pinto0309/onnx2tf:1.29.9
374
+ docker.io/pinto0309/onnx2tf:1.29.11
371
375
 
372
376
  or
373
377
 
@@ -145,16 +145,16 @@ https://github.com/PINTO0309/onnx2tf/wiki/model_status
145
145
  |Less|:heavy_check_mark:|
146
146
  |Log|:heavy_check_mark:|
147
147
  |LogSoftmax|:heavy_check_mark:|
148
- |Loop|**Help wanted**|
148
+ |Loop|:heavy_check_mark:|
149
149
  |LpNormalization|:heavy_check_mark:|
150
- |LpPool|**Help wanted**|
150
+ |LpPool|:heavy_check_mark:|
151
151
  |LRN|:heavy_check_mark:|
152
152
  |LSTM|:heavy_check_mark:|
153
153
  |MatMul|:heavy_check_mark:|
154
154
  |MatMulInteger|:heavy_check_mark:|
155
155
  |MaxPool|:heavy_check_mark:|
156
156
  |Max|:heavy_check_mark:|
157
- |MaxRoiPool|**Help wanted**|
157
+ |MaxRoiPool|:heavy_check_mark:|
158
158
  |MaxUnpool|:heavy_check_mark:|
159
159
  |Mean|:heavy_check_mark:|
160
160
  |MeanVarianceNormalization|:heavy_check_mark:|
@@ -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.9
325
+ ghcr.io/pinto0309/onnx2tf:1.29.11
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.9
333
+ docker.io/pinto0309/onnx2tf:1.29.11
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.9'
3
+ __version__ = '1.29.11'
@@ -1467,82 +1467,89 @@ def convert(
1467
1467
  SIGNATURE_KEY = 'serving_default'
1468
1468
 
1469
1469
  # saved_model
1470
+ saved_model_log_level = get_log_level()
1470
1471
  try:
1471
- # concrete_func
1472
- info(Color.REVERSE(f'saved_model output started'), '=' * 58)
1473
- if not output_signaturedefs and not output_integer_quantized_tflite:
1474
- tf.saved_model.save(model, output_folder_path)
1475
- else:
1476
- export_archive = tf_keras.export.ExportArchive()
1477
- export_archive.add_endpoint(
1478
- name=SIGNATURE_KEY,
1479
- fn=lambda *inputs : model(inputs),
1480
- input_signature=[tf.TensorSpec(tensor.shape, tensor.dtype, tensor.name) for tensor in model.inputs],
1481
- )
1482
- export_archive.write_out(output_folder_path)
1483
- info(Color.GREEN(f'saved_model output complete!'))
1484
- except TypeError as e:
1485
- # Switch to .pb
1486
- info(Color.GREEN(f'Switch to the output of an optimized protocol buffer file (.pb).'))
1487
- except (KeyError, AssertionError) as e:
1488
- msg_list = [s for s in e.args if isinstance(s, str)]
1489
- if len(msg_list) > 0:
1490
- try:
1491
- for s in msg_list:
1492
- if 'Failed to add concrete function' in s \
1493
- or "Tried to export a function which references an 'untracked' resource" in s:
1494
- export_archive = tf_keras.export.ExportArchive()
1495
- export_archive.add_endpoint(
1496
- name=SIGNATURE_KEY,
1497
- fn=lambda *inputs : model(inputs),
1498
- input_signature=[tf.TensorSpec(tensor.shape, tensor.dtype, tensor.name) for tensor in model.inputs],
1499
- )
1500
- export_archive.write_out(output_folder_path)
1501
- break
1502
- except ValueError as e:
1503
- msg_list = [s for s in e.args if isinstance(s, str)]
1504
- if len(msg_list) > 0:
1472
+ if saved_model_log_level <= LOG_LEVELS['debug']:
1473
+ set_log_level('info')
1474
+ try:
1475
+ # concrete_func
1476
+ info(Color.REVERSE(f'saved_model output started'), '=' * 58)
1477
+ if not output_signaturedefs and not output_integer_quantized_tflite:
1478
+ tf.saved_model.save(model, output_folder_path)
1479
+ else:
1480
+ export_archive = tf_keras.export.ExportArchive()
1481
+ export_archive.add_endpoint(
1482
+ name=SIGNATURE_KEY,
1483
+ fn=lambda *inputs : model(inputs),
1484
+ input_signature=[tf.TensorSpec(tensor.shape, tensor.dtype, tensor.name) for tensor in model.inputs],
1485
+ )
1486
+ export_archive.write_out(output_folder_path)
1487
+ info(Color.GREEN(f'saved_model output complete!'))
1488
+ except TypeError as e:
1489
+ # Switch to .pb
1490
+ info(Color.GREEN(f'Switch to the output of an optimized protocol buffer file (.pb).'))
1491
+ except (KeyError, AssertionError) as e:
1492
+ msg_list = [s for s in e.args if isinstance(s, str)]
1493
+ if len(msg_list) > 0:
1494
+ try:
1505
1495
  for s in msg_list:
1506
- if 'A root scope name has to match the following pattern' in s:
1507
- error(
1508
- f'Generation of saved_model failed because the OP name does not match the following pattern. ^[A-Za-z0-9.][A-Za-z0-9_.\\\\/>-]*$'
1496
+ if 'Failed to add concrete function' in s \
1497
+ or "Tried to export a function which references an 'untracked' resource" in s:
1498
+ export_archive = tf_keras.export.ExportArchive()
1499
+ export_archive.add_endpoint(
1500
+ name=SIGNATURE_KEY,
1501
+ fn=lambda *inputs : model(inputs),
1502
+ input_signature=[tf.TensorSpec(tensor.shape, tensor.dtype, tensor.name) for tensor in model.inputs],
1509
1503
  )
1510
- matches = re.findall(r"'([^']*)'", s)
1511
- error(f'{matches[0]}')
1512
- error(
1513
- f'Please convert again with the `-osd` or `--output_signaturedefs` option.'
1514
- )
1515
- sys.exit(1)
1516
- else:
1517
- error(e)
1518
- import traceback
1519
- error(traceback.format_exc(), prefix=False)
1520
- else:
1521
- error(e)
1522
- import traceback
1523
- error(traceback.format_exc(), prefix=False)
1524
- except ValueError as e:
1525
- msg_list = [s for s in e.args if isinstance(s, str)]
1526
- if len(msg_list) > 0:
1527
- for s in msg_list:
1528
- if 'A root scope name has to match the following pattern' in s:
1529
- error(
1530
- f'Generation of saved_model failed because the OP name does not match the following pattern. ^[A-Za-z0-9.][A-Za-z0-9_.\\\\/>-]*$'
1531
- )
1532
- matches = re.findall(r"'([^']*)'", s)
1533
- error(f'{matches[0]}')
1534
- error(
1535
- f'Please convert again with the `-osd` or `--output_signaturedefs` option.'
1536
- )
1537
- sys.exit(1)
1538
- else:
1504
+ export_archive.write_out(output_folder_path)
1505
+ break
1506
+ except ValueError as e:
1507
+ msg_list = [s for s in e.args if isinstance(s, str)]
1508
+ if len(msg_list) > 0:
1509
+ for s in msg_list:
1510
+ if 'A root scope name has to match the following pattern' in s:
1511
+ error(
1512
+ f'Generation of saved_model failed because the OP name does not match the following pattern. ^[A-Za-z0-9.][A-Za-z0-9_.\\\\/>-]*$'
1513
+ )
1514
+ matches = re.findall(r"'([^']*)'", s)
1515
+ error(f'{matches[0]}')
1516
+ error(
1517
+ f'Please convert again with the `-osd` or `--output_signaturedefs` option.'
1518
+ )
1519
+ sys.exit(1)
1520
+ else:
1521
+ error(e)
1522
+ import traceback
1523
+ error(traceback.format_exc(), prefix=False)
1524
+ else:
1525
+ error(e)
1526
+ import traceback
1527
+ error(traceback.format_exc(), prefix=False)
1528
+ except ValueError as e:
1529
+ msg_list = [s for s in e.args if isinstance(s, str)]
1530
+ if len(msg_list) > 0:
1531
+ for s in msg_list:
1532
+ if 'A root scope name has to match the following pattern' in s:
1533
+ error(
1534
+ f'Generation of saved_model failed because the OP name does not match the following pattern. ^[A-Za-z0-9.][A-Za-z0-9_.\\\\/>-]*$'
1535
+ )
1536
+ matches = re.findall(r"'([^']*)'", s)
1537
+ error(f'{matches[0]}')
1538
+ error(
1539
+ f'Please convert again with the `-osd` or `--output_signaturedefs` option.'
1540
+ )
1541
+ sys.exit(1)
1542
+ else:
1543
+ error(e)
1544
+ import traceback
1545
+ error(traceback.format_exc(), prefix=False)
1546
+ except Exception as e:
1539
1547
  error(e)
1540
1548
  import traceback
1541
1549
  error(traceback.format_exc(), prefix=False)
1542
- except Exception as e:
1543
- error(e)
1544
- import traceback
1545
- error(traceback.format_exc(), prefix=False)
1550
+ finally:
1551
+ if get_log_level() != saved_model_log_level:
1552
+ set_log_level(saved_model_log_level)
1546
1553
 
1547
1554
  # TFv1 .pb
1548
1555
  if output_tfv1_pb:
@@ -1581,9 +1588,12 @@ def convert(
1581
1588
  Name: flatbuffers
1582
1589
  Version: 22.10.26
1583
1590
  """
1584
- converter = tf.lite.TFLiteConverter.from_concrete_functions(
1585
- [concrete_func]
1586
- )
1591
+ try:
1592
+ converter = tf.lite.TFLiteConverter.from_keras_model(model)
1593
+ except Exception as e:
1594
+ converter = tf.lite.TFLiteConverter.from_concrete_functions(
1595
+ [concrete_func]
1596
+ )
1587
1597
  converter.target_spec.supported_ops = [
1588
1598
  tf.lite.OpsSet.TFLITE_BUILTINS,
1589
1599
  tf.lite.OpsSet.SELECT_TF_OPS,
@@ -54,6 +54,8 @@ def make_node(
54
54
  graph_node_outputs = [] + graph_node.outputs
55
55
 
56
56
  # Then branch
57
+ subgraph_kwargs = dict(kwargs)
58
+ subgraph_kwargs['suppress_log'] = True
57
59
  then_branch_graph: gs.Graph = graph_node.attrs['then_branch']
58
60
  then_branch_graph_outputs = then_branch_graph.outputs
59
61
  for then_branch_graph_node in then_branch_graph.nodes:
@@ -73,7 +75,7 @@ def make_node(
73
75
  op.make_node(
74
76
  graph_node=then_branch_graph_node,
75
77
  tf_layers_dict=tf_layers_dict,
76
- **kwargs,
78
+ **subgraph_kwargs,
77
79
  )
78
80
  # Then branch - Resister constant
79
81
  for output in then_branch_graph_outputs:
@@ -115,7 +117,7 @@ def make_node(
115
117
  op.make_node(
116
118
  graph_node=else_branch_graph_node,
117
119
  tf_layers_dict=tf_layers_dict,
118
- **kwargs,
120
+ **subgraph_kwargs,
119
121
  )
120
122
  # Else branch - Resister constant
121
123
  for output in else_branch_graph_outputs: