class_docstr: Base model for object detection with matching.
class_docstr_tok: ["Base","model","for","object","detection","with","matching","."]
docstr: Computes the matching cost matrix.
  
  Args:
    predictions: Dictionary of outputs from a model.
    targets: Dictionary of ground truth targets.
  Returns:
    The matching cost matrix of shape [B, N, M].
    Number of unpadded columns per batch element [B].
docstr_tok: ["Computes","the","matching","cost","matrix",".","Args",":","predictions",":","Dictionary","of","outputs","from","a","model",".","targets",":","Dictionary","of","ground","truth","targets",".","Returns",":","The","matching","cost","matrix","of","shape","[","B",",","N",",","M","]",".","Number","of","unpadded","columns","per","batch","element","[","B","]","."]
code: def compute_cost_matrix(
      self, predictions: ArrayDict, targets: ArrayDict
  ) -> jnp.ndarray:
      """Computes the matching cost matrix.
  
      Args:
        predictions: Dictionary of outputs from a model.
        targets: Dictionary of ground truth targets.
      Returns:
        The matching cost matrix of shape [B, N, M].
        Number of unpadded columns per batch element [B].
      """
      ...
  
imports: import abc
  import functools
  from typing import Any, Callable, Dict, Optional, Tuple
  import jax
  import jax.numpy
  import ml_collections
  from scenic.model_lib import matchers
  from scenic.model_lib.base_models import base_model
  from scenic.model_lib.base_models import box_utils
  from scenic.model_lib.base_models import model_utils
  from scenic.projects.owl_vit import losses
label_desc: Use image node_id 3 for calling the BaseModelWithMatching obj's underlying member method code with example usage: obj.compute_cost_matrix(predictions, targets) without return types