class_docstr: Decoder part of the reconstructive network.
  
  Args:
      base_width (int): Base dimensionality of the layers of the autoencoder.
      out_channels (int): Number of output channels.
class_docstr_tok: ["Decoder","part","of","the","reconstructive","network",".","Args",":","base_width","(","int",")",":","Base","dimensionality","of","the","layers","of","the","autoencoder",".","out_channels","(","int",")",":","Number","of","output","channels","."]
docstr: Reconstruct the image from the activations of the bottleneck layer.
  
  Args:
      act5 (Tensor): Activations of the bottleneck layer.
  
  Returns:
      Batch of reconstructed images.
docstr_tok: ["Reconstruct","the","image","from","the","activations","of","the","bottleneck","layer",".","Args",":","act5","(","Tensor",")",":","Activations","of","the","bottleneck","layer",".","Returns",":","Batch","of","reconstructed","images","."]
code: def forward(self, act5: Tensor) -> Tensor:
      """Reconstruct the image from the activations of the bottleneck layer.
  
      Args:
          act5 (Tensor): Activations of the bottleneck layer.
  
      Returns:
          Batch of reconstructed images.
      """
      up1 = self.up1(act5)
      db1 = self.db1(up1)
  
      up2 = self.up2(db1)
      db2 = self.db2(up2)
  
      up3 = self.up3(db2)
      db3 = self.db3(up3)
  
      up4 = self.up4(db3)
      db4 = self.db4(up4)
  
      out = self.fin_out(db4)
      return out
  
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 DecoderReconstructive obj's underlying member method code with example usage: obj.forward(act5) and returns: out