Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dependency torchvision to v0.18.0 #107

Closed
wants to merge 1 commit into from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Oct 4, 2023

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
torchvision ==0.15.2 -> ==0.18.0 age adoption passing confidence

Release Notes

pytorch/vision (torchvision)

v0.18.0: TorchVision 0.18 Release

Compare Source

BC-Breaking changes

[datasets] gdown is now a required dependency for downloading datasets that are on Google Drive. This change was actually introduced in 0.17.1 (repeated here for visibility) (#​8237)
[datasets] The StanfordCars dataset isn’t available for download anymore. Please follow these instructions to manually download it (#​8309, #​8324)
[transforms] to_grayscale and corresponding transform now always return 3 channels when num_output_channels=3 (#​8229)

Bug Fixes

[datasets] Fix download URL of EMNIST dataset (#​8350)
[datasets] Fix root path expansion in Kitti dataset (#​8164)
[models] Fix default momentum value of BatchNorm2d in MaxViT from 0.99 to 0.01 (#​8312)
[reference scripts] Fix CutMix and MixUp arguments (#​8287)
[MPS, build] Link essential libraries in cmake (#​8230)
[build] Fix build with ffmpeg 6.0 (#​8096)

New Features

[transforms] New GrayscaleToRgb transform (#​8247)
[transforms] New JPEG augmentation transform (#​8316)

Improvements

[datasets, io] Added pathlib.Path support to datasets and io utilities. (#​8196, #​8200, #​8314, #​8321)
[datasets] Added allow_empty parameter to ImageFolder and related utils to support empty classes during image discovery (#​8311)
[datasets] Raise proper error in CocoDetection when a slice is passed (#​8227)
[io] Added support for EXIF orientation in JPEG and PNG decoders (#​8303, #​8279, #​8342, #​8302)
[io] Avoiding unnecessary copies on io.VideoReader with pyav backend (#​8173)
[transforms] Allow SanitizeBoundingBoxes to sanitize more than labels (#​8319)
[transforms] Add sanitize_bounding_boxes kernel/functional (#​8308)
[transforms] Make perspective more numerically stable (#​8249)
[transforms] Allow 2D numpy arrays as inputs for to_image (#​8256)
[transforms] Speed-up rotate for 90, 180, 270 degrees (#​8295)
[transforms] Enabled torch compile on affine transform (#​8218)
[transforms] Avoid some graph breaks in transforms (#​8171)
[utils] Add float support to draw_keypoints (#​8276)
[utils] Add visibility parameter to draw_keypoints (#​8225)
[utils] Add float support to draw_segmentation_masks (#​8150)
[utils] Better show overlap section of masks in draw_segmentation_masks (#​8213)
[Docs] Various documentation improvements (#​8341, #​8332, #​8198, #​8318, #​8202, #​8246, #​8208, #​8231, #​8300, #​8197)
[code quality] Various code quality improvements (#​8273, #​8335, #​8234, #​8345, #​8334, #​8119, #​8251, #​8329, #​8217, #​8180, #​8105, #​8280, #​8161, #​8313)

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 Dangoor Ahmad Sharif , ahmadsharif1, Andrey Talman, Anner, anthony-cabacungan, Arun Sathiya, Brizar, Brizar , cdzhan, Danylo Baibak, Huy Do, Ivan Magazinnik, JavaZero, Johan Edstedt, Li-Huai (Allan) Lin, Mantas, Mark Harfouche, Mithra, Nicolas Hug, Nicolas Hug , nihui, Philip Meier, Philip Meier , RazaProdigy , Richard Barnes , Riza Velioglu, sam-watts, Santiago Castro, Sergii Dymchenko, Syed Raza, talcs, Thien Tran, Thien Tran , TilmannR, Tobias Fischer, vfdev, vfdev , Zhu Lin Ch'ng, Zoltán Böszörményi.

v0.17.2: TorchVision 0.17.2 Release

Compare Source

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

v0.17.1: TorchVision 0.17.1 Release

Compare Source

This is a patch release, which is compatible with PyTorch 2.2.1.

Bug Fixes

v0.17.0: TorchVision 0.17 Release

Compare Source

Highlights

The V2 transforms are now stable!

The torchvision.transforms.v2 namespace was still in BETA stage until now. It is now stable! Whether you’re new to Torchvision transforms, or you’re already experienced with them, we encourage you to start with Getting started with transforms v2 in order to learn more about what can be done with the new v2 transforms.

Browse our main docs for general information and performance tips. The available transforms and functionals are listed in the API reference. Additional information and tutorials can also be found in our example gallery, e.g. Transforms v2: End-to-end object detection/segmentation example or How to write your own v2 transforms.

Towards torch.compile() support

We are progressively adding support for torch.compile() to torchvision interfaces, reducing graph breaks and allowing dynamic shape.

The torchvision ops (nms, [ps_]roi_align, [ps_]roi_pool and deform_conv_2d) are now compatible with torch.compile and dynamic shapes.

On the transforms side, the majority of low-level kernels (like resize_image() or crop_image()) should compile properly without graph breaks and with dynamic shapes. We are still addressing the remaining edge-cases, moving up towards full functional support and classes, and you should expect more progress on that front with the next release.


Detailed Changes

Breaking changes / Finalizing deprecations

  • [transforms] We changed the default of the antialias parameter from None to True, in all transforms that perform resizing. This change of default has been communicated in previous versions, and should drastically reduce the amount of bugs/surprises as it aligns the tensor backend with the PIL backend. Simply put: from now on, antialias is always applied when resizing (with bilinear or bicubic modes), whether you're using tensors or PIL images. This change only affects the tensor backend, as PIL always applies antialias anyway. (#​7949)
  • [transforms] We removed the torchvision.transforms.functional_tensor.py and torchvision.transforms.functional_pil.py modules, as these had been deprecated for a while. Use the public functionals from torchvision.transforms.v2.functional instead. (#​7953)
  • [video] Remove deprecated path parameter to VideoReader and made src mandatory (#​8125)
  • [transforms] to_pil_image now provides the same output for equivalent numpy arrays and tensor inputs (#​8097)

Bug Fixes

[datasets] Fix root path expansion in datasets.Kitti (#​8165)
[transforms] allow sequence fill for v2 AA scripted (#​7919)
[reference scripts] Fix quantized references (#​8073)
[reference scripts] Fix IoUs reported in segmentation references (#​7916)

New Features

[datasets] add Imagenette dataset (#​8139)

Improvements

[transforms] The v2 transforms are now officially stable and out of BETA stage (#​8111)
[ops] The ops ([ps_]roi_align, ps_[roi_pool], deform_conv_2d) are now compatible with torch.compile and dynamic shapes (#​8061, #​8049, #​8062, #​8063, #​7942, #​7944)
[models] Allow custom atrous_rates for deeplabv3_mobilenet_v3_large (#​8019)
[transforms] allow float fill for integer images in F.pad (#​7950)
[transforms] allow len 1 sequences for fill with PIL (#​7928)
[transforms] allow size to be generic Sequence in Resize (#​7999)
[transforms] Making root parameter optional for Vision Dataset (#​8124)
[transforms] Added support for tv tensors in torch compile for func ops (#​8110)
[transforms] Reduced number of graphs for compiled resize (#​8108)
[misc] Various fixes for S390x support (#​8149)
[Docs] Various Documentation enhancements (#​8007, #​8014, #​7940, #​7989, #​7993, #​8114, #​8117, #​8121, #​7978, #​8002, #​7957, #​7907, #​8000, #​7963)
[Tests] Various test enhancements (#​8032, #​7927, #​7933, #​7934, #​7935, #​7939, #​7946, #​7943, #​7968, #​7967, #​8033, #​7975, #​7954, #​8001, #​7962, #​8003, #​8011, #​8012, #​8013, #​8023, #​7973, #​7970, #​7976, #​8037, #​8052, #​7982, #​8145, #​8148, #​8144, #​8058, #​8057, #​7961, #​8132, #​8133, #​8160)
[Code Quality] (#​8077, #​8070, #​8004, #​8113,

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:

Aleksei Nikiforov. Alex Wei, Andrey Talman, Chunyuan WU, CptCaptain, Edward Z. Yang, Gu Wang, Haochen Yu, Huy Do, Jeff Daily, Josh Levy-Kramer, moto, Nicolas Hug, NVS Abhilash, Omkar Salpekar, Philip Meier, Sergii Dymchenko, Siddharth Singh, Thiago Crepaldi, Thomas Fritz, TilmannR, vfdev-5, Zeeshan Khan Suri.

v0.16.2: TorchVision 0.16.2 Release

Compare Source

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

v0.16.1: TorchVision 0.16.1 Release

Compare Source

This is a minor release that only contains bug-fixes

Bug Fixes
  • [models] Fix download of efficientnet weights (#​8036)
  • [transforms] Fix v2 transforms in spawn multi-processing context (#​8067)

v0.16.0: TorchVision 0.16 - Transforms speedups, CutMix/MixUp, and MPS support!

Compare Source

Highlights

[BETA] Transforms and augmentations

sphx_glr_plot_transforms_getting_started_004

Major speedups

The new transforms in torchvision.transforms.v2 support image classification, segmentation, detection, and video tasks. They are now 10%-40% faster than before! This is mostly achieved thanks to 2X-4X improvements made to v2.Resize(), which now supports native uint8 tensors for Bilinear and Bicubic mode. Output results are also now closer to PIL's! Check out our performance recommendations to learn more.

Additionally, torchvision now ships with libjpeg-turbo instead of libjpeg, which should significantly speed-up the jpeg decoding utilities (read_image, decode_jpeg), and avoid compatibility issues with PIL.

CutMix and MixUp

Long-awaited support for the CutMix and MixUp augmentations is now here! Check our tutorial to learn how to use them.

Towards stable V2 transforms

In the previous release 0.15 we BETA-released a new set of transforms in torchvision.transforms.v2 with native support for tasks like segmentation, detection, or videos. We have now stabilized the design decisions of these transforms and made further improvements in terms of speedups, usability, new transforms support, etc.

We're keeping the torchvision.transforms.v2 and torchvision.tv_tensors namespaces as BETA until 0.17 out of precaution, but we do not expect disruptive API changes in the future.

Whether you’re new to Torchvision transforms, or you’re already experienced with them, we encourage you to start with Getting started with transforms v2 in order to learn more about what can be done with the new v2 transforms.

Browse our main docs for general information and performance tips. The available transforms and functionals are listed in the API reference. Additional information and tutorials can also be found in our example gallery, e.g. Transforms v2: End-to-end object detection/segmentation example or How to write your own v2 transforms.

[BETA] MPS support

The nms and roi-align kernels (roi_align, roi_pool, ps_roi_align, ps_roi_pool) now support MPS. Thanks to Li-Huai (Allan) Lin for this contribution!


Detailed Changes

Deprecations / Breaking changes

All changes below happened in the transforms.v2 and datapoints namespaces, which were BETA and protected with a warning. We do not expect other disruptive changes to these APIs moving forward!

[transforms.v2] to_grayscale() is not deprecated anymore (#​7707)
[transforms.v2] Renaming: torchvision.datapoints.Datapoint -> torchvision.tv_tensors.TVTensor (#​7904, #​7894)
[transforms.v2] Renaming: BoundingBox -> BoundingBoxes (#​7778)
[transforms.v2] Renaming: BoundingBoxes.spatial_size -> BoundingBoxes.canvas_size (#​7734)
[transforms.v2] All public method on TVTensor classes (previously: Datapoint classes) were removed
[transforms.v2] transforms.v2.utils is now private. (#​7863)
[transforms.v2] Remove wrap_like class method and add tv_tensors.wrap() function (#​7832)

New Features

[transforms.v2] Add support for MixUp and CutMix (#​7731, #​7784)
[transforms.v2] Add PermuteChannels transform (#​7624)
[transforms.v2] Add ToPureTensor transform (#​7823)
[ops] Add MPS kernels for nms and roi ops (#​7643)

Improvements

[io] Added support for CMYK images in decode_jpeg (#​7741)
[io] Package torchvision with libjpeg-turbo instead of libjpeg (#​7672, #​7840)
[models] Downloaded weights are now sha256-validated (#​7219)
[transforms.v2] Massive Resize speed-up by adding native uint8 support for bilinear and bicubic modes (#​7557, #​7668)
[transforms.v2] Enforce pickleability for v2 transforms and wrapped datasets (#​7860)
[transforms.v2] Allow catch-all "others" key in fill dicts. (#​7779)
[transforms.v2] Allow passthrough for Resize (#​7521)
[transforms.v2] Add scale option to ToDtype. Remove ConvertDtype. (#​7759, #​7862)
[transforms.v2] Improve UX for Compose (#​7758)
[transforms.v2] Allow users to choose whether to return TVTensor subclasses or pure Tensor (#​7825)
[transforms.v2] Remove import-time warning for v2 namespaces (#​7853, 7897)
[transforms.v2] Speedup hsv2rgb (#​7754)
[models] Add filter parameters to list_models() (#​7718)
[models] Assert RAFT input resolution is 128 x 128 or higher (#​7339)
[ops] Replaced gpuAtomicAdd by fastAtomicAdd (#​7596)
[utils] Add GPU support for draw_segmentation_masks (#​7684)
[ops] Add deterministic, pure-Python roi_align implementation (#​7587)
[tv_tensors] Make TVTensors deepcopyable (#​7701)
[datasets] Only return small set of targets by default from dataset wrapper (#​7488)
[references] Added support for v2 transforms and tensors / tv_tensors backends (#​7732, #​7511, #​7869, #​7665, #​7629, #​7743, #​7724, #​7742)
[doc] A lot of documentation improvements (#​7503, #​7843, #​7845, #​7836, #​7830, #​7826, #​7484, #​7795, #​7480, #​7772, #​7847, #​7695, #​7655, #​7906, #​7889, #​7883, #​7881, #​7867, #​7755, #​7870, #​7849, #​7854, #​7858, #​7621, #​7857, #​7864, #​7487, #​7859, #​7877, #​7536, #​7886, #​7679, #​7793, #​7514, #​7789, #​7688, #​7576, #​7600, #​7580, #​7567, #​7459, #​7516, #​7851, #​7730, #​7565, #​7777)

Bug Fixes

[datasets] Fix split=None in MovingMNIST (#​7449)
[io] Fix heap buffer overflow in decode_png (#​7691)
[io] Fix blurry screen in video decoder (#​7552)
[models] Fix weight download URLs for some models (#​7898)
[models] Fix ShuffleNet ONNX export (#​7686)
[models] Fix detection models with pytorch 2.0 (#​7592, #​7448)
[ops] Fix segfault in DeformConv2d when mask is None (#​7632)
[transforms.v2] Stricter SanitizeBoundingBoxes labels_getter heuristic (#​7880)
[transforms.v2] Make sure RandomPhotometricDistort transforms all images the same (#​7442)
[transforms.v2] Fix v2.Lambda’s transformed types (#​7566)
[transforms.v2] Don't call round() on float images for Resize (#​7669)
[transforms.v2] Let SanitizeBoundingBoxes preserve output type (#​7446)
[transforms.v2] Fixed int type support for sigma in GaussianBlur (#​7887)
[transforms.v2] Fixed issue with jitted AutoAugment transforms (#​7839)
[transforms] Fix Resize pass-through logic (#​7519)
[utils] Fix color in draw_segmentation_masks (#​7520)

Others

[tests] Various test improvements / fixes (#​7693, #​7816, #​7477, #​7783, #​7716, #​7355, #​7879, #​7874, #​7882, #​7447, #​7856, #​7892, #​7902, #​7884, #​7562, #​7713, #​7708, #​7712, #​7703, #​7641, #​7855, #​7842, #​7717, #​7905, #​7553, #​7678, #​7908, #​7812, #​7646, #​7841, #​7768, #​7828, #​7820, #​7550, #​7546, #​7833, #​7583, #​7810, #​7625, #​7651)
[CI] Various CI improvements (#​7485, #​7417, #​7526, #​7834, #​7622, #​7611, #​7872, #​7628, #​7499, #​7616, #​7475, #​7639, #​7498, #​7467, #​7466, #​7441, #​7524, #​7648, #​7640, #​7551, #​7479, #​7634, #​7645, #​7578, #​7572, #​7571, #​7591, #​7470, #​7574, #​7569, #​7435, #​7635, #​7590, #​7589, #​7582, #​7656, #​7900, #​7815, #​7555, #​7694, #​7558, #​7533, #​7547, #​7505, #​7502, #​7540, #​7573)
[Code Quality] Various code quality improvements (#​7559, #​7673, #​7677, #​7771, #​7770, #​7710, #​7709, #​7687, #​7454, #​7464, #​7527, #​7462, #​7662, #​7593, #​7797, #​7805, #​7786, #​7831, #​7829, #​7846, #​7806, #​7814, #​7606, #​7613, #​7608, #​7597, #​7792, #​7781, #​7685, #​7702, #​7500, #​7804, #​7747, #​7835, #​7726, #​7796)

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, Aditya Oke , Andrey Talman, Camilo De La Torre, Christoph Reich, Danylo Baibak, David Chiu, David Garcia, Dennis M. Pöpperl, Dhuige, Duc Mguyen, Edward Z. Yang, Eric Sauser , Fansure Grin, Huy Do, Illia Vysochyn, Johannes, Kai Wana, Kobrin Eli, kurtamohler, Li-Huai (Allan) Lin, Liron Ilouz, Masahiro Hiramori, Mateusz Guzek, Max Chuprov, Minh-Long Luu (刘明龙), Minliang Lin, mpearce25, Nicolas Granger, Nicolas Hug , Nikita Shulga, Omkar Salpekar, Paul Mulders, Philip Meier , ptrblck, puhuk, Radek Bartoň, Richard Barnes , Riza Velioglu, Sahil Goyal, Shu, Sim Sun, SvenDS9, Tommaso Bianconcini, Vadim Zubov, vfdev-5


Configuration

📅 Schedule: Branch creation - "* 0-4 * * 3" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot changed the title Update dependency torchvision to v0.16.0 Update dependency torchvision to v0.16.1 Nov 15, 2023
@renovate renovate bot changed the title Update dependency torchvision to v0.16.1 Update dependency torchvision to v0.16.2 Dec 15, 2023
Copy link

[puLL-Merge] - pytorch/vision@v0.15.2..v0.16.2

logError 429 Request too large for gpt-3.5-turbo-16k-0613 in organization org-BnmWIy0BEq9kKl99WCZYV68U on tokens_usage_based per min: Limit 60000, Requested 538504. Visit https://platform.openai.com/account/rate-limits to learn more.

@renovate renovate bot changed the title Update dependency torchvision to v0.16.2 Update dependency torchvision to v0.17.0 Jan 30, 2024
Copy link

[puLL-Merge] - pytorch/vision@v0.15.2..v0.17.0

logError 429 Request too large for gpt-3.5-turbo-1106 in organization org-BnmWIy0BEq9kKl99WCZYV68U on tokens per min (TPM): Limit 160000, Requested 609194. The input or output tokens must be reduced in order to run successfully. Visit https://platform.openai.com/account/rate-limits to learn more.

@renovate renovate bot changed the title Update dependency torchvision to v0.17.0 Update dependency torchvision to v0.17.1 Feb 26, 2024
Copy link

[puLL-Merge] - pytorch/vision@v0.15.2..v0.17.1

logError 429 Request too large for gpt-3.5-turbo-0125 in organization org-BnmWIy0BEq9kKl99WCZYV68U on tokens per min (TPM): Limit 160000, Requested 611456. The input or output tokens must be reduced in order to run successfully. Visit https://platform.openai.com/account/rate-limits to learn more.

@renovate renovate bot force-pushed the renovate/torchvision-0.x branch from 7302c2f to 9c4f670 Compare March 31, 2024 22:45
@renovate renovate bot changed the title Update dependency torchvision to v0.17.1 Update dependency torchvision to v0.17.2 Mar 31, 2024
Copy link

[puLL-Merge] - pytorch/vision@v0.15.2..v0.17.2

logError 400 {"type":"error","error":{"type":"invalid_request_error","message":"prompt is too long: 342115 tokens > 199999 maximum"}}

@renovate renovate bot force-pushed the renovate/torchvision-0.x branch from 9c4f670 to 271f27a Compare April 28, 2024 16:31
@renovate renovate bot changed the title Update dependency torchvision to v0.17.2 Update dependency torchvision to v0.18.0 Apr 28, 2024
Copy link
Contributor Author

renovate bot commented Jun 3, 2024

Renovate Ignore Notification

Because you closed this PR without merging, Renovate will ignore this update (==0.18.0). You will get a PR once a newer version is released. To ignore this dependency forever, add it to the ignoreDeps array of your Renovate config.

If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.

@renovate renovate bot deleted the renovate/torchvision-0.x branch June 3, 2024 09:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant