-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add resize to change_3d_tensors_to_4d transformation #125
Add resize to change_3d_tensors_to_4d transformation #125
Conversation
…iksnagreb/qonnx into iksnagreb-feature/sort_commutative_inputs
This fixes some weird behavior where folding multiple nodes at once breaks the graph after the next shape inference.
…different node types
After deliberation with @fpjentzsch we decided to disallow the use of the ROI input and the axes attribute for the Resize operator. |
…eature/readme_dev_updates Updates to dev docs: pip upgrade, linting
…ngs_attr Feature/strings attr
now we have the tests to show that this works fine
…eature/remove_forked_identity Remove identity nodes with output forking
…eature/fp16_fixes Fixes for fp16 tensors and datatypes in ONNX
… into iksnagreb-fix/fold_constants
…nstants Fix FoldConstants tranformation exiting early to redo shape annotations
…s/qonnx into feature/improved_chanlast_eltwiseops
…eature/improved_chanlast_eltwiseops Improved channels-last via elementwise op generalization
…onnx_models Fix incorrect value_info setting in MergeONNXModels
Updated partitioning function for PartitionFromDict
…iple_default_values Add support for multiple default configurations
…ssen9/qonnx into klassen9-feature/resize_4d_conversion
Thanks @klassen9 . Since this is also related to #150 I took the liberty to extend the testcase generation to add a opset 13 version of Resize where the scale input is an empty string, which triggers the bug in #150 , and added exceptions in the core functions to handle this properly. Kind reminder: please ensure future PRs go through |
This PR adds resize to the change_3d_tensors_to_4d transformation. The implementation supports resize version 10 up to 19.
Version 10 only supports
scales
as an input, other than the input tensor.Version 11 up to 19 additionally support the
roi
andsizes
inputs.sizes
andscales
are mutually exclusive. The Problem is that different versions have a different understanding of how to mark an input as unused. As an example:sizes
is needed, the user must setscales
to an empty tensor."sizes
is needed, the user can use an empty string as the name ofscales
in this operator’s input list."I am thus checking if
scales
orsizes
exist by checking if they are None or are empty. None is returned bymodel.get_initializer()
if the input is an empty string in the input list.