code: def compute_loss_match(self):
      if hasattr(self, "xyz"):
          xyz = self.xyz
          xyz_target = self.xyz_target
      else:
          xyz = self.input.pos
          xyz_target = self.input_target.pos
      loss_reg = self.metric_loss_module(
          self.output,
          self.output_target,
          self.match[:, :2],
          xyz,
          xyz_target,
      )
      return loss_reg
  
imports: import logging
  import torch
  import torch.nn.functional
  from typing import Any
  from torch_points3d.datasets.multiscale_data import MultiScaleBatch
  from torch_points3d.models.base_architectures import BackboneBasedModel
  from torch_points3d.models.base_model import BaseModel
  from torch_points3d.core.common_modules.dense_modules import Conv1D
  from torch_points3d.core.common_modules.base_modules import Seq
label_desc: Use image node_id 3 for calling the FragmentBaseModel obj's underlying member method code with example usage: obj.compute_loss_match() and returns: loss_reg