From 74db141d5e1a756cad26047cc15292ce211110f5 Mon Sep 17 00:00:00 2001 From: guyk1971 Date: Wed, 1 May 2019 18:37:49 +0300 Subject: [PATCH] SAC algorithm (#282) * SAC algorithm * SAC - updates to agent (learn_from_batch), sac_head and sac_q_head to fix problem in gradient calculation. Now SAC agents is able to train. gym_environment - fixing an error in access to gym.spaces * Soft Actor Critic - code cleanup * code cleanup * V-head initialization fix * SAC benchmarks * SAC Documentation * typo fix * documentation fixes * documentation and version update * README typo --- README.md | 5 +- benchmarks/README.md | 1 + benchmarks/clipped_ppo/README.md | 2 +- benchmarks/ddpg/README.md | 2 +- benchmarks/sac/README.md | 48 ++ benchmarks/sac/half_cheetah_sac.png | Bin 0 -> 67180 bytes benchmarks/sac/hopper_sac.png | Bin 0 -> 99681 bytes benchmarks/sac/humanoid_sac.png | Bin 0 -> 91725 bytes benchmarks/sac/inverted_pendulum_sac.png | Bin 0 -> 50099 bytes benchmarks/sac/walker2d_sac.png | Bin 0 -> 78440 bytes docs/_images/algorithms.png | Bin 51768 -> 60448 bytes docs/_images/sac.png | Bin 0 -> 111523 bytes docs/_modules/index.html | 2 + docs/_modules/rl_coach/agents/acer_agent.html | 2 +- docs/_modules/rl_coach/agents/agent.html | 268 +++++---- .../rl_coach/agents/agent_interface.html | 387 ++++++++++++ .../agents/categorical_dqn_agent.html | 13 +- .../rl_coach/agents/clipped_ppo_agent.html | 2 + docs/_modules/rl_coach/agents/dfp_agent.html | 4 +- docs/_modules/rl_coach/agents/dqn_agent.html | 12 +- docs/_modules/rl_coach/agents/mmc_agent.html | 2 +- .../rl_coach/agents/n_step_q_agent.html | 3 + docs/_modules/rl_coach/agents/nec_agent.html | 4 +- docs/_modules/rl_coach/agents/pal_agent.html | 2 +- .../rl_coach/agents/qr_dqn_agent.html | 9 +- .../rl_coach/agents/rainbow_dqn_agent.html | 12 +- .../agents/soft_actor_critic_agent.html | 554 ++++++++++++++++++ .../agents/value_optimization_agent.html | 87 ++- docs/_modules/rl_coach/base_parameters.html | 56 +- docs/_modules/rl_coach/core_types.html | 69 ++- .../rl_coach/data_stores/nfs_data_store.html | 7 +- .../rl_coach/data_stores/s3_data_store.html | 38 +- .../environments/gym_environment.html | 32 +- .../episodic/episodic_experience_replay.html | 151 ++++- .../non_episodic/experience_replay.html | 32 +- .../kubernetes_orchestrator.html | 22 +- docs/_modules/rl_coach/spaces.html | 2 +- docs/_sources/components/agents/index.rst.txt | 1 + .../agents/policy_optimization/acer.rst.txt | 1 + .../agents/policy_optimization/sac.rst.txt | 49 ++ docs/_sources/selecting_an_algorithm.rst.txt | 8 + docs/_sources/usage.rst.txt | 3 +- docs/_static/css/custom.css | 61 -- docs/components/additional_parameters.html | 16 +- docs/components/agents/imitation/bc.html | 1 + docs/components/agents/imitation/cil.html | 1 + docs/components/agents/index.html | 45 +- docs/components/agents/other/dfp.html | 5 +- .../agents/policy_optimization/ac.html | 1 + .../agents/policy_optimization/acer.html | 12 +- .../agents/policy_optimization/cppo.html | 1 + .../agents/policy_optimization/ddpg.html | 5 +- .../agents/policy_optimization/pg.html | 1 + .../agents/policy_optimization/ppo.html | 1 + .../agents/policy_optimization/sac.html | 343 +++++++++++ .../agents/value_optimization/bs_dqn.html | 1 + .../value_optimization/categorical_dqn.html | 1 + .../agents/value_optimization/double_dqn.html | 1 + .../agents/value_optimization/dqn.html | 1 + .../value_optimization/dueling_dqn.html | 1 + .../agents/value_optimization/mmc.html | 1 + .../agents/value_optimization/n_step.html | 1 + .../agents/value_optimization/naf.html | 1 + .../agents/value_optimization/nec.html | 1 + .../agents/value_optimization/pal.html | 1 + .../agents/value_optimization/qr_dqn.html | 1 + .../agents/value_optimization/rainbow.html | 1 + docs/components/architectures/index.html | 3 +- docs/components/core_types.html | 4 +- docs/components/memories/index.html | 2 +- docs/genindex.html | 30 +- docs/objects.inv | Bin 3579 -> 3610 bytes docs/searchindex.js | 2 +- docs/selecting_an_algorithm.html | 8 + docs/test.html | 52 +- docs/usage.html | 3 +- docs_raw/source/_static/img/algorithms.png | Bin 51768 -> 60448 bytes .../source/_static/img/design_imgs/sac.png | Bin 0 -> 111523 bytes docs_raw/source/components/agents/index.rst | 1 + .../agents/policy_optimization/acer.rst | 1 + .../agents/policy_optimization/sac.rst | 49 ++ docs_raw/source/diagrams.xml | 2 +- docs_raw/source/selecting_an_algorithm.rst | 8 + img/algorithms.png | Bin 51768 -> 60448 bytes rl_coach/agents/soft_actor_critic_agent.py | 321 ++++++++++ rl_coach/architectures/head_parameters.py | 18 +- .../tensorflow_components/heads/__init__.py | 6 +- .../tensorflow_components/heads/sac_head.py | 107 ++++ .../tensorflow_components/heads/sac_q_head.py | 116 ++++ .../tensorflow_components/heads/v_head.py | 11 +- rl_coach/presets/Mujoco_SAC.py | 71 +++ setup.py | 2 +- 92 files changed, 2812 insertions(+), 402 deletions(-) create mode 100644 benchmarks/sac/README.md create mode 100644 benchmarks/sac/half_cheetah_sac.png create mode 100644 benchmarks/sac/hopper_sac.png create mode 100644 benchmarks/sac/humanoid_sac.png create mode 100644 benchmarks/sac/inverted_pendulum_sac.png create mode 100644 benchmarks/sac/walker2d_sac.png create mode 100644 docs/_images/sac.png create mode 100644 docs/_modules/rl_coach/agents/agent_interface.html create mode 100644 docs/_modules/rl_coach/agents/soft_actor_critic_agent.html create mode 100644 docs/_sources/components/agents/policy_optimization/sac.rst.txt delete mode 100644 docs/_static/css/custom.css create mode 100644 docs/components/agents/policy_optimization/sac.html create mode 100644 docs_raw/source/_static/img/design_imgs/sac.png create mode 100644 docs_raw/source/components/agents/policy_optimization/sac.rst create mode 100644 rl_coach/agents/soft_actor_critic_agent.py create mode 100644 rl_coach/architectures/tensorflow_components/heads/sac_head.py create mode 100644 rl_coach/architectures/tensorflow_components/heads/sac_q_head.py create mode 100644 rl_coach/presets/Mujoco_SAC.py diff --git a/README.md b/README.md index 9799ed5..e056995 100644 --- a/README.md +++ b/README.md @@ -25,11 +25,11 @@ coach -p CartPole_DQN -r Doom Health Gathering PyBullet Minitaur Gym Extensions Ant

-Blog posts from the IntelĀ® AI website: * [Release 0.8.0](https://ai.intel.com/reinforcement-learning-coach-intel/) (initial release) * [Release 0.9.0](https://ai.intel.com/reinforcement-learning-coach-carla-qr-dqn/) * [Release 0.10.0](https://ai.intel.com/introducing-reinforcement-learning-coach-0-10-0/) -* [Release 0.11.0](https://ai.intel.com/rl-coach-data-science-at-scale) (current release) +* [Release 0.11.0](https://ai.intel.com/rl-coach-data-science-at-scale) +* Release 0.12.0 (current release) Contacting the Coach development team is also possible through the email [coach@intel.com](coach@intel.com) @@ -277,6 +277,7 @@ dashboard * [Clipped Proximal Policy Optimization (CPPO)](https://arxiv.org/pdf/1707.06347.pdf) | **Multi Worker Single Node** ([code](rl_coach/agents/clipped_ppo_agent.py)) * [Generalized Advantage Estimation (GAE)](https://arxiv.org/abs/1506.02438) ([code](rl_coach/agents/actor_critic_agent.py#L86)) * [Sample Efficient Actor-Critic with Experience Replay (ACER)](https://arxiv.org/abs/1611.01224) | **Multi Worker Single Node** ([code](rl_coach/agents/acer_agent.py)) +* [Soft Actor-Critic (SAC)](https://arxiv.org/abs/1801.01290) ([code](rl_coach/agents/soft_actor_critic_agent.py)) ### General Agents * [Direct Future Prediction (DFP)](https://arxiv.org/abs/1611.01779) | **Multi Worker Single Node** ([code](rl_coach/agents/dfp_agent.py)) diff --git a/benchmarks/README.md b/benchmarks/README.md index 603e882..fe22f89 100644 --- a/benchmarks/README.md +++ b/benchmarks/README.md @@ -37,6 +37,7 @@ The environments that were used for testing include: |**[ACER](acer)** | ![#2E8B57](https://placehold.it/15/2E8B57/000000?text=+) |Atari | | |**[Clipped PPO](clipped_ppo)** | ![#2E8B57](https://placehold.it/15/2E8B57/000000?text=+) |Mujoco | | |**[DDPG](ddpg)** | ![#2E8B57](https://placehold.it/15/2E8B57/000000?text=+) |Mujoco | | +|**[SAC](sac)** | ![#2E8B57](https://placehold.it/15/2E8B57/000000?text=+) |Mujoco | | |**[NEC](nec)** | ![#2E8B57](https://placehold.it/15/2E8B57/000000?text=+) |Atari | | |**[HER](ddpg_her)** | ![#2E8B57](https://placehold.it/15/2E8B57/000000?text=+) |Fetch | | |**[DFP](dfp)** | ![#ceffad](https://placehold.it/15/ceffad/000000?text=+) |Doom | Doom Battle was not verified | diff --git a/benchmarks/clipped_ppo/README.md b/benchmarks/clipped_ppo/README.md index 9eedf09..f29152a 100644 --- a/benchmarks/clipped_ppo/README.md +++ b/benchmarks/clipped_ppo/README.md @@ -1,6 +1,6 @@ # Clipped PPO -Each experiment uses 3 seeds and is trained for 10k environment steps. +Each experiment uses 3 seeds and is trained for 10M environment steps. The parameters used for Clipped PPO are the same parameters as described in the [original paper](https://arxiv.org/abs/1707.06347). ### Inverted Pendulum Clipped PPO - single worker diff --git a/benchmarks/ddpg/README.md b/benchmarks/ddpg/README.md index 0163d09..59a5cdf 100644 --- a/benchmarks/ddpg/README.md +++ b/benchmarks/ddpg/README.md @@ -1,6 +1,6 @@ # DDPG -Each experiment uses 3 seeds and is trained for 2k environment steps. +Each experiment uses 3 seeds and is trained for 2M environment steps. The parameters used for DDPG are the same parameters as described in the [original paper](https://arxiv.org/abs/1509.02971). ### Inverted Pendulum DDPG - single worker diff --git a/benchmarks/sac/README.md b/benchmarks/sac/README.md new file mode 100644 index 0000000..50e7b6e --- /dev/null +++ b/benchmarks/sac/README.md @@ -0,0 +1,48 @@ +# Soft Actor Critic + +Each experiment uses 3 seeds and is trained for 3M environment steps. +The parameters used for SAC are the same parameters as described in the [original paper](https://arxiv.org/abs/1801.01290). + +### Inverted Pendulum SAC - single worker + +```bash +coach -p Mujoco_SAC -lvl inverted_pendulum +``` + +Inverted Pendulum SAC + + +### Hopper Clipped SAC - single worker + +```bash +coach -p Mujoco_SAC -lvl hopper +``` + +Hopper SAC + + +### Half Cheetah Clipped SAC - single worker + +```bash +coach -p Mujoco_SAC -lvl half_cheetah +``` + +Half Cheetah SAC + + +### Walker 2D Clipped SAC - single worker + +```bash +coach -p Mujoco_SAC -lvl walker2d +``` + +Walker 2D SAC + + +### Humanoid Clipped SAC - single worker + +```bash +coach -p Mujoco_SAC -lvl humanoid +``` + +Humanoid SAC diff --git a/benchmarks/sac/half_cheetah_sac.png b/benchmarks/sac/half_cheetah_sac.png new file mode 100644 index 0000000000000000000000000000000000000000..00b18b54d4c11d781132c13350d75ce83a7d16be GIT binary patch literal 67180 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 @%_+#OZri)pj0|>UHE& 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 literal 0 HcmV?d00001 diff --git a/benchmarks/sac/hopper_sac.png b/benchmarks/sac/hopper_sac.png new file mode 100644 index 0000000000000000000000000000000000000000..68d250f729c94c099bfa8e89aabf1fbd097b5dca GIT binary patch literal 99681 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

o@$dqPX$s83Ue=ww)icCWKzRgn4k#w0-9& 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 VQ0eaeRlxy1dOAkhMK|w-{|_OH8xQ~h literal 0 HcmV?d00001 diff --git a/benchmarks/sac/humanoid_sac.png b/benchmarks/sac/humanoid_sac.png new file mode 100644 index 0000000000000000000000000000000000000000..72b73e5249cb02b570e9efcb1fdbe5ba324ede13 GIT binary patch literal 91725 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

KgLC;C6?V*xCw+C_un=R;)ZkZz)2qtRR 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 literal 0 HcmV?d00001 diff --git a/docs/_images/algorithms.png b/docs/_images/algorithms.png index 983df679b3991d1ba2a999307c2c06e878026668..b3310c076a25084ab3563b97af8a5fbc25f9957d 100644 GIT binary patch literal 60448 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­=Cem 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

