def test_loading_by_list_of_ints(self, image_folder_video_dataset):
        dataset = image_folder_video_dataset
        frame_idx = [0, 1, 3, 4]
        dataset.sampler = LambdaSampler(lambda video_length: frame_idx)

        frames = dataset[1]
        shape = frames.shape
        assert shape == (3, len(frame_idx), *self.video1_size)
    def test_loading_by_slice(self, image_folder_video_dataset):
        dataset = image_folder_video_dataset
        length = 4
        dataset.sampler = LambdaSampler(lambda video_length: slice(0, length, 1))

        frames = dataset[1]
        shape = frames.shape
        assert shape == (3, length, *self.video1_size)
Exemple #3
0
    def test_loading_by_slice(self, gulp_dataset):
        dataset = gulp_dataset
        length = 4
        gulp_dataset.sampler = LambdaSampler(lambda video_length: slice(0, length, 1))

        frames, _ = dataset[0]

        frames_shape = frames.size()
        assert frames_shape == (3, length, *self.size)
Exemple #4
0
    def test_loading_by_slice(self, video_folder_dataset):
        dataset = video_folder_dataset
        length = 4
        dataset.sampler = LambdaSampler(lambda video_length: slice(0, length, 1))

        frames = dataset[1]

        frames_shape = frames.shape
        assert frames_shape == (3, length, *self.size)
    def test_loading_by_list_of_slice(self, image_folder_video_dataset):
        dataset = image_folder_video_dataset
        lengths = 2, 3, 4
        dataset.sampler = LambdaSampler(
            lambda video_length: [slice(0, l, 1) for l in lengths]
        )

        frames = dataset[1]
        shape = frames.shape
        assert shape == (3, sum(lengths), *self.video1_size)
Exemple #6
0
    def test_loading_by_list_of_int(self, gulp_dataset):
        dataset = gulp_dataset
        frames_idx = [0, 1, 4, 7]

        gulp_dataset.sampler = LambdaSampler(lambda video_length: frames_idx)

        frames, _ = dataset[0]

        frames_shape = frames.size()
        assert frames_shape == (3, len(frames_idx), *self.size)
    def test_loading_by_list_of_slices(self, gulp_dataset):
        dataset = gulp_dataset
        lengths = 2, 3, 4
        gulp_dataset.sampler = LambdaSampler(
            lambda video_length: [slice(0, l, 1) for l in lengths])

        frames, _ = dataset[0]

        frames_shape = frames.size()
        assert frames_shape == (3, sum(lengths), *self.size)
Exemple #8
0
    def test_loading_by_list_of_slices(self, video_folder_dataset):
        dataset = video_folder_dataset
        slices = [(0, 2), (3, 5), (8, 10)]
        lengths = [(s[1] - s[0]) for s in slices]
        video_folder_dataset.sampler = LambdaSampler(
            lambda video_length: [slice(*s, 1) for s in slices])

        frames = dataset[1]

        frames_shape = frames.size()
        assert frames_shape == (3, sum(lengths), *self.size)
Exemple #9
0
    def test_repr(self):
        class MySampler:
            def __call__(self, video_length):
                return slice(0, video_length, 1)

            def __repr__(self):
                return self.__class__.__name__ + "()"

        sampler = LambdaSampler(MySampler())

        assert repr(sampler) == "LambdaSampler(sampler=MySampler())"
Exemple #10
0
    def test_throws_error_if_user_provided_sampling_fn_returns_invalid_idx(self):
        sampler = LambdaSampler(lambda frames: [frames + 1])

        with pytest.raises(ValueError):
            sampler.sample(10)