class_docstr: apply the deformable kernel point convolution on a point cloud
  NB : it is the original version of KPConv, it is not the message passing version
  attributes:
  num_inputs : dimension of the input feature
  num_outputs : dimension of the output feature
  point_influence: influence distance of a single point (sigma * grid_size)
  n_kernel_points=15
  fixed="center"
  KP_influence="linear"
  aggregation_mode="sum"
  dimension=3
  modulated = False :   If deformable conv should be modulated
class_docstr_tok: ["apply","the","deformable","kernel","point","convolution","on","a","point","cloud","NB",":","it","is","the","original","version","of","KPConv",",","it","is","not","the","message","passing","version","attributes",":","num_inputs",":","dimension","of","the","input","feature","num_outputs",":","dimension","of","the","output","feature","point_influence",":","influence","distance","of","a","single","point","(","sigma","*","grid_size",")","n_kernel_points=15","fixed=","''","center","''","KP_influence=","''","linear","''","aggregation_mode=","''","sum","''","dimension=3","modulated","=","False",":","If","deformable","conv","should","be","modulated"]
code: def get_internal_losses(self):
      return self.internal_losses
  
file_path: torch-points3d/torch_points3d/modules/KPConv/kernels.py
imports: import torch
  from torch.nn.parameter import Parameter
  from .kernel_utils import kernel_point_optimization_debug, load_kernels
  from .losses import fitting_loss, repulsion_loss, permissive_loss
  from .convolution_ops import *
  from torch_points3d.models.base_model import BaseInternalLossModule
label_desc: Use image node_id 3 for calling the KPConvDeformableLayer obj's underlying member method code with example usage: obj.get_internal_losses() and returns: self