code: def _build_network(self):
      # Backbone
      callable, config = (
          self.hparams.backbone_config_class,
          self.hparams.backbone_config_params,
      )
      try:
          callable = getattr(models, callable)
      except ModuleNotFoundError as e:
          logger.error(
              "`config class` in `backbone_config` is not valid."
              " The config class should be a valid module path from `models`."
              " e.g. `ft_transformer.FTTransformerConfig`."
          )
          raise e
      assert issubclass(
          callable, ModelConfig
      ), "`config_class` should be a subclass of `ModelConfig`"
      backbone_config = callable(**config)
      backbone_callable = getattr_nested(
          backbone_config._module_src, backbone_config._backbone_name
      )
      # Merging the config and inferred config
      backbone_config = safe_merge_config(
          OmegaConf.structured(backbone_config), self.inferred_config
      )
      self._backbone = backbone_callable(backbone_config)
      # Embedding Layer
      self._embedding_layer = self._backbone._build_embedding_layer()
      # Head
      self._head = self._get_head_from_config()
  
imports: from typing import Dict, Optional, Union
  import torch
  import torch.nn
  from omegaconf import DictConfig, OmegaConf
  from torch import Tensor
  from pytorch_tabular import models
  from pytorch_tabular.config.config import ModelConfig
  from pytorch_tabular.models.common.heads import blocks
  from pytorch_tabular.models.tab_transformer.tab_transformer import TabTransformerBackbone
  from pytorch_tabular.tabular_model import getattr_nested
  from pytorch_tabular.utils import get_logger
  from ..base_model import BaseModel, safe_merge_config
label_desc: Use image node_id 6 for calling the MDNModel obj's underlying member method code with example usage: obj._build_network() without return types