code: def __init__(self, num_classes, pretrained=True, k=7):
      super(GCN, self).__init__()
  
      self.K = k
  
      resnet = models.resnet152(pretrained=pretrained)
  
      self.layer0 = nn.Sequential(resnet.conv1, resnet.bn1, resnet.relu)
      self.layer1 = nn.Sequential(resnet.maxpool, resnet.layer1)
      self.layer2 = resnet.layer2
      self.layer3 = resnet.layer3
      self.layer4 = resnet.layer4
  
      self.gcm1 = _GlobalConvModule(2048, num_classes, (self.K, self.K))
      self.gcm2 = _GlobalConvModule(1024, num_classes, (self.K, self.K))
      self.gcm3 = _GlobalConvModule(512, num_classes, (self.K, self.K))
      self.gcm4 = _GlobalConvModule(256, num_classes, (self.K, self.K))
  
      self.brm1 = _BoundaryRefineModule(num_classes)
      self.brm2 = _BoundaryRefineModule(num_classes)
      self.brm3 = _BoundaryRefineModule(num_classes)
      self.brm4 = _BoundaryRefineModule(num_classes)
      self.brm5 = _BoundaryRefineModule(num_classes)
      self.brm6 = _BoundaryRefineModule(num_classes)
      self.brm7 = _BoundaryRefineModule(num_classes)
      self.brm8 = _BoundaryRefineModule(num_classes)
      self.brm9 = _BoundaryRefineModule(num_classes)
  
      initialize_weights(
          self.gcm1,
          self.gcm2,
          self.gcm3,
          self.gcm4,
          self.brm1,
          self.brm2,
          self.brm3,
          self.brm4,
          self.brm5,
          self.brm6,
          self.brm7,
          self.brm8,
          self.brm9,
      )
  
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 1 to create a new GCN object from inherited base classes: nn with example: obj = GCN(num_classes, pretrained, k)