class_docstr: PL Lightning Module for the GANomaly Algorithm.
  
  Args:
      batch_size (int): Batch size.
      input_size (tuple[int, int]): Input dimension.
      n_features (int): Number of features layers in the CNNs.
      latent_vec_size (int): Size of autoencoder latent vector.
      extra_layers (int, optional): Number of extra layers for encoder/decoder. Defaults to 0.
      add_final_conv_layer (bool, optional): Add convolution layer at the end. Defaults to True.
      wadv (int, optional): Weight for adversarial loss. Defaults to 1.
      wcon (int, optional): Image regeneration weight. Defaults to 50.
      wenc (int, optional): Latent vector encoder weight. Defaults to 1.
class_docstr_tok: ["PL","Lightning","Module","for","the","GANomaly","Algorithm",".","Args",":","batch_size","(","int",")",":","Batch","size",".","input_size","(","tuple","[","int",",","int","]",")",":","Input","dimension",".","n_features","(","int",")",":","Number","of","features","layers","in","the","CNNs",".","latent_vec_size","(","int",")",":","Size","of","autoencoder","latent","vector",".","extra_layers","(","int",",","optional",")",":","Number","of","extra","layers","for","encoder\/decoder",".","Defaults","to","0.","add_final_conv_layer","(","bool",",","optional",")",":","Add","convolution","layer","at","the","end",".","Defaults","to","True",".","wadv","(","int",",","optional",")",":","Weight","for","adversarial","loss",".","Defaults","to","1.","wcon","(","int",",","optional",")",":","Image","regeneration","weight",".","Defaults","to","50.","wenc","(","int",",","optional",")",":","Latent","vector","encoder","weight",".","Defaults","to","1","."]
docstr: Configures optimizers for each decoder.
  
  Note:
      This method is used for the existing CLI.
      When PL CLI is introduced, configure optimizers method will be
          deprecated, and optimizers will be configured from either
          config.yaml file or from CLI.
  
  Returns:
      Optimizer: Adam optimizer for each decoder
docstr_tok: ["Configures","optimizers","for","each","decoder",".","Note",":","This","method","is","used","for","the","existing","CLI",".","When","PL","CLI","is","introduced",",","configure","optimizers","method","will","be","deprecated",",","and","optimizers","will","be","configured","from","either","config.yaml","file","or","from","CLI",".","Returns",":","Optimizer",":","Adam","optimizer","for","each","decoder"]
code: def configure_optimizers(self) -> list[optim.Optimizer]:
      """Configures optimizers for each decoder.
  
      Note:
          This method is used for the existing CLI.
          When PL CLI is introduced, configure optimizers method will be
              deprecated, and optimizers will be configured from either
              config.yaml file or from CLI.
  
      Returns:
          Optimizer: Adam optimizer for each decoder
      """
      optimizer_d = optim.Adam(
          self.model.discriminator.parameters(),
          lr=self.learning_rate,
          betas=(self.beta1, self.beta2),
      )
      optimizer_g = optim.Adam(
          self.model.generator.parameters(),
          lr=self.learning_rate,
          betas=(self.beta1, self.beta2),
      )
      return [optimizer_d, optimizer_g]
  
imports: from __future__ import annotations
  import logging
  import torch
  from omegaconf import DictConfig, ListConfig
  from pytorch_lightning.callbacks import Callback, EarlyStopping
  from pytorch_lightning.utilities.types import EPOCH_OUTPUT, STEP_OUTPUT
  from torch import Tensor, optim
  from anomalib.models.components import AnomalyModule
  from anomalib.models.ganomaly.loss import DiscriminatorLoss, GeneratorLoss
  from .torch_model import GanomalyModel
label_desc: Use image node_id 3 for calling the Ganomaly obj's underlying member method code with example usage: obj.configure_optimizers() and returns: list