Releases: PINTO0309/onnx2tf
1.26.3
MatMul
Fix incorrect tensor expansion inMatMul
operation
1. Content and background
The MatMul operation was incorrectly handling 1-dimensional tensors by expanding
the wrong input tensor. When handling a 1D input tensor (shape [256])
, it was
erroneously expanding input_tensor_2 (shape [256, 254])
instead of input_tensor_1
,
leading to incorrect shape transformations.
2. Summary of corrections
Changed:
input_tensor_1 = tf.expand_dims(input_tensor_2, axis=0)
to
input_tensor_1 = tf.expand_dims(input_tensor_1, axis=0)
This ensures the correct tensor is expanded when handling 1D inputs.
3. Before/After
Before:
Input1 shape: [256] -> incorrectly became [1,256,254]
Input2 shape: [256,254] remained unchanged
After:
Input1 shape: [256] -> correctly becomes [1,256]
Input2 shape: [256,254] remains unchanged
What's Changed
- renamed replace_GRU.json to allow cloning to Windows by @kwikwag in #718
- Bugfix in MatMul.py by @oesi333 in #725
New Contributors
Full Changelog: 1.26.2...1.26.3
1.26.2
- Supports multi-batch quantization of image input.
onnx2tf \
-i batch_size_2.onnx \
-oiqt \
-cind images test.npy [[[[0.485,0.456,0.406]]]] [[[[0.229,0.224,0.225]]]]
What's Changed
- Multi batch quant by @PINTO0309 in #715
Full Changelog: 1.26.1...1.26.2
1.26.1
- Added
Float32
as an option for input and output types after quantization.-iqd {int8,uint8,float32}, --input_quant_dtype {int8,uint8,float32} Input dtypes when doing Full INT8 Quantization. "int8"(default) or "uint8" or "float32" -oqd {int8,uint8,float32}, --output_quant_dtype {int8,uint8,float32} Output dtypes when doing Full INT8 Quantization. "int8"(default) or "uint8" or "float32"
What's Changed
- Comment fix.
input_quant_dtype
,output_quant_dtype
by @PINTO0309 in #706 - Update
replace_slice.json
reference by @emmanuel-ferdman in #708 - Fixed mistake of #710 by @marcoschepis in #711
- Added
Float32
option by @PINTO0309 in #712
New Contributors
- @emmanuel-ferdman made their first contribution in #708
Full Changelog: 1.26.0...1.26.1
1.26.0
-
API changed
- The input and output quantization types can now be specified with separate, different parameters for input and output.
- Abolition
input_output_quant_dtype
- Addition
input_quant_dtype
output_quant_dtype
-
Conv
- Supports parameter substitution for post-processing of
Conv
. - replace_conv.json
{ "format_version": 1, "operations": [ { "op_name": "wa/conv/Conv", "param_target": "outputs", "param_name": "output", "post_process_transpose_perm": [0,3,1,2] } ] }
- test
onnx2tf -i model_conv.onnx -kat input -prf replace_conv.json
- Supports parameter substitution for post-processing of
-
Mul
-
README corrections due to API changes (I'll get serious from tomorrow) #702
What's Changed
- Input and output quantization chosen separately by @marcoschepis in #701
- Updated README.md by @marcoschepis in #703
- Supports parameter substitution for post-processing of
Conv
by @PINTO0309 in #704 - Improved conversion stability of
Mul
by @PINTO0309 in #705
New Contributors
- @marcoschepis made their first contribution in #701
Full Changelog: 1.25.15...1.26.0
1.25.15
What's Changed
- Fixed to force switch between
X
andY
when X:np.ndarray
, Y:Tensor
by @PINTO0309 in #699
Full Changelog: 1.25.14...1.25.15
1.25.14
ArgMin
- Dealing with garbage-like broken structures in ONNX (
ArgMin
) #695
- Dealing with garbage-like broken structures in ONNX (
- [YOLOv7] None in graph_node_input.shape #694
What's Changed
- Dealing with garbage-like broken structures in ONNX (ArgMin) #695 by @PINTO0309 in #696
Full Changelog: 1.25.13...1.25.14
1.25.13
ArgMax
,Faltten
- [YOLOv7] None in graph_node_input.shape #694
What's Changed
- Dealing with garbage-like broken structures in ONNX by @PINTO0309 in #695
Full Changelog: 1.25.12...1.25.13
1.25.12
Flatten
- Improved handling when
axis
attribute is not defined and the batch size of the first dimension is undefined. - ONNX
wget https://github.com/PINTO0309/onnx2tf/releases/download/0.0.2/resnet18-v1-7.onnx onnx2tf -i resnet18-v1-7.onnx ls -lh saved_model/ assets fingerprint.pb resnet18-v1-7_float16.tflite resnet18-v1-7_float32.tflite saved_model.pb variables TF_CPP_MIN_LOG_LEVEL=3 \ saved_model_cli show \ --dir saved_model \ --signature_def serving_default \ --tag_set serve The given SavedModel SignatureDef contains the following input(s): inputs['data'] tensor_info: dtype: DT_FLOAT shape: (-1, 224, 224, 3) name: serving_default_data:0 The given SavedModel SignatureDef contains the following output(s): outputs['output_0'] tensor_info: dtype: DT_FLOAT shape: (-1, 1000) name: PartitionedCall:0 Method name is: tensorflow/serving/predict
- TFLite
- Improved handling when
What's Changed
- Improved handling when
axis
attribute is not defined and the batch size of the first dimension is undefined. by @PINTO0309 in #692
Full Changelog: 1.25.11...1.25.12
1.25.11
BatchNormalization
- Improved the conversion stability of
BatchNormalization
.
- Improved the conversion stability of
What's Changed
- Improved the conversion stability of
BatchNormalization
. by @PINTO0309 in #690
Full Changelog: 1.25.10...1.25.11
1.25.10
What's Changed
- Addressed the issue of missing conversions when multi-dimensional flattening is performed and the batch size of the first dimension is an undefined dimension. by @PINTO0309 in #689
Full Changelog: 1.25.9...1.25.10