BTW, I have also tried out the SubsetRandomSampler, but the results are somehow the same:
from torch.utils.data.sampler import SubsetRandomSampler
test_split = .2
shuffle_dataset = True
random_seed= 42

# Creating data indices for training and validation splits:
dataset_size = len(clean_loader)
indices = list(range(dataset_size))
split = int(np.floor(test_split * dataset_size))
if shuffle_dataset :
    np.random.seed(random_seed)
    np.random.shuffle(indices)
train_indices, test_indices = indices[split:], indices[:split]

# Creating PT data samplers and loaders:
train_sampler = SubsetRandomSampler(train_indices)
test_sampler = SubsetRandomSampler(test_indices)

train_loader = torch.utils.data.DataLoader(clean_loader, batch_size=1, 
                                           sampler=train_sampler)
test_loader = torch.utils.data.DataLoader(clean_loader, batch_size=1,
                                                sampler=test_sampler)
i = 0
for data in train_loader.dataset:
    i += 1
print(i)

i = 0
for step, data in enumerate(train_loader.dataset):
    i += 1
print(i)

i = 0
for (images, labels, index) in train_loader.dataset:
    i += 1
print(i)

for data in train_loader:
    print(data)

6929
6929
6929
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
 in 
----> 1 for data in train_loader:
      2     print(data)

C:\ProgramData\Anaconda3\lib\site-packages\torch\utils\data\dataloader.py in __next__(self)
    343 
    344     def __next__(self):
--> 345         data = self._next_data()
    346         self._num_yielded += 1
    347         if self._dataset_kind == _DatasetKind.Iterable and \

C:\ProgramData\Anaconda3\lib\site-packages\torch\utils\data\dataloader.py in _next_data(self)
    383     def _next_data(self):
    384         index = self._next_index()  # may raise StopIteration
--> 385         data = self._dataset_fetcher.fetch(index)  # may raise StopIteration
    386         if self._pin_memory:
    387             data = _utils.pin_memory.pin_memory(data)

C:\ProgramData\Anaconda3\lib\site-packages\torch\utils\data\_utils\fetch.py in fetch(self, possibly_batched_index)
     42     def fetch(self, possibly_batched_index):
     43         if self.auto_collation:
---> 44             data = [self.dataset[idx] for idx in possibly_batched_index]
     45         else:
     46             data = self.dataset[possibly_batched_index]

C:\ProgramData\Anaconda3\lib\site-packages\torch\utils\data\_utils\fetch.py in (.0)
     42     def fetch(self, possibly_batched_index):
     43         if self.auto_collation:
---> 44             data = [self.dataset[idx] for idx in possibly_batched_index]
     45         else:
     46             data = self.dataset[possibly_batched_index]

TypeError: 'DataLoader' object is not subscriptable

Basically, I have tried every style of iteration approach I could find, but still with no luck