onnx2tf 1.29.3__tar.gz → 1.29.4__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 (209) hide show
  1. {onnx2tf-1.29.3/onnx2tf.egg-info → onnx2tf-1.29.4}/PKG-INFO +7 -7
  2. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/README.md +6 -6
  3. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/__init__.py +1 -1
  4. onnx2tf-1.29.4/onnx2tf/ops/BitwiseAnd.py +115 -0
  5. onnx2tf-1.29.4/onnx2tf/ops/BitwiseNot.py +98 -0
  6. onnx2tf-1.29.4/onnx2tf/ops/BitwiseOr.py +115 -0
  7. onnx2tf-1.29.4/onnx2tf/ops/BitwiseXor.py +115 -0
  8. {onnx2tf-1.29.3 → onnx2tf-1.29.4/onnx2tf.egg-info}/PKG-INFO +7 -7
  9. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf.egg-info/SOURCES.txt +4 -0
  10. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/pyproject.toml +1 -1
  11. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/LICENSE +0 -0
  12. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/LICENSE_onnx-tensorflow +0 -0
  13. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/__main__.py +0 -0
  14. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/onnx2tf.py +0 -0
  15. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Abs.py +0 -0
  16. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Acos.py +0 -0
  17. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Acosh.py +0 -0
  18. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Add.py +0 -0
  19. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/And.py +0 -0
  20. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/ArgMax.py +0 -0
  21. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/ArgMin.py +0 -0
  22. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Asin.py +0 -0
  23. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Asinh.py +0 -0
  24. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Atan.py +0 -0
  25. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Atanh.py +0 -0
  26. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/AveragePool.py +0 -0
  27. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/BatchNormalization.py +0 -0
  28. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Bernoulli.py +0 -0
  29. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/BitShift.py +0 -0
  30. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Cast.py +0 -0
  31. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Ceil.py +0 -0
  32. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Celu.py +0 -0
  33. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Clip.py +0 -0
  34. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Col2Im.py +0 -0
  35. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Compress.py +0 -0
  36. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Concat.py +0 -0
  37. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/ConcatFromSequence.py +0 -0
  38. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Constant.py +0 -0
  39. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/ConstantOfShape.py +0 -0
  40. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Conv.py +0 -0
  41. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/ConvInteger.py +0 -0
  42. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/ConvTranspose.py +0 -0
  43. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Cos.py +0 -0
  44. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Cosh.py +0 -0
  45. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/CumSum.py +0 -0
  46. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/DepthToSpace.py +0 -0
  47. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/DequantizeLinear.py +0 -0
  48. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Det.py +0 -0
  49. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Div.py +0 -0
  50. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Dropout.py +0 -0
  51. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/DynamicQuantizeLinear.py +0 -0
  52. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Einsum.py +0 -0
  53. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Elu.py +0 -0
  54. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Equal.py +0 -0
  55. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Erf.py +0 -0
  56. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Exp.py +0 -0
  57. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Expand.py +0 -0
  58. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/EyeLike.py +0 -0
  59. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Flatten.py +0 -0
  60. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Floor.py +0 -0
  61. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/FusedConv.py +0 -0
  62. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/GRU.py +0 -0
  63. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Gather.py +0 -0
  64. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/GatherElements.py +0 -0
  65. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/GatherND.py +0 -0
  66. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Gelu.py +0 -0
  67. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Gemm.py +0 -0
  68. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/GlobalAveragePool.py +0 -0
  69. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/GlobalLpPool.py +0 -0
  70. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/GlobalMaxPool.py +0 -0
  71. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Greater.py +0 -0
  72. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/GreaterOrEqual.py +0 -0
  73. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/GridSample.py +0 -0
  74. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/GroupNorm.py +0 -0
  75. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/HammingWindow.py +0 -0
  76. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/HannWindow.py +0 -0
  77. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/HardSigmoid.py +0 -0
  78. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/HardSwish.py +0 -0
  79. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Hardmax.py +0 -0
  80. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Identity.py +0 -0
  81. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/If.py +0 -0
  82. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Input.py +0 -0
  83. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/InstanceNormalization.py +0 -0
  84. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Inverse.py +0 -0
  85. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/IsInf.py +0 -0
  86. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/IsNaN.py +0 -0
  87. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/LRN.py +0 -0
  88. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/LSTM.py +0 -0
  89. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/LayerNormalization.py +0 -0
  90. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/LeakyRelu.py +0 -0
  91. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Less.py +0 -0
  92. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/LessOrEqual.py +0 -0
  93. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Log.py +0 -0
  94. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/LogSoftmax.py +0 -0
  95. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/LpNormalization.py +0 -0
  96. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/MatMul.py +0 -0
  97. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/MatMulInteger.py +0 -0
  98. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Max.py +0 -0
  99. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/MaxPool.py +0 -0
  100. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/MaxUnpool.py +0 -0
  101. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Mean.py +0 -0
  102. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/MeanVarianceNormalization.py +0 -0
  103. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/MelWeightMatrix.py +0 -0
  104. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Min.py +0 -0
  105. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Mish.py +0 -0
  106. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Mod.py +0 -0
  107. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Mul.py +0 -0
  108. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Multinomial.py +0 -0
  109. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Neg.py +0 -0
  110. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/NonMaxSuppression.py +0 -0
  111. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/NonZero.py +0 -0
  112. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Not.py +0 -0
  113. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/OneHot.py +0 -0
  114. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/OptionalGetElement.py +0 -0
  115. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/OptionalHasElement.py +0 -0
  116. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Or.py +0 -0
  117. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/PRelu.py +0 -0
  118. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Pad.py +0 -0
  119. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Pow.py +0 -0
  120. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/QLinearAdd.py +0 -0
  121. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/QLinearConcat.py +0 -0
  122. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/QLinearConv.py +0 -0
  123. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/QLinearLeakyRelu.py +0 -0
  124. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/QLinearMatMul.py +0 -0
  125. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/QLinearMul.py +0 -0
  126. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/QLinearSigmoid.py +0 -0
  127. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/QLinearSoftmax.py +0 -0
  128. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/QuantizeLinear.py +0 -0
  129. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/RNN.py +0 -0
  130. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/RandomNormal.py +0 -0
  131. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/RandomNormalLike.py +0 -0
  132. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/RandomUniform.py +0 -0
  133. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/RandomUniformLike.py +0 -0
  134. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Range.py +0 -0
  135. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Reciprocal.py +0 -0
  136. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/ReduceL1.py +0 -0
  137. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/ReduceL2.py +0 -0
  138. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/ReduceLogSum.py +0 -0
  139. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/ReduceLogSumExp.py +0 -0
  140. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/ReduceMax.py +0 -0
  141. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/ReduceMean.py +0 -0
  142. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/ReduceMin.py +0 -0
  143. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/ReduceProd.py +0 -0
  144. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/ReduceSum.py +0 -0
  145. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/ReduceSumSquare.py +0 -0
  146. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Relu.py +0 -0
  147. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Reshape.py +0 -0
  148. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Resize.py +0 -0
  149. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/ReverseSequence.py +0 -0
  150. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/RoiAlign.py +0 -0
  151. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Round.py +0 -0
  152. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/STFT.py +0 -0
  153. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/ScaleAndTranslate.py +0 -0
  154. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Scatter.py +0 -0
  155. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/ScatterElements.py +0 -0
  156. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/ScatterND.py +0 -0
  157. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Selu.py +0 -0
  158. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/SequenceAt.py +0 -0
  159. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/SequenceConstruct.py +0 -0
  160. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/SequenceEmpty.py +0 -0
  161. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/SequenceErase.py +0 -0
  162. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/SequenceInsert.py +0 -0
  163. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/SequenceLength.py +0 -0
  164. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Shape.py +0 -0
  165. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Shrink.py +0 -0
  166. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Sigmoid.py +0 -0
  167. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Sign.py +0 -0
  168. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Sin.py +0 -0
  169. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Sinh.py +0 -0
  170. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Size.py +0 -0
  171. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Slice.py +0 -0
  172. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Softmax.py +0 -0
  173. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Softplus.py +0 -0
  174. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Softsign.py +0 -0
  175. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/SpaceToDepth.py +0 -0
  176. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Split.py +0 -0
  177. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/SplitToSequence.py +0 -0
  178. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Sqrt.py +0 -0
  179. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Squeeze.py +0 -0
  180. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/StringNormalizer.py +0 -0
  181. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Sub.py +0 -0
  182. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Sum.py +0 -0
  183. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Tan.py +0 -0
  184. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Tanh.py +0 -0
  185. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/ThresholdedRelu.py +0 -0
  186. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Tile.py +0 -0
  187. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/TopK.py +0 -0
  188. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Transpose.py +0 -0
  189. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Trilu.py +0 -0
  190. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Unique.py +0 -0
  191. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Unsqueeze.py +0 -0
  192. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Upsample.py +0 -0
  193. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Where.py +0 -0
  194. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/Xor.py +0 -0
  195. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/_Loop.py +0 -0
  196. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/__Loop.py +0 -0
  197. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/ops/__init__.py +0 -0
  198. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/utils/__init__.py +0 -0
  199. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/utils/common_functions.py +0 -0
  200. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/utils/enums.py +0 -0
  201. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/utils/iterative_json_optimizer.py +0 -0
  202. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/utils/json_auto_generator.py +0 -0
  203. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf/utils/logging.py +0 -0
  204. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf.egg-info/dependency_links.txt +0 -0
  205. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf.egg-info/requires.txt +0 -0
  206. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/onnx2tf.egg-info/top_level.txt +0 -0
  207. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/setup.cfg +0 -0
  208. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/setup.py +0 -0
  209. {onnx2tf-1.29.3 → onnx2tf-1.29.4}/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.3
