- `Expand`, `BatchNormalization`, `Gather`
- Automatic accuracy compensation.
- Added the ability to automatically compensate for accuracy degradation due to dimensional transposition errors.
- `AveragePool`
- Only very few edge cases are supported.
- The dynamic tensor `AveragePool` is difficult to replace exactly with TensorFlow's `AveragePooling`.
- I have fixed and released the critical problems except for `AveragePool`, but `AveragePool (with ceil_mode=1)` with dynamic tensor as input is extremely difficult to fix due to compatibility issues with TensorFlow.
- The problem is that the error was not occurring in the `AveragePool (with ceil_mode=1)` where the conversion error should have occurred, and the latest onnx2tf should now generate a conversion error in the `AveragePool (with ceil_mode=1)`.
INFO: 39 / 1464
INFO: onnx_op_type: AveragePool onnx_op_name: wa/xvector/block1/tdnnd1/cam_layer/AveragePool
INFO: input_name.1: wa/xvector/block1/tdnnd1/nonlinear2/relu/Relu_output_0 shape: [1, 128, 'unk__71'] dtype: float32
INFO: output_name.1: wa/xvector/block1/tdnnd1/cam_layer/AveragePool_output_0 shape: [1, 128, 'unk__77'] dtype: float32
ERROR: The trace log is below.
Traceback (most recent call last):
File "/home/xxxxx/git/onnx2tf/onnx2tf/utils/common_functions.py", line 312, in print_wrapper_func
result = func(*args, **kwargs)
File "/home/xxxxx/git/onnx2tf/onnx2tf/utils/common_functions.py", line 385, in inverted_operation_enable_disable_wrapper_func
result = func(*args, **kwargs)
File "/home/xxxxx/git/onnx2tf/onnx2tf/utils/common_functions.py", line 55, in get_replacement_parameter_wrapper_func
func(*args, **kwargs)
File "/home/xxxxx/git/onnx2tf/onnx2tf/ops/AveragePool.py", line 171, in make_node
output_spatial_shape = [
File "/home/xxxxx/git/onnx2tf/onnx2tf/ops/AveragePool.py", line 172, in <listcomp>
func((i + pb + pe - d * (k - 1) - 1) / s + 1)
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
ERROR: input_onnx_file_path: ../cam++_vin.onnx
ERROR: onnx_op_name: wa/xvector/block1/tdnnd1/cam_layer/AveragePool
ERROR: Read this and deal with it. https://github.com/PINTO0309/onnx2tf#parameter-replacement
ERROR: Alternatively, if the input OP has a dynamic dimension, use the -b or -ois option to rewrite it to a static shape and try again.
ERROR: If the input OP of ONNX before conversion is NHWC or an irregular channel arrangement other than NCHW, use the -kt or -kat option.
ERROR: Also, for models that include NonMaxSuppression in the post-processing, try the -onwdt option.
- [Unable to convert a model with 3d input shape of dynamic length into tflite int8 format 673](https://github.com/PINTO0309/onnx2tf/issues/673)
What's Changed
* Automatic accuracy compensation `Expand`, `BatchNormalization`, `Gather` by PINTO0309 in https://github.com/PINTO0309/onnx2tf/pull/675
**Full Changelog**: https://github.com/PINTO0309/onnx2tf/compare/1.25.6...1.25.7