U)4 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 literal 51768 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 SLOv2)0Fjkck|-884*DNk531b& diff --git a/docs/_images/sac.png b/docs/_images/sac.png new file mode 100644 index 0000000000000000000000000000000000000000..6d51b39445397e3a4844ca6db90acb28c290dc66 GIT binary patch literal 111523 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 literal 0 HcmV?d00001 diff --git a/docs/_modules/index.html b/docs/_modules/index.html index 20c6476..a8cf7d4 100644 --- a/docs/_modules/index.html +++ b/docs/_modules/index.html @@ -179,6 +179,7 @@

  • rl_coach.agents.acer_agent
  • rl_coach.agents.actor_critic_agent
  • rl_coach.agents.agent
  • +
  • rl_coach.agents.agent_interface
  • rl_coach.agents.bc_agent
  • rl_coach.agents.categorical_dqn_agent
  • rl_coach.agents.cil_agent
  • @@ -195,6 +196,7 @@
  • rl_coach.agents.ppo_agent
  • rl_coach.agents.qr_dqn_agent
  • rl_coach.agents.rainbow_dqn_agent
  • +
  • rl_coach.agents.soft_actor_critic_agent
  • rl_coach.agents.value_optimization_agent
  • rl_coach.architectures.architecture
  • rl_coach.architectures.network_wrapper
  • diff --git a/docs/_modules/rl_coach/agents/acer_agent.html b/docs/_modules/rl_coach/agents/acer_agent.html index 567d82c..5fc8ae0 100644 --- a/docs/_modules/rl_coach/agents/acer_agent.html +++ b/docs/_modules/rl_coach/agents/acer_agent.html @@ -248,7 +248,7 @@ self.num_steps_between_gradient_updates = 5000 self.ratio_of_replay = 4 self.num_transitions_to_start_replay = 10000 - self.rate_for_copying_weights_to_target = 0.99 + self.rate_for_copying_weights_to_target = 0.01 self.importance_weight_truncation = 10.0 self.use_trust_region_optimization = True self.max_KL_divergence = 1.0 diff --git a/docs/_modules/rl_coach/agents/agent.html b/docs/_modules/rl_coach/agents/agent.html index e9aad93..797106c 100644 --- a/docs/_modules/rl_coach/agents/agent.html +++ b/docs/_modules/rl_coach/agents/agent.html @@ -214,6 +214,9 @@ from rl_coach.utils import Signal, force_list from rl_coach.utils import dynamic_import_and_instantiate_module_from_params from rl_coach.memories.backend.memory_impl import get_memory_backend +from rl_coach.core_types import TimeTypes +from rl_coach.off_policy_evaluators.ope_manager import OpeManager +from rl_coach.core_types import PickledReplayBuffer, CsvDataset
    [docs]class Agent(AgentInterface): @@ -222,6 +225,15 @@ :param agent_parameters: A AgentParameters class instance with all the agent parameters """ super().__init__() + # use seed + if agent_parameters.task_parameters.seed is not None: + random.seed(agent_parameters.task_parameters.seed) + np.random.seed(agent_parameters.task_parameters.seed) + else: + # we need to seed the RNG since the different processes are initialized with the same parent seed + random.seed() + np.random.seed() + self.ap = agent_parameters self.task_id = self.ap.task_parameters.task_index self.is_chief = self.task_id == 0 @@ -229,10 +241,10 @@ and self.ap.memory.shared_memory if self.shared_memory: self.shared_memory_scratchpad = self.ap.task_parameters.shared_memory_scratchpad - self.name = agent_parameters.name self.parent = parent self.parent_level_manager = None - self.full_name_id = agent_parameters.full_name_id = self.name + # TODO this needs to be sorted out. Why the duplicates for the agent's name? + self.full_name_id = agent_parameters.full_name_id = self.name = agent_parameters.name if type(agent_parameters.task_parameters) == DistributedTaskParameters: screen.log_title("Creating agent - name: {} task id: {} (may take up to 30 seconds due to " @@ -264,9 +276,17 @@ self.memory.set_memory_backend(self.memory_backend) if agent_parameters.memory.load_memory_from_file_path: - screen.log_title("Loading replay buffer from pickle. Pickle path: {}" - .format(agent_parameters.memory.load_memory_from_file_path)) - self.memory.load(agent_parameters.memory.load_memory_from_file_path) + if isinstance(agent_parameters.memory.load_memory_from_file_path, PickledReplayBuffer): + screen.log_title("Loading a pickled replay buffer. Pickled file path: {}" + .format(agent_parameters.memory.load_memory_from_file_path.filepath)) + self.memory.load_pickled(agent_parameters.memory.load_memory_from_file_path.filepath) + elif isinstance(agent_parameters.memory.load_memory_from_file_path, CsvDataset): + screen.log_title("Loading a replay buffer from a CSV file. CSV file path: {}" + .format(agent_parameters.memory.load_memory_from_file_path.filepath)) + self.memory.load_csv(agent_parameters.memory.load_memory_from_file_path) + else: + raise ValueError('Trying to load a replay buffer using an unsupported method - {}. ' + .format(agent_parameters.memory.load_memory_from_file_path)) if self.shared_memory and self.is_chief: self.shared_memory_scratchpad.add(self.memory_lookup_name, self.memory) @@ -327,6 +347,7 @@ self.total_steps_counter = 0 self.running_reward = None self.training_iteration = 0 + self.training_epoch = 0 self.last_target_network_update_step = 0 self.last_training_phase_step = 0 self.current_episode = self.ap.current_episode = 0 @@ -364,14 +385,9 @@ self.discounted_return = self.register_signal('Discounted Return') if isinstance(self.in_action_space, GoalsSpace): self.distance_from_goal = self.register_signal('Distance From Goal', dump_one_value_per_step=True) - # use seed - if self.ap.task_parameters.seed is not None: - random.seed(self.ap.task_parameters.seed) - np.random.seed(self.ap.task_parameters.seed) - else: - # we need to seed the RNG since the different processes are initialized with the same parent seed - random.seed() - np.random.seed() + + # batch rl + self.ope_manager = OpeManager() if self.ap.is_batch_rl_training else None @property def parent(self) -> 'LevelManager': @@ -408,6 +424,7 @@ format(graph_name=self.parent_level_manager.parent_graph_manager.name, level_name=self.parent_level_manager.name, agent_full_id='.'.join(self.full_name_id.split('/'))) + self.agent_logger.set_index_name(self.parent_level_manager.parent_graph_manager.time_metric.value.name) self.agent_logger.set_logger_filenames(self.ap.task_parameters.experiment_path, logger_prefix=logger_prefix, add_timestamp=True, task_id=self.task_id) if self.ap.visualization.dump_in_episode_signals: @@ -561,13 +578,17 @@ self.accumulated_shaped_rewards_across_evaluation_episodes = 0 self.num_successes_across_evaluation_episodes = 0 self.num_evaluation_episodes_completed = 0 - if self.ap.is_a_highest_level_agent or self.ap.task_parameters.verbosity == "high": + + # TODO verbosity was mistakenly removed from task_parameters on release 0.11.0, need to bring it back + # if self.ap.is_a_highest_level_agent or self.ap.task_parameters.verbosity == "high": + if self.ap.is_a_highest_level_agent: screen.log_title("{}: Starting evaluation phase".format(self.name)) elif ending_evaluation: # we write to the next episode, because it could be that the current episode was already written # to disk and then we won't write it again - self.agent_logger.set_current_time(self.current_episode + 1) + self.agent_logger.set_current_time(self.get_current_time() + 1) + evaluation_reward = self.accumulated_rewards_across_evaluation_episodes / self.num_evaluation_episodes_completed self.agent_logger.create_signal_value( 'Evaluation Reward', evaluation_reward) @@ -577,9 +598,11 @@ success_rate = self.num_successes_across_evaluation_episodes / self.num_evaluation_episodes_completed self.agent_logger.create_signal_value( "Success Rate", - success_rate - ) - if self.ap.is_a_highest_level_agent or self.ap.task_parameters.verbosity == "high": + success_rate) + + # TODO verbosity was mistakenly removed from task_parameters on release 0.11.0, need to bring it back + # if self.ap.is_a_highest_level_agent or self.ap.task_parameters.verbosity == "high": + if self.ap.is_a_highest_level_agent: screen.log_title("{}: Finished evaluation phase. Success rate = {}, Avg Total Reward = {}" .format(self.name, np.round(success_rate, 2), np.round(evaluation_reward, 2)))
    @@ -652,8 +675,11 @@ :return: None """ # log all the signals to file - self.agent_logger.set_current_time(self.current_episode) + current_time = self.get_current_time() + self.agent_logger.set_current_time(current_time) self.agent_logger.create_signal_value('Training Iter', self.training_iteration) + self.agent_logger.create_signal_value('Episode #', self.current_episode) + self.agent_logger.create_signal_value('Epoch', self.training_epoch) self.agent_logger.create_signal_value('In Heatup', int(self._phase == RunPhase.HEATUP)) self.agent_logger.create_signal_value('ER #Transitions', self.call_memory('num_transitions')) self.agent_logger.create_signal_value('ER #Episodes', self.call_memory('length')) @@ -666,12 +692,17 @@ if self._phase == RunPhase.TRAIN else np.nan) self.agent_logger.create_signal_value('Update Target Network', 0, overwrite=False) - self.agent_logger.update_wall_clock_time(self.current_episode) + self.agent_logger.update_wall_clock_time(current_time) - if self._phase != RunPhase.TEST: - self.agent_logger.create_signal_value('Evaluation Reward', np.nan, overwrite=False) - self.agent_logger.create_signal_value('Shaped Evaluation Reward', np.nan, overwrite=False) - self.agent_logger.create_signal_value('Success Rate', np.nan, overwrite=False) + # The following signals are created with meaningful values only when an evaluation phase is completed. + # Creating with default NaNs for any HEATUP/TRAIN/TEST episode which is not the last in an evaluation phase + self.agent_logger.create_signal_value('Evaluation Reward', np.nan, overwrite=False) + self.agent_logger.create_signal_value('Shaped Evaluation Reward', np.nan, overwrite=False) + self.agent_logger.create_signal_value('Success Rate', np.nan, overwrite=False) + self.agent_logger.create_signal_value('Inverse Propensity Score', np.nan, overwrite=False) + self.agent_logger.create_signal_value('Direct Method Reward', np.nan, overwrite=False) + self.agent_logger.create_signal_value('Doubly Robust', np.nan, overwrite=False) + self.agent_logger.create_signal_value('Sequential Doubly Robust', np.nan, overwrite=False) for signal in self.episode_signals: self.agent_logger.create_signal_value("{}/Mean".format(signal.name), signal.get_mean()) @@ -680,8 +711,7 @@ self.agent_logger.create_signal_value("{}/Min".format(signal.name), signal.get_min()) # dump - if self.current_episode % self.ap.visualization.dump_signals_to_csv_every_x_episodes == 0 \ - and self.current_episode > 0: + if self.current_episode % self.ap.visualization.dump_signals_to_csv_every_x_episodes == 0: self.agent_logger.dump_output_csv()
    [docs] def handle_episode_ended(self) -> None: @@ -717,10 +747,13 @@ self.total_reward_in_current_episode >= self.spaces.reward.reward_success_threshold: self.num_successes_across_evaluation_episodes += 1 - if self.ap.visualization.dump_csv: + if self.ap.visualization.dump_csv and \ + self.parent_level_manager.parent_graph_manager.time_metric == TimeTypes.EpisodeNumber: self.update_log() - if self.ap.is_a_highest_level_agent or self.ap.task_parameters.verbosity == "high": + # TODO verbosity was mistakenly removed from task_parameters on release 0.11.0, need to bring it back + # if self.ap.is_a_highest_level_agent or self.ap.task_parameters.verbosity == "high": + if self.ap.is_a_highest_level_agent: self.log_to_screen()
    [docs] def reset_internal_state(self) -> None: @@ -831,18 +864,25 @@ """ loss = 0 if self._should_train(): + self.training_epoch += 1 for network in self.networks.values(): network.set_is_training(True) - for training_step in range(self.ap.algorithm.num_consecutive_training_steps): - # TODO: this should be network dependent - network_parameters = list(self.ap.network_wrappers.values())[0] + # At the moment we only support a single batch size for all the networks + networks_parameters = list(self.ap.network_wrappers.values()) + assert all(net.batch_size == networks_parameters[0].batch_size for net in networks_parameters) + batch_size = networks_parameters[0].batch_size + + # we either go sequentially through the entire replay buffer in the batch RL mode, + # or sample randomly for the basic RL case. + training_schedule = self.call_memory('get_shuffled_data_generator', batch_size) if \ + self.ap.is_batch_rl_training else [self.call_memory('sample', batch_size) for _ in + range(self.ap.algorithm.num_consecutive_training_steps)] + + for batch in training_schedule: # update counters self.training_iteration += 1 - - # sample a batch and train on it - batch = self.call_memory('sample', network_parameters.batch_size) if self.pre_network_filter is not None: batch = self.pre_network_filter.filter(batch, update_internal_state=False, deep_copy=False) @@ -853,15 +893,19 @@ batch = Batch(batch) total_loss, losses, unclipped_grads = self.learn_from_batch(batch) loss += total_loss + self.unclipped_grads.add_sample(unclipped_grads) - # TODO: the learning rate decay should be done through the network instead of here + # TODO: this only deals with the main network (if exists), need to do the same for other networks + # for instance, for DDPG, the LR signal is currently not shown. Probably should be done through the + # network directly instead of here # decay learning rate - if network_parameters.learning_rate_decay_rate != 0: + if 'main' in self.ap.network_wrappers and \ + self.ap.network_wrappers['main'].learning_rate_decay_rate != 0: self.curr_learning_rate.add_sample(self.networks['main'].sess.run( self.networks['main'].online_network.current_learning_rate)) else: - self.curr_learning_rate.add_sample(network_parameters.learning_rate) + self.curr_learning_rate.add_sample(networks_parameters[0].learning_rate) if any([network.has_target for network in self.networks.values()]) \ and self._should_update_online_weights_to_target(): @@ -877,6 +921,12 @@ if self.imitation: self.log_to_screen() + if self.ap.visualization.dump_csv and \ + self.parent_level_manager.parent_graph_manager.time_metric == TimeTypes.Epoch: + # in BatchRL, or imitation learning, the agent never acts, so we have to get the stats out here. + # we dump the data out every epoch + self.update_log() + for network in self.networks.values(): network.set_is_training(False) @@ -919,10 +969,11 @@ return batches_dict
    -
    [docs] def act(self) -> ActionInfo: +
    [docs] def act(self, action: Union[None, ActionType]=None) -> ActionInfo: """ Given the agents current knowledge, decide on the next action to apply to the environment + :param action: An action to take, overriding whatever the current policy is :return: An ActionInfo object, which contains the action and any additional info from the action decision process """ if self.phase == RunPhase.TRAIN and self.ap.algorithm.num_consecutive_playing_steps.num_steps == 0: @@ -935,20 +986,28 @@ self.current_episode_steps_counter += 1 # decide on the action - if self.phase == RunPhase.HEATUP and not self.ap.algorithm.heatup_using_network_decisions: - # random action - self.last_action_info = self.spaces.action.sample_with_info() - else: - # informed action - if self.pre_network_filter is not None: - # before choosing an action, first use the pre_network_filter to filter out the current state - update_filter_internal_state = self.phase is not RunPhase.TEST - curr_state = self.run_pre_network_filter_for_inference(self.curr_state, update_filter_internal_state) - + if action is None: + if self.phase == RunPhase.HEATUP and not self.ap.algorithm.heatup_using_network_decisions: + # random action + action = self.spaces.action.sample_with_info() else: - curr_state = self.curr_state - self.last_action_info = self.choose_action(curr_state) + # informed action + if self.pre_network_filter is not None: + # before choosing an action, first use the pre_network_filter to filter out the current state + update_filter_internal_state = self.phase is not RunPhase.TEST + curr_state = self.run_pre_network_filter_for_inference(self.curr_state, update_filter_internal_state) + else: + curr_state = self.curr_state + action = self.choose_action(curr_state) + assert isinstance(action, ActionInfo) + + self.last_action_info = action + + # output filters are explicitly applied after recording self.last_action_info. This is + # because the output filters may change the representation of the action so that the agent + # can no longer use the transition in it's replay buffer. It is possible that these filters + # could be moved to the environment instead, but they are here now for historical reasons. filtered_action_info = self.output_filter.filter(self.last_action_info) return filtered_action_info
    @@ -1030,37 +1089,35 @@ # make agent specific changes to the transition if needed transition = self.update_transition_before_adding_to_replay_buffer(transition) - # merge the intrinsic reward in - if self.ap.algorithm.scale_external_reward_by_intrinsic_reward_value: - transition.reward = transition.reward * (1 + self.last_action_info.action_intrinsic_reward) - else: - transition.reward = transition.reward + self.last_action_info.action_intrinsic_reward - - # sum up the total shaped reward - self.total_shaped_reward_in_current_episode += transition.reward - self.total_reward_in_current_episode += env_response.reward - self.shaped_reward.add_sample(transition.reward) - self.reward.add_sample(env_response.reward) - # add action info to transition if type(self.parent).__name__ == 'CompositeAgent': transition.add_info(self.parent.last_action_info.__dict__) else: transition.add_info(self.last_action_info.__dict__) - # create and store the transition - if self.phase in [RunPhase.TRAIN, RunPhase.HEATUP]: - # for episodic memories we keep the transitions in a local buffer until the episode is ended. - # for regular memories we insert the transitions directly to the memory - self.current_episode_buffer.insert(transition) - if not isinstance(self.memory, EpisodicExperienceReplay) \ - and not self.ap.algorithm.store_transitions_only_when_episodes_are_terminated: - self.call_memory('store', transition) + self.total_reward_in_current_episode += env_response.reward + self.reward.add_sample(env_response.reward) - if self.ap.visualization.dump_in_episode_signals: - self.update_step_in_episode_log() + return self.observe_transition(transition)
    - return transition.game_over + def observe_transition(self, transition): + # sum up the total shaped reward + self.total_shaped_reward_in_current_episode += transition.reward + self.shaped_reward.add_sample(transition.reward) + + # create and store the transition + if self.phase in [RunPhase.TRAIN, RunPhase.HEATUP]: + # for episodic memories we keep the transitions in a local buffer until the episode is ended. + # for regular memories we insert the transitions directly to the memory + self.current_episode_buffer.insert(transition) + if not isinstance(self.memory, EpisodicExperienceReplay) \ + and not self.ap.algorithm.store_transitions_only_when_episodes_are_terminated: + self.call_memory('store', transition) + + if self.ap.visualization.dump_in_episode_signals: + self.update_step_in_episode_log() + + return transition.game_over
    [docs] def post_training_commands(self) -> None: """ @@ -1145,60 +1202,6 @@ for network in self.networks.values(): network.sync()
    - # TODO-remove - this is a temporary flow, used by the trainer worker, duplicated from observe() - need to create - # an external trainer flow reusing the existing flow and methods [e.g. observe(), step(), act()] -
    [docs] def emulate_observe_on_trainer(self, transition: Transition) -> bool: - """ - This emulates the observe using the transition obtained from the rollout worker on the training worker - in case of distributed training. - Given a response from the environment, distill the observation from it and store it for later use. - The response should be a dictionary containing the performed action, the new observation and measurements, - the reward, a game over flag and any additional information necessary. - :return: - """ - - # sum up the total shaped reward - self.total_shaped_reward_in_current_episode += transition.reward - self.total_reward_in_current_episode += transition.reward - self.shaped_reward.add_sample(transition.reward) - self.reward.add_sample(transition.reward) - - # create and store the transition - if self.phase in [RunPhase.TRAIN, RunPhase.HEATUP]: - # for episodic memories we keep the transitions in a local buffer until the episode is ended. - # for regular memories we insert the transitions directly to the memory - self.current_episode_buffer.insert(transition) - if not isinstance(self.memory, EpisodicExperienceReplay) \ - and not self.ap.algorithm.store_transitions_only_when_episodes_are_terminated: - self.call_memory('store', transition) - - if self.ap.visualization.dump_in_episode_signals: - self.update_step_in_episode_log() - - return transition.game_over
    - - # TODO-remove - this is a temporary flow, used by the trainer worker, duplicated from observe() - need to create - # an external trainer flow reusing the existing flow and methods [e.g. observe(), step(), act()] -
    [docs] def emulate_act_on_trainer(self, transition: Transition) -> ActionInfo: - """ - This emulates the act using the transition obtained from the rollout worker on the training worker - in case of distributed training. - Given the agents current knowledge, decide on the next action to apply to the environment - :return: an action and a dictionary containing any additional info from the action decision process - """ - if self.phase == RunPhase.TRAIN and self.ap.algorithm.num_consecutive_playing_steps.num_steps == 0: - # This agent never plays while training (e.g. behavioral cloning) - return None - - # count steps (only when training or if we are in the evaluation worker) - if self.phase != RunPhase.TEST or self.ap.task_parameters.evaluate_only: - self.total_steps_counter += 1 - self.current_episode_steps_counter += 1 - - self.last_action_info = transition.action - - return self.last_action_info
    - def get_success_rate(self) -> float: return self.num_successes_across_evaluation_episodes / self.num_evaluation_episodes_completed @@ -1213,7 +1216,16 @@ savers = SaverCollection() for network in self.networks.values(): savers.update(network.collect_savers(parent_path_suffix)) - return savers + return savers + + def get_current_time(self): + pass + return { + TimeTypes.EpisodeNumber: self.current_episode, + TimeTypes.TrainingIteration: self.training_iteration, + TimeTypes.EnvironmentSteps: self.total_steps_counter, + TimeTypes.WallClockTime: self.agent_logger.get_current_wall_clock_time(), + TimeTypes.Epoch: self.training_epoch}[self.parent_level_manager.parent_graph_manager.time_metric] diff --git a/docs/_modules/rl_coach/agents/agent_interface.html b/docs/_modules/rl_coach/agents/agent_interface.html new file mode 100644 index 0000000..01d966d --- /dev/null +++ b/docs/_modules/rl_coach/agents/agent_interface.html @@ -0,0 +1,387 @@ + + + + + + + + + + + rl_coach.agents.agent_interface — Reinforcement Learning Coach 0.11.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + + + +
    + +
    + + + + + + + + + + + + + + + + + +
    + +
      + +
    • Docs »
    • + +
    • Module code »
    • + +
    • rl_coach.agents.agent_interface
    • + + +
    • + +
    • + +
    + + +
    +
    +
    +
    + +

    Source code for rl_coach.agents.agent_interface

    +#
    +# Copyright (c) 2017 Intel Corporation
    +#
    +# Licensed under the Apache License, Version 2.0 (the "License");
    +# you may not use this file except in compliance with the License.
    +# You may obtain a copy of the License at
    +#
    +#      http://www.apache.org/licenses/LICENSE-2.0
    +#
    +# Unless required by applicable law or agreed to in writing, software
    +# distributed under the License is distributed on an "AS IS" BASIS,
    +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +# See the License for the specific language governing permissions and
    +# limitations under the License.
    +#
    +
    +from typing import Union, List, Dict
    +
    +import numpy as np
    +
    +from rl_coach.core_types import EnvResponse, ActionInfo, RunPhase, PredictionType, ActionType, Transition
    +from rl_coach.saver import SaverCollection
    +
    +
    +class AgentInterface(object):
    +    def __init__(self):
    +        self._phase = RunPhase.HEATUP
    +        self._parent = None
    +        self.spaces = None
    +
    +    @property
    +    def parent(self):
    +        """
    +        Get the parent class of the agent
    +        :return: the current phase
    +        """
    +        return self._parent
    +
    +    @parent.setter
    +    def parent(self, val):
    +        """
    +        Change the parent class of the agent
    +        :param val: the new parent
    +        :return: None
    +        """
    +        self._parent = val
    +
    +    @property
    +    def phase(self) -> RunPhase:
    +        """
    +        Get the phase of the agent
    +        :return: the current phase
    +        """
    +        return self._phase
    +
    +    @phase.setter
    +    def phase(self, val: RunPhase):
    +        """
    +        Change the phase of the agent
    +        :param val: the new phase
    +        :return: None
    +        """
    +        self._phase = val
    +
    +    def reset_internal_state(self) -> None:
    +        """
    +        Reset the episode parameters for the agent
    +        :return: None
    +        """
    +        raise NotImplementedError("")
    +
    +    def train(self) -> Union[float, List]:
    +        """
    +        Train the agents network
    +        :return: The loss of the training
    +        """
    +        raise NotImplementedError("")
    +
    +    def act(self) -> ActionInfo:
    +        """
    +        Get a decision of the next action to take.
    +        The action is dependent on the current state which the agent holds from resetting the environment or from
    +        the observe function.
    +        :return: A tuple containing the actual action and additional info on the action
    +        """
    +        raise NotImplementedError("")
    +
    +    def observe(self, env_response: EnvResponse) -> bool:
    +        """
    +        Gets a response from the environment.
    +        Processes this information for later use. For example, create a transition and store it in memory.
    +        The action info (a class containing any info the agent wants to store regarding its action decision process) is
    +        stored by the agent itself when deciding on the action.
    +        :param env_response: a EnvResponse containing the response from the environment
    +        :return: a done signal which is based on the agent knowledge. This can be different from the done signal from
    +                 the environment. For example, an agent can decide to finish the episode each time it gets some
    +                 intrinsic reward
    +        """
    +        raise NotImplementedError("")
    +
    +    def save_checkpoint(self, checkpoint_prefix: str) -> None:
    +        """
    +        Save the model of the agent to the disk. This can contain the network parameters, the memory of the agent, etc.
    +        :param checkpoint_prefix: The prefix of the checkpoint file to save
    +        :return: None
    +        """
    +        raise NotImplementedError("")
    +
    +    def get_predictions(self, states: Dict, prediction_type: PredictionType) -> np.ndarray:
    +        """
    +        Get a prediction from the agent with regard to the requested prediction_type. If the agent cannot predict this
    +        type of prediction_type, or if there is more than possible way to do so, raise a ValueException.
    +        :param states:
    +        :param prediction_type:
    +        :return: the agent's prediction
    +        """
    +        raise NotImplementedError("")
    +
    +    def set_incoming_directive(self, action: ActionType) -> None:
    +        """
    +        Pass a higher level command (directive) to the agent.
    +        For example, a higher level agent can set the goal of the agent.
    +        :param action: the directive to pass to the agent
    +        :return: None
    +        """
    +        raise NotImplementedError("")
    +
    +    def collect_savers(self, parent_path_suffix: str) -> SaverCollection:
    +        """
    +        Collect all of agent savers
    +        :param parent_path_suffix: path suffix of the parent of the agent
    +            (could be name of level manager or composite agent)
    +        :return: collection of all agent savers
    +        """
    +        raise NotImplementedError("")
    +
    +    def handle_episode_ended(self) -> None:
    +        """
    +        Make any changes needed when each episode is ended.
    +        This includes incrementing counters, updating full episode dependent values, updating logs, etc.
    +        This function is called right after each episode is ended.
    +
    +        :return: None
    +        """
    +        raise NotImplementedError("")
    +
    +    def run_off_policy_evaluation(self) -> None:
    +        """
    +        Run off-policy evaluation estimators to evaluate the trained policy performance against a dataset.
    +        Should only be implemented for off-policy RL algorithms.
    +
    +        :return: None
    +        """
    +        raise NotImplementedError("")
    +
    + +
    + +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/_modules/rl_coach/agents/categorical_dqn_agent.html b/docs/_modules/rl_coach/agents/categorical_dqn_agent.html index 667a484..0b81831 100644 --- a/docs/_modules/rl_coach/agents/categorical_dqn_agent.html +++ b/docs/_modules/rl_coach/agents/categorical_dqn_agent.html @@ -264,8 +264,8 @@ # prediction's format is (batch,actions,atoms) def get_all_q_values_for_states(self, states: StateType): if self.exploration_policy.requires_action_values(): - prediction = self.get_prediction(states) - q_values = self.distribution_prediction_to_q_values(prediction) + q_values = self.get_prediction(states, + outputs=[self.networks['main'].online_network.output_heads[0].q_values]) else: q_values = None return q_values @@ -280,11 +280,14 @@ (self.networks['main'].online_network, batch.states(network_keys)) ]) + # add Q value samples for logging + self.q_values.add_sample(self.distribution_prediction_to_q_values(TD_targets)) + # select the optimal actions for the next state target_actions = np.argmax(self.distribution_prediction_to_q_values(distributional_q_st_plus_1), axis=1) - m = np.zeros((self.ap.network_wrappers['main'].batch_size, self.z_values.size)) + m = np.zeros((batch.size, self.z_values.size)) - batches = np.arange(self.ap.network_wrappers['main'].batch_size) + batches = np.arange(batch.size) # an alternative to the for loop. 3.7x perf improvement vs. the same code done with for looping. # only 10% speedup overall - leaving commented out as the code is not as clear. @@ -297,7 +300,7 @@ # bj_ = (tzj_ - self.z_values[0]) / (self.z_values[1] - self.z_values[0]) # u_ = (np.ceil(bj_)).astype(int) # l_ = (np.floor(bj_)).astype(int) - # m_ = np.zeros((self.ap.network_wrappers['main'].batch_size, self.z_values.size)) + # m_ = np.zeros((batch.size, self.z_values.size)) # np.add.at(m_, [batches, l_], # np.transpose(distributional_q_st_plus_1[batches, target_actions], (1, 0)) * (u_ - bj_)) # np.add.at(m_, [batches, u_], diff --git a/docs/_modules/rl_coach/agents/clipped_ppo_agent.html b/docs/_modules/rl_coach/agents/clipped_ppo_agent.html index ff0397c..05b636e 100644 --- a/docs/_modules/rl_coach/agents/clipped_ppo_agent.html +++ b/docs/_modules/rl_coach/agents/clipped_ppo_agent.html @@ -387,6 +387,8 @@ self.networks['main'].online_network.output_heads[1].likelihood_ratio, self.networks['main'].online_network.output_heads[1].clipped_likelihood_ratio] + # TODO-fixme if batch.size / self.ap.network_wrappers['main'].batch_size is not an integer, we do not train on + # some of the data for i in range(int(batch.size / self.ap.network_wrappers['main'].batch_size)): start = i * self.ap.network_wrappers['main'].batch_size end = (i + 1) * self.ap.network_wrappers['main'].batch_size diff --git a/docs/_modules/rl_coach/agents/dfp_agent.html b/docs/_modules/rl_coach/agents/dfp_agent.html index 36aca38..447c31e 100644 --- a/docs/_modules/rl_coach/agents/dfp_agent.html +++ b/docs/_modules/rl_coach/agents/dfp_agent.html @@ -326,13 +326,13 @@ network_inputs = batch.states(network_keys) network_inputs['goal'] = np.repeat(np.expand_dims(self.current_goal, 0), - self.ap.network_wrappers['main'].batch_size, axis=0) + batch.size, axis=0) # get the current outputs of the network targets = self.networks['main'].online_network.predict(network_inputs) # change the targets for the taken actions - for i in range(self.ap.network_wrappers['main'].batch_size): + for i in range(batch.size): targets[i, batch.actions()[i]] = batch[i].info['future_measurements'].flatten() result = self.networks['main'].train_and_sync_networks(network_inputs, targets) diff --git a/docs/_modules/rl_coach/agents/dqn_agent.html b/docs/_modules/rl_coach/agents/dqn_agent.html index 5024209..01cd007 100644 --- a/docs/_modules/rl_coach/agents/dqn_agent.html +++ b/docs/_modules/rl_coach/agents/dqn_agent.html @@ -250,6 +250,9 @@ def __init__(self, agent_parameters, parent: Union['LevelManager', 'CompositeAgent']=None): super().__init__(agent_parameters, parent) + def select_actions(self, next_states, q_st_plus_1): + return np.argmax(q_st_plus_1, 1) +
    [docs] def learn_from_batch(self, batch): network_keys = self.ap.network_wrappers['main'].input_embedders_parameters.keys() @@ -261,11 +264,16 @@ (self.networks['main'].online_network, batch.states(network_keys)) ]) + selected_actions = self.select_actions(batch.next_states(network_keys), q_st_plus_1) + + # add Q value samples for logging + self.q_values.add_sample(TD_targets) + # only update the action that we have actually done in this transition TD_errors = [] - for i in range(self.ap.network_wrappers['main'].batch_size): + for i in range(batch.size): new_target = batch.rewards()[i] +\ - (1.0 - batch.game_overs()[i]) * self.ap.algorithm.discount * np.max(q_st_plus_1[i], 0) + (1.0 - batch.game_overs()[i]) * self.ap.algorithm.discount * q_st_plus_1[i][selected_actions[i]] TD_errors.append(np.abs(new_target - TD_targets[i, batch.actions()[i]])) TD_targets[i, batch.actions()[i]] = new_target diff --git a/docs/_modules/rl_coach/agents/mmc_agent.html b/docs/_modules/rl_coach/agents/mmc_agent.html index ad10e45..ad5c0f2 100644 --- a/docs/_modules/rl_coach/agents/mmc_agent.html +++ b/docs/_modules/rl_coach/agents/mmc_agent.html @@ -245,7 +245,7 @@ total_returns = batch.n_step_discounted_rewards() - for i in range(self.ap.network_wrappers['main'].batch_size): + for i in range(batch.size): one_step_target = batch.rewards()[i] + \ (1.0 - batch.game_overs()[i]) * self.ap.algorithm.discount * \ q_st_plus_1[i][selected_actions[i]] diff --git a/docs/_modules/rl_coach/agents/n_step_q_agent.html b/docs/_modules/rl_coach/agents/n_step_q_agent.html index d112464..e827485 100644 --- a/docs/_modules/rl_coach/agents/n_step_q_agent.html +++ b/docs/_modules/rl_coach/agents/n_step_q_agent.html @@ -303,6 +303,9 @@ else: assert True, 'The available values for targets_horizon are: 1-Step, N-Step' + # add Q value samples for logging + self.q_values.add_sample(state_value_head_targets) + # train result = self.networks['main'].online_network.accumulate_gradients(batch.states(network_keys), [state_value_head_targets]) diff --git a/docs/_modules/rl_coach/agents/nec_agent.html b/docs/_modules/rl_coach/agents/nec_agent.html index 5f1e0f4..51d49fd 100644 --- a/docs/_modules/rl_coach/agents/nec_agent.html +++ b/docs/_modules/rl_coach/agents/nec_agent.html @@ -313,7 +313,7 @@ TD_targets = self.networks['main'].online_network.predict(batch.states(network_keys)) bootstrapped_return_from_old_policy = batch.n_step_discounted_rewards() # only update the action that we have actually done in this transition - for i in range(self.ap.network_wrappers['main'].batch_size): + for i in range(batch.size): TD_targets[i, batch.actions()[i]] = bootstrapped_return_from_old_policy[i] # set the gradients to fetch for the DND update @@ -342,7 +342,7 @@ embedding = self.networks['main'].online_network.predict( self.prepare_batch_for_inference(self.curr_state, 'main'), outputs=self.networks['main'].online_network.state_embedding) - self.current_episode_state_embeddings.append(embedding) + self.current_episode_state_embeddings.append(embedding.squeeze()) return super().act() diff --git a/docs/_modules/rl_coach/agents/pal_agent.html b/docs/_modules/rl_coach/agents/pal_agent.html index 35c8cd3..bc8799b 100644 --- a/docs/_modules/rl_coach/agents/pal_agent.html +++ b/docs/_modules/rl_coach/agents/pal_agent.html @@ -264,7 +264,7 @@ # calculate TD error TD_targets = np.copy(q_st_online) total_returns = batch.n_step_discounted_rewards() - for i in range(self.ap.network_wrappers['main'].batch_size): + for i in range(batch.size): TD_targets[i, batch.actions()[i]] = batch.rewards()[i] + \ (1.0 - batch.game_overs()[i]) * self.ap.algorithm.discount * \ q_st_plus_1_target[i][selected_actions[i]] diff --git a/docs/_modules/rl_coach/agents/qr_dqn_agent.html b/docs/_modules/rl_coach/agents/qr_dqn_agent.html index 568ce17..307e130 100644 --- a/docs/_modules/rl_coach/agents/qr_dqn_agent.html +++ b/docs/_modules/rl_coach/agents/qr_dqn_agent.html @@ -268,11 +268,14 @@ (self.networks['main'].online_network, batch.states(network_keys)) ]) + # add Q value samples for logging + self.q_values.add_sample(self.get_q_values(current_quantiles)) + # get the optimal actions to take for the next states target_actions = np.argmax(self.get_q_values(next_state_quantiles), axis=1) # calculate the Bellman update - batch_idx = list(range(self.ap.network_wrappers['main'].batch_size)) + batch_idx = list(range(batch.size)) TD_targets = batch.rewards(True) + (1.0 - batch.game_overs(True)) * self.ap.algorithm.discount \ * next_state_quantiles[batch_idx, target_actions] @@ -283,9 +286,9 @@ # calculate the cumulative quantile probabilities and reorder them to fit the sorted quantiles order cumulative_probabilities = np.array(range(self.ap.algorithm.atoms + 1)) / float(self.ap.algorithm.atoms) # tau_i quantile_midpoints = 0.5*(cumulative_probabilities[1:] + cumulative_probabilities[:-1]) # tau^hat_i - quantile_midpoints = np.tile(quantile_midpoints, (self.ap.network_wrappers['main'].batch_size, 1)) + quantile_midpoints = np.tile(quantile_midpoints, (batch.size, 1)) sorted_quantiles = np.argsort(current_quantiles[batch_idx, batch.actions()]) - for idx in range(self.ap.network_wrappers['main'].batch_size): + for idx in range(batch.size): quantile_midpoints[idx, :] = quantile_midpoints[idx, sorted_quantiles[idx]] # train diff --git a/docs/_modules/rl_coach/agents/rainbow_dqn_agent.html b/docs/_modules/rl_coach/agents/rainbow_dqn_agent.html index 542e9e3..601dd13 100644 --- a/docs/_modules/rl_coach/agents/rainbow_dqn_agent.html +++ b/docs/_modules/rl_coach/agents/rainbow_dqn_agent.html @@ -240,9 +240,12 @@ def __init__(self): super().__init__() self.algorithm = RainbowDQNAlgorithmParameters() + + # ParameterNoiseParameters is changing the network wrapper parameters. This line needs to be done first. + self.network_wrappers = {"main": RainbowDQNNetworkParameters()} + self.exploration = ParameterNoiseParameters(self) self.memory = PrioritizedExperienceReplayParameters() - self.network_wrappers = {"main": RainbowDQNNetworkParameters()} @property def path(self): @@ -275,11 +278,14 @@ (self.networks['main'].online_network, batch.states(network_keys)) ]) + # add Q value samples for logging + self.q_values.add_sample(self.distribution_prediction_to_q_values(TD_targets)) + # only update the action that we have actually done in this transition (using the Double-DQN selected actions) target_actions = ddqn_selected_actions - m = np.zeros((self.ap.network_wrappers['main'].batch_size, self.z_values.size)) + m = np.zeros((batch.size, self.z_values.size)) - batches = np.arange(self.ap.network_wrappers['main'].batch_size) + batches = np.arange(batch.size) for j in range(self.z_values.size): # we use batch.info('should_bootstrap_next_state') instead of (1 - batch.game_overs()) since with n-step, # we will not bootstrap for the last n-step transitions in the episode diff --git a/docs/_modules/rl_coach/agents/soft_actor_critic_agent.html b/docs/_modules/rl_coach/agents/soft_actor_critic_agent.html new file mode 100644 index 0000000..33668b2 --- /dev/null +++ b/docs/_modules/rl_coach/agents/soft_actor_critic_agent.html @@ -0,0 +1,554 @@ + + + + + + + + + + + rl_coach.agents.soft_actor_critic_agent — Reinforcement Learning Coach 0.11.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + + + +
    + +
    + + + + + + + + + + + + + + + + + +
    + +
      + +
    • Docs »
    • + +
    • Module code »
    • + +
    • rl_coach.agents.soft_actor_critic_agent
    • + + +
    • + +
    • + +
    + + +
    +
    +
    +
    + +

    Source code for rl_coach.agents.soft_actor_critic_agent

    +#
    +# Copyright (c) 2019 Intel Corporation
    +#
    +# Licensed under the Apache License, Version 2.0 (the "License");
    +# you may not use this file except in compliance with the License.
    +# You may obtain a copy of the License at
    +#
    +#      http://www.apache.org/licenses/LICENSE-2.0
    +#
    +# Unless required by applicable law or agreed to in writing, software
    +# distributed under the License is distributed on an "AS IS" BASIS,
    +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +# See the License for the specific language governing permissions and
    +# limitations under the License.
    +#
    +
    +from typing import Union
    +import copy
    +import numpy as np
    +from collections import OrderedDict
    +
    +from rl_coach.agents.agent import Agent
    +from rl_coach.agents.policy_optimization_agent import PolicyOptimizationAgent
    +
    +from rl_coach.architectures.head_parameters import SACQHeadParameters,SACPolicyHeadParameters,VHeadParameters
    +from rl_coach.architectures.middleware_parameters import FCMiddlewareParameters
    +from rl_coach.base_parameters import AlgorithmParameters, NetworkParameters, AgentParameters, EmbedderScheme, MiddlewareScheme
    +from rl_coach.core_types import ActionInfo, EnvironmentSteps, RunPhase
    +from rl_coach.exploration_policies.additive_noise import AdditiveNoiseParameters
    +from rl_coach.memories.non_episodic.experience_replay import ExperienceReplayParameters
    +from rl_coach.architectures.embedder_parameters import InputEmbedderParameters
    +from rl_coach.spaces import BoxActionSpace
    +
    +
    +# There are 3 networks in SAC implementation. All have the same topology but parameters are not shared.
    +# The networks are:
    +# 1. State Value Network - SACValueNetwork
    +# 2. Soft Q Value Network - SACCriticNetwork
    +# 3. Policy Network - SACPolicyNetwork - currently supporting only Gaussian Policy
    +
    +
    +# 1. State Value Network - SACValueNetwork
    +# this is the state value network in SAC.
    +# The network is trained to predict (regression) the state value in the max-entropy settings
    +# The objective to be minimized is given in equation (5) in the paper:
    +#
    +# J(psi)= E_(s~D)[0.5*(V_psi(s)-y(s))^2]
    +# where y(s) = E_(a~pi)[Q_theta(s,a)-log(pi(a|s))]
    +
    +
    +# Default parameters for value network:
    +# topology :
    +#   input embedder : EmbedderScheme.Medium (Dense(256)) , relu activation
    +#   middleware : EmbedderScheme.Medium (Dense(256)) , relu activation
    +
    +
    +class SACValueNetworkParameters(NetworkParameters):
    +    def __init__(self):
    +        super().__init__()
    +        self.input_embedders_parameters = {'observation': InputEmbedderParameters(activation_function='relu')}
    +        self.middleware_parameters = FCMiddlewareParameters(activation_function='relu')
    +        self.heads_parameters = [VHeadParameters(initializer='xavier')]
    +        self.rescale_gradient_from_head_by_factor = [1]
    +        self.optimizer_type = 'Adam'
    +        self.batch_size = 256
    +        self.async_training = False
    +        self.learning_rate = 0.0003     # 3e-4 see appendix D in the paper
    +        self.create_target_network = True   # tau is set in SoftActorCriticAlgorithmParameters.rate_for_copying_weights_to_target
    +
    +
    +# 2. Soft Q Value Network - SACCriticNetwork
    +# the whole network is built in the SACQHeadParameters. we use empty input embedder and middleware
    +class SACCriticNetworkParameters(NetworkParameters):
    +    def __init__(self):
    +        super().__init__()
    +        self.input_embedders_parameters = {'observation': InputEmbedderParameters(scheme=EmbedderScheme.Empty)}
    +        self.middleware_parameters = FCMiddlewareParameters(scheme=MiddlewareScheme.Empty)
    +        self.heads_parameters = [SACQHeadParameters()]      # SACQHeadParameters includes the topology of the head
    +        self.rescale_gradient_from_head_by_factor = [1]
    +        self.optimizer_type = 'Adam'
    +        self.batch_size = 256
    +        self.async_training = False
    +        self.learning_rate = 0.0003
    +        self.create_target_network = False
    +
    +
    +# 3. policy Network
    +# Default parameters for policy network:
    +# topology :
    +#   input embedder : EmbedderScheme.Medium (Dense(256)) , relu activation
    +#   middleware : EmbedderScheme = [Dense(256)] , relu activation --> scheme should be overridden in preset
    +class SACPolicyNetworkParameters(NetworkParameters):
    +    def __init__(self):
    +        super().__init__()
    +        self.input_embedders_parameters = {'observation': InputEmbedderParameters(activation_function='relu')}
    +        self.middleware_parameters = FCMiddlewareParameters(activation_function='relu')
    +        self.heads_parameters = [SACPolicyHeadParameters()]
    +        self.rescale_gradient_from_head_by_factor = [1]
    +        self.optimizer_type = 'Adam'
    +        self.batch_size = 256
    +        self.async_training = False
    +        self.learning_rate = 0.0003
    +        self.create_target_network = False
    +        self.l2_regularization = 0      # weight decay regularization. not used in the original paper
    +
    +
    +# Algorithm Parameters
    +
    +
    [docs]class SoftActorCriticAlgorithmParameters(AlgorithmParameters): + """ + :param num_steps_between_copying_online_weights_to_target: (StepMethod) + The number of steps between copying the online network weights to the target network weights. + + :param rate_for_copying_weights_to_target: (float) + When copying the online network weights to the target network weights, a soft update will be used, which + weight the new online network weights by rate_for_copying_weights_to_target. (Tau as defined in the paper) + + :param use_deterministic_for_evaluation: (bool) + If True, during the evaluation phase, action are chosen deterministically according to the policy mean + and not sampled from the policy distribution. + """ + def __init__(self): + super().__init__() + self.num_steps_between_copying_online_weights_to_target = EnvironmentSteps(1) + self.rate_for_copying_weights_to_target = 0.005 + self.use_deterministic_for_evaluation = True # evaluate agent using deterministic policy (i.e. take the mean value)
    + + +class SoftActorCriticAgentParameters(AgentParameters): + def __init__(self): + super().__init__(algorithm=SoftActorCriticAlgorithmParameters(), + exploration=AdditiveNoiseParameters(), + memory=ExperienceReplayParameters(), # SAC doesnt use episodic related data + # network wrappers: + networks=OrderedDict([("policy", SACPolicyNetworkParameters()), + ("q", SACCriticNetworkParameters()), + ("v", SACValueNetworkParameters())])) + + @property + def path(self): + return 'rl_coach.agents.soft_actor_critic_agent:SoftActorCriticAgent' + + +# Soft Actor Critic - https://arxiv.org/abs/1801.01290 +class SoftActorCriticAgent(PolicyOptimizationAgent): + def __init__(self, agent_parameters, parent: Union['LevelManager', 'CompositeAgent']=None): + super().__init__(agent_parameters, parent) + self.last_gradient_update_step_idx = 0 + + # register signals to track (in learn_from_batch) + self.policy_means = self.register_signal('Policy_mu_avg') + self.policy_logsig = self.register_signal('Policy_logsig') + self.policy_logprob_sampled = self.register_signal('Policy_logp_sampled') + self.policy_grads = self.register_signal('Policy_grads_sumabs') + + self.q1_values = self.register_signal("Q1") + self.TD_err1 = self.register_signal("TD err1") + self.q2_values = self.register_signal("Q2") + self.TD_err2 = self.register_signal("TD err2") + self.v_tgt_ns = self.register_signal('V_tgt_ns') + self.v_onl_ys = self.register_signal('V_onl_ys') + self.action_signal = self.register_signal("actions") + + def learn_from_batch(self, batch): + ######################################### + # need to update the following networks: + # 1. actor (policy) + # 2. state value (v) + # 3. critic (q1 and q2) + # 4. target network - probably already handled by V + + ######################################### + # define the networks to be used + + # State Value Network + value_network = self.networks['v'] + value_network_keys = self.ap.network_wrappers['v'].input_embedders_parameters.keys() + + # Critic Network + q_network = self.networks['q'].online_network + q_head = q_network.output_heads[0] + q_network_keys = self.ap.network_wrappers['q'].input_embedders_parameters.keys() + + # Actor (policy) Network + policy_network = self.networks['policy'].online_network + policy_network_keys = self.ap.network_wrappers['policy'].input_embedders_parameters.keys() + + ########################################## + # 1. updating the actor - according to (13) in the paper + policy_inputs = copy.copy(batch.states(policy_network_keys)) + policy_results = policy_network.predict(policy_inputs) + + policy_mu, policy_std, sampled_raw_actions, sampled_actions, sampled_actions_logprob, \ + sampled_actions_logprob_mean = policy_results + + self.policy_means.add_sample(policy_mu) + self.policy_logsig.add_sample(policy_std) + self.policy_logprob_sampled.add_sample(sampled_actions_logprob_mean) + + # get the state-action values for the replayed states and their corresponding actions from the policy + q_inputs = copy.copy(batch.states(q_network_keys)) + q_inputs['output_0_0'] = sampled_actions + log_target = q_network.predict(q_inputs)[0].squeeze() + + # log internal q values + q1_vals, q2_vals = q_network.predict(q_inputs, outputs=[q_head.q1_output, q_head.q2_output]) + self.q1_values.add_sample(q1_vals) + self.q2_values.add_sample(q2_vals) + + # calculate the gradients according to (13) + # get the gradients of log_prob w.r.t the weights (parameters) - indicated as phi in the paper + initial_feed_dict = {policy_network.gradients_weights_ph[5]: np.array(1.0)} + dlogp_dphi = policy_network.predict(policy_inputs, + outputs=policy_network.weighted_gradients[5], + initial_feed_dict=initial_feed_dict) + + # calculate dq_da + dq_da = q_network.predict(q_inputs, + outputs=q_network.gradients_wrt_inputs[1]['output_0_0']) + + # calculate da_dphi + initial_feed_dict = {policy_network.gradients_weights_ph[3]: dq_da} + dq_dphi = policy_network.predict(policy_inputs, + outputs=policy_network.weighted_gradients[3], + initial_feed_dict=initial_feed_dict) + + # now given dlogp_dphi, dq_dphi we need to calculate the policy gradients according to (13) + policy_grads = [dlogp_dphi[l] - dq_dphi[l] for l in range(len(dlogp_dphi))] + + # apply the gradients to policy networks + policy_network.apply_gradients(policy_grads) + grads_sumabs = np.sum([np.sum(np.abs(policy_grads[l])) for l in range(len(policy_grads))]) + self.policy_grads.add_sample(grads_sumabs) + + ########################################## + # 2. updating the state value online network weights + # done by calculating the targets for the v head according to (5) in the paper + # value_targets = log_targets-sampled_actions_logprob + value_inputs = copy.copy(batch.states(value_network_keys)) + value_targets = log_target - sampled_actions_logprob + + self.v_onl_ys.add_sample(value_targets) + + # call value_network apply gradients with this target + value_loss = value_network.online_network.train_on_batch(value_inputs, value_targets[:,None])[0] + + ########################################## + # 3. updating the critic (q networks) + # updating q networks according to (7) in the paper + + # define the input to the q network: state has been already updated previously, but now we need + # the actions from the batch (and not those sampled by the policy) + q_inputs['output_0_0'] = batch.actions(len(batch.actions().shape) == 1) + + # define the targets : scale_reward * reward + (1-terminal)*discount*v_target_next_state + # define v_target_next_state + value_inputs = copy.copy(batch.next_states(value_network_keys)) + v_target_next_state = value_network.target_network.predict(value_inputs) + self.v_tgt_ns.add_sample(v_target_next_state) + # Note: reward is assumed to be rescaled by RewardRescaleFilter in the preset parameters + TD_targets = batch.rewards(expand_dims=True) + \ + (1.0 - batch.game_overs(expand_dims=True)) * self.ap.algorithm.discount * v_target_next_state + + # call critic network update + result = q_network.train_on_batch(q_inputs, TD_targets, additional_fetches=[q_head.q1_loss, q_head.q2_loss]) + total_loss, losses, unclipped_grads = result[:3] + q1_loss, q2_loss = result[3] + self.TD_err1.add_sample(q1_loss) + self.TD_err2.add_sample(q2_loss) + + ########################################## + # 4. updating the value target network + # I just need to set the parameter rate_for_copying_weights_to_target in the agent parameters to be 1-tau + # where tau is the hyper parameter as defined in sac original implementation + + return total_loss, losses, unclipped_grads + + def get_prediction(self, states): + """ + get the mean and stdev of the policy distribution given 'states' + :param states: the states for which we need to sample actions from the policy + :return: mean and stdev + """ + tf_input_state = self.prepare_batch_for_inference(states, 'policy') + return self.networks['policy'].online_network.predict(tf_input_state) + + def train(self): + # since the algorithm works with experience replay buffer (non-episodic), + # we cant use the policy optimization train method. we need Agent.train + # note that since in Agent.train there is no apply_gradients, we need to do it in learn from batch + return Agent.train(self) + + def choose_action(self, curr_state): + """ + choose_action - chooses the most likely action + if 'deterministic' - take the mean of the policy which is the prediction of the policy network. + else - use the exploration policy + :param curr_state: + :return: action wrapped in ActionInfo + """ + if not isinstance(self.spaces.action, BoxActionSpace): + raise ValueError("SAC works only for continuous control problems") + # convert to batch so we can run it through the network + tf_input_state = self.prepare_batch_for_inference(curr_state, 'policy') + # use the online network for prediction + policy_network = self.networks['policy'].online_network + policy_head = policy_network.output_heads[0] + result = policy_network.predict(tf_input_state, + outputs=[policy_head.policy_mean, policy_head.actions]) + action_mean, action_sample = result + + # if using deterministic policy, take the mean values. else, use exploration policy to sample from the pdf + if self.phase == RunPhase.TEST and self.ap.algorithm.use_deterministic_for_evaluation: + action = action_mean[0] + else: + action = action_sample[0] + + self.action_signal.add_sample(action) + + action_info = ActionInfo(action=action) + return action_info +
    + +
    + +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/_modules/rl_coach/agents/value_optimization_agent.html b/docs/_modules/rl_coach/agents/value_optimization_agent.html index 02aacb4..730229c 100644 --- a/docs/_modules/rl_coach/agents/value_optimization_agent.html +++ b/docs/_modules/rl_coach/agents/value_optimization_agent.html @@ -193,16 +193,17 @@ # See the License for the specific language governing permissions and # limitations under the License. # - +from collections import OrderedDict from typing import Union import numpy as np from rl_coach.agents.agent import Agent -from rl_coach.core_types import ActionInfo, StateType +from rl_coach.core_types import ActionInfo, StateType, Batch +from rl_coach.logger import screen from rl_coach.memories.non_episodic.prioritized_experience_replay import PrioritizedExperienceReplay from rl_coach.spaces import DiscreteActionSpace - +from copy import deepcopy ## This is an abstract agent - there is no learn_from_batch method ## @@ -229,8 +230,9 @@ actions_q_values = None return actions_q_values - def get_prediction(self, states): - return self.networks['main'].online_network.predict(self.prepare_batch_for_inference(states, 'main')) + def get_prediction(self, states, outputs=None): + return self.networks['main'].online_network.predict(self.prepare_batch_for_inference(states, 'main'), + outputs=outputs) def update_transition_priorities_and_get_weights(self, TD_errors, batch): # update errors in prioritized replay buffer @@ -259,10 +261,12 @@ # this is for bootstrapped dqn if type(actions_q_values) == list and len(actions_q_values) > 0: actions_q_values = self.exploration_policy.last_action_values - actions_q_values = actions_q_values.squeeze() # store the q values statistics for logging self.q_values.add_sample(actions_q_values) + + actions_q_values = actions_q_values.squeeze() + for i, q_value in enumerate(actions_q_values): self.q_value_for_action[i].add_sample(q_value) @@ -276,6 +280,77 @@ def learn_from_batch(self, batch): raise NotImplementedError("ValueOptimizationAgent is an abstract agent. Not to be used directly.") + + def run_off_policy_evaluation(self): + """ + Run the off-policy evaluation estimators to get a prediction for the performance of the current policy based on + an evaluation dataset, which was collected by another policy(ies). + :return: None + """ + assert self.ope_manager + dataset_as_episodes = self.call_memory('get_all_complete_episodes_from_to', + (self.call_memory('get_last_training_set_episode_id') + 1, + self.call_memory('num_complete_episodes'))) + if len(dataset_as_episodes) == 0: + raise ValueError('train_to_eval_ratio is too high causing the evaluation set to be empty. ' + 'Consider decreasing its value.') + + ips, dm, dr, seq_dr = self.ope_manager.evaluate( + dataset_as_episodes=dataset_as_episodes, + batch_size=self.ap.network_wrappers['main'].batch_size, + discount_factor=self.ap.algorithm.discount, + reward_model=self.networks['reward_model'].online_network, + q_network=self.networks['main'].online_network, + network_keys=list(self.ap.network_wrappers['main'].input_embedders_parameters.keys())) + + # get the estimators out to the screen + log = OrderedDict() + log['Epoch'] = self.training_epoch + log['IPS'] = ips + log['DM'] = dm + log['DR'] = dr + log['Sequential-DR'] = seq_dr + screen.log_dict(log, prefix='Off-Policy Evaluation') + + # get the estimators out to dashboard + self.agent_logger.set_current_time(self.get_current_time() + 1) + self.agent_logger.create_signal_value('Inverse Propensity Score', ips) + self.agent_logger.create_signal_value('Direct Method Reward', dm) + self.agent_logger.create_signal_value('Doubly Robust', dr) + self.agent_logger.create_signal_value('Sequential Doubly Robust', seq_dr) + + def get_reward_model_loss(self, batch: Batch): + network_keys = self.ap.network_wrappers['reward_model'].input_embedders_parameters.keys() + current_rewards_prediction_for_all_actions = self.networks['reward_model'].online_network.predict( + batch.states(network_keys)) + current_rewards_prediction_for_all_actions[range(batch.size), batch.actions()] = batch.rewards() + + return self.networks['reward_model'].train_and_sync_networks( + batch.states(network_keys), current_rewards_prediction_for_all_actions)[0] + + def improve_reward_model(self, epochs: int): + """ + Train a reward model to be used by the doubly-robust estimator + + :param epochs: The total number of epochs to use for training a reward model + :return: None + """ + batch_size = self.ap.network_wrappers['reward_model'].batch_size + + # this is fitted from the training dataset + for epoch in range(epochs): + loss = 0 + total_transitions_processed = 0 + for i, batch in enumerate(self.call_memory('get_shuffled_data_generator', batch_size)): + batch = Batch(batch) + loss += self.get_reward_model_loss(batch) + total_transitions_processed += batch.size + + log = OrderedDict() + log['Epoch'] = epoch + log['loss'] = loss / total_transitions_processed + screen.log_dict(log, prefix='Training Reward Model') +
    diff --git a/docs/_modules/rl_coach/base_parameters.html b/docs/_modules/rl_coach/base_parameters.html index 764fd8f..7f356db 100644 --- a/docs/_modules/rl_coach/base_parameters.html +++ b/docs/_modules/rl_coach/base_parameters.html @@ -205,6 +205,7 @@ from rl_coach.core_types import TrainingSteps, EnvironmentSteps, GradientClippingMethod, RunPhase, \ SelectedPhaseOnlyDumpFilter, MaxDumpFilter from rl_coach.filters.filter import NoInputFilter +from rl_coach.logger import screen class Frameworks(Enum): @@ -379,9 +380,6 @@ # distributed agents params self.share_statistics_between_workers = True - # intrinsic reward - self.scale_external_reward_by_intrinsic_reward_value = False - # n-step returns self.n_step = -1 # calculate the total return (no bootstrap, by default) @@ -470,7 +468,8 @@ batch_size=32, replace_mse_with_huber_loss=False, create_target_network=False, - tensorflow_support=True): + tensorflow_support=True, + softmax_temperature=1): """ :param force_cpu: Force the neural networks to run on the CPU even if a GPU is available @@ -553,6 +552,8 @@ online network at will. :param tensorflow_support: A flag which specifies if the network is supported by the TensorFlow framework. + :param softmax_temperature: + If a softmax is present in the network head output, use this temperature """ super().__init__() self.framework = Frameworks.tensorflow @@ -583,16 +584,19 @@ self.heads_parameters = heads_parameters self.use_separate_networks_per_head = use_separate_networks_per_head self.optimizer_type = optimizer_type + self.replace_mse_with_huber_loss = replace_mse_with_huber_loss + self.create_target_network = create_target_network + + # Framework support + self.tensorflow_support = tensorflow_support + + # Hyper-Parameter values self.optimizer_epsilon = optimizer_epsilon self.adam_optimizer_beta1 = adam_optimizer_beta1 self.adam_optimizer_beta2 = adam_optimizer_beta2 self.rms_prop_optimizer_decay = rms_prop_optimizer_decay self.batch_size = batch_size - self.replace_mse_with_huber_loss = replace_mse_with_huber_loss - self.create_target_network = create_target_network - - # Framework support - self.tensorflow_support = tensorflow_support + self.softmax_temperature = softmax_temperature class NetworkComponentParameters(Parameters): @@ -723,6 +727,7 @@ self.is_a_highest_level_agent = True self.is_a_lowest_level_agent = True self.task_parameters = None + self.is_batch_rl_training = False @property def path(self): @@ -730,18 +735,22 @@
    [docs]class TaskParameters(Parameters): - def __init__(self, framework_type: Frameworks=Frameworks.tensorflow, evaluate_only: bool=False, use_cpu: bool=False, + def __init__(self, framework_type: Frameworks=Frameworks.tensorflow, evaluate_only: int=None, use_cpu: bool=False, experiment_path='/tmp', seed=None, checkpoint_save_secs=None, checkpoint_restore_dir=None, - checkpoint_save_dir=None, export_onnx_graph: bool=False, apply_stop_condition: bool=False, - num_gpu: int=1): + checkpoint_restore_path=None, checkpoint_save_dir=None, export_onnx_graph: bool=False, + apply_stop_condition: bool=False, num_gpu: int=1): """ :param framework_type: deep learning framework type. currently only tensorflow is supported - :param evaluate_only: the task will be used only for evaluating the model + :param evaluate_only: if not None, the task will be used only for evaluating the model for the given number of steps. + A value of 0 means that task will be evaluated for an infinite number of steps. :param use_cpu: use the cpu for this task :param experiment_path: the path to the directory which will store all the experiment outputs :param seed: a seed to use for the random numbers generator :param checkpoint_save_secs: the number of seconds between each checkpoint saving - :param checkpoint_restore_dir: the directory to restore the checkpoints from + :param checkpoint_restore_dir: + [DEPECRATED - will be removed in one of the next releases - switch to checkpoint_restore_path] + the dir to restore the checkpoints from + :param checkpoint_restore_path: the path to restore the checkpoints from :param checkpoint_save_dir: the directory to store the checkpoints in :param export_onnx_graph: If set to True, this will export an onnx graph each time a checkpoint is saved :param apply_stop_condition: If set to True, this will apply the stop condition defined by reaching a target success rate @@ -753,7 +762,13 @@ self.use_cpu = use_cpu self.experiment_path = experiment_path self.checkpoint_save_secs = checkpoint_save_secs - self.checkpoint_restore_dir = checkpoint_restore_dir + if checkpoint_restore_dir: + screen.warning('TaskParameters.checkpoint_restore_dir is DEPECRATED and will be removed in one of the next ' + 'releases. Please switch to using TaskParameters.checkpoint_restore_path, with your ' + 'directory path. ') + self.checkpoint_restore_path = checkpoint_restore_dir + else: + self.checkpoint_restore_path = checkpoint_restore_path self.checkpoint_save_dir = checkpoint_save_dir self.seed = seed self.export_onnx_graph = export_onnx_graph @@ -763,13 +778,14 @@
    [docs]class DistributedTaskParameters(TaskParameters): def __init__(self, framework_type: Frameworks, parameters_server_hosts: str, worker_hosts: str, job_type: str, - task_index: int, evaluate_only: bool=False, num_tasks: int=None, + task_index: int, evaluate_only: int=None, num_tasks: int=None, num_training_tasks: int=None, use_cpu: bool=False, experiment_path=None, dnd=None, - shared_memory_scratchpad=None, seed=None, checkpoint_save_secs=None, checkpoint_restore_dir=None, + shared_memory_scratchpad=None, seed=None, checkpoint_save_secs=None, checkpoint_restore_path=None, checkpoint_save_dir=None, export_onnx_graph: bool=False, apply_stop_condition: bool=False): """ :param framework_type: deep learning framework type. currently only tensorflow is supported - :param evaluate_only: the task will be used only for evaluating the model + :param evaluate_only: if not None, the task will be used only for evaluating the model for the given number of steps. + A value of 0 means that task will be evaluated for an infinite number of steps. :param parameters_server_hosts: comma-separated list of hostname:port pairs to which the parameter servers are assigned :param worker_hosts: comma-separated list of hostname:port pairs to which the workers are assigned @@ -782,7 +798,7 @@ :param dnd: an external DND to use for NEC. This is a workaround needed for a shared DND not using the scratchpad. :param seed: a seed to use for the random numbers generator :param checkpoint_save_secs: the number of seconds between each checkpoint saving - :param checkpoint_restore_dir: the directory to restore the checkpoints from + :param checkpoint_restore_path: the path to restore the checkpoints from :param checkpoint_save_dir: the directory to store the checkpoints in :param export_onnx_graph: If set to True, this will export an onnx graph each time a checkpoint is saved :param apply_stop_condition: If set to True, this will apply the stop condition defined by reaching a target success rate @@ -790,7 +806,7 @@ """ super().__init__(framework_type=framework_type, evaluate_only=evaluate_only, use_cpu=use_cpu, experiment_path=experiment_path, seed=seed, checkpoint_save_secs=checkpoint_save_secs, - checkpoint_restore_dir=checkpoint_restore_dir, checkpoint_save_dir=checkpoint_save_dir, + checkpoint_restore_path=checkpoint_restore_path, checkpoint_save_dir=checkpoint_save_dir, export_onnx_graph=export_onnx_graph, apply_stop_condition=apply_stop_condition) self.parameters_server_hosts = parameters_server_hosts self.worker_hosts = worker_hosts diff --git a/docs/_modules/rl_coach/core_types.html b/docs/_modules/rl_coach/core_types.html index ddab0b8..8d4c633 100644 --- a/docs/_modules/rl_coach/core_types.html +++ b/docs/_modules/rl_coach/core_types.html @@ -193,9 +193,10 @@ # See the License for the specific language governing permissions and # limitations under the License. # - +from collections import namedtuple import copy +import math from enum import Enum from random import shuffle from typing import List, Union, Dict, Any, Type @@ -218,6 +219,17 @@ Measurements = 4 +Record = namedtuple('Record', ['name', 'label']) + + +class TimeTypes(Enum): + EpisodeNumber = Record(name='Episode #', label='Episode #') + TrainingIteration = Record(name='Training Iter', label='Training Iteration') + EnvironmentSteps = Record(name='Total steps', label='Total steps (per worker)') + WallClockTime = Record(name='Wall-Clock Time', label='Wall-Clock Time (minutes)') + Epoch = Record(name='Epoch', label='Epoch #') + + # step methods class StepMethod(object): @@ -232,6 +244,37 @@ def num_steps(self, val: int) -> None: self._num_steps = val + def __eq__(self, other): + return self.num_steps == other.num_steps + + def __truediv__(self, other): + """ + divide this step method with other. If other is an integer, returns an object of the same + type as self. If other is the same type of self, returns an integer. In either case, any + floating point value is rounded up under the assumption that if we are dividing Steps, we + would rather overestimate than underestimate. + """ + if isinstance(other, type(self)): + return math.ceil(self.num_steps / other.num_steps) + elif isinstance(other, int): + return type(self)(math.ceil(self.num_steps / other)) + else: + raise TypeError("cannot divide {} by {}".format(type(self), type(other))) + + def __rtruediv__(self, other): + """ + divide this step method with other. If other is an integer, returns an object of the same + type as self. If other is the same type of self, returns an integer. In either case, any + floating point value is rounded up under the assumption that if we are dividing Steps, we + would rather overestimate than underestimate. + """ + if isinstance(other, type(self)): + return math.ceil(other.num_steps / self.num_steps) + elif isinstance(other, int): + return type(self)(math.ceil(other / self.num_steps)) + else: + raise TypeError("cannot divide {} by {}".format(type(other), type(self))) + class Frames(StepMethod): def __init__(self, num_steps): @@ -429,6 +472,9 @@ .format(self.info.keys(), new_info.keys())) self.info.update(new_info) + def update_info(self, new_info: Dict[str, Any]) -> None: + self.info.update(new_info) + def __copy__(self): new_transition = type(self)() new_transition.__dict__.update(self.__dict__) @@ -510,8 +556,7 @@ """ def __init__(self, action: ActionType, all_action_probabilities: float=0, - action_value: float=0., state_value: float=0., max_action_value: float=None, - action_intrinsic_reward: float=0): + action_value: float=0., state_value: float=0., max_action_value: float=None): """ :param action: the action :param all_action_probabilities: the probability that the action was given when selecting it @@ -520,8 +565,6 @@ :param max_action_value: in case this is an action that was selected randomly, this is the value of the action that received the maximum value. if no value is given, the action is assumed to be the action with the maximum value - :param action_intrinsic_reward: can contain any intrinsic reward that the agent wants to add to this action - selection """ self.action = action self.all_action_probabilities = all_action_probabilities @@ -530,8 +573,7 @@ if not max_action_value: self.max_action_value = action_value else: - self.max_action_value = max_action_value - self.action_intrinsic_reward = action_intrinsic_reward
    + self.max_action_value = max_action_value
    [docs]class Batch(object): @@ -1047,6 +1089,19 @@ return True else: return False + + +# TODO move to a NamedTuple, once we move to Python3.6 +# https://stackoverflow.com/questions/34269772/type-hints-in-namedtuple/34269877 +class CsvDataset(object): + def __init__(self, filepath: str, is_episodic: bool = True): + self.filepath = filepath + self.is_episodic = is_episodic + + +class PickledReplayBuffer(object): + def __init__(self, filepath: str): + self.filepath = filepath
    diff --git a/docs/_modules/rl_coach/data_stores/nfs_data_store.html b/docs/_modules/rl_coach/data_stores/nfs_data_store.html index 895aa21..39a2769 100644 --- a/docs/_modules/rl_coach/data_stores/nfs_data_store.html +++ b/docs/_modules/rl_coach/data_stores/nfs_data_store.html @@ -463,7 +463,12 @@ print("Got exception: %s\n while deleting NFS PVC", e) return False - return True + return True + + def setup_checkpoint_dir(self, crd=None): + if crd: + # TODO: find a way to upload this to the deployed nfs store. + pass diff --git a/docs/_modules/rl_coach/data_stores/s3_data_store.html b/docs/_modules/rl_coach/data_stores/s3_data_store.html index 287df0f..e766a50 100644 --- a/docs/_modules/rl_coach/data_stores/s3_data_store.html +++ b/docs/_modules/rl_coach/data_stores/s3_data_store.html @@ -257,6 +257,9 @@ return True def save_to_store(self): + self._save_to_store(self.params.checkpoint_dir) + + def _save_to_store(self, checkpoint_dir): """ save_to_store() uploads the policy checkpoint, gifs and videos to the S3 data store. It reads the checkpoint state files and uploads only the latest checkpoint files to S3. It is used by the trainer in Coach when used in the distributed mode. @@ -268,24 +271,32 @@ # Acquire lock self.mc.put_object(self.params.bucket_name, SyncFiles.LOCKFILE.value, io.BytesIO(b''), 0) - state_file = CheckpointStateFile(os.path.abspath(self.params.checkpoint_dir)) + state_file = CheckpointStateFile(os.path.abspath(checkpoint_dir)) if state_file.exists(): ckpt_state = state_file.read() checkpoint_file = None - for root, dirs, files in os.walk(self.params.checkpoint_dir): + for root, dirs, files in os.walk(checkpoint_dir): for filename in files: if filename == CheckpointStateFile.checkpoint_state_filename: checkpoint_file = (root, filename) continue if filename.startswith(ckpt_state.name): abs_name = os.path.abspath(os.path.join(root, filename)) - rel_name = os.path.relpath(abs_name, self.params.checkpoint_dir) + rel_name = os.path.relpath(abs_name, checkpoint_dir) self.mc.fput_object(self.params.bucket_name, rel_name, abs_name) abs_name = os.path.abspath(os.path.join(checkpoint_file[0], checkpoint_file[1])) - rel_name = os.path.relpath(abs_name, self.params.checkpoint_dir) + rel_name = os.path.relpath(abs_name, checkpoint_dir) self.mc.fput_object(self.params.bucket_name, rel_name, abs_name) + # upload Finished if present + if os.path.exists(os.path.join(checkpoint_dir, SyncFiles.FINISHED.value)): + self.mc.put_object(self.params.bucket_name, SyncFiles.FINISHED.value, io.BytesIO(b''), 0) + + # upload Ready if present + if os.path.exists(os.path.join(checkpoint_dir, SyncFiles.TRAINER_READY.value)): + self.mc.put_object(self.params.bucket_name, SyncFiles.TRAINER_READY.value, io.BytesIO(b''), 0) + # release lock self.mc.remove_object(self.params.bucket_name, SyncFiles.LOCKFILE.value) @@ -301,6 +312,7 @@ if self.params.expt_dir and os.path.exists(os.path.join(self.params.expt_dir, 'gifs')): for filename in os.listdir(os.path.join(self.params.expt_dir, 'gifs')): self.mc.fput_object(self.params.bucket_name, filename, os.path.join(self.params.expt_dir, 'gifs', filename)) + except ResponseError as e: print("Got exception: %s\n while saving to S3", e) @@ -337,6 +349,18 @@ except Exception as e: pass + # Check if there's a ready file + objects = self.mc.list_objects_v2(self.params.bucket_name, SyncFiles.TRAINER_READY.value) + + if next(objects, None) is not None: + try: + self.mc.fget_object( + self.params.bucket_name, SyncFiles.TRAINER_READY.value, + os.path.abspath(os.path.join(self.params.checkpoint_dir, SyncFiles.TRAINER_READY.value)) + ) + except Exception as e: + pass + checkpoint_state = state_file.read() if checkpoint_state is not None: objects = self.mc.list_objects_v2(self.params.bucket_name, prefix=checkpoint_state.name, recursive=True) @@ -346,7 +370,11 @@ self.mc.fget_object(obj.bucket_name, obj.object_name, filename) except ResponseError as e: - print("Got exception: %s\n while loading from S3", e) + print("Got exception: %s\n while loading from S3", e) + + def setup_checkpoint_dir(self, crd=None): + if crd: + self._save_to_store(crd) diff --git a/docs/_modules/rl_coach/environments/gym_environment.html b/docs/_modules/rl_coach/environments/gym_environment.html index b8ce28c..5bda38e 100644 --- a/docs/_modules/rl_coach/environments/gym_environment.html +++ b/docs/_modules/rl_coach/environments/gym_environment.html @@ -480,7 +480,6 @@ random.seed(self.seed) # frame skip and max between consecutive frames - self.is_robotics_env = 'robotics' in str(self.env.unwrapped.__class__) self.is_mujoco_env = 'mujoco' in str(self.env.unwrapped.__class__) self.is_roboschool_env = 'roboschool' in str(self.env.unwrapped.__class__) self.is_atari_env = 'Atari' in str(self.env.unwrapped.__class__) @@ -501,7 +500,7 @@ self.state_space = StateSpace({}) # observations - if not isinstance(self.env.observation_space, gym.spaces.dict_space.Dict): + if not isinstance(self.env.observation_space, gym.spaces.dict.Dict): state_space = {'observation': self.env.observation_space} else: state_space = self.env.observation_space.spaces @@ -665,38 +664,11 @@ # initialize the number of lives self._update_ale_lives() - def _set_mujoco_camera(self, camera_idx: int): - """ - This function can be used to set the camera for rendering the mujoco simulator - :param camera_idx: The index of the camera to use. Should be defined in the model - :return: None - """ - if self.env.unwrapped.viewer is not None and self.env.unwrapped.viewer.cam.fixedcamid != camera_idx: - from mujoco_py.generated import const - self.env.unwrapped.viewer.cam.type = const.CAMERA_FIXED - self.env.unwrapped.viewer.cam.fixedcamid = camera_idx - - def _get_robotics_image(self): - self.env.render() - image = self.env.unwrapped._get_viewer().read_pixels(1600, 900, depth=False)[::-1, :, :] - image = scipy.misc.imresize(image, (270, 480, 3)) - return image - def _render(self): self.env.render(mode='human') - # required for setting up a fixed camera for mujoco - if self.is_mujoco_env and not self.is_roboschool_env: - self._set_mujoco_camera(0) def get_rendered_image(self): - if self.is_robotics_env: - # necessary for fetch since the rendered image is cropped to an irrelevant part of the simulator - image = self._get_robotics_image() - else: - image = self.env.render(mode='rgb_array') - # required for setting up a fixed camera for mujoco - if self.is_mujoco_env and not self.is_roboschool_env: - self._set_mujoco_camera(0) + image = self.env.render(mode='rgb_array') return image def get_target_success_rate(self) -> float: diff --git a/docs/_modules/rl_coach/memories/episodic/episodic_experience_replay.html b/docs/_modules/rl_coach/memories/episodic/episodic_experience_replay.html index 8fc2325..507e9a0 100644 --- a/docs/_modules/rl_coach/memories/episodic/episodic_experience_replay.html +++ b/docs/_modules/rl_coach/memories/episodic/episodic_experience_replay.html @@ -179,6 +179,7 @@

    Source code for rl_coach.memories.episodic.episodic_experience_replay

     #
    +#
     # Copyright (c) 2017 Intel Corporation
     #
     # Licensed under the Apache License, Version 2.0 (the "License");
    @@ -193,14 +194,19 @@
     # See the License for the specific language governing permissions and
     # limitations under the License.
     #
    +import ast
    +import math
     
    -from typing import List, Tuple, Union, Dict, Any
    -
    +import pandas as pd
    +from typing import List, Tuple, Union
     import numpy as np
    +import random
     
     from rl_coach.core_types import Transition, Episode
    +from rl_coach.logger import screen
     from rl_coach.memories.memory import Memory, MemoryGranularity, MemoryParameters
    -from rl_coach.utils import ReaderWriterLock
    +from rl_coach.utils import ReaderWriterLock, ProgressBar
    +from rl_coach.core_types import CsvDataset
     
     
     class EpisodicExperienceReplayParameters(MemoryParameters):
    @@ -208,6 +214,7 @@
             super().__init__()
             self.max_size = (MemoryGranularity.Transitions, 1000000)
             self.n_step = -1
    +        self.train_to_eval_ratio = 1  # for OPE we'll want a value < 1
     
         @property
         def path(self):
    @@ -220,7 +227,9 @@
         calculations of total return and other values that depend on the sequential behavior of the transitions
         in the episode.
         """
    -    def __init__(self, max_size: Tuple[MemoryGranularity, int]=(MemoryGranularity.Transitions, 1000000), n_step=-1):
    +
    +    def __init__(self, max_size: Tuple[MemoryGranularity, int] = (MemoryGranularity.Transitions, 1000000), n_step=-1,
    +                 train_to_eval_ratio: int = 1):
             """
             :param max_size: the maximum number of transitions or episodes to hold in the memory
             """
    @@ -232,8 +241,11 @@
             self._num_transitions = 0
             self._num_transitions_in_complete_episodes = 0
             self.reader_writer_lock = ReaderWriterLock()
    +        self.last_training_set_episode_id = None  # used in batch-rl
    +        self.last_training_set_transition_id = None  # used in batch-rl
    +        self.train_to_eval_ratio = train_to_eval_ratio  # used in batch-rl
     
    -    def length(self, lock: bool=False) -> int:
    +    def length(self, lock: bool = False) -> int:
             """
             Get the number of episodes in the ER (even if they are not complete)
             """
    @@ -255,6 +267,9 @@
         def num_transitions_in_complete_episodes(self):
             return self._num_transitions_in_complete_episodes
     
    +    def get_last_training_set_episode_id(self):
    +        return self.last_training_set_episode_id
    +
         def sample(self, size: int, is_consecutive_transitions=False) -> List[Transition]:
             """
             Sample a batch of transitions from the replay buffer. If the requested size is larger than the number
    @@ -272,7 +287,7 @@
                         batch = self._buffer[episode_idx].transitions
                     else:
                         transition_idx = np.random.randint(size, self._buffer[episode_idx].length())
    -                    batch = self._buffer[episode_idx].transitions[transition_idx-size:transition_idx]
    +                    batch = self._buffer[episode_idx].transitions[transition_idx - size:transition_idx]
                 else:
                     transitions_idx = np.random.randint(self.num_transitions_in_complete_episodes(), size=size)
                     batch = [self.transitions[i] for i in transitions_idx]
    @@ -285,6 +300,78 @@
     
             return batch
     
    +    def get_episode_for_transition(self, transition: Transition) -> (int, Episode):
    +        """
    +        Get the episode from which that transition came from.
    +        :param transition: The transition to lookup the episode for
    +        :return: (Episode number, the episode) or (-1, None) if could not find a matching episode.
    +        """
    +
    +        for i, episode in enumerate(self._buffer):
    +            if transition in episode.transitions:
    +                return i, episode
    +        return -1, None
    +
    +    def shuffle_episodes(self):
    +        """
    +        Shuffle all the episodes in the replay buffer
    +        :return:
    +        """
    +        random.shuffle(self._buffer)
    +        self.transitions = [t for e in self._buffer for t in e.transitions]
    +
    +    def get_shuffled_data_generator(self, size: int) -> List[Transition]:
    +        """
    +        Get an generator for iterating through the shuffled replay buffer, for processing the data in epochs.
    +        If the requested size is larger than the number of samples available in the replay buffer then the batch will
    +        return empty. The last returned batch may be smaller than the size requested, to accommodate for all the
    +        transitions in the replay buffer.
    +
    +        :param size: the size of the batch to return
    +        :return: a batch (list) of selected transitions from the replay buffer
    +        """
    +        self.reader_writer_lock.lock_writing()
    +        if self.last_training_set_transition_id is None:
    +            if self.train_to_eval_ratio < 0 or self.train_to_eval_ratio >= 1:
    +                raise ValueError('train_to_eval_ratio should be in the (0, 1] range.')
    +
    +            transition = self.transitions[round(self.train_to_eval_ratio * self.num_transitions_in_complete_episodes())]
    +            episode_num, episode = self.get_episode_for_transition(transition)
    +            self.last_training_set_episode_id = episode_num
    +            self.last_training_set_transition_id = \
    +                len([t for e in self.get_all_complete_episodes_from_to(0, self.last_training_set_episode_id + 1) for t in e])
    +
    +        shuffled_transition_indices = list(range(self.last_training_set_transition_id))
    +        random.shuffle(shuffled_transition_indices)
    +
    +        # The last batch drawn will usually be < batch_size (=the size variable)
    +        for i in range(math.ceil(len(shuffled_transition_indices) / size)):
    +            sample_data = [self.transitions[j] for j in shuffled_transition_indices[i * size: (i + 1) * size]]
    +            self.reader_writer_lock.release_writing()
    +
    +            yield sample_data
    +
    +    def get_all_complete_episodes_transitions(self) -> List[Transition]:
    +        """
    +        Get all the transitions from all the complete episodes in the buffer
    +        :return: a list of transitions
    +        """
    +        return self.transitions[:self.num_transitions_in_complete_episodes()]
    +
    +    def get_all_complete_episodes(self) -> List[Episode]:
    +        """
    +        Get all the transitions from all the complete episodes in the buffer
    +        :return: a list of transitions
    +        """
    +        return self.get_all_complete_episodes_from_to(0, self.num_complete_episodes())
    +
    +    def get_all_complete_episodes_from_to(self, start_episode_id, end_episode_id) -> List[Episode]:
    +        """
    +        Get all the transitions from all the complete episodes in the buffer matching the given episode range
    +        :return: a list of transitions
    +        """
    +        return self._buffer[start_episode_id:end_episode_id]
    +
         def _enforce_max_length(self) -> None:
             """
             Make sure that the size of the replay buffer does not pass the maximum size allowed.
    @@ -368,7 +455,7 @@
     
             self.reader_writer_lock.release_writing_and_reading()
     
    -    def store_episode(self, episode: Episode, lock: bool=True) -> None:
    +    def store_episode(self, episode: Episode, lock: bool = True) -> None:
             """
             Store a new episode in the memory.
             :param episode: the new episode to store
    @@ -391,7 +478,7 @@
             if lock:
                 self.reader_writer_lock.release_writing_and_reading()
     
    -    def get_episode(self, episode_index: int, lock: bool=True) -> Union[None, Episode]:
    +    def get_episode(self, episode_index: int, lock: bool = True) -> Union[None, Episode]:
             """
             Returns the episode in the given index. If the episode does not exist, returns None instead.
             :param episode_index: the index of the episode to return
    @@ -436,7 +523,7 @@
             self.reader_writer_lock.release_writing_and_reading()
     
         # for API compatibility
    -    def get(self, episode_index: int, lock: bool=True) -> Union[None, Episode]:
    +    def get(self, episode_index: int, lock: bool = True) -> Union[None, Episode]:
             """
             Returns the episode in the given index. If the episode does not exist, returns None instead.
             :param episode_index: the index of the episode to return
    @@ -494,7 +581,51 @@
             mean = np.mean([transition.reward for transition in self.transitions])
     
             self.reader_writer_lock.release_writing()
    -        return mean
    + return mean + + def load_csv(self, csv_dataset: CsvDataset) -> None: + """ + Restore the replay buffer contents from a csv file. + The csv file is assumed to include a list of transitions. + :param csv_dataset: A construct which holds the dataset parameters + """ + df = pd.read_csv(csv_dataset.filepath) + if len(df) > self.max_size[1]: + screen.warning("Warning! The number of transitions to load into the replay buffer ({}) is " + "bigger than the max size of the replay buffer ({}). The excessive transitions will " + "not be stored.".format(len(df), self.max_size[1])) + + episode_ids = df['episode_id'].unique() + progress_bar = ProgressBar(len(episode_ids)) + state_columns = [col for col in df.columns if col.startswith('state_feature')] + + for e_id in episode_ids: + progress_bar.update(e_id) + df_episode_transitions = df[df['episode_id'] == e_id] + episode = Episode() + for (_, current_transition), (_, next_transition) in zip(df_episode_transitions[:-1].iterrows(), + df_episode_transitions[1:].iterrows()): + state = np.array([current_transition[col] for col in state_columns]) + next_state = np.array([next_transition[col] for col in state_columns]) + + episode.insert( + Transition(state={'observation': state}, + action=current_transition['action'], reward=current_transition['reward'], + next_state={'observation': next_state}, game_over=False, + info={'all_action_probabilities': + ast.literal_eval(current_transition['all_action_probabilities'])})) + + # Set the last transition to end the episode + if csv_dataset.is_episodic: + episode.get_last_transition().game_over = True + + self.store_episode(episode) + + # close the progress bar + progress_bar.update(len(episode_ids)) + progress_bar.close() + + self.shuffle_episodes() diff --git a/docs/_modules/rl_coach/memories/non_episodic/experience_replay.html b/docs/_modules/rl_coach/memories/non_episodic/experience_replay.html index 735d943..6b7c6fc 100644 --- a/docs/_modules/rl_coach/memories/non_episodic/experience_replay.html +++ b/docs/_modules/rl_coach/memories/non_episodic/experience_replay.html @@ -194,10 +194,10 @@ # limitations under the License. # -from typing import List, Tuple, Union, Dict, Any +from typing import List, Tuple, Union import pickle -import sys -import time +import random +import math import numpy as np @@ -252,7 +252,6 @@ Sample a batch of transitions form the replay buffer. If the requested size is larger than the number of samples available in the replay buffer then the batch will return empty. :param size: the size of the batch to sample - :param beta: the beta parameter used for importance sampling :return: a batch (list) of selected transitions from the replay buffer """ self.reader_writer_lock.lock_writing() @@ -272,6 +271,28 @@ self.reader_writer_lock.release_writing() return batch + def get_shuffled_data_generator(self, size: int) -> List[Transition]: + """ + Get an generator for iterating through the shuffled replay buffer, for processing the data in epochs. + If the requested size is larger than the number of samples available in the replay buffer then the batch will + return empty. The last returned batch may be smaller than the size requested, to accommodate for all the + transitions in the replay buffer. + + :param size: the size of the batch to return + :return: a batch (list) of selected transitions from the replay buffer + """ + self.reader_writer_lock.lock_writing() + shuffled_transition_indices = list(range(len(self.transitions))) + random.shuffle(shuffled_transition_indices) + + # we deliberately drop some of the ending data which is left after dividing to batches of size `size` + # for i in range(math.ceil(len(shuffled_transition_indices) / size)): + for i in range(int(len(shuffled_transition_indices) / size)): + sample_data = [self.transitions[j] for j in shuffled_transition_indices[i * size: (i + 1) * size]] + self.reader_writer_lock.release_writing() + + yield sample_data + def _enforce_max_length(self) -> None: """ Make sure that the size of the replay buffer does not pass the maximum size allowed. @@ -395,7 +416,7 @@ with open(file_path, 'wb') as file: pickle.dump(self.transitions, file) - def load(self, file_path: str) -> None: + def load_pickled(self, file_path: str) -> None: """ Restore the replay buffer contents from a pickle file. The pickle file is assumed to include a list of transitions. @@ -418,6 +439,7 @@ progress_bar.update(transition_idx) progress_bar.close() + diff --git a/docs/_modules/rl_coach/orchestrators/kubernetes_orchestrator.html b/docs/_modules/rl_coach/orchestrators/kubernetes_orchestrator.html index 47babe0..166d287 100644 --- a/docs/_modules/rl_coach/orchestrators/kubernetes_orchestrator.html +++ b/docs/_modules/rl_coach/orchestrators/kubernetes_orchestrator.html @@ -298,7 +298,7 @@ self.s3_access_key = os.environ.get('ACCESS_KEY_ID') self.s3_secret_key = os.environ.get('SECRET_ACCESS_KEY') - def setup(self) -> bool: + def setup(self, crd=None) -> bool: """ Deploys the memory backend and data stores if required. """ @@ -308,6 +308,9 @@ return False if self.params.data_store_params.store_type == "nfs": self.nfs_pvc = self.data_store.get_info() + + # Upload checkpoints in checkpoint_restore_dir (if provided) to the data store + self.data_store.setup_checkpoint_dir(crd) return True def deploy_trainer(self) -> bool: @@ -321,7 +324,6 @@ trainer_params.command += ['--memory_backend_params', json.dumps(self.params.memory_backend_parameters.__dict__)] trainer_params.command += ['--data_store_params', json.dumps(self.params.data_store_params.__dict__)] - name = "{}-{}".format(trainer_params.run_type, uuid.uuid4()) if self.params.data_store_params.store_type == "nfs": @@ -346,7 +348,7 @@ name="nfs-pvc", persistent_volume_claim=self.nfs_pvc )], - restart_policy='OnFailure' + restart_policy='Never' ), ) else: @@ -365,7 +367,7 @@ metadata=k8sclient.V1ObjectMeta(labels={'app': name}), spec=k8sclient.V1PodSpec( containers=[container], - restart_policy='OnFailure' + restart_policy='Never' ), ) @@ -427,7 +429,7 @@ name="nfs-pvc", persistent_volume_claim=self.nfs_pvc )], - restart_policy='OnFailure' + restart_policy='Never' ), ) else: @@ -446,7 +448,7 @@ metadata=k8sclient.V1ObjectMeta(labels={'app': name}), spec=k8sclient.V1PodSpec( containers=[container], - restart_policy='OnFailure' + restart_policy='Never' ) ) @@ -496,7 +498,7 @@ return for pod in pods.items: - Process(target=self._tail_log_file, args=(pod.metadata.name, api_client, self.params.namespace, path)).start() + Process(target=self._tail_log_file, args=(pod.metadata.name, api_client, self.params.namespace, path), daemon=True).start() def _tail_log_file(self, pod_name, api_client, namespace, path): if not os.path.exists(path): @@ -528,7 +530,7 @@ if not pod: return - self.tail_log(pod.metadata.name, api_client) + return self.tail_log(pod.metadata.name, api_client) def tail_log(self, pod_name, corev1_api): while True: @@ -562,9 +564,9 @@ container_status.state.waiting.reason == 'CrashLoopBackOff' or \ container_status.state.waiting.reason == 'ImagePullBackOff' or \ container_status.state.waiting.reason == 'ErrImagePull': - return + return 1 if container_status.state.terminated is not None: - return + return container_status.state.terminated.exit_code def undeploy(self): """ diff --git a/docs/_modules/rl_coach/spaces.html b/docs/_modules/rl_coach/spaces.html index b38d15b..75d67e3 100644 --- a/docs/_modules/rl_coach/spaces.html +++ b/docs/_modules/rl_coach/spaces.html @@ -828,7 +828,7 @@ """ def __init__(self, state: StateSpace, - goal: ObservationSpace, + goal: Union[ObservationSpace, None], action: ActionSpace, reward: RewardSpace): self.state = state diff --git a/docs/_sources/components/agents/index.rst.txt b/docs/_sources/components/agents/index.rst.txt index 62aaf0e..476bc7a 100644 --- a/docs/_sources/components/agents/index.rst.txt +++ b/docs/_sources/components/agents/index.rst.txt @@ -21,6 +21,7 @@ A detailed description of those algorithms can be found by navigating to each of imitation/cil policy_optimization/cppo policy_optimization/ddpg + policy_optimization/sac other/dfp value_optimization/double_dqn value_optimization/dqn diff --git a/docs/_sources/components/agents/policy_optimization/acer.rst.txt b/docs/_sources/components/agents/policy_optimization/acer.rst.txt index 7808443..d16a0e7 100644 --- a/docs/_sources/components/agents/policy_optimization/acer.rst.txt +++ b/docs/_sources/components/agents/policy_optimization/acer.rst.txt @@ -38,6 +38,7 @@ Each update perform the following procedure: .. math:: \text{where} \quad \bar{\rho}_{t} = \min{\left\{c,\rho_t\right\}},\quad \rho_t=\frac{\pi (a_t \mid s_t)}{\mu (a_t \mid s_t)} 3. **Accumulate gradients:** + :math:`\bullet` **Policy gradients (with bias correction):** .. math:: \hat{g}_t^{policy} & = & \bar{\rho}_{t} \nabla \log \pi (a_t \mid s_t) [Q^{ret}(s_t,a_t) - V(s_t)] \\ diff --git a/docs/_sources/components/agents/policy_optimization/sac.rst.txt b/docs/_sources/components/agents/policy_optimization/sac.rst.txt new file mode 100644 index 0000000..418c87e --- /dev/null +++ b/docs/_sources/components/agents/policy_optimization/sac.rst.txt @@ -0,0 +1,49 @@ +Soft Actor-Critic +============ + +**Actions space:** Continuous + +**References:** `Soft Actor-Critic: Off-Policy Maximum Entropy Deep Reinforcement Learning with a Stochastic Actor `_ + +Network Structure +----------------- + +.. image:: /_static/img/design_imgs/sac.png + :align: center + +Algorithm Description +--------------------- + +Choosing an action - Continuous actions ++++++++++++++++++++++++++++++++++++++ + +The policy network is used in order to predict mean and log std for each action. While training, a sample is taken +from a Gaussian distribution with these mean and std values. When testing, the agent can choose deterministically +by picking the mean value or sample from a gaussian distribution like in training. + +Training the network +++++++++++++++++++++ +Start by sampling a batch :math:`B` of transitions from the experience replay. + +* To train the **Q network**, use the following targets: + + .. math:: y_t^Q=r(s_t,a_t)+\gamma \cdot V(s_{t+1}) + + The state value used in the above target is acquired by running the target state value network. + +* To train the **State Value network**, use the following targets: + + .. math:: y_t^V = \min_{i=1,2}Q_i(s_t,\tilde{a}) - log\pi (\tilde{a} \vert s),\,\,\,\, \tilde{a} \sim \pi(\cdot \vert s_t) + + The state value network is trained using a sample-based approximation of the connection between and state value and state + action values, The actions used for constructing the target are **not** sampled from the replay buffer, but rather sampled + from the current policy. + +* To train the **actor network**, use the following equation: + + .. math:: \nabla_{\theta} J \approx \nabla_{\theta} \frac{1}{\vert B \vert} \sum_{s_t\in B} \left( Q \left(s_t, \tilde{a}_\theta(s_t)\right) - log\pi_{\theta}(\tilde{a}_{\theta}(s_t)\vert s_t) \right),\,\,\,\, \tilde{a} \sim \pi(\cdot \vert s_t) + +After every training step, do a soft update of the V target network's weights from the online networks. + + +.. autoclass:: rl_coach.agents.soft_actor_critic_agent.SoftActorCriticAlgorithmParameters \ No newline at end of file diff --git a/docs/_sources/selecting_an_algorithm.rst.txt b/docs/_sources/selecting_an_algorithm.rst.txt index e56f802..e4027de 100644 --- a/docs/_sources/selecting_an_algorithm.rst.txt +++ b/docs/_sources/selecting_an_algorithm.rst.txt @@ -198,6 +198,14 @@ The algorithms are ordered by their release date in descending order. improve stability it also employs bias correction and trust region optimization techniques. +
    + + SAC +
    + Soft Actor-Critic is an algorithm which optimizes a stochastic policy in an off-policy way. + One of the key features of SAC is that it solves a maximum entropy reinforcement learning problem. +
    +
    DDPG diff --git a/docs/_sources/usage.rst.txt b/docs/_sources/usage.rst.txt index c32c07f..8ff520a 100644 --- a/docs/_sources/usage.rst.txt +++ b/docs/_sources/usage.rst.txt @@ -113,7 +113,8 @@ In Coach, this can be done in two steps - .. code-block:: python - coach -p Doom_Basic_BC -cp='agent.load_memory_from_file_path=\"/replay_buffer.p\"' + from rl_coach.core_types import PickledReplayBuffer + coach -p Doom_Basic_BC -cp='agent.load_memory_from_file_path=PickledReplayBuffer(\"/replay_buffer.p\"') Visualizations diff --git a/docs/_static/css/custom.css b/docs/_static/css/custom.css deleted file mode 100644 index 6ab0757..0000000 --- a/docs/_static/css/custom.css +++ /dev/null @@ -1,61 +0,0 @@ -/* Docs background */ -.wy-side-nav-search{ - background-color: #043c74; -} - -/* Mobile version */ -.wy-nav-top{ - background-color: #043c74; -} - - -.green { - color: green; -} - -.red { - color: red; -} - -.blue { - color: blue; -} - -.yellow { - color: yellow; -} - -.badge { - border: 2px; - border-style: solid; - border-color: #6C8EBF; - border-radius: 5px; - padding: 3px 15px 3px 15px; - margin: 5px; - display: inline-block; - font-weight: bold; - font-size: 16px; - background: #DAE8FC; -} - -.badge:hover { - cursor: pointer; -} - -.badge > a { - color: black; -} - -.bordered-container { - border: 0px; - border-style: solid; - border-radius: 8px; - padding: 15px; - margin-bottom: 20px; - background: #f2f2f2; -} - -.questionnaire { - font-size: 1.2em; - line-height: 1.5em; -} \ No newline at end of file diff --git a/docs/components/additional_parameters.html b/docs/components/additional_parameters.html index a5979ab..9e97da5 100644 --- a/docs/components/additional_parameters.html +++ b/docs/components/additional_parameters.html @@ -276,19 +276,22 @@ of the trace tests suite.

    TaskParameters¶

    -class rl_coach.base_parameters.TaskParameters(framework_type: rl_coach.base_parameters.Frameworks = <Frameworks.tensorflow: 'TensorFlow'>, evaluate_only: bool = False, use_cpu: bool = False, experiment_path='/tmp', seed=None, checkpoint_save_secs=None, checkpoint_restore_dir=None, checkpoint_save_dir=None, export_onnx_graph: bool = False, apply_stop_condition: bool = False, num_gpu: int = 1)[source]¶
    +class rl_coach.base_parameters.TaskParameters(framework_type: rl_coach.base_parameters.Frameworks = <Frameworks.tensorflow: 'TensorFlow'>, evaluate_only: int = None, use_cpu: bool = False, experiment_path='/tmp', seed=None, checkpoint_save_secs=None, checkpoint_restore_dir=None, checkpoint_restore_path=None, checkpoint_save_dir=None, export_onnx_graph: bool = False, apply_stop_condition: bool = False, num_gpu: int = 1)[source]¶
    Parameters:
    • framework_type – deep learning framework type. currently only tensorflow is supported
    • -
    • evaluate_only – the task will be used only for evaluating the model
    • +
    • evaluate_only – if not None, the task will be used only for evaluating the model for the given number of steps. +A value of 0 means that task will be evaluated for an infinite number of steps.
    • use_cpu – use the cpu for this task
    • experiment_path – the path to the directory which will store all the experiment outputs
    • seed – a seed to use for the random numbers generator
    • checkpoint_save_secs – the number of seconds between each checkpoint saving
    • -
    • checkpoint_restore_dir – the directory to restore the checkpoints from
    • +
    • checkpoint_restore_dir – [DEPECRATED - will be removed in one of the next releases - switch to checkpoint_restore_path] +the dir to restore the checkpoints from
    • +
    • checkpoint_restore_path – the path to restore the checkpoints from
    • checkpoint_save_dir – the directory to store the checkpoints in
    • export_onnx_graph – If set to True, this will export an onnx graph each time a checkpoint is saved
    • apply_stop_condition – If set to True, this will apply the stop condition defined by reaching a target success rate
    • @@ -305,14 +308,15 @@ of the trace tests suite.

      DistributedTaskParameters¶

      -class rl_coach.base_parameters.DistributedTaskParameters(framework_type: rl_coach.base_parameters.Frameworks, parameters_server_hosts: str, worker_hosts: str, job_type: str, task_index: int, evaluate_only: bool = False, num_tasks: int = None, num_training_tasks: int = None, use_cpu: bool = False, experiment_path=None, dnd=None, shared_memory_scratchpad=None, seed=None, checkpoint_save_secs=None, checkpoint_restore_dir=None, checkpoint_save_dir=None, export_onnx_graph: bool = False, apply_stop_condition: bool = False)[source]¶
      +class rl_coach.base_parameters.DistributedTaskParameters(framework_type: rl_coach.base_parameters.Frameworks, parameters_server_hosts: str, worker_hosts: str, job_type: str, task_index: int, evaluate_only: int = None, num_tasks: int = None, num_training_tasks: int = None, use_cpu: bool = False, experiment_path=None, dnd=None, shared_memory_scratchpad=None, seed=None, checkpoint_save_secs=None, checkpoint_restore_path=None, checkpoint_save_dir=None, export_onnx_graph: bool = False, apply_stop_condition: bool = False)[source]¶
      Parameters:
      -act() → rl_coach.core_types.ActionInfo[source]¶
      +act(action: Union[None, int, float, numpy.ndarray, List] = None) → rl_coach.core_types.ActionInfo[source]¶

      Given the agents current knowledge, decide on the next action to apply to the environment

      - + + +
      Returns:An ActionInfo object, which contains the action and any additional info from the action decision process
      Parameters:action – An action to take, overriding whatever the current policy is
      Returns:An ActionInfo object, which contains the action and any additional info from the action decision process
      @@ -357,26 +361,6 @@ for creating the network.

    -
    -
    -emulate_act_on_trainer(transition: rl_coach.core_types.Transition) → rl_coach.core_types.ActionInfo[source]¶
    -

    This emulates the act using the transition obtained from the rollout worker on the training worker -in case of distributed training. -Given the agents current knowledge, decide on the next action to apply to the environment -:return: an action and a dictionary containing any additional info from the action decision process

    -
    - -
    -
    -emulate_observe_on_trainer(transition: rl_coach.core_types.Transition) → bool[source]¶
    -

    This emulates the observe using the transition obtained from the rollout worker on the training worker -in case of distributed training. -Given a response from the environment, distill the observation from it and store it for later use. -The response should be a dictionary containing the performed action, the new observation and measurements, -the reward, a game over flag and any additional information necessary. -:return:

    -
    -
    get_predictions(states: List[Dict[str, numpy.ndarray]], prediction_type: rl_coach.core_types.PredictionType)[source]¶
    @@ -540,7 +524,7 @@ given observation
    -prepare_batch_for_inference(states: Union[Dict[str, numpy.ndarray], List[Dict[str, numpy.ndarray]]], network_name: str) → Dict[str, numpy.core.multiarray.array][source]¶
    +prepare_batch_for_inference(states: Union[Dict[str, numpy.ndarray], List[Dict[str, numpy.ndarray]]], network_name: str) → Dict[str, numpy.array][source]¶

    Convert curr_state into input tensors tensorflow is expecting. i.e. if we have several inputs states, stack all observations together, measurements together, etc.

    @@ -632,6 +616,21 @@ by val, and by the current phase set in self.phase.

    +
    +
    +run_off_policy_evaluation() → None¶
    +

    Run off-policy evaluation estimators to evaluate the trained policy performance against a dataset. +Should only be implemented for off-policy RL algorithms.

    + +++ + + + +
    Returns:None
    +
    +
    run_pre_network_filter_for_inference(state: Dict[str, numpy.ndarray], update_filter_internal_state: bool = True) → Dict[str, numpy.ndarray][source]¶
    diff --git a/docs/components/agents/other/dfp.html b/docs/components/agents/other/dfp.html index 33863bb..c16fdb4 100644 --- a/docs/components/agents/other/dfp.html +++ b/docs/components/agents/other/dfp.html @@ -30,7 +30,7 @@ - + @@ -114,6 +114,7 @@
  • Conditional Imitation Learning
  • Clipped Proximal Policy Optimization
  • Deep Deterministic Policy Gradient
  • +
  • Soft Actor-Critic
  • Direct Future Prediction
  • diff --git a/docs/components/agents/policy_optimization/ac.html b/docs/components/agents/policy_optimization/ac.html index ce42794..80cc33f 100644 --- a/docs/components/agents/policy_optimization/ac.html +++ b/docs/components/agents/policy_optimization/ac.html @@ -122,6 +122,7 @@
  • Conditional Imitation Learning
  • Clipped Proximal Policy Optimization
  • Deep Deterministic Policy Gradient
  • +
  • Soft Actor-Critic
  • Direct Future Prediction
  • Double DQN
  • Deep Q Networks
  • diff --git a/docs/components/agents/policy_optimization/acer.html b/docs/components/agents/policy_optimization/acer.html index b81641a..353e05e 100644 --- a/docs/components/agents/policy_optimization/acer.html +++ b/docs/components/agents/policy_optimization/acer.html @@ -122,6 +122,7 @@
  • Conditional Imitation Learning
  • Clipped Proximal Policy Optimization
  • Deep Deterministic Policy Gradient
  • +
  • Soft Actor-Critic
  • Direct Future Prediction
  • Double DQN
  • Deep Q Networks
  • @@ -247,21 +248,20 @@ and \(n\) (replay ratio) off-p \[\text{where} \quad \bar{\rho}_{t} = \min{\left\{c,\rho_t\right\}},\quad \rho_t=\frac{\pi (a_t \mid s_t)}{\mu (a_t \mid s_t)}\] -
  • -
    Accumulate gradients:
    -

    \(\bullet\) Policy gradients (with bias correction):

    +
  • Accumulate gradients:

    +
    +

    \(\bullet\) Policy gradients (with bias correction):

    \[\begin{split}\hat{g}_t^{policy} & = & \bar{\rho}_{t} \nabla \log \pi (a_t \mid s_t) [Q^{ret}(s_t,a_t) - V(s_t)] \\ & & + \mathbb{E}_{a \sim \pi} \left(\left[\frac{\rho_t(a)-c}{\rho_t(a)}\right] \nabla \log \pi (a \mid s_t) [Q(s_t,a) - V(s_t)] \right)\end{split}\]

    \(\bullet\) Q-Head gradients (MSE):

    -
    +
    \[\begin{split}\hat{g}_t^{Q} = (Q^{ret}(s_t,a_t) - Q(s_t,a_t)) \nabla Q(s_t,a_t)\\\end{split}\]
    -
  • -
    +
  • (Optional) Trust region update: change the policy loss gradient w.r.t network output:

    diff --git a/docs/components/agents/policy_optimization/cppo.html b/docs/components/agents/policy_optimization/cppo.html index 7ec56f8..dc6780f 100644 --- a/docs/components/agents/policy_optimization/cppo.html +++ b/docs/components/agents/policy_optimization/cppo.html @@ -122,6 +122,7 @@
  • Deep Deterministic Policy Gradient
  • +
  • Soft Actor-Critic
  • Direct Future Prediction
  • Double DQN
  • Deep Q Networks
  • diff --git a/docs/components/agents/policy_optimization/ddpg.html b/docs/components/agents/policy_optimization/ddpg.html index 237d2be..130b03b 100644 --- a/docs/components/agents/policy_optimization/ddpg.html +++ b/docs/components/agents/policy_optimization/ddpg.html @@ -29,7 +29,7 @@ - + @@ -122,6 +122,7 @@ +
  • Soft Actor-Critic
  • Direct Future Prediction
  • Double DQN
  • Deep Q Networks
  • @@ -297,7 +298,7 @@ values. If set to False, the terminal states reward will be taken as the target