content: import torch
  from torch.optim import Adam, AdamW
  
  from nnunetv2.training.lr_scheduler.polylr import PolyLRScheduler
  from nnunetv2.training.nnUNetTrainer.nnUNetTrainer import nnUNetTrainer
  
  
  class nnUNetTrainerAdam(nnUNetTrainer):
      def configure_optimizers(self):
          optimizer = AdamW(self.network.parameters(),
                            lr=self.initial_lr,
                            weight_decay=self.weight_decay,
                            amsgrad=True)
          # optimizer = torch.optim.SGD(self.network.parameters(), self.initial_lr, weight_decay=self.weight_decay,
          #                             momentum=0.99, nesterov=True)
          lr_scheduler = PolyLRScheduler(optimizer, self.initial_lr, self.num_epochs)
          return optimizer, lr_scheduler
  
  
  class nnUNetTrainerVanillaAdam(nnUNetTrainer):
      def configure_optimizers(self):
          optimizer = Adam(self.network.parameters(),
                           lr=self.initial_lr,
                           weight_decay=self.weight_decay)
          # optimizer = torch.optim.SGD(self.network.parameters(), self.initial_lr, weight_decay=self.weight_decay,
          #                             momentum=0.99, nesterov=True)
          lr_scheduler = PolyLRScheduler(optimizer, self.initial_lr, self.num_epochs)
          return optimizer, lr_scheduler
  
  
  class nnUNetTrainerVanillaAdam1en3(nnUNetTrainerVanillaAdam):
      def __init__(self, plans: dict, configuration: str, fold: int, dataset_json: dict,
                   device: torch.device = torch.device('cuda')):
          super().__init__(plans, configuration, fold, dataset_json, device)
          self.initial_lr = 1e-3
  
  
  class nnUNetTrainerVanillaAdam3en4(nnUNetTrainerVanillaAdam):
      # https://twitter.com/karpathy/status/801621764144971776?lang=en
      def __init__(self, plans: dict, configuration: str, fold: int, dataset_json: dict,
                   device: torch.device = torch.device('cuda')):
          super().__init__(plans, configuration, fold, dataset_json, device)
          self.initial_lr = 3e-4
  
  
  class nnUNetTrainerAdam1en3(nnUNetTrainerAdam):
      def __init__(self, plans: dict, configuration: str, fold: int, dataset_json: dict,
                   device: torch.device = torch.device('cuda')):
          super().__init__(plans, configuration, fold, dataset_json, device)
          self.initial_lr = 1e-3
  
  
  class nnUNetTrainerAdam3en4(nnUNetTrainerAdam):
      # https://twitter.com/karpathy/status/801621764144971776?lang=en
      def __init__(self, plans: dict, configuration: str, fold: int, dataset_json: dict,
                   device: torch.device = torch.device('cuda')):
          super().__init__(plans, configuration, fold, dataset_json, device)
          self.initial_lr = 3e-4
  