Shortcuts

动力学

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[str, Any]] = 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]

Generic Kinetics 数据集。

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

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

Parameters:
  • 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的视频并返回转换后的版本。

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

  • num_workers (int) – 使用多个工作线程进行VideoClips创建

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

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

Returns:

一个包含以下条目的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): 视频片段的类别

Return type:

tuple

Raises:

RuntimeError – 如果 download is True 并且视频存档已经被提取。

Special-members:

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

index (int) – 索引

Returns:

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

Return type:

(任何)