code: def to_categorical(y, num_classes=None, dtype="float32"):
      """Converts a class vector (integers) to binary class matrix.
      E.g. for use with categorical_crossentropy.
      # Arguments
          y: class vector to be converted into a matrix
              (integers from 0 to num_classes).
          num_classes: total number of classes.
          dtype: The data type expected by the input, as a string
              (`float32`, `float64`, `int32`...)
      # Returns
          A binary matrix representation of the input. The classes axis
          is placed last.
      """
      y = np.array(y, dtype="int")
      input_shape = y.shape
      if input_shape and input_shape[-1] == 1 and len(input_shape) > 1:
          input_shape = tuple(input_shape[:-1])
      y = y.ravel()
      if not num_classes:
          num_classes = np.max(y) + 1
      n = y.shape[0]
      categorical = np.zeros((n, num_classes), dtype=dtype)
      categorical[np.arange(n), y] = 1
      output_shape = input_shape + (num_classes,)
      categorical = np.reshape(categorical, output_shape)
      return categorical
  
file_path: pywick/pywick/misc.py
imports: from enum import Enum, auto
  import errno
  import random
  import os
  import numpy
  import torch
label_desc: Use image node_id 8 for calling a global function with example usage: to_categorical(y, num_classes, dtype) and returns: categorical