class_docstr: The PyTorch Lightning implementation of the MOGONET method, a multiomics fusion method designed for
  classification tasks.
  
  Args:
      dataset (SparseMultiomicsDataset): The input dataset created in form of :class:`~torch_geometric.data.Dataset`.
      num_modalities (int): The total number of modalities in the dataset.
      num_classes (int): The total number of classes in the dataset.
      unimodal_encoder (List[MogonetGCN]): The list of GCN encoders for each modality.
      unimodal_decoder (List[LinearClassifier]): The list of linear classifier decoders for each modality.
      loss_fn (CrossEntropyLoss): The loss function used to gauge the error between the prediction outputs and the
          provided target values.
      multimodal_decoder (VCDN, optional): The VCDN decoder used in the multiomics dataset.
          (default: ``None``)
      train_multimodal_decoder (bool, optional): Whether to train VCDN module. (default: ``True``)
      gcn_lr (float, optional): The learning rate used in the GCN module. (default: 5e-4)
      vcdn_lr (float, optional): The learning rate used in the VCDN module. (default: 1e-3)
class_docstr_tok: ["The","PyTorch","Lightning","implementation","of","the","MOGONET","method",",","a","multiomics","fusion","method","designed","for","classification","tasks",".","Args",":","dataset","(","SparseMultiomicsDataset",")",":","The","input","dataset","created","in","form","of",":","class",":","`","~torch_geometric.data.Dataset","`",".","num_modalities","(","int",")",":","The","total","number","of","modalities","in","the","dataset",".","num_classes","(","int",")",":","The","total","number","of","classes","in","the","dataset",".","unimodal_encoder","(","List","[","MogonetGCN","]",")",":","The","list","of","GCN","encoders","for","each","modality",".","unimodal_decoder","(","List","[","LinearClassifier","]",")",":","The","list","of","linear","classifier","decoders","for","each","modality",".","loss_fn","(","CrossEntropyLoss",")",":","The","loss","function","used","to","gauge","the","error","between","the","prediction","outputs","and","the","provided","target","values",".","multimodal_decoder","(","VCDN",",","optional",")",":","The","VCDN","decoder","used","in","the","multiomics","dataset",".","(","default",":","``","None","``",")","train_multimodal_decoder","(","bool",",","optional",")",":","Whether","to","train","VCDN","module",".","(","default",":","``","True","``",")","gcn_lr","(","float",",","optional",")",":","The","learning","rate","used","in","the","GCN","module",".","(","default",":","5e-4",")","vcdn_lr","(","float",",","optional",")",":","The","learning","rate","used","in","the","VCDN","module",".","(","default",":","1e-3",")"]
docstr: Return an iterable or a collection of iterables that specifies training samples in the dataset.
docstr_tok: ["Return","an","iterable","or","a","collection","of","iterables","that","specifies","training","samples","in","the","dataset","."]
code: def train_dataloader(self) -> DataLoader:
      """Return an iterable or a collection of iterables that specifies training samples in the dataset."""
      return self._custom_data_loader()
  
imports: from typing import List, Optional, Union
  import pytorch_lightning
  import torch
  import torch.nn.functional
  from sklearn.metrics import accuracy_score, f1_score, roc_auc_score
  from torch import Tensor
  from torch.nn import CrossEntropyLoss, ModuleList
  from torch.optim.optimizer import Optimizer
  from torch_geometric.loader import DataLoader
  from torch_sparse import SparseTensor
  from kale.embed.mogonet import MogonetGCN
  from kale.loaddata.multiomics_datasets import SparseMultiomicsDataset
  from kale.predict.decode import LinearClassifier, VCDN
label_desc: Use image node_id 7 for calling the MultiomicsTrainer obj's underlying member method code with example usage: obj.train_dataloader() and returns: self