class_docstr: Discriminative model that predicts the anomaly mask from the original image and its reconstruction.
  
  Args:
      in_channels (int): Number of input channels.
      out_channels (int): Number of output channels.
      base_width (int): Base dimensionality of the layers of the autoencoder.
class_docstr_tok: ["Discriminative","model","that","predicts","the","anomaly","mask","from","the","original","image","and","its","reconstruction",".","Args",":","in_channels","(","int",")",":","Number","of","input","channels",".","out_channels","(","int",")",":","Number","of","output","channels",".","base_width","(","int",")",":","Base","dimensionality","of","the","layers","of","the","autoencoder","."]
code: def __init__(
      self,
      in_channels: int = 3,
      out_channels: int = 3,
      base_width: int = 64,
  ) -> None:
      super().__init__()
      self.encoder_segment = EncoderDiscriminative(
          in_channels, base_width
      )
      self.decoder_segment = DecoderDiscriminative(
          base_width, out_channels=out_channels
      )
  
imports: from __future__ import annotations
  import torch
  from torch import Tensor, nn
  from anomalib.models.components.layers import SSPCAB
label_desc: Use image node_id 1 to create a new DiscriminativeSubNetwork object from inherited base classes: nn with example: obj = DiscriminativeSubNetwork(in_channels, out_channels, base_width)