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)
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)
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)
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)
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)
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())"
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)