def split_train_val(self, val_split):
        """
        Child class needs to handle getting length of dataset differently.
        """
        train_len = int(self.dataset_train.num_videos * (1.0 - val_split))
        self.dataset_train, self.dataset_val = random_split(
            self.dataset_train,
            (train_len, self.dataset_train.num_videos - train_len),
            generator=torch.Generator().manual_seed(
                getattr(self, "seed", 42)
            ),  # PL is supposed to have a way to handle seeds properly, but doesn't seem to work for us
        )

        Child class needs to handle getting length of dataset differently.
        
analyze/convnexts4nd/src/dataloaders/vision.py