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=5
和step_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:
- Special-members: