class_docstr: Multi-scale feature extractor.
  
  Uses 36th layer of EfficientNet-B5 to extract features.
  
  Args:
      n_scales (int): Number of scales for input image.
      input_size (tuple[int, int]): Size of input image.
docstr: Extracts features at three scales.
  
  Args:
      input_tensor (Tensor): Input images.
  
  Returns:
      list[Tensor]: List of tensors containing features at three scales.
docstr_tok: ["Extracts","features","at","three","scales",".","Args",":","input_tensor","(","Tensor",")",":","Input","images",".","Returns",":","list","[","Tensor","]",":","List","of","tensors","containing","features","at","three","scales","."]
code: def forward(self, input_tensor: Tensor) -> list[Tensor]:
      """Extracts features at three scales.
  
      Args:
          input_tensor (Tensor): Input images.
  
      Returns:
          list[Tensor]: List of tensors containing features at three scales.
      """
      output = []
      for scale in range(self.n_scales):
          feat_s = (
              F.interpolate(
                  input_tensor,
                  size=(
                      self.input_size[0] // (2**scale),
                      self.input_size[1] // (2**scale),
                  ),
              )
              if scale > 0
              else input_tensor
          )
          feat_s = self.feature_extractor(feat_s)["features.6.8"]
  
          output.append(feat_s)
      return output
  
imports: from __future__ import annotations
  from math import exp
  import numpy
  import torch
  import torch.nn.functional
  from FrEIA.framework import GraphINN, InputNode, Node, OutputNode
  from FrEIA.modules import InvertibleModule
  from torch import Tensor, nn
  from torchvision.models.efficientnet import EfficientNet_B5_Weights
  from anomalib.models.components.feature_extractors import TorchFXFeatureExtractor
  from .anomaly_map import AnomalyMapGenerator, AnomalyMapMode
label_desc: Use image node_id 2 for calling the MultiScaleFeatureExtractor obj's underlying member method code with example usage: obj.forward(input_tensor) and returns: output