code: def from_numpy(
      x: np.ndarray,
      cspace: str,
      dtype=None,
      override_checks: bool = False,
      enforce_tensor: bool = False,
  ) -> Tensor:
      r"""
          Convert a Numpy Array to a Caer Tensor.
  
      .. warning::
          ``override_checks`` and ``enforce_tensor`` should not be used. If not handled property, a silly bug may pop up at an unexpected time.
  
      Args:
          x (ndarray): Array to convert.
          cspace (str): ``must`` be specified. Value should be either bgr/rgb/gray/hsv/hls/lab.
          dtype (numpy): (optional) Data Type
          override_checks (bool): WARNING: Intended for internal Usage only => if not handled properly, a silly bug may pop up at an unexpected time.
          enforce_tensor (bool): WARNING: Intended for internal Usage only => if not handled properly, a silly bug may pop up at an unexpected time.
  
      Returns:
          ``caer.Tensor``
      """
  
      if cspace is None:
          if not override_checks:
              raise ValueError(
                  "The `cspace` attribute must be specified when converting from foreign arrays to a caer.Tensor. Supported values: bgr/rgb/gray/hsv/hls/lab."
              )
  
          # For certain functions, it is imperative that a caer.Tensor must be passed
          if enforce_tensor:
              raise ValueError(
                  "To use this function, a caer.Tensor must be passed"
              )
  
      if isinstance(x, np.ndarray):
          return Tensor(x, cspace=cspace, dtype=dtype)
  
      else:
          raise TypeError("`x` is not a Numpy Array")
  
imports: import numpy
  from .tensor import Tensor
  from typing import Tuple, Optional, Union
label_desc: Use image node_id 1 for calling a global function with example usage: from_numpy(x, cspace, dtype, override_checks, enforce_tensor) and returns: Tensor