code: def __curve_validation__(curve, actual_vector, probs):
      """
      Curve input validation.
  
      :param curve: curve
      :type curve: pycm.Curve object
      :param actual_vector: actual vector
      :type actual_vector: list or numpy array of any stringable objects
      :param probs: probabilities
      :type probs: list or numpy array
      :return: None
      """
      for item in [actual_vector, probs]:
          if not isinstance(item, (list, numpy.ndarray)):
              raise pycmCurveError(VECTOR_TYPE_ERROR)
      if len(actual_vector) != len(probs):
          raise pycmCurveError(VECTOR_SIZE_ERROR)
      for item in probs:
          if not all(map(isfloat, item)):
              raise pycmCurveError(PROBABILITY_TYPE_ERROR)
          if abs(sum(item) - 1) > 0.001:
              raise pycmCurveError(PROBABILITY_SUM_ERROR)
      curve.actual_vector = actual_vector
      curve.probs = probs
  
imports: from __future__ import division
  from .pycm_error import pycmCurveError, pycmPlotError
  from .pycm_util import threshold_func, thresholds_calc, isfloat
  from .pycm_param import *
  from .pycm_obj import ConfusionMatrix
  from warnings import warn
  import numpy
label_desc: Use image node_id 1 for calling a global function with example usage: __curve_validation__(curve, actual_vector, probs) without return types