mmaction2 / tests /datasets /test_video_dataset.py
niobures's picture
mmaction2
d3dbf03 verified
# Copyright (c) OpenMMLab. All rights reserved.
from mmengine.testing import assert_dict_has_keys
from mmaction.datasets import VideoDataset
from mmaction.utils import register_all_modules
from .base import BaseTestDataset
class TestVideoDataset(BaseTestDataset):
register_all_modules()
def test_video_dataset(self):
video_dataset = VideoDataset(
self.video_ann_file,
self.video_pipeline,
data_prefix={'video': self.data_prefix},
start_index=3)
assert len(video_dataset) == 2
assert video_dataset.start_index == 3
video_dataset = VideoDataset(
self.video_ann_file,
self.video_pipeline,
data_prefix={'video': self.data_prefix})
assert video_dataset.start_index == 0
def test_video_dataset_multi_label(self):
video_dataset = VideoDataset(
self.video_ann_file_multi_label,
self.video_pipeline,
data_prefix={'video': self.data_prefix},
multi_class=True,
num_classes=100)
assert video_dataset.start_index == 0
def test_video_pipeline(self):
target_keys = ['filename', 'label', 'start_index', 'modality']
# VideoDataset not in test mode
video_dataset = VideoDataset(
self.video_ann_file,
self.video_pipeline,
data_prefix={'video': self.data_prefix},
test_mode=False)
result = video_dataset[0]
assert assert_dict_has_keys(result, target_keys)
# VideoDataset in test mode
video_dataset = VideoDataset(
self.video_ann_file,
self.video_pipeline,
data_prefix={'video': self.data_prefix},
test_mode=True)
result = video_dataset[0]
assert assert_dict_has_keys(result, target_keys)