code: def transformation(self, x: Tensor, x_0: Tensor):
      x.mul_(1 - self.alpha)
      x_0 = self.alpha * x_0
      if self.weight2 is None:
          out = x.add_(x_0)
          out = torch.addmm(
              out,
              out,
              self.weight1,
              beta=1.0 - self.beta,
              alpha=self.beta,
          )
      else:
          out = torch.addmm(
              x, x, self.weight1, beta=1.0 - self.beta, alpha=self.beta
          )
          out += torch.addmm(
              x_0,
              x_0,
              self.weight2,
              beta=1.0 - self.beta,
              alpha=self.beta,
          )
      return out
  
imports: from typing import Optional
  from torch_geometric.typing import Adj, OptTensor
  import torch.nn.functional
  from torch.nn import ModuleList, Linear, BatchNorm1d
  from torch_geometric.nn import GCN2Conv
  import torch
  from torch import Tensor
  from torch_sparse import SparseTensor
  from ..models import ScalableGNN
label_desc: Use image node_id 3 for calling the GCN2Conv obj's underlying member method code with example usage: obj.transformation(x, x_0) and returns: out