Rotate CV-CUDA Backend#9291
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/vision/9291
Note: Links to docs will display an error until the docs builds have been completed. ❗ 1 Active SEVsThere are 1 currently active SEVs. If your PR is affected, please view them below: ❌ 5 New FailuresAs of commit 8d6435d with merge base aa35ca1 ( NEW FAILURES - The following jobs have failed:
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
cf2f2bc to
ea0bdec
Compare
zy1git
left a comment
There was a problem hiding this comment.
I left comments for the first round review. Feel free to let me know your thoughts.
| # CV-CUDA Interp.NEAREST is actually NEAREST_EXACT, it has no direct match | ||
| # Interp handler uses Interp.NEAREST (NEAREST_EXACT) for InterpolationMode.NEAREST | ||
| # As such, we compound error, mostly on borders where padding is added | ||
| assert mae < 122.5 if interpolation is transforms.InterpolationMode.NEAREST else 6, f"MAE: {mae}" |
There was a problem hiding this comment.
The 122.5 threshold is quite high. Is this a common practice for CV-CUDA?
| # As such, we compound error, mostly on borders where padding is added | ||
| assert mae < 122.5 if interpolation is transforms.InterpolationMode.NEAREST else 6, f"MAE: {mae}" | ||
| else: | ||
| assert mae < 1 if interpolation is transforms.InterpolationMode.NEAREST else 6, f"MAE: {mae}" |
There was a problem hiding this comment.
For enum comparison, "==" is preferred over "is".
| # CV-CUDA Interp.NEAREST is actually NEAREST_EXACT, it has no direct match | ||
| # Interp handler uses Interp.NEAREST (NEAREST_EXACT) for InterpolationMode.NEAREST | ||
| # As such, we compound error, mostly on borders where padding is added | ||
| assert mae < (122.5) if interpolation is transforms.InterpolationMode.NEAREST else 6, f"MAE: {mae}" |
There was a problem hiding this comment.
Not sure why the parentheses are added around 122.5 here.
And this line is a bit confusing. Maybe we can rewrite it as:
threshold = 122.5 if interpolation == transforms.InterpolationMode.NEAREST else 6
assert mae < threshold, f"MAE: {mae}"
| """ | ||
| Get the CV-CUDA interpolation mode for a given interpolation mode. | ||
|
|
||
| CV-CUDA has the two following differences (evaluated in tests) comapred to TorchVision/PIL: |
Summary
Adds the CV-CUDA backend kernel for
rotateTesting
python3 -m pytest test/test_transforms_v2.py::TestRotate