class_docstr: Reverse Distillation Model.
  
  To reproduce results in the paper, use torchvision model for the encoder:
      self.encoder = torchvision.models.wide_resnet50_2(pretrained=True)
  
  Args:
      backbone (str): Name of the backbone used for encoder and decoder
      input_size (tuple[int, int]): Size of input image
      layers (list[str]): Name of layers from which the features are extracted.
      anomaly_map_mode (str): Mode used to generate anomaly map. Options are between ``multiply`` and ``add``.
      pre_trained (bool, optional): Boolean to check whether to use a pre_trained backbone.
code: def __init__(
      self,
      backbone: str,
      input_size: tuple[int, int],
      layers: list[str],
      anomaly_map_mode: AnomalyMapGenerationMode,
      pre_trained: bool = True,
  ) -> None:
      super().__init__()
      self.tiler: Tiler | None = None
  
      encoder_backbone = backbone
      self.encoder = FeatureExtractor(
          backbone=encoder_backbone,
          pre_trained=pre_trained,
          layers=layers,
      )
      self.bottleneck = get_bottleneck_layer(backbone)
      self.decoder = get_decoder(backbone)
  
      self.anomaly_map_generator = AnomalyMapGenerator(
          image_size=input_size, mode=anomaly_map_mode
      )
  
file_path: anomalib/src/anomalib/models/reverse_distillation/torch_model.py
imports: from __future__ import annotations
  from torch import Tensor, nn
  from anomalib.models.components import FeatureExtractor
  from anomalib.models.reverse_distillation.anomaly_map import AnomalyMapGenerator
  from anomalib.models.reverse_distillation.components import get_bottleneck_layer, get_decoder
  from anomalib.pre_processing import Tiler
  from .anomaly_map import AnomalyMapGenerationMode
label_desc: Use image node_id 1 to create a new ReverseDistillationModel object from inherited base classes: nn with example: obj = ReverseDistillationModel(backbone, input_size, layers, anomaly_map_mode, pre_trained)