class_docstr: A mask point head use in PointRend.
  
  ``MaskPointHead`` use shared multi-layer perceptron (equivalent to
  nn.Conv1d) to predict the logit of input points. The fine-grained feature
  and coarse feature will be concatenate together for predication.
  
  Args:
      num_fcs (int): Number of fc layers in the head. Defaults to 3.
      in_channels (int): Number of input channels. Defaults to 256.
      fc_channels (int): Number of fc channels. Defaults to 256.
      num_classes (int): Number of classes for logits. Defaults to 80.
      class_agnostic (bool): Whether use class agnostic classification.
          If so, the output channels of logits will be 1. Defaults to False.
      coarse_pred_each_layer (bool): Whether concatenate coarse feature with
          the output of each fc layer. Defaults to True.
      conv_cfg (:obj:`ConfigDict` or dict): Dictionary to construct
          and config conv layer. Defaults to dict(type='Conv1d')).
      norm_cfg (:obj:`ConfigDict` or dict, optional): Dictionary to construct
          and config norm layer. Defaults to None.
      loss_point (:obj:`ConfigDict` or dict): Dictionary to construct and
          config loss layer of point head. Defaults to
          dict(type='CrossEntropyLoss', use_mask=True, loss_weight=1.0).
      init_cfg (:obj:`ConfigDict` or dict or list[:obj:`ConfigDict` or             dict], optional): Initialization config dict.
docstr: Get ``num_points`` most uncertain points with random points during
  train.
  
  Sample points in [0, 1] x [0, 1] coordinate space based on their
  uncertainty. The uncertainties are calculated for each point using
  '_get_uncertainty()' function that takes point's logit prediction as
  input.
  
  Args:
      mask_preds (Tensor): A tensor of shape (num_rois, num_classes,
          mask_height, mask_width) for class-specific or class-agnostic
          prediction.
      labels (Tensor): The ground truth class for each instance.
      cfg (:obj:`ConfigDict` or dict): Training config of point head.
  
  Returns:
      point_coords (Tensor): A tensor of shape (num_rois, num_points, 2)
      that contains the coordinates sampled points.
docstr_tok: ["Get","``","num_points","``","most","uncertain","points","with","random","points","during","train",".","Sample","points","in","[","0",",","1","]","x","[","0",",","1","]","coordinate","space","based","on","their","uncertainty",".","The","uncertainties","are","calculated","for","each","point","using","'_get_uncertainty","(",")","'","function","that","takes","point","'s","logit","prediction","as","input",".","Args",":","mask_preds","(","Tensor",")",":","A","tensor","of","shape","(","num_rois",",","num_classes",",","mask_height",",","mask_width",")","for","class-specific","or","class-agnostic","prediction",".","labels","(","Tensor",")",":","The","ground","truth","class","for","each","instance",".","cfg","(",":","obj",":","`","ConfigDict","`","or","dict",")",":","Training","config","of","point","head",".","Returns",":","point_coords","(","Tensor",")",":","A","tensor","of","shape","(","num_rois",",","num_points",",","2",")","that","contains","the","coordinates","sampled","points","."]
code: def get_roi_rel_points_train(
      self, mask_preds: Tensor, labels: Tensor, cfg: ConfigType
  ) -> Tensor:
      """Get ``num_points`` most uncertain points with random points during
      train.
  
      Sample points in [0, 1] x [0, 1] coordinate space based on their
      uncertainty. The uncertainties are calculated for each point using
      '_get_uncertainty()' function that takes point's logit prediction as
      input.
  
      Args:
          mask_preds (Tensor): A tensor of shape (num_rois, num_classes,
              mask_height, mask_width) for class-specific or class-agnostic
              prediction.
          labels (Tensor): The ground truth class for each instance.
          cfg (:obj:`ConfigDict` or dict): Training config of point head.
  
      Returns:
          point_coords (Tensor): A tensor of shape (num_rois, num_points, 2)
          that contains the coordinates sampled points.
      """
      point_coords = get_uncertain_point_coords_with_randomness(
          mask_preds,
          labels,
          cfg.num_points,
          cfg.oversample_ratio,
          cfg.importance_sample_ratio,
      )
      return point_coords
  
imports: from typing import List, Tuple
  import torch
  import torch.nn
  from mmcv.cnn import ConvModule
  from mmcv.ops import point_sample, rel_roi_point_to_rel_img_point
  from mmengine.model import BaseModule
  from mmengine.structures import InstanceData
  from torch import Tensor
  from mmdet.models.task_modules.samplers import SamplingResult
  from mmdet.models.utils import get_uncertain_point_coords_with_randomness, get_uncertainty
  from mmdet.registry import MODELS
  from mmdet.structures.bbox import bbox2roi
  from mmdet.utils import ConfigType, InstanceList, MultiConfig, OptConfigType
label_desc: Use image node_id 6 for calling the MaskPointHead obj's underlying member method code with example usage: obj.get_roi_rel_points_train(mask_preds, labels, cfg) and returns: point_coords