code: def run_images_benchmark_single_node(benchmark: Benchmark):
      # Set global random seed.
      random.seed(42)
  
      test_input = [
          generate_images(100, [(256, 256)], ["RGB"], ["jpg"]),
          generate_images(100, [(2048, 2048)], ["RGB"], ["jpg"]),
          generate_images(
              1000,
              [(64, 64), (256, 256)],
              ["RGB", "L"],
              ["jpg", "jpeg", "png"],
          ),
      ]
  
      benchmark.run_materialize_ds(
          "images-100-256-rbg-jpg", ray.data.read_images, test_input[0]
      )
      benchmark.run_materialize_ds(
          "images-100-2048-rbg-jpg", ray.data.read_images, test_input[1]
      )
      benchmark.run_materialize_ds(
          "images-100-2048-to-256-rbg-jpg",
          ray.data.read_images,
          test_input[1],
          size=(256, 256),
      )
      benchmark.run_materialize_ds(
          "images-1000-mix",
          ray.data.read_images,
          test_input[2],
          size=(256, 256),
          mode="RGB",
      )
  
      for root in test_input:
          shutil.rmtree(root)
  
      # TODO(chengsu): run benchmark on 20G and 100G imagenet data in multi-nodes
      # cluster.
      benchmark.run_materialize_ds(
          "images-imagenet-1g",
          ray.data.read_images,
          "s3://air-example-data-2/1G-image-data-synthetic-raw",
      )
  
file_path: ray/release/nightly_tests/dataset/read_images_benchmark.py
imports: import argparse
  import os
  import random
  import shutil
  import tempfile
  from typing import List, Tuple
  from PIL import Image
  import ray
  from benchmark import Benchmark
label_desc: Use image node_id 4 for calling a global function with example usage: run_images_benchmark_single_node(benchmark) without return types