code: def score_forward(
      self,
      acts: torch.Tensor,
      costs: torch.Tensor,
      pad_labels: torch.Tensor,
      label_lengths: torch.Tensor,
      input_lengths: torch.Tensor,
  ):
      if (
          acts is None
          or costs is None
          or pad_labels is None
          or label_lengths is None
          or input_lengths is None
      ):
          return global_constants.RNNTStatus.RNNT_STATUS_INVALID_VALUE
  
      return self.compute_cost_and_score(
          acts, None, costs, pad_labels, label_lengths, input_lengths
      )
  
imports: import multiprocessing
  import random
  from typing import Optional, Tuple
  import numba
  import torch
  from numba import cuda
  from nemo.collections.asr.parts.numba.rnnt_loss.utils import global_constants, rnnt_helper
  from nemo.collections.asr.parts.numba.rnnt_loss.utils.cuda_utils import gpu_rnnt_kernel, reduce
label_desc: Use image node_id 4 for calling the MultiblankGPURNNT obj's underlying member method code with example usage: obj.score_forward(acts, costs, pad_labels, label_lengths, input_lengths) and returns: self, global_constants