class_docstr: Implements both the Local Spatial Encoding and Attentive Pooling blocks from
  RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds
  https://arxiv.org/pdf/1911.11236
code: def __init__(
      self,
      point_pos_nn=None,
      attention_nn=None,
      global_nn=None,
      *args,
      **kwargs,
  ):
      MessagePassing.__init__(self, aggr="add")
  
      self.point_pos_nn = MLP(point_pos_nn)
      self.attention_nn = MLP(attention_nn)
      self.global_nn = MLP(global_nn)
  
imports: import torch
  import torch.nn.functional
  from torch_geometric.nn import MessagePassing
  from torch_points3d.core.spatial_ops import *
  from torch_points3d.core.base_conv.message_passing import *
label_desc: Use image node_id 1 to create a new RandlaKernel object from inherited base classes: MessagePassing with example: obj = RandlaKernel(point_pos_nn, attention_nn, global_nn)