class_docstr: A point head multi-layer perceptron which we model with conv1d layers with kernel 1. The head
  takes both fine-grained features and instance-wise MLP parameters 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","features","and","instance-wise","MLP","parameters","as","its","input","."]
code: def _parse_params(
      pred_params,
      in_channels,
      channels,
      num_classes,
      num_weight_params,
      num_bias_params,
  ):
      assert pred_params.dim() == 2
      assert len(num_weight_params) == len(num_bias_params)
      assert pred_params.size(1) == sum(num_weight_params) + sum(
          num_bias_params
      )
  
      num_instances = pred_params.size(0)
      num_layers = len(num_weight_params)
  
      params_splits = list(
          torch.split_with_sizes(
              pred_params, num_weight_params + num_bias_params, dim=1
          )
      )
  
      weight_splits = params_splits[:num_layers]
      bias_splits = params_splits[num_layers:]
  
      for l in range(num_layers):
          if l == 0:
              # input layer
              weight_splits[l] = weight_splits[l].reshape(
                  num_instances, channels, in_channels
              )
              bias_splits[l] = bias_splits[l].reshape(
                  num_instances, channels, 1
              )
          elif l < num_layers - 1:
              # intermediate layer
              weight_splits[l] = weight_splits[l].reshape(
                  num_instances, channels, channels
              )
              bias_splits[l] = bias_splits[l].reshape(
                  num_instances, channels, 1
              )
          else:
              # output layer
              weight_splits[l] = weight_splits[l].reshape(
                  num_instances, num_classes, channels
              )
              bias_splits[l] = bias_splits[l].reshape(
                  num_instances, num_classes, 1
              )
  
      return weight_splits, bias_splits
  
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 4 for calling the ImplicitPointHead obj's underlying member method code with example usage: obj._parse_params(pred_params, in_channels, channels, num_classes, num_weight_params, num_bias_params) and returns: weight_splits,  bias_splits