def __init__(self,
                 video_path,
                 annotation_path,
                 subset,
                 n_samples_for_each_video=1,
                 spatial_transform=None,
                 temporal_transform=None,
                 target_transform=None,
                 sample_duration=16,
                 flow_path=None,
                 return_rgb=True,
                 return_flow=False,
                 video_reader=None,
                 video_format='frames',
                 image_reader='opencv'):
        if not video_reader:
            self.video_loader = make_video_reader(video_format, image_reader)
        else:
            self.video_loader = video_reader

        self.data, self.class_names = load_annotation(annotation_path,
                                                      flow_path, video_path,
                                                      subset, video_format)

        if not self.data:
            raise ValueError(
                "No videos found in {!s} directory. Please check correctness of provided paths"
                .format(video_path))

        self.data = sample_clips(self.data, n_samples_for_each_video,
                                 sample_duration)

        self.spatial_transform = spatial_transform
        self.temporal_transform = temporal_transform
        self.target_transform = target_transform
        self.return_rgb = return_rgb
        self.return_flow = return_flow
 def test_returns_frame_reader_by_default(self):
     video_reader = make_video_reader()
     assert isinstance(video_reader, ImageDirReader)
 def test_returns_opencv_by_default(self):
     video_reader = make_video_reader()
     assert video_reader.read_image_fn is opencv_read_image