code: def test_permissive_loss(self):
      pos_n = np.asarray(
          [[0, 0, 0], [1, 0, 0], [0, 1, 0], [1, 1, 0]]
      ).astype(np.float)
      pos_t = torch.from_numpy(pos_n)
      loss = permissive_loss(pos_t, 1).item()
      assert loss == np.sqrt(2)
  
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 1 for calling the TestKPConvLosses obj's underlying member method code with example usage: obj.test_permissive_loss() without return types