code: def _sklearn_confusion_matrix_multiclass(
      preds, target, normalize=None, ignore_index=None
  ):
      preds = preds.numpy()
      target = target.numpy()
      if np.issubdtype(preds.dtype, np.floating):
          preds = np.argmax(preds, axis=1)
      preds = preds.flatten()
      target = target.flatten()
      target, preds = remove_ignore_index(target, preds, ignore_index)
      return sk_confusion_matrix(
          y_true=target,
          y_pred=preds,
          normalize=normalize,
          labels=list(range(NUM_CLASSES)),
      )
  
imports: from functools import partial
  import numpy
  import pytest
  import torch
  from scipy.special import expit
  from sklearn.metrics import confusion_matrix
  from torchmetrics.classification.confusion_matrix import BinaryConfusionMatrix, ConfusionMatrix, MulticlassConfusionMatrix, MultilabelConfusionMatrix
  from torchmetrics.functional.classification.confusion_matrix import binary_confusion_matrix, multiclass_confusion_matrix, multilabel_confusion_matrix
  from torchmetrics.metric import Metric
  from unittests import NUM_CLASSES, THRESHOLD
  from unittests.classification.inputs import _binary_cases, _multiclass_cases, _multilabel_cases
  from unittests.helpers import seed_all
  from unittests.helpers.testers import MetricTester, inject_ignore_index, remove_ignore_index
label_desc: Use image node_id 2 for calling a global function with example usage: _sklearn_confusion_matrix_multiclass(preds, target, normalize, ignore_index) and returns: sk_confusion_matrix