class_docstr: Autoencoder model that encodes and reconstructs the input image.
  
  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: ["Autoencoder","model","that","encodes","and","reconstructs","the","input","image",".","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","."]
docstr: Encode and reconstruct the input images.
  
  Args:
      batch (Tensor): Batch of input images
  
  Returns:
      Batch of reconstructed images.
docstr_tok: ["Encode","and","reconstruct","the","input","images",".","Args",":","batch","(","Tensor",")",":","Batch","of","input","images","Returns",":","Batch","of","reconstructed","images","."]
code: def forward(self, batch: Tensor) -> Tensor:
      """Encode and reconstruct the input images.
  
      Args:
          batch (Tensor): Batch of input images
  
      Returns:
          Batch of reconstructed images.
      """
      encoded = self.encoder(batch)
      decoded = self.decoder(encoded)
      return decoded
  
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 2 for calling the ReconstructiveSubNetwork obj's underlying member method code with example usage: obj.forward(batch) and returns: decoded