code: def forward(self, x):
      # Bottom-up
      c1 = F.relu(self.bn1(self.conv1(x)))
      c1 = F.max_pool2d(c1, kernel_size=3, stride=2, padding=1)
      c2 = self.layer1(c1)
      c3 = self.layer2(c2)
      c4 = self.layer3(c3)
      c5 = self.layer4(c4)
      # Top-down
      p5 = self.toplayer(c5)
      p4 = self._upsample_add(p5, self.latlayer1(c4))
      p3 = self._upsample_add(p4, self.latlayer2(c3))
      p2 = self._upsample_add(p3, self.latlayer3(c2))
      # Smooth
      p4 = self.smooth1(p4)
      p3 = self.smooth2(p3)
      p2 = self.smooth3(p2)
      return p2
  
file_path: pywick/pywick/models/localization/fpn.py
imports: import torch
  import torch.nn
  import torch.nn.functional
label_desc: Use image node_id 4 for calling the FPN obj's underlying member method code with example usage: obj.forward(x) and returns: p2