code: def forward(self, x):
      size = x.size()[2:]
      fm0 = self.layer0(x)
      fm1 = self.layer1(fm0)
      fm2 = self.layer2(fm1)
      fm3 = self.layer3(fm2)
      fm4 = self.layer4(fm3)
  
      gcfm1 = self.brm1(self.gcm1(fm4))
      gcfm2 = self.brm2(self.gcm2(fm3))
      gcfm3 = self.brm3(self.gcm3(fm2))
      gcfm4 = self.brm4(self.gcm4(fm1))
  
      fs1 = self.brm5(
          F.interpolate(gcfm1, size=fm3.size()[2:], mode="bilinear")
          + gcfm2
      )
      fs2 = self.brm6(
          F.interpolate(fs1, size=fm2.size()[2:], mode="bilinear")
          + gcfm3
      )
      fs3 = self.brm7(
          F.interpolate(fs2, size=fm1.size()[2:], mode="bilinear")
          + gcfm4
      )
      fs4 = self.brm8(
          F.interpolate(fs3, size=fm0.size()[2:], mode="bilinear")
      )
      out = self.brm9(F.interpolate(fs4, size=size, mode="bilinear"))
  
      return out
  
file_path: pywick/pywick/models/segmentation/gcnnets/gcn.py
imports: import torch
  import torch.nn.functional
  from torch import nn
  from torchvision import models
  import os
  from math import floor
label_desc: Use image node_id 2 for calling the GCN obj's underlying member method code with example usage: obj.forward(x) and returns: out