class_docstr: First layer is a Hypergyroplane followed by usual decoder
code: def forward(self, z):
      out = self.dec(z).reshape(
          (z.shape[0],) + self.input_dim
      )  # reshape data
      return ModelOutput(reconstruction=out)
  
imports: import logging
  import math
  import os
  import numpy
  import torch
  import torch.nn
  import torch.nn.functional
  from pythae.data.preprocessors import DataProcessor
  from pythae.models import AutoModel, PoincareVAE, PoincareVAEConfig
  from pythae.models.base.base_utils import ModelOutput
  from pythae.models.nn import BaseDecoder, BaseEncoder
  from pythae.models.pvae.pvae_utils import PoincareBall
  from pythae.trainers import BaseTrainer, BaseTrainerConfig
label_desc: Use image node_id 2 for calling the Decoder obj's underlying member method code with example usage: obj.forward(z) and returns: ModelOutput