Shortcuts

UCF101

class torchvision.datasets.UCF101(root: Union[str, Path], annotation_path: str, frames_per_clip: int, step_between_clips: int = 1, frame_rate: Optional[int] = None, fold: int = 1, train: bool = True, transform: Optional[Callable] = None, _precomputed_metadata: Optional[Dict[str, Any]] = None, num_workers: int = 1, _video_width: int = 0, _video_height: int = 0, _video_min_dimension: int = 0, _audio_samples: int = 0, output_format: str = 'THWC')[source]

UCF101 数据集。

UCF101 是一个动作识别视频数据集。 该数据集将每个视频视为固定大小的视频片段的集合,由 frames_per_clip 指定,其中每个片段之间的帧步长由 step_between_clips 给出。数据集本身可以从数据集网站下载;annotation_path 应指向的注释可以从 这里 下载。

举个例子,对于分别有10帧和15帧的2个视频,如果frames_per_clip=5step_between_clips=5,数据集的大小将是(2 + 3)= 5,其中前两个 元素将来自视频1,接下来的三个元素来自视频2。 请注意,我们会丢弃那些没有恰好frames_per_clip元素的片段,因此并非所有 视频中的帧都可能出现。

在内部,它使用一个VideoClips对象来处理剪辑的创建。

Parameters:
  • root (str 或 pathlib.Path) – UCF101 数据集的根目录。

  • annotation_path (str) – 包含分割文件的文件夹路径; 有关这些文件的下载说明,请参阅上面的文档字符串

  • frames_per_clip (int) – 每个剪辑中的帧数。

  • step_between_clips (int, optional) – 每个剪辑之间的帧数。

  • fold (int, optional) – 使用哪个折叠。应在1到3之间。

  • train (bool, 可选) – 如果 True,则从训练集创建数据集, 否则从 test 集创建。

  • transform (callable, optional) – 一个函数/转换,它接收一个TxHxWxC的视频并返回转换后的版本。

  • output_format (str, 可选) – 输出视频张量的格式(在转换之前)。 可以是“THWC”(默认)或“TCHW”。

Returns:

一个包含以下条目的3元组:

  • video (Tensor[T, H, W, C] 或 Tensor[T, C, H, W]): T 视频帧

  • audio(Tensor[K, L]): 音频帧,其中 K 是通道数 且 L 是点数

  • label (int): 视频片段的类别

Return type:

tuple

Special-members:

__getitem__(idx: int) Tuple[Tensor, Tensor, int][source]
Parameters:

index (int) – 索引

Returns:

样本和元数据,可选择通过各自的转换进行转换。

Return type:

(任何)