Fix pytorch_half_pixel
resize mode in Resize op
#654
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The formula was copied from the specification, but neglected to account for the fact that
scale
in the Rust code is the scale going from output to input, whereas in the spec it is the inverse scale from input to output. In the Rust code the inverse scale is used in order to replace division with multiplication.The bug was encountered while testing a version of the DeepLab v3 model exported using TorchDynamo via
export-deeplab.py --dynamo
. In that model the final Resize op produced the wrong result with the previouspytorch_half_pixel
implementation. This PR also contains a reference implementation of DeepLab and update to the tensor comparison script used in debugging.