code: def reset(self, params, repetition):
      
  
      pprint.pprint(params)
  
      self.initialize(params, repetition)
  
      # Load CIFAR dataset
      dataDir = params.get('dataDir', 'data')
      self.transform_train = transforms.Compose([
        transforms.RandomCrop(32, padding=4),
        transforms.RandomHorizontalFlip(),
        transforms.ToTensor(),
        transforms.Normalize((0.4914, 0.4822, 0.4465), (0.2023, 0.1994, 0.2010)),
      ])
      self.trainset = datasets.CIFAR10(root=dataDir, train=True, download=True,
                                  transform=self.transform_train)
  
      self.createModel(params, repetition)
  
      print("Torch reports", torch.cuda.device_count(), "GPUs available")
      if torch.cuda.device_count() > 1:
        self.model = torch.nn.DataParallel(self.model)
  
      self.model.to(self.device)
  
      self.optimizer = self.createOptimizer(self.model)
      self.lr_scheduler = self.createLearningRateScheduler(self.optimizer)
      self.test_loaders = self.createTestLoaders(self.noise_values)
docs: Called at the beginning of each experiment and each repetition