class_docstr: A point head multi-layer perceptron which we model with conv1d layers with kernel 1. The head
  takes both fine-grained and coarse prediction features as its input.
class_docstr_tok: ["A","point","head","multi-layer","perceptron","which","we","model","with","conv1d","layers","with","kernel","1",".","The","head","takes","both","fine-grained","and","coarse","prediction","features","as","its","input","."]
code: def forward(self, fine_grained_features, coarse_features):
      x = torch.cat((fine_grained_features, coarse_features), dim=1)
      for layer in self.fc_layers:
          x = F.relu(layer(x))
          if self.coarse_pred_each_layer:
              x = cat((x, coarse_features), dim=1)
      return self.predictor(x)
  
file_path: detectron2/projects/PointRend/point_rend/point_head.py
imports: import numpy
  import fvcore.nn.weight_init
  import torch
  from torch import nn
  from torch.nn import functional
  from detectron2.layers import ShapeSpec, cat
  from detectron2.utils.events import get_event_storage
  from detectron2.utils.registry import Registry
label_desc: Use image node_id 2 for calling the StandardPointHead obj's underlying member method code with example usage: obj.forward(fine_grained_features, coarse_features) and returns: self