I’m not sure how indices is defined, but I assume all sample indices are stored there.
If so, you should slice them differently in each epoch. Currently you are just using the same indices in each epoch:
indices[:split]

Probably something like this should work in your use case:
for epoch in range(epochs-1):
    train_size = 1000
    idx = indices[epoch*train_size:(epoch+1)*train_size)
    train_Sample = torch.utils.data.sampler.SubsetRandomSampler(idx)