code: def multi_process_map(
      worker_fn: Callable[..., None],
      datasets: Optional[List[str]] = None,
  ) -> None:
      """Applies the function for each given datasets.
  
      Args:
        worker_fn: Function called on each dataset version.
        datasets: List of all `dataset` names to generate. If None, visualization
          for all available datasets will be generated.
      """
      full_names = _get_full_names(datasets)
      logging.info(f"Generate figures for {len(full_names)} builders")
      with multiprocessing.Pool(_WORKER_COUNT_DATASETS) as tpool:
          list(tpool.map(worker_fn, full_names))
  
file_path: datasets/tensorflow_datasets/scripts/documentation/script_utils.py
imports: import concurrent.futures
  import functools
  import itertools
  import multiprocessing
  import os
  import traceback
  from typing import Any, Callable, List, Optional, TypeVar
  from absl import app
  from absl import logging
  import tensorflow_datasets
  from tensorflow_datasets.core.utils.lazy_imports_utils import tensorflow
label_desc: Use image node_id 4 for calling a global function with example usage: multi_process_map(worker_fn, datasets) without return types