code: def _build_network(self):
      if self.hparams.virtual_batch_size > self.hparams.batch_size:
          warnings.warn(
              f"virtual_batch_size({self.hparams.virtual_batch_size}) is greater "
              f"than batch_size ({self.hparams.batch_size}). Setting virtual_batch_size "
              f"to {self.hparams.batch_size}. DANet uses Ghost Batch Normalization, "
              f"which works best when virtual_batch_size is small. Consider setting "
              "virtual_batch_size to something like 256 or 512."
          )
          self.hparams.virtual_batch_size = self.hparams.batch_size
      # Backbone
      self._backbone = DANetBackbone(
          cat_embedding_dims=self.hparams.embedding_dims,
          n_continuous_features=self.hparams.continuous_dim,
          n_layers=self.hparams.n_layers,
          abstlay_dim_1=self.hparams.abstlay_dim_1,
          abstlay_dim_2=self.hparams.abstlay_dim_2,
          k=self.hparams.k,
          dropout_rate=self.hparams.dropout_rate,
          block_activation=getattr(nn, self.hparams.block_activation)(),
          virtual_batch_size=self.hparams.virtual_batch_size,
          embedding_dropout=self.hparams.embedding_dropout,
          batch_norm_continuous_input=self.hparams.batch_norm_continuous_input,
      )
      # Embedding Layer
      self._embedding_layer = self._backbone._build_embedding_layer()
      # Head
      self._head = self._get_head_from_config()
  
file_path: pytorch_tabular/src/pytorch_tabular/models/danet/danet.py
imports: import warnings
  import torch
  import torch.nn
  from omegaconf import DictConfig
  from pytorch_tabular.models.common.layers.embeddings import Embedding1dLayer
  from ..base_model import BaseModel
  from .arch_blocks import BasicBlock
label_desc: Use image node_id 5 for calling the DANetModel obj's underlying member method code with example usage: obj._build_network() without return types