class_docstr: Takes an initial labeling and uses a mixture of Gaussians to approximate each classes
  distribution in the feature space. Each unlabeled element is then assigned a probability
  of belonging to each class based on it's fit to each classes approximated distribution.
  
  See:
      https://en.wikipedia.org/wiki/Mixture_model
docstr: Learns, from scratch, the distribution of each class from the provided labels.
  
  Args:
      features (torch.Tensor): features for each element.
      labels (torch.Tensor): initial labeling for each element.
code: def learn(self, features, labels):
      """
      Learns, from scratch, the distribution of each class from the provided labels.
  
      Args:
          features (torch.Tensor): features for each element.
          labels (torch.Tensor): initial labeling for each element.
      """
      self.compiled_extension.learn(
          self.params, self.scratch, features, labels
      )
  
file_path: MONAI/monai/networks/layers/gmm.py
imports: from __future__ import annotations
  import torch
  from monai._extensions.loader import load_module
label_desc: Use image node_id 3 for calling the GaussianMixtureModel obj's underlying member method code with example usage: obj.learn(features, labels) without return types