code: def logger(self, iteration, ret):
      
      print("Learning rate: {:f}".format(self.lr_scheduler.get_lr()[0]))
      entropies = getEntropies(self.model)
      print("Entropy and max entropy: ", float(entropies[0]), entropies[1])
      print("Training time for epoch=", self.epoch_train_time)
      for noise in self.noise_values:
        print("Noise= {:3.2f}, loss = {:5.4f}, Accuracy = {:5.3f}%".format(
          noise, ret[noise]["loss"], 100.0*ret[noise]["accuracy"]))
      print("Full epoch time =", self.epoch_time)
      if ret[0.0]["accuracy"] > 0.7:
        self.best_noise_score = max(ret[0.1]["accuracy"], self.best_noise_score)
        self.best_epoch = iteration
docs: Print out relevant information at each epoch