3
+ Version: 1.29.4
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
@@ -106,10 +106,10 @@ https://github.com/PINTO0309/onnx2tf/wiki/model_status
106
106
  |BatchNormalization|:heavy_check_mark:|
107
107
  |Bernoulli|:heavy_check_mark:|
108
108
  |BitShift|:heavy_check_mark:|
109
- |BitwiseAnd|**Help wanted**|
110
- |BitwiseNot|**Help wanted**|
111
- |BitwiseOr|**Help wanted**|
112
- |BitwiseXor|**Help wanted**|
109
+ |BitwiseAnd|:heavy_check_mark:|
110
+ |BitwiseNot|:heavy_check_mark:|
111
+ |BitwiseOr|:heavy_check_mark:|
112
+ |BitwiseXor|:heavy_check_mark:|
113
113
  |Cast|:heavy_check_mark:|
114
114
  |Ceil|:heavy_check_mark:|
115
115
  |Celu|:heavy_check_mark:|
@@ -345,7 +345,7 @@ Video speed is adjusted approximately 50 times slower than actual speed.
345
345
  docker run --rm -it \
346
346
  -v `pwd`:/workdir \
347
347
  -w /workdir \
348
- ghcr.io/pinto0309/onnx2tf:1.29.3
348
+ ghcr.io/pinto0309/onnx2tf:1.29.4
349
349
 
