Skip to content

Releases: pytorch/vision

TorchVision 0.28.0 Release

Choose a tag to compare

@atalman atalman released this 08 Jul 18:27
8fb8771

TorchVision 0.28 is out with some small enhancement and bug-fixes:

Enhancements

  • [transforms] Let wrap() preserve metadata for custom TVTensor subclasses (#9490)
  • [transforms] Allow strings for interpolation param in resize transforms (#9461)

Bug fixes

  • [transforms] Fix F.resize on tv_tensors.Mask to honor NEAREST_EXACT interpolation. Previously the interpolation argument was ignored for mask inputs (resize_mask hardcoded NEAREST), so NEAREST_EXACT silently produced plain NEAREST output (#9497)
  • [io] Fix a GIF decoder bug on malformed GIFs that could write outside the allocated tensor's memory (#9520)

Contributors

🎉 We're grateful for our community, which helps us improve Torchvision by submitting issues and PRs, and providing feedback and suggestions. The following persons have contributed patches for this release:

Andrey Talman, Benson Ma, Jason Fried, Joanne Yun, Nicolas Hug

TorchVision 0.27.1 Release

Choose a tag to compare

@atalman atalman released this 18 Jun 00:45
df56172

This is a patch release, which is compatible with PyTorch 2.12.1. There are no new features added.

TorchVision 0.27 Release

Choose a tag to compare

@NicolasHug NicolasHug released this 13 May 15:55
78839c2

TorchVision 0.27 is out! This is a small release where the main improvement is the addition of the popular lanczos interpolation mode for the v2.Resize transform on CPU. Results are equivalent to PIL's, but you can expect TorchVision to be faster as it leverages AVX2 (on x86) and NEON paths (on ARM).

Improvements

[transforms] Add support for lanczos interpolation mode (#9459)
[transforms] Drastically speed-up Resize on NEON ARM (#9439)
[ops] Vectorize masks_to_boxes for performance (#9358)
[ops, transforms] Add direct XYWH-CXCYWH conversion for better performance (#9326)
[datasets] torchvision.datasets.voc: update dataset and project site URLs (#9216)
[ops] Add support for rotated boxes in box_iou (#9404, #9379)
[ops][MPS] Improve runtime complexity of roi_align (#9100)
[Code quality] #9359, #9364, #9359, #9317, #9409, #9408, #9416, #9411, #4463, #9475, #9427, #9448, #9443, #9396, #9316, #9286, #9324, #9338, #9381, #9386

[Documentation] #9339, #9351, #9323, #9374, #9412, #9378, #9428, #9431, #9474, #9472, #9463, #9440, #9385, #9327, #9334, #8879, #9350, #9392

Bug Fixes

[transforms] Fix incorrect normalization axis in v2.ElasticTransform (#9300)
[transforms] Fix: add clamping to avoid v2.ElasticTransform IndexError when bbox equals canvas size (#9436)
[transforms] Fix tv_tensors.wrap to preserve subclass types for BoundingBoxes and KeyPoints (#9332)
[transforms] Fix CXCYWH to XYXY conversion for integer bounding boxes (#9322)
[ops] Fix masks_to_boxes for empty masks (#9357)

Contributors

🎉 We're grateful for our community, which helps us improve Torchvision by submitting issues and PRs, and providing feedback and suggestions. The following persons have contributed patches for this release:

Andrew Strelsky, Andrey Talman, David Miguel Susano Pinto, fruet, Joan Salvà Soler, jsalvasoler , Look001122, MPSFuzz , mselim00, Murat Raimbekov, Nicolas Hug , Nikita Shulga, Pierre Moulon, ribbon-otter, Richard Barnes, shrianshChari, Timon Erhart, Ting Lu, Wei Shan Sun, Zhitao Yu

TorchVision 0.26 Release

Choose a tag to compare

@NicolasHug NicolasHug released this 23 Mar 18:40
336d36e

TorchVision 0.26 is out! It is compatible with torch 2.11. It's a small release that comes with the following changes:

Breaking changes and deprecations

The video decoding and encoding utilities of TorchVision, which have been deprecate for a long time, are now removed. This includes torchvision.io.video.*, read_video, write_video, the VideoReader class, etc. Users are encouraged to switch to TorchCodec, which is faster and more stable.

The rare torchvision utilities that were still relying on video decoding (like the video datasets) have been transparently migrated to TorchCodec.

Note: the image decoders and encoders are staying in TorchVision.

(#9341, #9421, #9370, #9366)

Improvements

[ops] Speed up masks_to_boxes on CPU and GPU (#9358)
[ops] Improve runtime complexity of roi_align on MPS (#9100)

Various code quality improvements (#8760, #9364, #9317, #9359, #9334, #9286, #9327)
Various documentation improvements (#9339, #9374, #9323, #9324, #8879, #9350)

Bug Fixes

[transforms] Fix edge case conversion from CXCYWH to XYXY for integer bounding boxes in F.convert_bounding_box_format (#9322)
[transforms] Fix tv_tensors.wrap to preserve subclass types for BoundingBoxes and KeyPoints (#9332)
[transforms] Fix incorrect normalization axis in v2.ElasticTransform (#9300)
[ops] Fix masks_to_boxes for empty masks (#9357)
[io] Fix CPU jpeg and png decoder/encoder error-path leak on malformed inputs (#9434)

Contributors

🎉 We're grateful for our community, which helps us improve Torchvision by submitting issues and PRs, and providing feedback and suggestions. The following persons have contributed patches for this release:

Adam J. Stewart, Andrey Talman, Jaebeom, MPSFuzz , Murat Raimbekov, Nicolas Hug, ribbon-otter , Roy Hvaara, Salman Chishti, Scott Todd, Zhitao Yu

TorchVision 0.25 Release

Choose a tag to compare

@NicolasHug NicolasHug released this 21 Jan 17:04
8ac84ee

TorchVision 0.25 is out! It is compatible with torch 2.10. It's a small release that comes with the following improvements:

Enhancement

[transforms] KeyPoints aren't clamped by default anymore after a transform. This is a bug-fix that comes with a change of behavior. We also added the SanitizeKeyPoints transform to remove keypoints outside of the image area (#9236, #9235)
[utils] draw_bounding_boxes now supports a label_background_colors parameter (#9204)
[io] Fixed an issue in the GIF decoder (decode_gif, decode_image) which affected some (not all) animated GIFs. (#9241)
[misc] Various code-quality and docs improvements (#9218, #9270, #9250, #9247)

Contributors

🎉 We're grateful for our community, which helps us improve Torchvision by submitting issues and PRs, and providing feedback and suggestions. The following persons have contributed patches for this release:

Andrei Moraru, Andrey Talman, Antoine Simoulin , Arun Prakash A, Björn Barz, Huy Do, Nicolas Hug, Sean Gilligan, Wes Castro, Zhitao Yu

TorchVision 0.24.1 Release

Choose a tag to compare

@atalman atalman released this 12 Nov 20:06
d801a34

This is a patch release, which is compatible with PyTorch 2.9.1. There are no new features added.

Torchvision 0.24 release

Choose a tag to compare

@AntoineSimoulin AntoineSimoulin released this 15 Oct 17:30
7a9db90

Improving KeyPoints and Rotated boxes support!

We are releasing a tutorial on how to use KeyPoint transformations in our Transforms on KeyPoints with a preview below!

image

Note

These features are still in BETA status. The API are unlikely to change, but we may have some rough edges and we may make some slight bug fixes in future releases. Please let us know if you encounter any issue!

Detailed changes

Improvements

[ops] Improve efficiency of the box_area and box_iou functions by eliminating the intermediate to "xyxy" conversion (#8992)
[ops] Update box operations to support arbitrary batch dimensions (#9058)
[utils] Add control for the background color of label text boxes (#9204)
[transforms] Add support for uint8 image format to the GaussianNoise transform (#9169)
[transforms] Accelerate the resize transform on machines with AVX512 (#9190)
[transforms] Better error handling in RandomApply for empty list of transforms (#9130)
[documentation] New tutorial for KeyPoints transforms (#9209)
[documentation] Various documentation improvements (#9186, #9180, #9172)
[code quality] Various code quality improvements (#9193, #9161, #9201, #9218, #9160)

Bug Fixes and deprecations

[transforms] Fix output of some geometric transforms for rotated boxes (#9181, #9175)
[transforms] Fix clamping for key points and add sanitization feature (#9236, #9235)
[datasets] Update download links to official repo for the Caltech-101 & 256 datasets (#9205)
[ops] Raise error in drop_block[2,3]d by enforcing odd-sized block sizes (#9157)
[io] Removed deprecated video_reader video decoding backend. (#9208)

Contributors

🎉 We're grateful for our community, which helps us improve Torchvision by submitting issues and PRs, and providing feedback and suggestions. The following persons have contributed patches for this release: @alperenunlu, @AndreiMoraru123, @atalman, @AntoineSimoulin, @5had3z, @dcasbol, @GdoongMathew, @hrsvrn, @JonasKlotz, @zklaus, @NicolasHug, @rdong8, @scotts, @get9, @diaz-esparza, @ZainRizvi, @Callidior, and @pytorch/xla-devs

Torchvision 0.23 release

Choose a tag to compare

@AntoineSimoulin AntoineSimoulin released this 06 Aug 17:42
824e8c8

Highlight - Transforming KeyPoints and Rotated boxes!

📦 This release is introducing two highly popular feature requests: Transforms support for KeyPoints and Rotated Bounding Boxes!

  • Rotated Bounding Boxes provide a tighter fit and alignment with rotated and elongated objects, which improves the localization, reduces overlap in densely packed images, and improves isolation of objects in crowded scenes.
  • KeyPoints offer a robust and accurate way to identify and locate specific points of interest within an image or video frame. These features aim at improving developer experience to implement use cases, including detecting & tracking objects, estimating pose, analyzing facial expressions, and creating augmented reality experiences.

We illustrated the use of Rotated Bounding Boxes below. You can expect keypoints and rotated boxes to work with all existing torchvision transforms in torchvision.transforms.v2. You can find some examples on how to use those transformations in our Transforms on Rotated Bounding Boxes tutorials.

image

Note

These features are released in BETA status. The API are unlikely to change, but we may have some rough edges and we may make some slight bug fixes in future releases. Please let us know if you encounter any issue!

Detailed changes

New Features

[transforms] Added support for BoundingBoxes formats and transforms (#9104, #9084, #9095, #9138)
[transforms] Added the KeyPoints to TVTensor and support for transforms (#8817)

Improvements

[utils] Add label background to draw_bounding_boxes (#9018)
[MPS] Add deformable conv2d kernel support on MPS (#9017, #9115)
[documentation] Various documentation improvements (#9063, #9119, #9083, #9105, #9106, #9145)
[code-quality] Bunch of code quality improvements (#9087, #9093, #8814, #9035, #9120, #9080, #9027, #9062, #9117, #9024, #9032)

Bug Fixes

[datasets] Fix COCO dataset to avoid issue when copying the dataset results (#9107)
[datasets] Raise error when download=True for LFW dataset, which is not available for download anymore #9040)
[tv_tensors] Add error message when setting 1D tensor ToImage() (#9114)
[io] Warn when webp is asked to decode into grayscale (#9101)

Contributors

🎉 We're grateful for our community, which helps us improve Torchvision by submitting issues and PRs, and providing feedback and suggestions. The following persons have contributed patches for this release: @AlannaBurke, @Alexandre-SCHOEPP, @atalman, @AntoineSimoulin, @BoyuanFeng, @cyyever, @elmuz, @emmanuel-ferdman, @hmk114, @Isalia20, @NicolasHug, @malfet, @chengolivia, @RhutvikH, @hvaara, @scotts, @alinpahontu2912, @tsahiasher, and @youcefouadjer.

TorchVision 0.22.1 Release

Choose a tag to compare

@atalman atalman released this 04 Jun 18:18
59a3e1f

Key info

⚠️ We are updating the areas that TorchVision will be prioritizing in the future. Please take a look at #9036 for more details.

⚠️ We are deprecating the video decoding and encoding capabilities of TorchVision, and they will be removed soon in version 0.25 (aimed for end of 2025). We encourage users to migrate existing video decoding code to rely on TorchCodec project, where we are consolidating all media decoding/encoding functionalities of PyTorch.

This is a patch release, which is compatible with PyTorch 2.7.1. There are no new features added.

Torchvision 0.22 release

Choose a tag to compare

@NicolasHug NicolasHug released this 23 Apr 16:03
9eb57cd

Key info

⚠️ We are updating the areas that TorchVision will be prioritizing in the future. Please take a look at #9036 for more details.

⚠️ We are deprecating the video decoding and encoding capabilities of TorchVision, and they will be removed soon in version 0.25 (aimed for end of 2025). We encourage users to migrate existing video decoding code to rely on TorchCodec project, where we are consolidating all media decoding/encoding functionalities of PyTorch.

Detailed Changes

Deprecations

[io] Video decoding and encoding capabilities are deprecated and will be removed soon in 0.25! Please migrate to TorchCodec! (#8997)

Bug Fixes

[io] Fix sync bug with encode_jpeg on CUDA (#8929)
[transforms] pin_memory() now preserves TVTensor class and metadata (#8921)

Improvements

[datasets] Most datasets now support a loader parameter, which allow you to decode images directly into tensors with torchvision.io.decode_image(), instead of relying on PIL. This should lead to faster pipelines! (#8945, #8972, #8939, #8922)
[datasets] Add classes attribute to the Flowers102 dataset (#8838)
[datasets] Added 'test' split support for Places365 dataset (#8928)
[datasets] Reduce output log on MNIST (#8865)
[ops] Perf: greatly speed-up NMS on CUDA when num_boxes is high (#8766, #8925)
[ops] Add roi_align nondeterministic support for XPU (#8931)
[all] Improvements on input checks and error messages (#8959, #8994, #8944, #8995, #8993, #8866, #8882, #8851, #8844, #8991)
[build] Various build improvements / platforms support (#8913, #8933, #8936, #8792)
[docs] Various documentation improvements (#8843, #8860, #9014, #9015, #8932)
[misc] Other non-user-facing changes (#8872, #8982, #8976, #8935, #8977, #8978, #8963, #8975, #8974, #8950, #8970, #8924, #8964, #8996, #8920, #8873, #8876, #8885, #8890, #8901, #8999, #8998, #8973, #8897, #9007, #8852)

Contributors

We're grateful for our community, which helps us improve torchvision by submitting issues and PRs, and providing feedback and suggestions. The following persons have contributed patches for this release:

Aditya Kamath, Alexandre Ghelfi, PhD, Alfredo Tupone, amdfaa, Andrey Talman, Antoine Simoulin, Aurélien Geron, bjarzemb, deekay42, Frost Mitchell, frost-intel , GdoongMathew, Hangxing Wei, Huy Do, Nicolas Hug, Nikita Shulga, Noopur, Ruben, tvukovic-amd, Wenchen Li, Wieland Morgenstern , Yichen Yan, Yonghye Kwon, Zain Rizvi