code: def train_step_fp16(self, data):
      with paddle.amp.auto_cast(
          level=self.amp_level,
          enable=True,
          custom_white_list={
              "elementwise_add",
              "batch_norm",
              "sync_batch_norm",
          },
          custom_black_list={"bilinear_interp_v2"},
      ):
          # Forward
          net_out = self.runner.train_forward(data)
          # Compute loss
          loss_list = self.runner.compute_losses(net_out, data)
          loss = self.runner.aggregate_losses(loss_list)
  
      # Backward
      scaled = self.scaler.scale(loss)
      scaled.backward()
  
      # Update parameters
      self.scaler.minimize(self.optimizer, scaled)
      return loss, loss_list
  
file_path: PaddleSeg/contrib/PanopticSeg/paddlepanseg/core/launcher.py
imports: import abc
  import paddle
label_desc: Use image node_id 4 for calling the AMPLauncher obj's underlying member method code with example usage: obj.train_step_fp16(data) and returns: loss,  loss_list