350
350
  or
351
351
 
@@ -353,7 +353,7 @@ Video speed is adjusted approximately 50 times slower than actual speed.
353
353
  docker run --rm -it \
354
354
  -v `pwd`:/workdir \
355
355
  -w /workdir \
356
- docker.io/pinto0309/onnx2tf:1.29.3
356
+ docker.io/pinto0309/onnx2tf:1.29.4
357
357
 
358
358
  or
359
359
 
@@ -70,10 +70,10 @@ https://github.com/PINTO0309/onnx2tf/wiki/model_status
70
70
  |BatchNormalization|:heavy_check_mark:|
71
71
  |Bernoulli|:heavy_check_mark:|
72
72
  |BitShift|:heavy_check_mark:|
73
- |BitwiseAnd|**Help wanted**|
74
- |BitwiseNot|**Help wanted**|
75
- |BitwiseOr|**Help wanted**|
76
- |BitwiseXor|**Help wanted**|
73
+ |BitwiseAnd|:heavy_check_mark:|
74
+ |BitwiseNot|:heavy_check_mark:|
75
+ |BitwiseOr|:heavy_check_mark:|
76
+ |BitwiseXor|:heavy_check_mark:|
77
77
  |Cast|:heavy_check_mark:|
78
78
  |Ceil|:heavy_check_mark:|
