I would like to filter out my dataset every epoch by changing the sampler for the data loader, but when I change the sampler it gives me :
ValueError: sampler attribute should not be set after DataLoader is initialized
here’s my sample code :
def train_test(): epoch = epoch_n for e in range(epoch): train_loss, train_acuracy, losses = train(train_loader,criterion,optimizer,e+1,True) test_loss, test_acuracy = test(test_loader,criterion,optimizer,e+1,True) print('Epoch %d, Training Loss/Acc: %f//%f, Testing Loss/Acc: %f//%f' % (e+1,train_loss,train_acuracy,test_loss,test_acuracy)) indexsorted = rankloss(losses) indexcuted = cutdataset(indexsorted) train_loader.sampler = sampler.SubsetRandomSampler(indexcuted)
is there a way to do this ?