code: def process_ray_dataset(
      self, shard, label_cols, feature_cols, data_config
  ):
      invalidInputError(
          label_cols is not None,
          "label_cols param must be specified when convert"
          " ray dataset to tf dataset.",
      )
      if "output_signature" not in data_config:
          invalidInputError(
              False,
              "output_signature should be specified in data_config",
          )
      import tensorflow as tf
  
      def data_creator(config, batch_size):
          tf_dataset = shard.to_tf(
              label_column=label_cols,
              feature_columns=feature_cols,
              output_signature=data_config["output_signature"],
              batch_size=batch_size,
          )
          options = tf.data.Options()
          options.experimental_distribute.auto_shard_policy = (
              tf.data.experimental.AutoShardPolicy.OFF
          )
          tf_dataset = tf_dataset.with_options(options)
          return tf_dataset
  
      return data_creator
  
imports: import os
  import types
  from bigdl.orca.common import SafePickle
  import shutil
  import tempfile
  import logging
  import ray
  from bigdl.dllib.utils import log4Error
  from bigdl.dllib.utils.file_utils import is_local_path
  from bigdl.orca.data.file import enable_multi_fs_save, enable_multi_fs_load
  from bigdl.orca.data.ray_xshards import RayXShards
  from bigdl.orca.learn.dl_cluster import RayDLCluster
  from bigdl.orca.learn.tf2.tf_runner import TFRunner
  from bigdl.orca.learn.ray_estimator import Estimator
  from bigdl.orca.learn.utils import maybe_dataframe_to_xshards, dataframe_to_xshards, convert_predict_xshards_to_dataframe, update_predict_xshards, process_xshards_of_pandas_dataframe, make_data_creator, add_predict_to_pd_xshards
  from bigdl.orca.data.file import get_remote_file_to_local, get_remote_dir_to_local, is_file
  from bigdl.orca.data.utils import process_spark_xshards
  from bigdl.dllib.utils.log4Error import invalidInputError
  from bigdl.orca.ray import OrcaRayContext
  from typing import TYPE_CHECKING, Dict, List, Callable, Union, Optional
label_desc: Use image node_id 6 for calling the TensorFlow2Estimator obj's underlying member method code with example usage: obj.process_ray_dataset(shard, label_cols, feature_cols, data_config) and returns: data_creator, tf_dataset