快捷方式

Kinetics

class torchvision.datasets.Kinetics(root: Union[str, Path], frames_per_clip: int, num_classes: str = '400', split: str = 'train', frame_rate: Optional[int] = None, step_between_clips: int = 1, transform: Optional[Callable] = None, extensions: Tuple[str, ...] = ('avi', 'mp4'), download: bool = False, num_download_workers: int = 1, num_workers: int = 1, _precomputed_metadata: Optional[Dict] = None, _video_width: int = 0, _video_height: int = 0, _video_min_dimension: int = 0, _audio_samples: int = 0, _audio_channels: int = 0, _legacy: bool = False, output_format: str = 'TCHW')[source]

通用 Kinetics 数据集。

Kinetics-400/600/700 是动作识别视频数据集。此数据集将每个视频视为固定大小的视频片段集合,大小由 frames_per_clip 指定,其中每个片段之间的帧步长由 step_between_clips 给出。

举例来说,对于 2 个分别有 10 帧和 15 帧的视频,如果 frames_per_clip=5step_between_clips=5,则数据集大小将为 (2 + 3) = 5,其中前两个元素来自视频 1,后三个元素来自视频 2。请注意,我们会删除不完全包含 frames_per_clip 元素的片段,因此并非视频中的所有帧都可能存在。

参数:
  • root (str 或 pathlib.Path) –

    Kinetics 数据集的根目录。目录结构应如下所示: .. code

    root/
    ├── split
    │   ├──  class1
    │   │   ├──  vid1.mp4
    │   │   ├──  vid2.mp4
    │   │   ├──  vid3.mp4
    │   │   ├──  ...
    │   ├──  class2
    │   │   ├──   vidx.mp4
    │   │    └── ...
    

    注意:split 会使用 split 参数自动追加。

  • frames_per_clip (int) – 每个片段中的帧数

  • num_classes (int) – 在 Kinetics-400(默认)、Kinetics-600 和 Kinetics-700 之间选择

  • split (str) – 要考虑的数据集拆分;支持 "train"(默认) "val" "test"

  • frame_rate (float) – 如果省略,则为每个片段插值不同的帧率。

  • step_between_clips (int) – 每个片段之间的帧数

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

  • download (bool) – 将数据集的官方版本下载到根文件夹。

  • num_workers (int) – 使用多个 worker 进行 VideoClips 创建

  • num_download_workers (int) – 使用多进程以加速下载。

  • output_format (str, optional) – 输出视频张量的格式(转换前)。可以是 “THWC” 或 “TCHW”(默认)。请注意,在大多数其他实用工具和数据集中,默认实际上是 “THWC”。

返回:

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

  • video (Tensor[T, C, H, W] 或 Tensor[T, H, W, C]): torch.uint8 张量中的 T 个视频帧

  • audio(Tensor[K, L]): 音频帧,其中 K 是通道数,L 是 torch.float 张量中的点数

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

返回类型:

tuple

Raises:

RuntimeError – 如果 download is True 且视频存档已解压。

特殊成员:

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

index (int) – 索引

返回:

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

返回类型:

(任意)

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取面向初学者和高级开发者的深度教程

查看教程

资源

查找开发资源并获得问题解答

查看资源