1. 04 Oct, 2021 1 commit
    • Philip Meier's avatar
      Add ufmt (usort + black) as code formatter (#4384) · 5f0edb97
      Philip Meier authored
      
      
      * add ufmt as code formatter
      
      * cleanup
      
      * quote ufmt requirement
      
      * split imports into more groups
      
      * regenerate circleci config
      
      * fix CI
      
      * clarify local testing utils section
      
      * use ufmt pre-commit hook
      
      * split relative imports into local category
      
      * Revert "split relative imports into local category"
      
      This reverts commit f2e224cde2008c56c9347c1f69746d39065cdd51.
      
      * pin black and usort dependencies
      
      * fix local test utils detection
      
      * fix ufmt rev
      
      * add reference utils to local category
      
      * fix usort config
      
      * remove custom categories sorting
      
      * Run pre-commit without fixing flake8
      
      * got a double import in merge
      Co-authored-by: default avatarNicolas Hug <nicolashug@fb.com>
      5f0edb97
  2. 27 Sep, 2021 1 commit
    • Loi Ly's avatar
      Added gray image support to `adjust_saturation` function (#4480) · f483e71b
      Loi Ly authored
      * update channels parameter to every calling to check_functional_vs_PIL_vs_scripted
      
      * update adjust_saturation
      
      * update docstrings for functional transformations
      
      * parametrize channels
      
      * update docstring of ColorJitter class
      
      * move channels to class's parameter
      
      * remove testing channels for geometric transforms
      
      * revert redundant changes
      
      * revert redundant changes
      
      * update grayscale test cases for randaugment, autoaugment, trivialaugment
      
      * update docstrings of randaugment, autoaugment, trivialaugment
      
      * update docstring of ColorJitter
      
      * fix adjust_hue's docstring
      
      * change test equal tolerance
      
      * refactor grayscale tests
      
      * make get_grayscale_test_image private
      f483e71b
  3. 26 Aug, 2021 1 commit
  4. 30 Jun, 2021 1 commit
  5. 18 Jun, 2021 1 commit
  6. 20 May, 2021 1 commit
  7. 17 May, 2021 1 commit
  8. 10 May, 2021 1 commit
    • vfdev's avatar
      Added antialias option to transforms.functional.resize (#3761) · b56f17ae
      vfdev authored
      * WIP Added antialias option to transforms.functional.resize
      
      * Updates according to the review
      
      * Excluded these C++ files for iOS build
      
      * Added support for mixed downsampling/upsampling
      
      * Fixed heap overflow caused by explicit loop unrolling
      
      * Applied PR review suggestions
      - used pytest parametrize instead unittest
      - cast to scalar_t ptr
      - removed interpolate aa files for ios/android keeping original cmake version
      b56f17ae
  9. 27 Apr, 2021 1 commit
  10. 21 Apr, 2021 1 commit
  11. 20 Apr, 2021 1 commit
  12. 14 Apr, 2021 1 commit
  13. 08 Apr, 2021 1 commit
  14. 07 Apr, 2021 1 commit
  15. 31 Mar, 2021 1 commit
  16. 30 Mar, 2021 1 commit
  17. 04 Mar, 2021 1 commit
  18. 23 Feb, 2021 1 commit
  19. 15 Feb, 2021 1 commit
  20. 02 Feb, 2021 1 commit
  21. 26 Jan, 2021 2 commits
  22. 07 Jan, 2021 1 commit
  23. 23 Dec, 2020 1 commit
    • Zhengyang Feng's avatar
      Transforms documentation clean-up (#3200) · 7b9d30eb
      Zhengyang Feng authored
      * Initial doc clean-up
      
      * Remove all private docs
      
      * Rename files
      
      * Highlight backend inconsistencies
      
      * Sequence and number
      
      * [Need checking] AutoAugment related doc change
      
      * Revert name changes
      7b9d30eb
  24. 15 Dec, 2020 1 commit
  25. 14 Dec, 2020 1 commit
    • Vasilis Vryniotis's avatar
      Implement all AutoAugment transforms + Policies (#3123) · 83171d6a
      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: default avatarvfdev <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: default avatarFrancisco 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: default avatarvfdev <vfdev.5@gmail.com>
      Co-authored-by: default avatarFrancisco Massa <fvsmassa@gmail.com>
      83171d6a
  26. 04 Dec, 2020 2 commits
  27. 02 Dec, 2020 1 commit
    • Zhengyang Feng's avatar
      Fill color support for tensor affine transforms (#2904) · 21deb4d0
      Zhengyang Feng authored
      
      
      * Fill color support for tensor affine transforms
      
      * PEP fix
      
      * Docstring changes and float support
      
      * Docstring update for transforms and float type cast
      
      * Cast only for Tensor
      
      * Temporary patch for lack of Union type support, plus an extra unit test
      
      * More plausible bilinear filling for tensors
      
      * Keep things simple & New docstrings
      
      * Fix lint and other issues after merge
      
      * make it in one line
      
      * Docstring and some code modifications
      
      * More tests and corresponding changes for transoforms and docstring changes
      
      * Simplify test configs
      
      * Update test_functional_tensor.py
      
      * Update test_functional_tensor.py
      
      * Move assertions
      Co-authored-by: default avatarvfdev <vfdev.5@gmail.com>
      21deb4d0
  28. 27 Nov, 2020 2 commits
  29. 20 Nov, 2020 1 commit
    • Alexey Demyanchuk's avatar
      Add explicit check for number of channels (#3013) · a51c49e4
      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: default avatarDemyanchuk <demyanca@mh-hannover.local>
      Co-authored-by: default avatarvfdev <vfdev.5@gmail.com>
      a51c49e4
  30. 16 Oct, 2020 1 commit
  31. 07 Oct, 2020 1 commit
    • Tejan Karmali's avatar
      Added GaussianBlur transform (#2658) · 4106dbb8
      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: default avatarvfdev-5 <vfdev.5@gmail.com>
      4106dbb8
  32. 05 Oct, 2020 1 commit
    • Brian Vaughan's avatar
      make convert_image_dtype scriptable (#2485) · c542137c
      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: default avatarvfdev-5 <vfdev.5@gmail.com>
      c542137c
  33. 30 Sep, 2020 1 commit
    • vfdev's avatar
      Fixes #2702 (#2721) · b618923c
      vfdev authored
      - Updated code and tests to support batch of tensors, e.g. input of shape (B, C, H, W).
      b618923c
  34. 23 Sep, 2020 1 commit
    • vfdev's avatar
      Normalize, LinearTransformation are scriptable (#2645) · 1b415254
      vfdev authored
      * [WIP] All transforms are now derived from torch.nn.Module
      - Compose, RandomApply, Normalize can be jit scripted
      
      * Fixed flake8
      
      * Updated code and docs
      - added getattr to Lambda and tests
      - updated code and docs of Compose
      - added failing test with append/extend on Composed.transforms
      
      * Fixed flake8
      
      * Updated code, tests and docs
      1b415254
  35. 22 Sep, 2020 1 commit
  36. 18 Sep, 2020 1 commit
  37. 03 Sep, 2020 1 commit
    • Dragos Cristian's avatar
      adjust_hue now supports inputs of type Tensor (#2566) · bb88c452
      Dragos Cristian authored
      
      
      * adjust_hue now supports inputs of type Tensor
      
      * Added comparison between original adjust_hue and its Tensor and torch.jit.script versions.
      
      * Added a few type checkings related to adjust_hue in functional_tensor.py in hopes to make F_t.adjust_hue scriptable...but to no avail.
      
      * Changed implementation of _rgb2hsv and removed useless type declaration according to PR's review.
      
      * Handled the range of hue_factor in the assertions and temporarily increased the assertLess bound to make sure that no other test fails.
      
      * Fixed some lint issues with CircleCI and added type hints in functional_pil.py as well.
      
      * Corrected type hint mistakes.
      
      * Followed PR review recommendations and added test for class interface with hue.
      
      * Refactored test_functional_tensor.py to match vfdev-5's d016cab branch by simple copy/paste and added the test_adjust_hue and ColorJitter class interface test in the same style (class interface test was removed in vfdev-5's branch for some reason).
      
      * Removed test_adjustments from test_transforms_tensor.py and moved the ColorJitter class interface test in test_transforms_tensor.py.
      
      * Added cuda test cases for test_adjustments and tried to fix conflict.
      
      * Updated tests
      - adjust hue
      - color jitter
      
      * Fixes incompatible devices
      
      * Increased tol for cuda tests
      
      * Fixes potential issue with inplace op
      - fixes irreproducible failing test on Travis CI
      
      * Reverted fmod -> %
      Co-authored-by: default avatarvfdev-5 <vfdev.5@gmail.com>
      bb88c452