You could use sklearn.model_selection.KFold 16 to create the folds and wrap your Dataset into Subsets to create the folds.
Alternatively you could also use SubsetSamplers and pass them to your DataLoader.
Also, skorch 9 is a scikit-compatible wrapper for PyTorch, which might make the whole workflow easier.