code: def __init__(
      self,
      abn=InPlaceABNSync,
      in_fea=[256, 512, 1024],
      mid_fea=256,
      out_fea=2,
  ):
      super(Edges, self).__init__()
  
      self.conv1 = nn.Sequential(
          nn.Conv2d(
              in_fea[0],
              mid_fea,
              kernel_size=1,
              padding=0,
              dilation=1,
              bias=False,
          ),
          abn(mid_fea),
      )
      self.conv2 = nn.Sequential(
          nn.Conv2d(
              in_fea[1],
              mid_fea,
              kernel_size=1,
              padding=0,
              dilation=1,
              bias=False,
          ),
          abn(mid_fea),
      )
      self.conv3 = nn.Sequential(
          nn.Conv2d(
              in_fea[2],
              mid_fea,
              kernel_size=1,
              padding=0,
              dilation=1,
              bias=False,
          ),
          abn(mid_fea),
      )
      self.conv4 = nn.Conv2d(
          mid_fea,
          out_fea,
          kernel_size=3,
          padding=1,
          dilation=1,
          bias=True,
      )
      self.conv5_b = nn.Conv2d(
          out_fea * 3,
          2,
          kernel_size=1,
          padding=0,
          dilation=1,
          bias=True,
      )
      self.conv5 = nn.Conv2d(
          out_fea * 3,
          out_fea,
          kernel_size=1,
          padding=0,
          dilation=1,
          bias=True,
      )
  
file_path: insightface/parsing/dml_csr/networks/modules/edges.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import torch
  import torch.nn.functional
  import torch.nn
  from inplace_abn import InPlaceABNSync
label_desc: Use image node_id 1 to create a new Edges object from inherited base classes: nn with example: obj = Edges(abn, in_fea, mid_fea, out_fea)