docstr: Run forward pass. This will be called by both functions <optimize_parameters> and <test>.
docstr_tok: ["Run","forward","pass",".","This","will","be","called","by","both","functions","<","optimize_parameters",">","and","<","test",">","."]
code: def forward(self, *args, **kwargs):
      """Run forward pass. This will be called by both functions <optimize_parameters> and <test>."""
  
      data = self.input
      for i in range(len(self.down_modules)):
          data = self.down_modules[i](
              data, precomputed=self.pre_computed
          )
  
      x = F.relu(self.lin1(data.x))
      x = F.dropout(x, p=self.dropout, training=self.training)
      self.output = self.lin2(x)
  
      self.loss_reg = (
          self.loss_module(self.output) + self.get_internal_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 5 for calling the PatchSiamese obj's underlying member method code with example usage: obj.forward() and returns: self