class_docstr: Defines a configuration class from which an ApexDQN Algorithm can be built.
  
  Example:
      >>> from ray.rllib.algorithms.apex_dqn.apex_dqn import ApexDQNConfig
      >>> config = ApexDQNConfig()
      >>> print(config.replay_buffer_config) # doctest: +SKIP
      >>> replay_config = config.replay_buffer_config.update( # doctest: +SKIP
      ...     {
      ...         "capacity": 100000,
      ...         "prioritized_replay_alpha": 0.45,
      ...         "prioritized_replay_beta": 0.55,
      ...         "prioritized_replay_eps": 3e-6,
      ...     }
      ... )
      >>> config = config.training(replay_buffer_config=replay_config) #doctest: +SKIP
      >>> config = config.resources(num_gpus=1)  # doctest: +SKIP
      >>> config = config.rollouts(num_rollout_workers=30)  # doctest: +SKIP
      >>> config = config.environment("CartPole-v1")  # doctest: +SKIP
      >>> algo = config.build() # doctest: +SKIP
      >>> algo.train()  # doctest: +SKIP
  
  Example:
      >>> from ray.rllib.algorithms.apex_dqn.apex_dqn import ApexDQNConfig
      >>> from ray import air
      >>> from ray import tune
      >>> config = ApexDQNConfig()
      >>> config.training(  # doctest: +SKIP
      ...     num_atoms=tune.grid_search(list(range(1, 11)))
      >>> config.environment(env="CartPole-v1")  # doctest: +SKIP
      >>> tune.Tuner( # doctest: +SKIP
      ...     "APEX",
      ...     run_config=air.RunConfig(stop={"episode_reward_mean":200}),
      ...     param_space=config.to_dict()
      ... ).fit()
  
  Example:
      >>> from ray.rllib.algorithms.apex_dqn.apex_dqn import ApexDQNConfig
      >>> config = ApexDQNConfig()
      >>> print(config.exploration_config)  # doctest: +SKIP
      >>> explore_config = config.exploration_config.update(  # doctest: +SKIP
      ...     {
      ...         "type": "EpsilonGreedy",
      ...         "initial_epsilon": 0.96,
      ...         "final_epsilon": 0.01,
      ...         "epsilone_timesteps": 5000,
      ...     }
      ... )
      >>> config = config.training(  # doctest: +SKIP
      ...     lr_schedule=[[1, 1e-3, [500, 5e-3]]
      ... )
      >>> config = config.exploration(  # doctest: +SKIP
      ...     exploration_config=explore_config
      ... )
  
  Example:
      >>> from ray.rllib.algorithms.apex_dqn.apex_dqn import ApexDQNConfig
      >>> config = ApexDQNConfig()
      >>> print(config.exploration_config)  # doctest: +SKIP
      >>> explore_config = config.exploration_config.update(  # doctest: +SKIP
      ...     {
      ...         "type": "SoftQ",
      ...         "temperature": [1.0],
      ...     }
      ... )
      >>> config = config.training(  # doctest: +SKIP
      ...     lr_schedule=[[1, 1e-3, [500, 5e-3]]
      ... )
      >>> config = config.exploration(  # doctest: +SKIP
      ...     exploration_config=explore_config
      ... )
class_docstr_tok: ["Defines","a","configuration","class","from","which","an","ApexDQN","Algorithm","can","be","built",".","Example",":",">",">",">","from","ray.rllib.algorithms.apex_dqn.apex_dqn","import","ApexDQNConfig",">",">",">","config","=","ApexDQNConfig","(",")",">",">",">","print","(","config.replay_buffer_config",")","#","doctest",":","+SKIP",">",">",">","replay_config","=","config.replay_buffer_config.update","(","#","doctest",":","+SKIP","...","{","...","``","capacity","''",":","100000",",","...","``","prioritized_replay_alpha","''",":","0.45",",","...","``","prioritized_replay_beta","''",":","0.55",",","...","``","prioritized_replay_eps","''",":","3e-6",",","...","}","...",")",">",">",">","config","=","config.training","(","replay_buffer_config=replay_config",")","#","doctest",":","+SKIP",">",">",">","config","=","config.resources","(","num_gpus=1",")","#","doctest",":","+SKIP",">",">",">","config","=","config.rollouts","(","num_rollout_workers=30",")","#","doctest",":","+SKIP",">",">",">","config","=","config.environment","(","``","CartPole-v1","''",")","#","doctest",":","+SKIP",">",">",">","algo","=","config.build","(",")","#","doctest",":","+SKIP",">",">",">","algo.train","(",")","#","doctest",":","+SKIP","Example",":",">",">",">","from","ray.rllib.algorithms.apex_dqn.apex_dqn","import","ApexDQNConfig",">",">",">","from","ray","import","air",">",">",">","from","ray","import","tune",">",">",">","config","=","ApexDQNConfig","(",")",">",">",">","config.training","(","#","doctest",":","+SKIP","...","num_atoms=tune.grid_search","(","list","(","range","(","1",",","11",")",")",")",">",">",">","config.environment","(","env=","''","CartPole-v1","''",")","#","doctest",":","+SKIP",">",">",">","tune.Tuner","(","#","doctest",":","+SKIP","...","``","APEX","''",",","...","run_config=air.RunConfig","(","stop=","{","``","episode_reward_mean","''",":200","}",")",",","...","param_space=config.to_dict","(",")","...",")",".fit","(",")","Example",":",">",">",">","from","ray.rllib.algorithms.apex_dqn.apex_dqn","import","ApexDQNConfig",">",">",">","config","=","ApexDQNConfig","(",")",">",">",">","print","(","config.exploration_config",")","#","doctest",":","+SKIP",">",">",">","explore_config","=","config.exploration_config.update","(","#","doctest",":","+SKIP","...","{","...","``","type","''",":","``","EpsilonGreedy","''",",","...","``","initial_epsilon","''",":","0.96",",","...","``","final_epsilon","''",":","0.01",",","...","``","epsilone_timesteps","''",":","5000",",","...","}","...",")",">",">",">","config","=","config.training","(","#","doctest",":","+SKIP","...","lr_schedule=","[","[","1",",","1e-3",",","[","500",",","5e-3","]","]","...",")",">",">",">","config","=","config.exploration","(","#","doctest",":","+SKIP","...","exploration_config=explore_config","...",")","Example",":",">",">",">","from","ray.rllib.algorithms.apex_dqn.apex_dqn","import","ApexDQNConfig",">",">",">","config","=","ApexDQNConfig","(",")",">",">",">","print","(","config.exploration_config",")","#","doctest",":","+SKIP",">",">",">","explore_config","=","config.exploration_config.update","(","#","doctest",":","+SKIP","...","{","...","``","type","''",":","``","SoftQ","''",",","...","``","temperature","''",":","[","1.0","]",",","...","}","...",")",">",">",">","config","=","config.training","(","#","doctest",":","+SKIP","...","lr_schedule=","[","[","1",",","1e-3",",","[","500",",","5e-3","]","]","...",")",">",">",">","config","=","config.exploration","(","#","doctest",":","+SKIP","...","exploration_config=explore_config","...",")"]
docstr: Initializes a ApexConfig instance.
docstr_tok: ["Initializes","a","ApexConfig","instance","."]
imports: import copy
  import platform
  import random
  from collections import defaultdict
  from typing import Any, Dict, List, Optional, Tuple, Union
  import ray
  from ray._private.dict import merge_dicts
  from ray.actor import ActorHandle
  from ray.rllib.algorithms import Algorithm
  from ray.rllib.algorithms.algorithm_config import AlgorithmConfig, NotProvided
  from ray.rllib.algorithms.dqn.dqn import DQN, DQNConfig
  from ray.rllib.algorithms.dqn.learner_thread import LearnerThread
  from ray.rllib.evaluation.rollout_worker import RolloutWorker
  from ray.rllib.evaluation.worker_set import handle_remote_call_result_errors
  from ray.rllib.utils.actor_manager import FaultTolerantActorManager
  from ray.rllib.utils.actors import create_colocated_actors
  from ray.rllib.utils.annotations import override
  from ray.rllib.utils.deprecation import DEPRECATED_VALUE
  from ray.rllib.utils.metrics import LAST_TARGET_UPDATE_TS, NUM_AGENT_STEPS_SAMPLED, NUM_AGENT_STEPS_TRAINED, NUM_ENV_STEPS_SAMPLED, NUM_ENV_STEPS_TRAINED, NUM_TARGET_UPDATES, SAMPLE_TIMER, SYNCH_WORKER_WEIGHTS_TIMER, TARGET_NET_UPDATE_TIMER
  from ray.rllib.utils.typing import PartialAlgorithmConfigDict, ResultDict, SampleBatchType
  from ray.tune.execution.placement_groups import PlacementGroupFactory
  from ray.tune.trainable import Trainable
label_desc: Use image node_id 1 to create a new ApexDQNConfig object from inherited base classes: DQNConfig with example: obj = ApexDQNConfig(algo_class)