code: def forward(self, *args, **kwargs):
      self.output = self.apply_nn(self.input)
      if self.match is None:
          return self.output
  
      self.output_target = self.apply_nn(self.input_target)
      self.compute_loss()
  
      return self.output
  
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 7 for calling the FragmentBaseModel obj's underlying member method code with example usage: obj.forward() and returns: self, self