class_docstr: Setup the MOGONET model via the config file.
  
  Args:
      cfg (CfgNode): A YACS config object.
      dataset (SparseMultiomicsDataset): The input dataset created in form of :class:`~torch_geometric.data.Dataset`.
code: def __init__(
      self, cfg: CfgNode, dataset: SparseMultiomicsDataset
  ) -> None:
      self.cfg = cfg
      self.dataset = dataset
      self.unimodal_encoder: List[MogonetGCN] = []
      self.unimodal_decoder: List[LinearClassifier] = []
      self.multimodal_decoder: Optional[VCDN] = None
      self.loss_function = CrossEntropyLoss(reduction="none")
      self._create_model()
  
file_path: pykale/examples/multiomics_mogonet/model.py
imports: from typing import List, Optional
  from torch.nn import CrossEntropyLoss
  from yacs.config import CfgNode
  from kale.embed.mogonet import MogonetGCN
  from kale.loaddata.multiomics_datasets import SparseMultiomicsDataset
  from kale.pipeline.multiomics_trainer import MultiomicsTrainer
  from kale.predict.decode import LinearClassifier, VCDN
label_desc: Use image node_id 1 to create a new MogonetModel object  with example: obj = MogonetModel(cfg, dataset)