Upgrading torchvision 0.17 to 0.18
Breaking0.17.2 → 0.18.1Breaking1New3Fixed1
BreakingUpgrade verdict
1 breaking change.
In plain terms
- [datasets] gdown is now a required dependency for downloading datasets that are on Google Drive.
Must act 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.
What you must change
Breaking1
[datasets] gdown is now a required dependency for downloading datasets that are on Google Drive.
gdownStanfordCarsto_grayscalenum_output_channels=3API changes
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