code: def confusion_matrix_v1(
      labels,
      predictions,
      num_classes=None,
      dtype=dtypes.int32,
      name=None,
      weights=None,
  ):
      """Computes the confusion matrix from predictions and labels.
  
      The matrix columns represent the prediction labels and the rows represent the
      real labels. The confusion matrix is always a 2-D array of shape `[n, n]`,
      where `n` is the number of valid labels for a given classification task. Both
      prediction and labels must be 1-D arrays of the same shape in order for this
      function to work.
  
      If `num_classes` is `None`, then `num_classes` will be set to one plus the
      maximum value in either predictions or labels. Class labels are expected to
      start at 0. For example, if `num_classes` is 3, then the possible labels
      would be `[0, 1, 2]`.
  
      If `weights` is not `None`, then each prediction contributes its
      corresponding weight to the total value of the confusion matrix cell.
  
      For example:
  
      ```python
        tf.math.confusion_matrix([1, 2, 4], [2, 2, 4]) ==>
            [[0 0 0 0 0]
             [0 0 1 0 0]
             [0 0 1 0 0]
             [0 0 0 0 0]
             [0 0 0 0 1]]
      ```
  
      Note that the possible labels are assumed to be `[0, 1, 2, 3, 4]`,
      resulting in a 5x5 confusion matrix.
  
      Args:
        labels: 1-D `Tensor` of real labels for the classification task.
        predictions: 1-D `Tensor` of predictions for a given classification.
        num_classes: The possible number of labels the classification task can have.
          If this value is not provided, it will be calculated using both
          predictions and labels array.
        dtype: Data type of the confusion matrix.
        name: Scope name.
        weights: An optional `Tensor` whose shape matches `predictions`.
  
      Returns:
        A `Tensor` of type `dtype` with shape `[n, n]` representing the confusion
        matrix, where `n` is the number of possible labels in the classification
        task.
  
      Raises:
        ValueError: If both predictions and labels are not 1-D vectors and have
          mismatched shapes, or if `weights` is not `None` and its shape doesn't
          match `predictions`.
      """
      return confusion_matrix(
          labels, predictions, num_classes, weights, dtype, name
      )
  
file_path: tensorflow-upstream/tensorflow/python/ops/confusion_matrix.py
imports: from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import ops
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import array_ops_stack
  from tensorflow.python.ops import check_ops
  from tensorflow.python.ops import cond
  from tensorflow.python.ops import control_flow_ops
  from tensorflow.python.ops import math_ops
  from tensorflow.python.util import deprecation
  from tensorflow.python.util import dispatch
  from tensorflow.python.util.tf_export import tf_export
label_desc: Use image node_id 3 for calling a global function with example usage: confusion_matrix_v1(labels, predictions, num_classes, dtype, name, weights) and returns: confusion_matrix