79
79
  |Celu|:heavy_check_mark:|
@@ -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.29.3
312
+ ghcr.io/pinto0309/onnx2tf:1.29.4
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.29.3
320
+ docker.io/pinto0309/onnx2tf:1.29.4
321
321
 
322
322
  or
323
323
 
@@ -1,3 +1,3 @@
1
1
  from onnx2tf.onnx2tf import convert, main
2
2
 
3
- __version__ = '1.29.3'
3
+ __version__ = '1.29.4'
@@ -0,0 +1,115 @@
1
+ import random
2
+ random.seed(0)
3
+ import numpy as np
4
+ np.random.seed(0)
5
+ import tensorflow as tf
6
+ import onnx_graphsurgeon as gs
7
+ from onnx2tf.utils.common_functions import (
8
+ get_constant_or_variable,
9
+ print_node_info,
10
+ inverted_operation_enable_disable,
11
+ make_tf_node_info,
12
+ get_replacement_parameter,
13
+ pre_process_transpose,
14
+ post_process_transpose,
15
+ )
16
+
17
+
18
+ @print_node_info
19
+ @inverted_operation_enable_disable
20
+ @get_replacement_parameter
21
+ def make_node(
22
+ *,
23
+ graph_node: gs.Node,
24
+ tf_layers_dict: dict,
25
+ **kwargs: dict,
26
+ ):
27
+ """BitwiseAnd
28
+
29
+ Parameters
30
+ ----------
31
+ graph_node: gs.Node
32
+ graph_surgeon Node
33
+
34
+ tf_layers_dict: dict
35
+ optype, shape, dtype, tensorflow graph
36
+ """
37
+ before_op_output_shape_trans_1 = \
38
+ tf_layers_dict.get(graph_node.inputs[0].name, {}).get('before_op_output_shape_trans', True)
39
+ before_op_output_shape_trans_2 = \
40
+ tf_layers_dict.get(graph_node.inputs[1].name, {}).get('before_op_output_shape_trans', True)
41
+ before_op_output_shape_trans = \
42
+ before_op_output_shape_trans_1 \
43
+ and before_op_output_shape_trans_2
44
+
45
+ graph_node_input_1 = get_constant_or_variable(
46
+ graph_node.inputs[0],
47
+ before_op_output_shape_trans,
48
+ )
49
+ graph_node_input_2 = get_constant_or_variable(
50
+ graph_node.inputs[1],
51
+ before_op_output_shape_trans,
52
+ )
53
+ graph_node_output: gs.Variable = graph_node.outputs[0]
54
+
55
+ shape = graph_node_output.shape
56
+ dtype = graph_node_output.dtype
57
+
58
+ # Preserving Graph Structure (Dict)
59
+ tf_layers_dict[graph_node_output.name] = {
60
+ 'optype': graph_node.op,
61
+ 'shape': shape,
62
+ 'dtype': dtype,
63
+ }
64
+
65
+ # Generation of TF OP
66
+ input_tensor_1 = tf_layers_dict[graph_node_input_1.name]['tf_node'] \
67
+ if isinstance(graph_node_input_1, gs.Variable) else graph_node_input_1
68
+ input_tensor_2 = tf_layers_dict[graph_node_input_2.name]['tf_node'] \
69
+ if isinstance(graph_node_input_2, gs.Variable) else graph_node_input_2
70
+
71
+ # Pre-process transpose
72
+ input_tensor_1 = pre_process_transpose(
73
+ value_before_transpose=input_tensor_1,
74
+ param_target='inputs',
75
+ param_name=graph_node.inputs[0].name,
76
+ **kwargs,
77
+ )
78
+ input_tensor_2 = pre_process_transpose(
79
+ value_before_transpose=input_tensor_2,
80
+ param_target='inputs',
81
+ param_name=graph_node.inputs[1].name,
82
+ **kwargs,
83
+ )
84
+
85
+ tf_op_type = None
86
+ tf_layers_dict[graph_node_output.name]['tf_node'] = \
87
+ tf.bitwise.bitwise_and(
88
+ x=input_tensor_1,
89
+ y=input_tensor_2,
90
+ name=graph_node.name,
91
+ )
92
+ tf_op_type = tf.bitwise.bitwise_and
93
+
94
+ # Post-process transpose
95
+ tf_layers_dict[graph_node_output.name]['tf_node'] = post_process_transpose(
96
+ value_before_transpose=tf_layers_dict[graph_node_output.name]['tf_node'],
97
+ param_target='outputs',
98
+ param_name=graph_node.outputs[0].name,
99
+ **kwargs,
100
+ )
101
+
102
+ # Generation of Debug Info
103
+ tf_layers_dict[graph_node_output.name]['tf_node_info'] = \
104
+ make_tf_node_info(
105
+ node_info={
106
+ 'tf_op_type': tf_op_type,
107
+ 'tf_inputs': {
108
+ 'x': input_tensor_1,
109
+ 'y': input_tensor_2,
110
+ },
111
+ 'tf_outputs': {
112
+ 'output': tf_layers_dict[graph_node_output.name]['tf_node'],
113
+ },
114
+ }
115
+ )
@@ -0,0 +1,98 @@
1
+ import random
2
+ random.seed(0)
3
+ import numpy as np
4
+ np.random.seed(0)
5
+ import tensorflow as tf
6
+ import onnx_graphsurgeon as gs
7
+ from onnx2tf.utils.common_functions import (
8
+ get_constant_or_variable,
9
+ print_node_info,
10
+ inverted_operation_enable_disable,
11
+ make_tf_node_info,
12
+ get_replacement_parameter,
13
+ pre_process_transpose,
14
+ post_process_transpose,
15
+ )
16
+
17
+
18
+ @print_node_info
19
+ @inverted_operation_enable_disable
20
+ @get_replacement_parameter
21
+ def make_node(
22
+ *,
23
+ graph_node: gs.Node,
24
+ tf_layers_dict: dict,
25
+ **kwargs: dict,
26
+ ):
27
+ """BitwiseNot
28
+
29
+ Parameters
30
+ ----------
31
+ graph_node: gs.Node
32
+ graph_surgeon Node
33
+
34
+ tf_layers_dict: dict
35
+ optype, shape, dtype, tensorflow graph
36
+ """
37
+ before_op_output_shape_trans_1 = \
38
+ tf_layers_dict.get(graph_node.inputs[0].name, {}).get('before_op_output_shape_trans', True)
39
+ before_op_output_shape_trans = \
40
+ before_op_output_shape_trans_1
41
+
42
+ graph_node_input_1 = get_constant_or_variable(
43
+ graph_node.inputs[0],
44
+ before_op_output_shape_trans,
45
+ )
46
+ graph_node_output: gs.Variable = graph_node.outputs[0]
47
+
48
+ shape = graph_node_output.shape
49
+ dtype = graph_node_output.dtype
50
+
51
+ # Preserving Graph Structure (Dict)
52
+ tf_layers_dict[graph_node_output.name] = {
53
+ 'optype': graph_node.op,
54
+ 'shape': shape,
55
+ 'dtype': dtype,
56
+ }
57
+
58
+ # Generation of TF OP
59
+ input_tensor_1 = tf_layers_dict[graph_node_input_1.name]['tf_node'] \
60
+ if isinstance(graph_node_input_1, gs.Variable) else graph_node_input_1
61
+
62
+ # Pre-process transpose
63
+ input_tensor_1 = pre_process_transpose(
64
+ value_before_transpose=input_tensor_1,
65
+ param_target='inputs',
66
+ param_name=graph_node.inputs[0].name,
67
+ **kwargs,
68
+ )
69
+
70
+ tf_op_type = None
71
+ tf_layers_dict[graph_node_output.name]['tf_node'] = \
72
+ tf.bitwise.invert(
73
+ x=input_tensor_1,
74
+ name=graph_node.name,
75
+ )
76
+ tf_op_type = tf.bitwise.invert
77
+
78
+ # Post-process transpose
79
+ tf_layers_dict[graph_node_output.name]['tf_node'] = post_process_transpose(
80
+ value_before_transpose=tf_layers_dict[graph_node_output.name]['tf_node'],
81
+ param_target='outputs',
82
+ param_name=graph_node.outputs[0].name,
83
+ **kwargs,
84
+ )
85
+
86
+ # Generation of Debug Info
87
+ tf_layers_dict[graph_node_output.name]['tf_node_info'] = \
88
+ make_tf_node_info(
89
+ node_info={
90
+ 'tf_op_type': tf_op_type,
91
+ 'tf_inputs': {
92
+ 'x': input_tensor_1,
93
+ },
94
+ 'tf_outputs': {
95
+ 'output': tf_layers_dict[graph_node_output.name]['tf_node'],
96
+ },
97
+ }
98
+ )
@@ -0,0 +1,115 @@
1
+ import random
2
+ random.seed(0)
3
+ import numpy as np
4
+ np.random.seed(0)
5
+ import tensorflow as tf
6
+ import onnx_graphsurgeon as gs
7
+ from onnx2tf.utils.common_functions import (
8
+ get_constant_or_variable,
9
+ print_node_info,
10
+ inverted_operation_enable_disable,
11
+ make_tf_node_info,
12
+ get_replacement_parameter,
13
+ pre_process_transpose,
14
+ post_process_transpose,
15
+ )
16
+
17
+
18
+ @print_node_info
19
+ @inverted_operation_enable_disable
20
+ @get_replacement_parameter
21
+ def make_node(
22
+ *,
23
+ graph_node: gs.Node,
24
+ tf_layers_dict: dict,
25
+ **kwargs: dict,
26
+ ):
27
+ """BitwiseOr
28
+
29
+ Parameters
30
+ ----------
31
+ graph_node: gs.Node
32
+ graph_surgeon Node
33
+
34
+ tf_layers_dict: dict
35
+ optype, shape, dtype, tensorflow graph
36
+ """
37
+ before_op_output_shape_trans_1 = \
38
+ tf_layers_dict.get(graph_node.inputs[0].name, {}).get('before_op_output_shape_trans', True)
39
+ before_op_output_shape_trans_2 = \
40
+ tf_layers_dict.get(graph_node.inputs[1].name, {}).get('before_op_output_shape_trans', True)
41
+ before_op_output_shape_trans = \
42
+ before_op_output_shape_trans_1 \
43
+ and before_op_output_shape_trans_2
44
+
45
+ graph_node_input_1 = get_constant_or_variable(
46
+ graph_node.inputs[0],
47
+ before_op_output_shape_trans,
48
+ )
49
+ graph_node_input_2 = get_constant_or_variable(
50
+ graph_node.inputs[1],
51
+ before_op_output_shape_trans,
52
+ )
53
+ graph_node_output: gs.Variable = graph_node.outputs[0]
54
+
55
+ shape = graph_node_output.shape
56
+ dtype = graph_node_output.dtype
57
+
58
+ # Preserving Graph Structure (Dict)
59
+ tf_layers_dict[graph_node_output.name] = {
60
+ 'optype': graph_node.op,
61
+ 'shape': shape,
62
+ 'dtype': dtype,
63
+ }
64
+
65
+ # Generation of TF OP
66
+ input_tensor_1 = tf_layers_dict[graph_node_input_1.name]['tf_node'] \
67
+ if isinstance(graph_node_input_1, gs.Variable) else graph_node_input_1
68
+ input_tensor_2 = tf_layers_dict[graph_node_input_2.name]['tf_node'] \
69
+ if isinstance(graph_node_input_2, gs.Variable) else graph_node_input_2
70
+
71
+ # Pre-process transpose
72
+ input_tensor_1 = pre_process_transpose(
73
+ value_before_transpose=input_tensor_1,
74
+ param_target='inputs',
75
+ param_name=graph_node.inputs[0].name,
76
+ **kwargs,
77
+ )
78
+ input_tensor_2 = pre_process_transpose(
79
+ value_before_transpose=input_tensor_2,
80
+ param_target='inputs',
81
+ param_name=graph_node.inputs[1].name,
82
+ **kwargs,
83
+ )
84
+
85
+ tf_op_type = None
86
+ tf_layers_dict[graph_node_output.name]['tf_node'] = \
87
+ tf.bitwise.bitwise_or(
88
+ x=input_tensor_1,
89
+ y=input_tensor_2,
90
+ name=graph_node.name,
91
+ )
92
+ tf_op_type = tf.bitwise.bitwise_or
93
+
94
+ # Post-process transpose
95
+ tf_layers_dict[graph_node_output.name]['tf_node'] = post_process_transpose(
96
+ value_before_transpose=tf_layers_dict[graph_node_output.name]['tf_node'],
97
+ param_target='outputs',
98
+ param_name=graph_node.outputs[0].name,
99
+ **kwargs,
100
+ )
101
+
102
+ # Generation of Debug Info
103
+ tf_layers_dict[graph_node_output.name]['tf_node_info'] = \
104
+ make_tf_node_info(
105
+ node_info={
106
+ 'tf_op_type': tf_op_type,
107
+ 'tf_inputs': {
108
+ 'x': input_tensor_1,
109
+ 'y': input_tensor_2,
110
+ },
111
+ 'tf_outputs': {
112
+ 'output': tf_layers_dict[graph_node_output.name]['tf_node'],
113
+ },
114
+ }
115
+ )
@@ -0,0 +1,115 @@
1
+ import random
2
+ random.seed(0)
3
+ import numpy as np
4
+ np.random.seed(0)
5
+ import tensorflow as tf
6
+ import onnx_graphsurgeon as gs
7
+ from onnx2tf.utils.common_functions import (
8
+ get_constant_or_variable,
9
+ print_node_info,
10
+ inverted_operation_enable_disable,
11
+ make_tf_node_info,
12
+ get_replacement_parameter,
13
+ pre_process_transpose,
14
+ post_process_transpose,
15
+ )
16
+
17
+
18
+ @print_node_info
19
+ @inverted_operation_enable_disable
20
+ @get_replacement_parameter
21
+ def make_node(
22
+ *,
23
+ graph_node: gs.Node,
24
+ tf_layers_dict: dict,
25
+ **kwargs: dict,
26
+ ):
27
+ """BitwiseXor
28
+
29
+ Parameters
30
+ ----------
31
+ graph_node: gs.Node
32
+ graph_surgeon Node
33
+
34
+ tf_layers_dict: dict
35
+ optype, shape, dtype, tensorflow graph
36
+ """
37
+ before_op_output_shape_trans_1 = \
38
+ tf_layers_dict.get(graph_node.inputs[0].name, {}).get('before_op_output_shape_trans', True)
39
+ before_op_output_shape_trans_2 = \
40
+ tf_layers_dict.get(graph_node.inputs[1].name, {}).get('before_op_output_shape_trans', True)
41
+ before_op_output_shape_trans = \
42
+ before_op_output_shape_trans_1 \
43
+ and before_op_output_shape_trans_2
44
+
45
+ graph_node_input_1 = get_constant_or_variable(
46
+ graph_node.inputs[0],
47
+ before_op_output_shape_trans,
48
+ )
49
+ graph_node_input_2 = get_constant_or_variable(
50
+ graph_node.inputs[1],
51
+ before_op_output_shape_trans,
52
+ )
53
+ graph_node_output: gs.Variable = graph_node.outputs[0]
54
+
55
+ shape = graph_node_output.shape
56
+ dtype = graph_node_output.dtype
57
+
58
+ # Preserving Graph Structure (Dict)
59
+ tf_layers_dict[graph_node_output.name] = {
60
+ 'optype': graph_node.op,
61
+ 'shape': shape,
62
+ 'dtype': dtype,
63
+ }
64
+
65
+ # Generation of TF OP
66
+ input_tensor_1 = tf_layers_dict[graph_node_input_1.name]['tf_node'] \
67
+ if isinstance(graph_node_input_1, gs.Variable) else graph_node_input_1
68
+ input_tensor_2 = tf_layers_dict[graph_node_input_2.name]['tf_node'] \
69
+ if isinstance(graph_node_input_2, gs.Variable) else graph_node_input_2
70
+
71
+ # Pre-process transpose
72
+ input_tensor_1 = pre_process_transpose(
73
+ value_before_transpose=input_tensor_1,
74
+ param_target='inputs',
75
+ param_name=graph_node.inputs[0].name,
76
+ **kwargs,
77
+ )
78
+ input_tensor_2 = pre_process_transpose(
79
+ value_before_transpose=input_tensor_2,
80
+ param_target='inputs',
81
+ param_name=graph_node.inputs[1].name,
82
+ **kwargs,
83
+ )
84
+
85
+ tf_op_type = None
86
+ tf_layers_dict[graph_node_output.name]['tf_node'] = \
87
+ tf.bitwise.bitwise_xor(
88
+ x=input_tensor_1,
89
+ y=input_tensor_2,
90
+ name=graph_node.name,
91
+ )
92
+ tf_op_type = tf.bitwise.bitwise_xor
93
+
94
+ # Post-process transpose
95
+ tf_layers_dict[graph_node_output.name]['tf_node'] = post_process_transpose(
96
+ value_before_transpose=tf_layers_dict[graph_node_output.name]['tf_node'],
97
+ param_target='outputs',
98
+ param_name=graph_node.outputs[0].name,
99
+ **kwargs,
100
+ )
101
+
102
+ # Generation of Debug Info
103
+ tf_layers_dict[graph_node_output.name]['tf_node_info'] = \
104
+ make_tf_node_info(
105
+ node_info={
106
+ 'tf_op_type': tf_op_type,
107
+ 'tf_inputs': {
108
+ 'x': input_tensor_1,
109
+ 'y': input_tensor_2,
110
+ },
111
+ 'tf_outputs': {
112
+ 'output': tf_layers_dict[graph_node_output.name]['tf_node'],
113
+ },
114
+ }
115
+ )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: onnx2tf
3
- Version: 1.29.3
3
+ Version: 1.29.4
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
@@ -106,10 +106,10 @@ https://github.com/PINTO0309/onnx2tf/wiki/model_status
106
106
  |BatchNormalization|:heavy_check_mark:|
