code: def forward(self, inputs, records):
      targets = []
      targets.append([records["heatmap_gt1x"], records["mask_1x"]])
      targets.append([records["heatmap_gt2x"], records["mask_2x"]])
      targets.append(records["tagmap"])
      keypoint_losses = dict()
      loss = self.ziploss(inputs, targets)
      keypoint_losses["heatmap_loss"] = loss[0] + loss[1]
      keypoint_losses["pull_loss"] = loss[2][0]
      keypoint_losses["push_loss"] = loss[2][1]
      keypoint_losses["loss"] = recursive_sum(loss)
      return keypoint_losses
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from itertools import cycle, islice
  from collections import abc
  import numpy
  import paddle
  import paddle.nn
  from ppdet.core.workspace import register, serializable
label_desc: Use image node_id 2 for calling the HrHRNetLoss obj's underlying member method code with example usage: obj.forward(inputs, records) and returns: keypoint_losses