code: def test_parquet_images_training(self):
      from zoo.orca.learn.tf2 import Estimator
  
      temp_dir = tempfile.mkdtemp()
      try:
          ParquetDataset.write(
              "file://" + temp_dir, images_generator(), images_schema
          )
          path = "file://" + temp_dir
          output_types = {
              "id": tf.string,
              "image": tf.string,
              "label": tf.float32,
          }
          output_shapes = {"id": (), "image": (), "label": ()}
  
          def data_creator(config, batch_size):
              dataset = read_parquet(
                  "tf_dataset",
                  path=path,
                  output_types=output_types,
                  output_shapes=output_shapes,
              )
              dataset = dataset.shuffle(10)
              dataset = dataset.map(
                  lambda data_dict: (
                      data_dict["image"],
                      data_dict["label"],
                  )
              )
              dataset = dataset.map(parse_data_train)
              dataset = dataset.batch(batch_size)
              return dataset
  
          ray_ctx = RayContext.get()
          trainer = Estimator.from_keras(model_creator=model_creator)
          trainer.fit(data=data_creator, epochs=1, batch_size=2)
      finally:
          shutil.rmtree(temp_dir)
  
file_path: analytics-zoo/pyzoo/test/zoo/orca/data/test_read_parquet_images.py
imports: import tempfile
  import shutil
  import pytest
  from unittest import TestCase
  import os
  from zoo.orca.data.image.parquet_dataset import ParquetDataset, read_parquet
  from zoo.orca.data.image.utils import DType, FeatureType, SchemaField
  import tensorflow
  from zoo.ray import RayContext
label_desc: Use image node_id 2 for calling the TestReadParquet obj's underlying member method code with example usage: obj.test_parquet_images_training() and returns: dataset