class_docstr: Input shape: (B, C_in, npoint, nsample)
  Output shape: (B, C_out, npoint)
class_docstr_tok: ["Input","shape",":","(","B",",","C_in",",","npoint",",","nsample",")","Output","shape",":","(","B",",","C_out",",","npoint",")"]
code: def __init__(self, mapper: RSConvMapper, radius):
      super(SharedRSConv, self).__init__()
  
      self._mapper = mapper
      self._radius = radius
  
imports: import logging
  import torch
  from torch.nn import Sequential
  import torch.nn
  import torch.nn.functional
  from torch.nn import Conv1d
  import torch_points_kernels
  from torch_points3d.core.base_conv.dense import *
  from torch_points3d.core.common_modules.dense_modules import MLP2D
  from torch_points3d.core.spatial_ops import DenseFPSSampler, DenseRadiusNeighbourFinder
  from torch_points3d.utils.colors import COLORS
label_desc: Use image node_id 1 to create a new SharedRSConv object from inherited base classes: nn with example: obj = SharedRSConv(mapper, radius)