code: def forward(self, x, targets=None):
      f_score = self.conv_f_score1(x)
      f_score = self.conv_f_score2(f_score)
      f_score = self.conv_f_score3(f_score)
      f_score = self.conv1(f_score)
      f_score = F.sigmoid(f_score)
  
      # f_border
      f_border = self.conv_f_boder1(x)
      f_border = self.conv_f_boder2(f_border)
      f_border = self.conv_f_boder3(f_border)
      f_border = self.conv2(f_border)
  
      f_char = self.conv_f_char1(x)
      f_char = self.conv_f_char2(f_char)
      f_char = self.conv_f_char3(f_char)
      f_char = self.conv_f_char4(f_char)
      f_char = self.conv_f_char5(f_char)
      f_char = self.conv3(f_char)
  
      f_direction = self.conv_f_direc1(x)
      f_direction = self.conv_f_direc2(f_direction)
      f_direction = self.conv_f_direc3(f_direction)
      f_direction = self.conv4(f_direction)
  
      predicts = {}
      predicts["f_score"] = f_score
      predicts["f_border"] = f_border
      predicts["f_char"] = f_char
      predicts["f_direction"] = f_direction
      return predicts
  
file_path: PaddleOCR/ppocr/modeling/heads/e2e_pg_head.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import math
  import paddle
  from paddle import nn
  import paddle.nn.functional
  from paddle import ParamAttr
label_desc: Use image node_id 2 for calling the PGHead obj's underlying member method code with example usage: obj.forward(x, targets) and returns: predicts