code: def forward(self, x):
      input = x
      x = self.relu1(self.bn1(self.conv1(x)))
      x = self.relu2(self.bn2(self.conv2(x)))
      x1 = self.relu3(self.bn3(self.conv3(x)))
      x = self.maxpool(x1)
      x2 = self.layer1(x)  # 119 x 119
      x3 = self.layer2(x2)  # 60 x 60
      x4 = self.layer3(x3)  # 60 x 60
      x5 = self.layer4(x4)  # 60 x 60
      x = self.context(x5)
      seg, x = self.layer6(x, x2)
  
      if self.is_trained:
          binary_edge, semantic_edge, edge_fea = self.edge_layer(
              x2, x3, x4
          )
          return seg, binary_edge, semantic_edge
  
      return seg
  
file_path: insightface/parsing/dml_csr/networks/dml_csr.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import torch.nn
  from torch.nn import functional
  from inplace_abn import InPlaceABNSync
  from .modules.ddgcn import DDualGCNHead
  from .modules.parsing import Parsing
  from .modules.edges import Edges
  from .modules.util import Bottleneck
label_desc: Use image node_id 3 for calling the DML_CSR obj's underlying member method code with example usage: obj.forward(x) and returns: seg, seg,  binary_edge,  semantic_edge