BC-Breaking changes
[datasets] [`gdown`](https://github.com/wkentaro/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](https://github.com/pytorch/vision/issues/7545#issuecomment-1631441616) 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.