code: def create_simulated_env(
      output_dir, grayscale, resize_width_factor, resize_height_factor,
      frame_stack_size, generative_model, generative_model_params,
      random_starts=True, which_epoch_data="last", **other_hparams
  ):
    Create SimulatedEnv with minimal subset of hparams."""
    # We need these, to initialize T2TGymEnv, but these values (hopefully) have
    # no effect on player.
    a_bit_risky_defaults = {
        "game": "pong",  # assumes that T2TGymEnv has always reward_range (-1,1)
        "real_batch_size": 1,
        "rl_env_max_episode_steps": -1,
        "max_num_noops": 0
    }
  
    for key in a_bit_risky_defaults:
      if key not in other_hparams:
        other_hparams[key] = a_bit_risky_defaults[key]
  
    hparams = hparam.HParams(
        grayscale=grayscale,
        resize_width_factor=resize_width_factor,
        resize_height_factor=resize_height_factor,
        frame_stack_size=frame_stack_size,
        generative_model=generative_model,
        generative_model_params=generative_model_params,
        **other_hparams
    )
    return load_data_and_make_simulated_env(
        output_dir, wm_dir=None, hparams=hparams,
        which_epoch_data=which_epoch_data,
        random_starts=random_starts)
docs: Create SimulatedEnv with minimal subset of hparams.