Skip to content

Upgrading torchvision 0.17 to 0.18

Breaking0.17.2 → 0.18.1Breaking1New3Fixed1

BreakingUpgrade verdict

1 breaking change.

  • [datasets] gdown is now a required dependency for downloading datasets that are on Google Drive.
1 item needs code or config changes

Moves nvidia-nccl-cu12 2.19.3 → 2.20.5, torch 2.2.2 → 2.3.1. Your build may pick other versions.

Breaking1
[datasets] gdown is now a required dependency for downloading datasets that are on Google Drive.
gdownStanfordCarsto_grayscalenum_output_channels=3

Generated by DepDelta from published Python source. Not mixed with prose notes.

  • changed: constructor Caltech101(root: str, target_type: Union[List[str], str]=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None → constructor Caltech101(root: Union[str, Path], target_type: Union[List[str], str]=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None
  • changed: constructor CelebA(root: str, split: str=…, target_type: Union[List[str], str]=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None → constructor CelebA(root: Union[str, Path], split: str=…, target_type: Union[List[str], str]=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None
  • changed: constructor CIFAR10(root: str, train: bool=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None → constructor CIFAR10(root: Union[str, Path], train: bool=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None
  • changed: constructor Cityscapes(root: str, split: str=…, mode: str=…, target_type: Union[List[str], str]=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, transforms: Optional[Callable]=…) -> None → constructor Cityscapes(root: Union[str, Path], split: str=…, mode: str=…, target_type: Union[List[str], str]=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, transforms: Optional[Callable]=…) -> None
  • changed: constructor CLEVRClassification(root: str, split: str=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None → constructor CLEVRClassification(root: Union[str, pathlib.Path], split: str=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None
  • changed: constructor CocoDetection(root: str, annFile: str, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, transforms: Optional[Callable]=…) -> None → constructor CocoDetection(root: Union[str, Path], annFile: str, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, transforms: Optional[Callable]=…) -> None
  • changed: constructor Country211(root: str, split: str=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None → constructor Country211(root: Union[str, Path], split: str=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None
  • changed: constructor DTD(root: str, split: str=…, partition: int=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None → constructor DTD(root: Union[str, pathlib.Path], split: str=…, partition: int=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None
  • changed: constructor EuroSAT(root: str, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None → constructor EuroSAT(root: Union[str, Path], transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None
  • changed: constructor FER2013(root: str, split: str=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…) -> None → constructor FER2013(root: Union[str, pathlib.Path], split: str=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…) -> None
  • changed: constructor FGVCAircraft(root: str, split: str=…, annotation_level: str=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None → constructor FGVCAircraft(root: Union[str, Path], split: str=…, annotation_level: str=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None
  • changed: constructor Flickr8k(root: str, ann_file: str, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…) -> None → constructor Flickr8k(root: Union[str, Path], ann_file: str, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…) -> None
  • changed: constructor Flickr8kParser(root: str) -> None → constructor Flickr8kParser(root: Union[str, Path]) -> None
  • changed: constructor Flowers102(root: str, split: str=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None → constructor Flowers102(root: Union[str, Path], split: str=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None
  • changed: constructor DatasetFolder(root: str, loader: Callable[[str], Any], extensions: Optional[Tuple[str, ...]]=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, is_valid_file: Optional[Callable[[str], bool]]=…) -> None → constructor DatasetFolder(root: Union[str, Path], loader: Callable[[str], Any], extensions: Optional[Tuple[str, ...]]=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, is_valid_file: Optional[Callable[[str], bool]]=…, allow_empty: bool=…) -> None
  • changed: constructor ImageFolder(root: str, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, loader: Callable[[str], Any]=…, is_valid_file: Optional[Callable[[str], bool]]=…) → constructor ImageFolder(root: str, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, loader: Callable[[str], Any]=…, is_valid_file: Optional[Callable[[str], bool]]=…, allow_empty: bool=…)
  • changed: function find_classes(directory: str) -> Tuple[List[str], Dict[str, int]] → function find_classes(directory: Union[str, Path]) -> Tuple[List[str], Dict[str, int]]
  • changed: function make_dataset(directory: str, class_to_idx: Optional[Dict[str, int]]=…, extensions: Optional[Union[str, Tuple[str, ...]]]=…, is_valid_file: Optional[Callable[[str], bool]]=…) -> List[Tuple[str, int]] → function make_dataset(directory: Union[str, Path], class_to_idx: Optional[Dict[str, int]]=…, extensions: Optional[Union[str, Tuple[str, ...]]]=…, is_valid_file: Optional[Callable[[str], bool]]=…, allow_empty: bool=…) -> List[Tuple[str, int]]
  • changed: method DatasetFolder.find_classes(directory: str) -> Tuple[List[str], Dict[str, int]] → method DatasetFolder.find_classes(directory: Union[str, Path]) -> Tuple[List[str], Dict[str, int]]
  • changed: static method DatasetFolder.make_dataset(directory: str, class_to_idx: Dict[str, int], extensions: Optional[Tuple[str, ...]]=…, is_valid_file: Optional[Callable[[str], bool]]=…) -> List[Tuple[str, int]] → static method DatasetFolder.make_dataset(directory: Union[str, Path], class_to_idx: Dict[str, int], extensions: Optional[Tuple[str, ...]]=…, is_valid_file: Optional[Callable[[str], bool]]=…, allow_empty: bool=…) -> List[Tuple[str, int]]
  • changed: constructor Food101(root: str, split: str=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None → constructor Food101(root: Union[str, Path], split: str=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None
  • changed: constructor GTSRB(root: str, split: str=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None → constructor GTSRB(root: Union[str, pathlib.Path], split: str=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None
  • changed: constructor HMDB51(root: str, annotation_path: str, frames_per_clip: int, step_between_clips: int=…, frame_rate: Optional[int]=…, fold: int=…, train: bool=…, transform: Optional[Callable]=…, _precomputed_metadata: Optional[Dict[str, Any]]=…, num_workers: int=…, _video_width: int=…, _video_height: int=…, _video_min_dimension: int=…, _audio_samples: int=…, output_format: str=…) -> None → constructor HMDB51(root: Union[str, Path], annotation_path: str, frames_per_clip: int, step_between_clips: int=…, frame_rate: Optional[int]=…, fold: int=…, train: bool=…, transform: Optional[Callable]=…, _precomputed_metadata: Optional[Dict[str, Any]]=…, num_workers: int=…, _video_width: int=…, _video_height: int=…, _video_min_dimension: int=…, _audio_samples: int=…, output_format: str=…) -> None
  • changed: constructor ImageNet(root: str, split: str=…, **kwargs: Any) -> None → constructor ImageNet(root: Union[str, Path], split: str=…, **kwargs: Any) -> None
  • changed: function load_meta_file(root: str, file: Optional[str]=…) -> Tuple[Dict[str, str], List[str]] → function load_meta_file(root: Union[str, Path], file: Optional[str]=…) -> Tuple[Dict[str, str], List[str]]
  • changed: function parse_devkit_archive(root: str, file: Optional[str]=…) -> None → function parse_devkit_archive(root: Union[str, Path], file: Optional[str]=…) -> None
  • changed: function parse_train_archive(root: str, file: Optional[str]=…, folder: str=…) -> None → function parse_train_archive(root: Union[str, Path], file: Optional[str]=…, folder: str=…) -> None
  • changed: function parse_val_archive(root: str, file: Optional[str]=…, wnids: Optional[List[str]]=…, folder: str=…) -> None → function parse_val_archive(root: Union[str, Path], file: Optional[str]=…, wnids: Optional[List[str]]=…, folder: str=…) -> None
  • changed: constructor Imagenette(root: str, split: str=…, size: str=…, download=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…) -> None → constructor Imagenette(root: Union[str, Path], split: str=…, size: str=…, download=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…) -> None
  • changed: constructor INaturalist(root: str, version: str=…, target_type: Union[List[str], str]=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None → constructor INaturalist(root: Union[str, Path], version: str=…, target_type: Union[List[str], str]=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None
  • changed: constructor Kinetics(root: str, frames_per_clip: int, num_classes: str=…, split: str=…, frame_rate: Optional[int]=…, step_between_clips: int=…, transform: Optional[Callable]=…, extensions: Tuple[str, ...]=…, download: bool=…, num_download_workers: int=…, num_workers: int=…, _precomputed_metadata: Optional[Dict[str, Any]]=…, _video_width: int=…, _video_height: int=…, _video_min_dimension: int=…, _… → constructor Kinetics(root: Union[str, Path], frames_per_clip: int, num_classes: str=…, split: str=…, frame_rate: Optional[int]=…, step_between_clips: int=…, transform: Optional[Callable]=…, extensions: Tuple[str, ...]=…, download: bool=…, num_download_workers: int=…, num_workers: int=…, _precomputed_metadata: Optional[Dict[str, Any]]=…, _video_width: int=…, _video_height: int=…, _video_min_dimens…
  • changed: constructor Kitti(root: str, train: bool=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, transforms: Optional[Callable]=…, download: bool=…) → constructor Kitti(root: Union[str, Path], train: bool=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, transforms: Optional[Callable]=…, download: bool=…)
  • changed: constructor LSUN(root: str, classes: Union[str, List[str]]=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…) -> None → constructor LSUN(root: Union[str, Path], classes: Union[str, List[str]]=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…) -> None
  • changed: constructor EMNIST(root: str, split: str, **kwargs: Any) -> None → constructor EMNIST(root: Union[str, Path], split: str, **kwargs: Any) -> None
  • changed: constructor MNIST(root: str, train: bool=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None → constructor MNIST(root: Union[str, Path], train: bool=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None
  • changed: constructor QMNIST(root: str, what: Optional[str]=…, compat: bool=…, train: bool=…, **kwargs: Any) -> None → constructor QMNIST(root: Union[str, Path], what: Optional[str]=…, compat: bool=…, train: bool=…, **kwargs: Any) -> None
  • changed: constructor MovingMNIST(root: str, split: Optional[str]=…, split_ratio: int=…, download: bool=…, transform: Optional[Callable]=…) -> None → constructor MovingMNIST(root: Union[str, Path], split: Optional[str]=…, split_ratio: int=…, download: bool=…, transform: Optional[Callable]=…) -> None
  • changed: constructor Omniglot(root: str, background: bool=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None → constructor Omniglot(root: Union[str, Path], background: bool=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None
  • changed: constructor OxfordIIITPet(root: str, split: str=…, target_types: Union[Sequence[str], str]=…, transforms: Optional[Callable]=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) → constructor OxfordIIITPet(root: Union[str, pathlib.Path], split: str=…, target_types: Union[Sequence[str], str]=…, transforms: Optional[Callable]=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…)
  • changed: constructor PCAM(root: str, split: str=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) → constructor PCAM(root: Union[str, pathlib.Path], split: str=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…)
  • changed: constructor PhotoTour(root: str, name: str, train: bool=…, transform: Optional[Callable]=…, download: bool=…) -> None → constructor PhotoTour(root: Union[str, Path], name: str, train: bool=…, transform: Optional[Callable]=…, download: bool=…) -> None
  • changed: constructor Places365(root: str, split: str=…, small: bool=…, download: bool=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, loader: Callable[[str], Any]=…) -> None → constructor Places365(root: Union[str, Path], split: str=…, small: bool=…, download: bool=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, loader: Callable[[str], Any]=…) -> None
  • changed: constructor RenderedSST2(root: str, split: str=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None → constructor RenderedSST2(root: Union[str, Path], split: str=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None
  • changed: constructor SBDataset(root: str, image_set: str=…, mode: str=…, download: bool=…, transforms: Optional[Callable]=…) -> None → constructor SBDataset(root: Union[str, Path], image_set: str=…, mode: str=…, download: bool=…, transforms: Optional[Callable]=…) -> None
  • changed: constructor SBU(root: str, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None → constructor SBU(root: Union[str, Path], transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None
  • changed: constructor SEMEION(root: str, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None → constructor SEMEION(root: Union[str, Path], transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None
  • changed: constructor StanfordCars(root: str, split: str=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None → constructor StanfordCars(root: Union[str, pathlib.Path], split: str=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None
  • changed: method StanfordCars.download() -> None → method StanfordCars.download()
  • changed: constructor STL10(root: str, split: str=…, folds: Optional[int]=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None → constructor STL10(root: Union[str, Path], split: str=…, folds: Optional[int]=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None
  • changed: constructor SUN397(root: str, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None → constructor SUN397(root: Union[str, Path], transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None
  • changed: constructor SVHN(root: str, split: str=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None → constructor SVHN(root: Union[str, Path], split: str=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None
  • changed: constructor UCF101(root: str, annotation_path: str, frames_per_clip: int, step_between_clips: int=…, frame_rate: Optional[int]=…, fold: int=…, train: bool=…, transform: Optional[Callable]=…, _precomputed_metadata: Optional[Dict[str, Any]]=…, num_workers: int=…, _video_width: int=…, _video_height: int=…, _video_min_dimension: int=…, _audio_samples: int=…, output_format: str=…) -> None → constructor UCF101(root: Union[str, Path], annotation_path: str, frames_per_clip: int, step_between_clips: int=…, frame_rate: Optional[int]=…, fold: int=…, train: bool=…, transform: Optional[Callable]=…, _precomputed_metadata: Optional[Dict[str, Any]]=…, num_workers: int=…, _video_width: int=…, _video_height: int=…, _video_min_dimension: int=…, _audio_samples: int=…, output_format: str=…) -> None
  • changed: constructor USPS(root: str, train: bool=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None → constructor USPS(root: Union[str, Path], train: bool=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None
  • changed: function calculate_md5(fpath: str, chunk_size: int=…) -> str → function calculate_md5(fpath: Union[str, pathlib.Path], chunk_size: int=…) -> str
  • changed: function check_integrity(fpath: str, md5: Optional[str]=…) -> bool → function check_integrity(fpath: Union[str, pathlib.Path], md5: Optional[str]=…) -> bool
  • changed: function check_md5(fpath: str, md5: str, **kwargs: Any) -> bool → function check_md5(fpath: Union[str, pathlib.Path], md5: str, **kwargs: Any) -> bool
  • changed: function download_and_extract_archive(url: str, download_root: str, extract_root: Optional[str]=…, filename: Optional[str]=…, md5: Optional[str]=…, remove_finished: bool=…) -> None → function download_and_extract_archive(url: str, download_root: Union[str, pathlib.Path], extract_root: Optional[Union[str, pathlib.Path]]=…, filename: Optional[Union[str, pathlib.Path]]=…, md5: Optional[str]=…, remove_finished: bool=…) -> None
  • changed: function download_file_from_google_drive(file_id: str, root: str, filename: Optional[str]=…, md5: Optional[str]=…) → function download_file_from_google_drive(file_id: str, root: Union[str, pathlib.Path], filename: Optional[Union[str, pathlib.Path]]=…, md5: Optional[str]=…)
  • changed: function download_url(url: str, root: str, filename: Optional[str]=…, md5: Optional[str]=…, max_redirect_hops: int=…) -> None → function download_url(url: str, root: Union[str, pathlib.Path], filename: Optional[Union[str, pathlib.Path]]=…, md5: Optional[str]=…, max_redirect_hops: int=…) -> None
  • changed: function extract_archive(from_path: str, to_path: Optional[str]=…, remove_finished: bool=…) -> str → function extract_archive(from_path: Union[str, pathlib.Path], to_path: Optional[Union[str, pathlib.Path]]=…, remove_finished: bool=…) -> Union[str, pathlib.Path]
  • changed: function list_dir(root: str, prefix: bool=…) -> List[str] → function list_dir(root: Union[str, pathlib.Path], prefix: bool=…) -> List[str]
  • changed: function list_files(root: str, suffix: str, prefix: bool=…) -> List[str] → function list_files(root: Union[str, pathlib.Path], suffix: str, prefix: bool=…) -> List[str]
  • changed: constructor VideoClips(video_paths: List[str], clip_length_in_frames: int=…, frames_between_clips: int=…, frame_rate: Optional[int]=…, _precomputed_metadata: Optional[Dict[str, Any]]=…, num_workers: int=…, _video_width: int=…, _video_height: int=…, _video_min_dimension: int=…, _video_max_dimension: int=…, _audio_samples: int=…, _audio_channels: int=…, output_format: str=…) -> None → constructor VideoClips(video_paths: List[str], clip_length_in_frames: int=…, frames_between_clips: int=…, frame_rate: Optional[float]=…, _precomputed_metadata: Optional[Dict[str, Any]]=…, num_workers: int=…, _video_width: int=…, _video_height: int=…, _video_min_dimension: int=…, _video_max_dimension: int=…, _audio_samples: int=…, _audio_channels: int=…, output_format: str=…) -> None
  • changed: method VideoClips.compute_clips(num_frames: int, step: int, frame_rate: Optional[int]=…) -> None → method VideoClips.compute_clips(num_frames: int, step: int, frame_rate: Optional[float]=…) -> None
  • changed: static method VideoClips.compute_clips_for_video(video_pts: torch.Tensor, num_frames: int, step: int, fps: int, frame_rate: Optional[int]=…) -> Tuple[torch.Tensor, Union[List[slice], torch.Tensor]] → static method VideoClips.compute_clips_for_video(video_pts: torch.Tensor, num_frames: int, step: int, fps: Optional[float], frame_rate: Optional[float]=…) -> Tuple[torch.Tensor, Union[List[slice], torch.Tensor]]
  • changed: constructor VisionDataset(root: str=…, transforms: Optional[Callable]=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…) -> None → constructor VisionDataset(root: Union[str, Path]=…, transforms: Optional[Callable]=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…) -> None
  • changed: constructor WIDERFace(root: str, split: str=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None → constructor WIDERFace(root: Union[str, Path], split: str=…, transform: Optional[Callable]=…, target_transform: Optional[Callable]=…, download: bool=…) -> None
  • changed: function decode_image(input: torch.Tensor, mode: ImageReadMode=…) -> torch.Tensor → function decode_image(input: torch.Tensor, mode: ImageReadMode=…, apply_exif_orientation: bool=…) -> torch.Tensor
  • changed: function decode_jpeg(input: torch.Tensor, mode: ImageReadMode=…, device: str=…) -> torch.Tensor → function decode_jpeg(input: torch.Tensor, mode: ImageReadMode=…, device: str=…, apply_exif_orientation: bool=…) -> torch.Tensor
  • changed: function decode_png(input: torch.Tensor, mode: ImageReadMode=…) -> torch.Tensor → function decode_png(input: torch.Tensor, mode: ImageReadMode=…, apply_exif_orientation: bool=…) -> torch.Tensor
  • changed: function read_image(path: str, mode: ImageReadMode=…) -> torch.Tensor → function read_image(path: str, mode: ImageReadMode=…, apply_exif_orientation: bool=…) -> torch.Tensor
  • changed: function to_tensor(pic) -> Tensor → function to_tensor(pic: Union[PILImage, np.ndarray]) -> Tensor
  • added: export JPEG
  • added: export RGB
  • added: export grayscale_to_rgb
  • added: export grayscale_to_rgb_image
  • added: export jpeg
  • added: export jpeg_image
  • added: export jpeg_video
  • added: export sanitize_bounding_boxes
  • changed: function draw_keypoints(image: torch.Tensor, keypoints: torch.Tensor, connectivity: Optional[List[Tuple[int, int]]]=…, colors: Optional[Union[str, Tuple[int, int, int]]]=…, radius: int=…, width: int=…) -> torch.Tensor → function draw_keypoints(image: torch.Tensor, keypoints: torch.Tensor, connectivity: Optional[List[Tuple[int, int]]]=…, colors: Optional[Union[str, Tuple[int, int, int]]]=…, radius: int=…, width: int=…, visibility: Optional[torch.Tensor]=…) -> torch.Tensor