- 02 Feb, 2021 1 commit
-
-
Saurabh Khanduja authored
* Renamed original method to test center crop * Added test method, docs and added padding when imgsize < cropsize. * BugFix - keep odd_crop_size odd * Do not crop when image size after padding matches crop size; updated test. Co-authored-by:Vasilis Vryniotis <datumbox@users.noreply.github.com>
-
- 28 Jan, 2021 1 commit
-
-
Anthony Kantsemal authored
* initial fix * fill=0 * docstrings * fill type check * fill type check * set None to zero * unit tests * set instead of NotImplemented * fix W293 Co-authored-by:
vfdev <vfdev.5@gmail.com> Co-authored-by:
Vasilis Vryniotis <datumbox@users.noreply.github.com>
-
- 14 Dec, 2020 1 commit
-
-
Vasilis Vryniotis authored
* Invert Transform (#3104) * Adding invert operator. * Make use of the _assert_channels(). * Update upper bound value. * Remove private doc from invert, create or reuse generic testing methods to avoid duplication of code in the tests. (#3106) * Create posterize transformation and refactor common methods to assist reuse. (#3108) * Implement the solarize transform. (#3112) * Implement the adjust_sharpness transform (#3114) * Adding functional operator for sharpness. * Adding transforms for sharpness. * Handling tiny images and adding a test. * Implement the autocontrast transform. (#3117) * Implement the equalize transform (#3119) * Implement the equalize transform. * Turn off deterministic for histogram. * Fixing test. (#3126) * Force ratio to be float to avoid numeric overflows on blend. (#3127) * Separate the tests of Adjust Sharpness from ColorJitter. (#3128) * Add AutoAugment Policies and main Transform (#3142) * Separate the tests of Adjust Sharpness from ColorJitter. * Initial implementation, not-jitable. * AutoAugment passing JIT. * Adding tests/docs, changing formatting. * Update test. * Fix formats * Fix documentation and imports. * Apply changes from code review: - Move the transformations outside of AutoAugment on a separate method. - Renamed degenerate method for sharpness for better clarity. * Update torchvision/transforms/functional.py Co-authored-by:
vfdev <vfdev.5@gmail.com> * Apply more changes from code review: - Add InterpolationMode parameter. - Move all declarations away from AutoAugment constructor and into the private method. * Update documentation. * Apply suggestions from code review Co-authored-by:
Francisco Massa <fvsmassa@gmail.com> * Apply changes from code review: - Refactor code to eliminate as any to() and clamp() as possible. - Reuse methods where possible. - Apply speed ups. * Replacing pad. Co-authored-by:
vfdev <vfdev.5@gmail.com> Co-authored-by:
Francisco Massa <fvsmassa@gmail.com>
-
- 03 Dec, 2020 1 commit
-
-
Francisco Massa authored
It's not used currently and can lead to exceptions such as runtime error: 5.7896e+76 is outside the range of representable values of type 'float'
-
- 27 Nov, 2020 2 commits
-
-
Vasilis Vryniotis authored
-
vfdev authored
[BC-breaking] Introduced InterpolationModes and deprecated arguments: resample and fillcolor (#2952) * Deprecated arguments: resample and fillcolor Replaced by interpolation and fill * Updates according to the review * Added tests to check warnings and asserted BC * [WIP] Interpolation modes * Added InterpolationModes enum * Added supported for int values for interpolation for BC * Removed useless test code * Fix flake8
-
- 20 Nov, 2020 1 commit
-
-
Alexey Demyanchuk authored
* Add explicit check for number of channels Example why you need to check it: `M = torch.randint(low=0, high=2, size=(6, 64, 64), dtype = torch.float)` When you put this input through to_pil_image without mode argument, it converts to uint8 here: ``` if pic.is_floating_point() and mode != 'F': pic = pic.mul(255).byte() ``` and change the mode to RGB here: ``` if mode is None and npimg.dtype == np.uint8: mode = 'RGB' ``` Image.fromarray doesn't raise if provided with mode RGB and just cut number of channels from what you have to 3 * Check number of channels before processing * Add test for invalid number of channels * Add explicit check for number of channels Example why you need to check it: `M = torch.randint(low=0, high=2, size=(6, 64, 64), dtype = torch.float)` When you put this input through to_pil_image without mode argument, it converts to uint8 here: ``` if pic.is_floating_point() and mode != 'F': pic = pic.mul(255).byte() ``` and change the mode to RGB here: ``` if mode is None and npimg.dtype == np.uint8: mode = 'RGB' ``` Image.fromarray doesn't raise if provided with mode RGB and just cut number of channels from what you have to 3 * Check number of channels before processing * Add test for invalid number of channels * Put check after channel dim unsqueeze * Add test if error message is matching * Delete redundant code * Bug fix in checking for bad types Co-authored-by:Demyanchuk <demyanca@mh-hannover.local> Co-authored-by:
vfdev <vfdev.5@gmail.com>
-
- 18 Nov, 2020 1 commit
-
-
Vasilis Vryniotis authored
* Adding output channels implementation for pngs. * Adding tests for png. * Adding channels in the API and documentation. * Fixing formatting. * Refactoring test_image.py to remove huge grace_hopper_517x606.pth file from assets and reduce duplicate code. Moving jpeg assets used by encode and write unit-tests on their separate folders. * Adding output channels implementation for jpegs. Fix asset locations. * Add tests for JPEG, adding the channels in the API and documentation and adding checks for inputs. * Changing folder for unit-test. * Fixing windows flakiness, removing duplicate test. * Replacing components to channels. * Adding reference for supporting CMYK. * Minor changes: num_components to output_components, adding comments, fixing variable name etc. * Reverting output_components to num_components. * Replacing decoding with generic method on tests. * Palette converted to Gray.
-
- 22 Oct, 2020 2 commits
- 14 Oct, 2020 1 commit
-
-
vfdev authored
-
- 07 Oct, 2020 1 commit
-
-
Tejan Karmali authored
* Added GaussianBlur transform * fixed linting * supports fixed radius for kernel * [WIP] New API for gaussian_blur * Gaussian blur with kernelsize and sigma API * Fixed implementation and updated tests * Added large input case and refactored gt into a file * Updated docs * fix kernel dimesnions order while creating kernel * added tests for exception handling of gaussian blur * fix linting, bug in tests * Fixed failing tests, refactored code and other minor fixes Co-authored-by:vfdev-5 <vfdev.5@gmail.com>
-
- 05 Oct, 2020 2 commits
-
-
vfdev authored
* make convert_image_dtype scriptable * move convert dtype to functional_tensor since only works on tensors * retain availability of convert_image_dtype in functional.py * Update code and tests * Replaced int by torch.dtype * int -> torch.dtype and use F instead of F_t * Update functional_tensor.py * Added CPU/CUDA+batch tests * Fixed tests according to review Co-authored-by:Brian <nairbv@yahoo.com>
-
Brian Vaughan authored
* make convert_image_dtype scriptable * move convert dtype to functional_tensor since only works on tensors * retain availability of convert_image_dtype in functional.py * Update code and tests * Replaced int by torch.dtype * int -> torch.dtype and use F instead of F_t * Update functional_tensor.py Co-authored-by:vfdev-5 <vfdev.5@gmail.com>
-
- 03 Oct, 2020 1 commit
-
-
James Thewlis authored
* Negative padding for functional_pil #2381 * Tests for PIL negative padding #2381 * Move PIL vs tensor test inside test_pad * Adapt test_pad from test_transforms_tensor.py Co-authored-by:vfdev <vfdev.5@gmail.com>
-
- 30 Sep, 2020 1 commit
-
-
vfdev authored
- Updated code and tests to support batch of tensors, e.g. input of shape (B, C, H, W).
-
- 05 Aug, 2020 1 commit
-
-
vfdev authored
* Added code for F_t.rotate with test - updated F.affine tests * Rotate test tolerance to 2% * Fixes failing test * Optimized _expanded_affine_grid with a single matmul op * Recoded _compute_output_size
-
- 30 Jul, 2020 1 commit
-
-
Philip Meier authored
* fix fill parameter for PIL pad * add test * fix * lint
-
- 17 Jul, 2020 1 commit
-
-
Brian Vaughan authored
* add torchscriptable adjust_gamma transform https://github.com/pytorch/vision/issues/1375 * changes based on code-review * Apply suggested change to add type hint Required by mypy, even thought technically incorrect due to possible Image parameter. torchscript doesn't support a union based type hint. Co-authored-by:
vfdev <vfdev.5@gmail.com> Co-authored-by:
vfdev <vfdev.5@gmail.com>
-
- 16 Jul, 2020 1 commit
-
-
vfdev authored
* [WIP] F.affine * [WIP] F.affine + tests * Unified input for F.affine * Removed commented code * Removed unused imports
-
- 15 Jul, 2020 1 commit
-
-
vfdev authored
Incoherence is when affine transformation is 90 degrees rotation and output contains a zero line
-
- 03 Jul, 2020 1 commit
-
-
vfdev authored
* Related to #2292 - RandomErasing is not scriptable * Fixed code according to review comments - added additional checking of value vs img num_channels
-
- 11 Jun, 2020 1 commit
-
-
Philip Meier authored
* add convert_image_dtype to functionals * add ConvertImageDtype transform * add test * remove underscores from numbers since they are not compatible with python<3.6 * address review comments 1/3 * fix torch.bool * use torch.iinfo in test * fix flake8 * remove double conversion * fix flake9 * bug fix * add error messages to test * disable torch.float16 and torch.half for now * add docstring * add test for consistency * move nested function to top * test in CI * dirty progress * add int to int and cleanup * lint Co-authored-by:Philip Meier <meier.philip@posteo.de>
-
- 04 Jun, 2020 1 commit
-
-
Francisco Massa authored
* Bugfix in pad * Address review comments * Fix lint
-
- 18 May, 2020 1 commit
-
-
Steven Basart authored
* Adds as_tensor to functional.py Similar functionality to to_tensor without the default conversion to float and division by 255. Also adds support for Image mode 'L'. * Adds tests to AsTensor() Adds tests to AsTensor and removes the conversion to float and division by 255. * Adds AsTensor to transforms.py Calls the as_tensor function in functionals and adds the function AsTensor as callable from transforms. * Removes the pic.mode == 'L' This was handled by the else condition previously so I'll remove it. * Fix Lint issue Adds two line breaks between functions to fix lint issue * Replace from_numpy with as_tensor Removes the extra if conditionals and replaces from_numpy with as_tensor. * Renames as_tensor to pil_to_tensor Renames the function as_tensor to pil_to_tensor and narrows the scope of the function. At the same time also creates a flag that defaults to True for swapping to the channels first format. * Renames AsTensor to PILToImage Renames the function AsTensor to PILToImage and modifies the description. Adds the swap_to_channelsfirst boolean variable to indicate if the user wishes to change the shape of the input. * Add the __init__ function to PILToTensor Add the __init__ function to PILToTensor since it contains the swap_to_channelsfirst parameter now. * fix lint issue remove trailing white space * Fix the tests Reflects the name change to PILToTensor and the parameter to the function as well as the new narrowed scope that the function only accepts PIL images. * fix tests Instead of undoing the transpose just create a new tensor and test that one. * Add the view back Add img.view(pic.size[1], pic.size[0], len(pic.getbands())) back to outside the if condition. * fix test fix conversion from torch tensor to PIL back to torch tensor. * fix lint issues * fix lint remove trailing white space * Fixed the channel swapping tensor test Torch tranpose operates differently than numpy transpose. Changed operation to permute. * Add mode='F' Add mode information when converting to PIL Image from Float Tensor. * Added inline comments to follow shape changes * ToPILImage converts FloatTensors to uint8 * Remove testing not swapping * Removes the swap_channelsfirst parameter Makes the channel swapping the default behavior. * Remove the swap_channelsfirst argument Remove the swap_channelsfirst argument and makes the swapping the default functionality.
-
- 14 Apr, 2020 1 commit
-
-
Philip Meier authored
-
- 03 Apr, 2020 1 commit
-
-
Francisco Massa authored
* Add CircleCI job for python lint * Break lint * Fix * Fix lint * Re-enable all tests and remove travis python lint
-
- 31 Mar, 2020 1 commit
-
-
Philip Meier authored
* remove sys.version_info == 2 * remove sys.version_info < 3 * remove from __future__ imports
-
- 23 Mar, 2020 2 commits
-
-
Willie Maddox authored
* Add fill option to RandomPerspective #1972 * Minor fix to docstring syntax * Add _parse_fill() to get fillcolor (#1972) * Minor refactoring as per comments. * Added test for RandomPerspective with fillcolor. * Force perspective transform in test.
-
Danylo Ulianych authored
* F.normalize unsqueeze mean & std if necessary * added tests to F.normalize for 3d mean & std tensors
-
- 29 Jan, 2020 1 commit
-
-
Francisco Massa authored
-
- 22 Jan, 2020 1 commit
-
-
Philip Meier authored
* initial fix * outsourced num bands lookup * fix doc * added pillow version requirement * simplify number of bands extraction * remove unrelated change * remove indirect dependency on pillow>=5.2.0 * extend docstring to transform * bug fix * added test
-
- 10 Jan, 2020 1 commit
-
-
Francisco Massa authored
* Testing CI * Disable tests for Pillow 7
-
- 29 Oct, 2019 1 commit
-
-
pedrofreire authored
* Improve readability of affine transformation code * Make shear transformation area preserving The previous shear implementation did not preserve area, and we implement a version that does. The formula used was verified with the following sympy code: from sympy import Matrix, cos, sin, tan, simplify from sympy.abc import x, y, phi Xs = Matrix( [[1, -tan(x)], [0, 1]] ) Ys = Matrix( [[1, 0], [-tan(y), 1]] ) R = Matrix( [[cos(phi), -sin(phi)], [sin(phi), cos(phi)]] ) RSS = Matrix( [[cos(phi - y)/cos(y), -cos(phi - y)*tan(x)/cos(y) - sin(phi)], [sin(phi - y)/cos(y), -sin(phi - y)*tan(x)/cos(y) + cos(phi)]]) print(simplify(R * Ys * Xs - RSS)) One thing that is not clear (and could be tested) is whether avoiding the explicit products and calculations in _get_inverse_affine_matrix really gives performance benefits - compared to doing the explicit calculation done in _test_transformation. * Use np.matmul instead of @ The @ syntax is not supported in Python 2.
-
- 18 Oct, 2019 1 commit
-
-
F-G Fernandez authored
* test: Updated assert in test_transforms Updated all raw asserts to corresponding unittest.TestCase.assert. See #1483 * test: Fixed linter on test_transforms
-
- 30 Aug, 2019 1 commit
-
-
Francisco Massa authored
* Fix flakiness of test_randomresized_params * Real fix * Reduce number of iters
-
- 09 Jul, 2019 1 commit
-
-
Surgan Jandial authored
* to_pil_image updates * lint * Update test_transforms.py * Update test_transforms.py
-
- 06 Jul, 2019 1 commit
-
-
Zhun Zhong authored
* Fix bug to Random Erasing 1. Avoid forever loop for getting parameters of erase. 2. replace' img_b' by 'img_c', because it indicates the channel. 3. replace v = torch.rand([img_c, h, w]) by v = torch.empty([img_c, h, w], dtype=torch.float32).normal_(). Normally distributed achieves better performance. * add test * Update test_transforms.py * Update transforms.py * Update test_transforms.py * Update transforms.py * Update functional.py
-
- 03 Jul, 2019 1 commit
-
-
ptrblck authored
* initial commit * add more checks, fix lint, fix doc
-
- 28 Jun, 2019 1 commit
-
-
Surgan Jandial authored
* updates on normalize * test fixes * Update test_transforms.py
-