src.valid_ds or src.train_ds are invalid keysfor ds_type, so you shouldn’t use them.
Note that the training dataloader drops the last batch if it doesn’t have batch size items, so that’s why you have the wrong length. ds_type = DatasetType.Fix will give you the training set un-shuffled and with that last batch.
get_preds doesn’t directly accept data, but rather the DatasetType, such as DatasetType.Valid or DatasetType.Test which tells it what dataset in the databunch to run on. If you need to add a test set to you databunch, there are a couple of different ways to do it.