docstr: self.inputs is a dict
docstr_tok: ["self.inputs","is","a","dict"]
code: def _forward(self):
      """
      self.inputs is a dict
      """
      feats = self.backbone(
          self.inputs
      )  # feats:[[batch_size, 40, width/4, height/4]]
  
      hrnet_outputs = self.final_conv(
          feats[0]
      )  # hrnet_outputs: [batch_size, num_joints*32,32,32]
  
      flatten_res = self.flatten(
          hrnet_outputs
      )  # [batch_size,num_joints*32,32*32]
  
      res = self.fc1(flatten_res)
      res = self.act1(res)
      res = self.fc2(res)
      res = self.act2(res)
      res = self.fc3(res)
  
      if self.training:
          return self.loss(res, self.inputs)
      else:  # export model need
          return res
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import paddle
  import numpy
  import math
  import cv2
  from ppdet.core.workspace import register, create
  from .meta_arch import BaseArch
  from ..keypoint_utils import transform_preds
  from ..None import layers
  from paddle.nn import functional
label_desc: Use image node_id 3 for calling the TinyPose3DHRNet obj's underlying member method code with example usage: obj._forward() and returns: self, res