code: def compute_grad(gh: DataFrame, label: DataFrame, score: DataFrame):
      label_name = label.schema.label_name
      label = label.loc(
          score.get_indexer("sample_id"), preserve_order=True
      )
      new_label = label.create_frame()
      new_label[label_name] = label.label
      stack_df = DataFrame.hstack([score, new_label])
      stack_df = stack_df.loc(
          gh.get_indexer("sample_id"), preserve_order=True
      )
  
      def grad(s):
          grads = [i for i in s["score"]]
          grads[s[label_name]] -= 1
          return [grads]
  
      gh["g"] = stack_df.apply_row(lambda s: grad(s))
  
imports: import numpy
  import pandas
  import torch
  from fate.arch.dataframe import DataFrame
  from scipy.special import expit
  from fate.ml.utils.predict_tools import BINARY, MULTI, REGRESSION
label_desc: Use image node_id 5 for calling the CELoss obj's underlying member method code with example usage: obj.compute_grad(gh, label, score) and returns: list