class_docstr: The View Correlation Discovery Network (VCDN) to learn the higher-level intra-view and cross-view correlations
  in the label space, implemented according to the method described in 'MOGONET integrates multi-omics data using
  graph convolutional networks allowing patient classification and biomarker identification'
  - Wang, T., Shao, W., Huang, Z., Tang, H., Zhang, J., Ding, Z., Huang, K. (2021).
  
  Args:
      num_modalities (int): The total number of modalities in the dataset.
      num_classes (int): The total number of classes in the dataset.
      hidden_dim (int): Size of the hidden layer.
code: def __init__(
      self, num_modalities: int, num_classes: int, hidden_dim: int
  ) -> None:
      super().__init__()
  
      self.num_modalities = num_modalities
      self.num_classes = num_classes
      self.model = nn.Sequential(
          nn.Linear(
              pow(self.num_classes, self.num_modalities), hidden_dim
          ),
          nn.LeakyReLU(0.25),
          nn.Linear(hidden_dim, self.num_classes),
      )
      self.reset_parameters()
  
imports: from typing import List, Tuple
  import numpy
  import pytorch_lightning
  import torch
  import torch.nn
  import torch.nn.functional
  from kale.embed.gripnet import GripNet
  from kale.evaluate.metrics import auprc_auroc_ap
  from kale.prepdata.graph_negative_sampling import typed_negative_sampling
  from kale.prepdata.supergraph_construct import SuperGraph
  from kale.utils.initialize_nn import bias_init, xavier_init
label_desc: Use image node_id 1 to create a new VCDN object from inherited base classes: nn with example: obj = VCDN(num_modalities, num_classes, hidden_dim)