107
107
  |Bernoulli|:heavy_check_mark:|
108
108
  |BitShift|:heavy_check_mark:|
109
- |BitwiseAnd|**Help wanted**|
110
- |BitwiseNot|**Help wanted**|
111
- |BitwiseOr|**Help wanted**|
112
- |BitwiseXor|**Help wanted**|
109
+ |BitwiseAnd|:heavy_check_mark:|
110
+ |BitwiseNot|:heavy_check_mark:|
111
+ |BitwiseOr|:heavy_check_mark:|
112
+ |BitwiseXor|:heavy_check_mark:|
113
113
  |Cast|:heavy_check_mark:|
114
114
  |Ceil|:heavy_check_mark:|
115
115
  |Celu|:heavy_check_mark:|
@@ -345,7 +345,7 @@ Video speed is adjusted approximately 50 times slower than actual speed.
345
345
  docker run --rm -it \
346
346
  -v `pwd`:/workdir \
347
347
  -w /workdir \
348
- ghcr.io/pinto0309/onnx2tf:1.29.3
348
+ ghcr.io/pinto0309/onnx2tf:1.29.4
349
349
 
350
350
  or
351
351
 
@@ -353,7 +353,7 @@ Video speed is adjusted approximately 50 times slower than actual speed.
353
353
  docker run --rm -it \
354
354
  -v `pwd`:/workdir \
355
355
  -w /workdir \
356
- docker.io/pinto0309/onnx2tf:1.29.3
356
+ docker.io/pinto0309/onnx2tf:1.29.4
357
357
 
358
358
  or
359
359
 
@@ -26,6 +26,10 @@ onnx2tf/ops/AveragePool.py
26
26
  onnx2tf/ops/BatchNormalization.py
27
27
  onnx2tf/ops/Bernoulli.py
28
28
  onnx2tf/ops/BitShift.py
29
+ onnx2tf/ops/BitwiseAnd.py
30
+ onnx2tf/ops/BitwiseNot.py
31
+ onnx2tf/ops/BitwiseOr.py
32
+ onnx2tf/ops/BitwiseXor.py
29
33
  onnx2tf/ops/Cast.py
30
34
  onnx2tf/ops/Ceil.py
31
35
  onnx2tf/ops/Celu.py
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "onnx2tf"
3
- version = "1.29.3"
3
+ version = "1.29.4"
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