docstr: Evaluate a model on a given dataset in distributed mode.
  
  # Arguments
  x: Evaluation data. A Numpy array or RDD of Sample or ImageSet or TextSet.
  y: Labels. A Numpy array.
     Default is None if x is already Sample RDD or ImageSet or TextSet.
  batch_size: Number of samples per batch. Default is 32.
  feature_cols: List of String, must be set if x is Spark DataFrame
  label_cols: List of String, must be set if x is Spark DataFrame
code: def evaluate(
      self,
      x,
      y=None,
      batch_size=32,
      feature_cols=None,
      label_cols=None,
      transform=None,
  ):
      """
      Evaluate a model on a given dataset in distributed mode.
  
      # Arguments
      x: Evaluation data. A Numpy array or RDD of Sample or ImageSet or TextSet.
      y: Labels. A Numpy array.
         Default is None if x is already Sample RDD or ImageSet or TextSet.
      batch_size: Number of samples per batch. Default is 32.
      feature_cols: List of String, must be set if x is Spark DataFrame
      label_cols: List of String, must be set if x is Spark DataFrame
      """
      if isinstance(x, np.ndarray) and isinstance(y, np.ndarray):
          data = to_sample_rdd(x, y)
      elif (
          isinstance(x, RDD)
          or isinstance(x, ImageSet)
          or isinstance(x, TextSet)
      ) and not y:
          data = x
      elif isinstance(x, DataFrame):
          if not label_cols:
              invalidInputError(False, "Please set label_cols")
          if "image" not in x.columns:
              if not feature_cols:
                  invalidInputError(False, "Please set feature_cols")
              return callBigDlFunc(
                  self.bigdl_type,
                  "zooEvaluate",
                  self.value,
                  x,
                  batch_size,
                  feature_cols,
                  label_cols,
              )
          else:
              return callBigDlFunc(
                  self.bigdl_type,
                  "zooEvaluateImage",
                  self.value,
                  x,
                  label_cols,
                  transform,
                  batch_size,
              )
      else:
          invalidInputError(
              False, "Unsupported evaluation data type: %s" % type(x)
          )
      return callZooFunc(
          self.bigdl_type, "zooEvaluate", self.value, data, batch_size
      )
  
imports: import bigdl.dllib.keras.autograd
  from bigdl.dllib.feature.image import ImageSet
  from bigdl.dllib.feature.text import TextSet
  from bigdl.dllib.feature.common import FeatureSet
  from bigdl.dllib.keras.base import ZooKerasLayer
  from bigdl.dllib.keras.utils import *
  from bigdl.dllib.nn.layer import Layer
  from bigdl.dllib.utils.file_utils import callZooFunc
label_desc: Use image node_id 15 for calling the KerasNet obj's underlying member method code with example usage: obj.evaluate(x, y, batch_size, feature_cols, label_cols, transform) and returns: callZooFunc, callBigDlFunc, callBigDlFunc