code: def test_fitting_loss(self):
      pos_n = np.asarray(
          [[0, 0, 0], [1, 0, 0], [0, 1, 0], [1, 1, 0]]
      ).astype(np.float)
      target = np.asarray([[0.5, 0.5, 0]])
      K_points = torch.from_numpy(pos_n)
      neighbors = torch.from_numpy(target)
      neighbors = neighbors
      neighbors = neighbors.repeat([4, 1])
      differences = neighbors - K_points
      sq_distances = torch.sum(differences**2, dim=-1).unsqueeze(0)
      loss = fitting_loss(sq_distances, 1).item()
      assert loss == 0.5
  
file_path: torch-points3d/test/test_kpconv.py
imports: import os
  import sys
  import unittest
  import numpy
  import numpy.testing
  import torch
  from torch_points3d.modules.KPConv.losses import repulsion_loss, fitting_loss, permissive_loss
label_desc: Use image node_id 2 for calling the TestKPConvLosses obj's underlying member method code with example usage: obj.test_fitting_loss() without return types