code: def unpack_input(self, x: Dict):
      continuous_data, categorical_data = (
          x["continuous"],
          x["categorical"],
      )
      if self.hparams.embedded_cat_dim != 0:
          x = []
          # for i, embedding_layer in enumerate(self.embedding_layers):
          #     x.append(embedding_layer(categorical_data[:, i]))
          x = [
              embedding_layer(categorical_data[:, i])
              for i, embedding_layer in enumerate(self.embedding_layers)
          ]
          x = torch.cat(x, 1)
  
      if self.hparams.continuous_dim != 0:
          if self.hparams.batch_norm_continuous_input:
              continuous_data = self.normalizing_batch_norm(
                  continuous_data
              )
  
          if self.hparams.embedded_cat_dim != 0:
              x = torch.cat([x, continuous_data], 1)
          else:
              x = continuous_data
      return x
  
imports: from dataclasses import dataclass, field
  from typing import Dict, List, Optional
  import pandas
  import torch
  import torch.nn
  from omegaconf import DictConfig
  from pytorch_tabular.config import DataConfig, ModelConfig, OptimizerConfig, TrainerConfig
  from pytorch_tabular.models.node import NODEBackbone
  from pytorch_tabular.tabular_model import TabularModel
  from sklearn.datasets import fetch_california_housing
  from pytorch_tabular.models import BaseModel
label_desc: Use image node_id 3 for calling the MultiStageModel obj's underlying member method code with example usage: obj.unpack_input(x) and returns: x