Full Code of google/dopamine for AI

master bec5f4e108b0 cached
932 files
77.9 MB
20.5M tokens
1721 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (81,844K chars total). Download the full file to get everything.
Repository: google/dopamine
Branch: master
Commit: bec5f4e108b0
Files: 932
Total size: 77.9 MB

Directory structure:
gitextract_9jlygikg/

├── AUTHORS
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── baselines/
│   ├── README.md
│   ├── atari/
│   │   ├── README.md
│   │   ├── data/
│   │   │   ├── airraid.json
│   │   │   ├── airraid.vg.json
│   │   │   ├── airraid_CNN.json
│   │   │   ├── airraid_CNN.vg.json
│   │   │   ├── airraid_Impala.json
│   │   │   ├── airraid_Impala.vg.json
│   │   │   ├── alien.json
│   │   │   ├── alien.vg.json
│   │   │   ├── alien_CNN.json
│   │   │   ├── alien_CNN.vg.json
│   │   │   ├── alien_Impala.json
│   │   │   ├── alien_Impala.vg.json
│   │   │   ├── amidar.json
│   │   │   ├── amidar.vg.json
│   │   │   ├── amidar_CNN.json
│   │   │   ├── amidar_CNN.vg.json
│   │   │   ├── amidar_Impala.json
│   │   │   ├── amidar_Impala.vg.json
│   │   │   ├── assault.json
│   │   │   ├── assault.vg.json
│   │   │   ├── assault_CNN.json
│   │   │   ├── assault_CNN.vg.json
│   │   │   ├── assault_Impala.json
│   │   │   ├── assault_Impala.vg.json
│   │   │   ├── asterix.json
│   │   │   ├── asterix.vg.json
│   │   │   ├── asterix_CNN.json
│   │   │   ├── asterix_CNN.vg.json
│   │   │   ├── asterix_Impala.json
│   │   │   ├── asterix_Impala.vg.json
│   │   │   ├── asteroids.json
│   │   │   ├── asteroids.vg.json
│   │   │   ├── asteroids_CNN.json
│   │   │   ├── asteroids_CNN.vg.json
│   │   │   ├── asteroids_Impala.json
│   │   │   ├── asteroids_Impala.vg.json
│   │   │   ├── atlantis.json
│   │   │   ├── atlantis.vg.json
│   │   │   ├── atlantis_CNN.json
│   │   │   ├── atlantis_CNN.vg.json
│   │   │   ├── atlantis_Impala.json
│   │   │   ├── atlantis_Impala.vg.json
│   │   │   ├── bankheist.json
│   │   │   ├── bankheist.vg.json
│   │   │   ├── bankheist_CNN.json
│   │   │   ├── bankheist_CNN.vg.json
│   │   │   ├── bankheist_Impala.json
│   │   │   ├── bankheist_Impala.vg.json
│   │   │   ├── battlezone.json
│   │   │   ├── battlezone.vg.json
│   │   │   ├── battlezone_CNN.json
│   │   │   ├── battlezone_CNN.vg.json
│   │   │   ├── battlezone_Impala.json
│   │   │   ├── battlezone_Impala.vg.json
│   │   │   ├── beamrider.json
│   │   │   ├── beamrider.vg.json
│   │   │   ├── beamrider_CNN.json
│   │   │   ├── beamrider_CNN.vg.json
│   │   │   ├── beamrider_Impala.json
│   │   │   ├── beamrider_Impala.vg.json
│   │   │   ├── berzerk.json
│   │   │   ├── berzerk.vg.json
│   │   │   ├── berzerk_CNN.json
│   │   │   ├── berzerk_CNN.vg.json
│   │   │   ├── berzerk_Impala.json
│   │   │   ├── berzerk_Impala.vg.json
│   │   │   ├── bowling.json
│   │   │   ├── bowling.vg.json
│   │   │   ├── bowling_CNN.json
│   │   │   ├── bowling_CNN.vg.json
│   │   │   ├── bowling_Impala.json
│   │   │   ├── bowling_Impala.vg.json
│   │   │   ├── boxing.json
│   │   │   ├── boxing.vg.json
│   │   │   ├── boxing_CNN.json
│   │   │   ├── boxing_CNN.vg.json
│   │   │   ├── boxing_Impala.json
│   │   │   ├── boxing_Impala.vg.json
│   │   │   ├── breakout.json
│   │   │   ├── breakout.vg.json
│   │   │   ├── breakout_CNN.json
│   │   │   ├── breakout_CNN.vg.json
│   │   │   ├── breakout_Impala.json
│   │   │   ├── breakout_Impala.vg.json
│   │   │   ├── carnival.json
│   │   │   ├── carnival.vg.json
│   │   │   ├── carnival_CNN.json
│   │   │   ├── carnival_CNN.vg.json
│   │   │   ├── carnival_Impala.json
│   │   │   ├── carnival_Impala.vg.json
│   │   │   ├── centipede.json
│   │   │   ├── centipede.vg.json
│   │   │   ├── centipede_CNN.json
│   │   │   ├── centipede_CNN.vg.json
│   │   │   ├── centipede_Impala.json
│   │   │   ├── centipede_Impala.vg.json
│   │   │   ├── choppercommand.json
│   │   │   ├── choppercommand.vg.json
│   │   │   ├── choppercommand_CNN.json
│   │   │   ├── choppercommand_CNN.vg.json
│   │   │   ├── choppercommand_Impala.json
│   │   │   ├── choppercommand_Impala.vg.json
│   │   │   ├── crazyclimber.json
│   │   │   ├── crazyclimber.vg.json
│   │   │   ├── crazyclimber_CNN.json
│   │   │   ├── crazyclimber_CNN.vg.json
│   │   │   ├── crazyclimber_Impala.json
│   │   │   ├── crazyclimber_Impala.vg.json
│   │   │   ├── demonattack.json
│   │   │   ├── demonattack.vg.json
│   │   │   ├── demonattack_CNN.json
│   │   │   ├── demonattack_CNN.vg.json
│   │   │   ├── demonattack_Impala.json
│   │   │   ├── demonattack_Impala.vg.json
│   │   │   ├── doubledunk.json
│   │   │   ├── doubledunk.vg.json
│   │   │   ├── doubledunk_CNN.json
│   │   │   ├── doubledunk_CNN.vg.json
│   │   │   ├── doubledunk_Impala.json
│   │   │   ├── doubledunk_Impala.vg.json
│   │   │   ├── elevatoraction.json
│   │   │   ├── elevatoraction.vg.json
│   │   │   ├── elevatoraction_CNN.json
│   │   │   ├── elevatoraction_CNN.vg.json
│   │   │   ├── elevatoraction_Impala.json
│   │   │   ├── elevatoraction_Impala.vg.json
│   │   │   ├── enduro.json
│   │   │   ├── enduro.vg.json
│   │   │   ├── enduro_CNN.json
│   │   │   ├── enduro_CNN.vg.json
│   │   │   ├── enduro_Impala.json
│   │   │   ├── enduro_Impala.vg.json
│   │   │   ├── fishingderby.json
│   │   │   ├── fishingderby.vg.json
│   │   │   ├── fishingderby_CNN.json
│   │   │   ├── fishingderby_CNN.vg.json
│   │   │   ├── fishingderby_Impala.json
│   │   │   ├── fishingderby_Impala.vg.json
│   │   │   ├── freeway.json
│   │   │   ├── freeway.vg.json
│   │   │   ├── freeway_CNN.json
│   │   │   ├── freeway_CNN.vg.json
│   │   │   ├── freeway_Impala.json
│   │   │   ├── freeway_Impala.vg.json
│   │   │   ├── frostbite.json
│   │   │   ├── frostbite.vg.json
│   │   │   ├── frostbite_CNN.json
│   │   │   ├── frostbite_CNN.vg.json
│   │   │   ├── frostbite_Impala.json
│   │   │   ├── frostbite_Impala.vg.json
│   │   │   ├── gopher.json
│   │   │   ├── gopher.vg.json
│   │   │   ├── gopher_CNN.json
│   │   │   ├── gopher_CNN.vg.json
│   │   │   ├── gopher_Impala.json
│   │   │   ├── gopher_Impala.vg.json
│   │   │   ├── gravitar.json
│   │   │   ├── gravitar.vg.json
│   │   │   ├── gravitar_CNN.json
│   │   │   ├── gravitar_CNN.vg.json
│   │   │   ├── gravitar_Impala.json
│   │   │   ├── gravitar_Impala.vg.json
│   │   │   ├── hero.json
│   │   │   ├── hero.vg.json
│   │   │   ├── hero_CNN.json
│   │   │   ├── hero_CNN.vg.json
│   │   │   ├── hero_Impala.json
│   │   │   ├── hero_Impala.vg.json
│   │   │   ├── icehockey.json
│   │   │   ├── icehockey.vg.json
│   │   │   ├── icehockey_CNN.json
│   │   │   ├── icehockey_CNN.vg.json
│   │   │   ├── icehockey_Impala.json
│   │   │   ├── icehockey_Impala.vg.json
│   │   │   ├── jamesbond.json
│   │   │   ├── jamesbond.vg.json
│   │   │   ├── jamesbond_CNN.json
│   │   │   ├── jamesbond_CNN.vg.json
│   │   │   ├── jamesbond_Impala.json
│   │   │   ├── jamesbond_Impala.vg.json
│   │   │   ├── journeyescape.json
│   │   │   ├── journeyescape.vg.json
│   │   │   ├── journeyescape_CNN.json
│   │   │   ├── journeyescape_CNN.vg.json
│   │   │   ├── journeyescape_Impala.json
│   │   │   ├── journeyescape_Impala.vg.json
│   │   │   ├── kangaroo.json
│   │   │   ├── kangaroo.vg.json
│   │   │   ├── kangaroo_CNN.json
│   │   │   ├── kangaroo_CNN.vg.json
│   │   │   ├── kangaroo_Impala.json
│   │   │   ├── kangaroo_Impala.vg.json
│   │   │   ├── krull.json
│   │   │   ├── krull.vg.json
│   │   │   ├── krull_CNN.json
│   │   │   ├── krull_CNN.vg.json
│   │   │   ├── krull_Impala.json
│   │   │   ├── krull_Impala.vg.json
│   │   │   ├── kungfumaster.json
│   │   │   ├── kungfumaster.vg.json
│   │   │   ├── kungfumaster_CNN.json
│   │   │   ├── kungfumaster_CNN.vg.json
│   │   │   ├── kungfumaster_Impala.json
│   │   │   ├── kungfumaster_Impala.vg.json
│   │   │   ├── montezumarevenge.json
│   │   │   ├── montezumarevenge.vg.json
│   │   │   ├── montezumarevenge_CNN.json
│   │   │   ├── montezumarevenge_CNN.vg.json
│   │   │   ├── montezumarevenge_Impala.json
│   │   │   ├── montezumarevenge_Impala.vg.json
│   │   │   ├── mspacman.json
│   │   │   ├── mspacman.vg.json
│   │   │   ├── mspacman_CNN.json
│   │   │   ├── mspacman_CNN.vg.json
│   │   │   ├── mspacman_Impala.json
│   │   │   ├── mspacman_Impala.vg.json
│   │   │   ├── namethisgame.json
│   │   │   ├── namethisgame.vg.json
│   │   │   ├── namethisgame_CNN.json
│   │   │   ├── namethisgame_CNN.vg.json
│   │   │   ├── namethisgame_Impala.json
│   │   │   ├── namethisgame_Impala.vg.json
│   │   │   ├── phoenix.json
│   │   │   ├── phoenix.vg.json
│   │   │   ├── phoenix_CNN.json
│   │   │   ├── phoenix_CNN.vg.json
│   │   │   ├── phoenix_Impala.json
│   │   │   ├── phoenix_Impala.vg.json
│   │   │   ├── pitfall.json
│   │   │   ├── pitfall.vg.json
│   │   │   ├── pitfall_CNN.json
│   │   │   ├── pitfall_CNN.vg.json
│   │   │   ├── pitfall_Impala.json
│   │   │   ├── pitfall_Impala.vg.json
│   │   │   ├── pong.json
│   │   │   ├── pong.vg.json
│   │   │   ├── pong_CNN.json
│   │   │   ├── pong_CNN.vg.json
│   │   │   ├── pong_Impala.json
│   │   │   ├── pong_Impala.vg.json
│   │   │   ├── pooyan.json
│   │   │   ├── pooyan.vg.json
│   │   │   ├── pooyan_CNN.json
│   │   │   ├── pooyan_CNN.vg.json
│   │   │   ├── pooyan_Impala.json
│   │   │   ├── pooyan_Impala.vg.json
│   │   │   ├── privateeye.json
│   │   │   ├── privateeye.vg.json
│   │   │   ├── privateeye_CNN.json
│   │   │   ├── privateeye_CNN.vg.json
│   │   │   ├── privateeye_Impala.json
│   │   │   ├── privateeye_Impala.vg.json
│   │   │   ├── qbert.json
│   │   │   ├── qbert.vg.json
│   │   │   ├── qbert_CNN.json
│   │   │   ├── qbert_CNN.vg.json
│   │   │   ├── qbert_Impala.json
│   │   │   ├── qbert_Impala.vg.json
│   │   │   ├── riverraid.json
│   │   │   ├── riverraid.vg.json
│   │   │   ├── riverraid_CNN.json
│   │   │   ├── riverraid_CNN.vg.json
│   │   │   ├── riverraid_Impala.json
│   │   │   ├── riverraid_Impala.vg.json
│   │   │   ├── roadrunner.json
│   │   │   ├── roadrunner.vg.json
│   │   │   ├── roadrunner_CNN.json
│   │   │   ├── roadrunner_CNN.vg.json
│   │   │   ├── roadrunner_Impala.json
│   │   │   ├── roadrunner_Impala.vg.json
│   │   │   ├── robotank.json
│   │   │   ├── robotank.vg.json
│   │   │   ├── robotank_CNN.json
│   │   │   ├── robotank_CNN.vg.json
│   │   │   ├── robotank_Impala.json
│   │   │   ├── robotank_Impala.vg.json
│   │   │   ├── seaquest.json
│   │   │   ├── seaquest.vg.json
│   │   │   ├── seaquest_CNN.json
│   │   │   ├── seaquest_CNN.vg.json
│   │   │   ├── seaquest_Impala.json
│   │   │   ├── seaquest_Impala.vg.json
│   │   │   ├── skiing.json
│   │   │   ├── skiing.vg.json
│   │   │   ├── skiing_CNN.json
│   │   │   ├── skiing_CNN.vg.json
│   │   │   ├── skiing_Impala.json
│   │   │   ├── skiing_Impala.vg.json
│   │   │   ├── solaris.json
│   │   │   ├── solaris.vg.json
│   │   │   ├── solaris_CNN.json
│   │   │   ├── solaris_CNN.vg.json
│   │   │   ├── solaris_Impala.json
│   │   │   ├── solaris_Impala.vg.json
│   │   │   ├── spaceinvaders.json
│   │   │   ├── spaceinvaders.vg.json
│   │   │   ├── spaceinvaders_CNN.json
│   │   │   ├── spaceinvaders_CNN.vg.json
│   │   │   ├── spaceinvaders_Impala.json
│   │   │   ├── spaceinvaders_Impala.vg.json
│   │   │   ├── stargunner.json
│   │   │   ├── stargunner.vg.json
│   │   │   ├── stargunner_CNN.json
│   │   │   ├── stargunner_CNN.vg.json
│   │   │   ├── stargunner_Impala.json
│   │   │   ├── stargunner_Impala.vg.json
│   │   │   ├── tennis.json
│   │   │   ├── tennis.vg.json
│   │   │   ├── tennis_CNN.json
│   │   │   ├── tennis_CNN.vg.json
│   │   │   ├── tennis_Impala.json
│   │   │   ├── tennis_Impala.vg.json
│   │   │   ├── timepilot.json
│   │   │   ├── timepilot.vg.json
│   │   │   ├── timepilot_CNN.json
│   │   │   ├── timepilot_CNN.vg.json
│   │   │   ├── timepilot_Impala.json
│   │   │   ├── timepilot_Impala.vg.json
│   │   │   ├── tutankham.json
│   │   │   ├── tutankham.vg.json
│   │   │   ├── tutankham_CNN.json
│   │   │   ├── tutankham_CNN.vg.json
│   │   │   ├── tutankham_Impala.json
│   │   │   ├── tutankham_Impala.vg.json
│   │   │   ├── upndown.json
│   │   │   ├── upndown.vg.json
│   │   │   ├── upndown_CNN.json
│   │   │   ├── upndown_CNN.vg.json
│   │   │   ├── upndown_Impala.json
│   │   │   ├── upndown_Impala.vg.json
│   │   │   ├── venture.json
│   │   │   ├── venture.vg.json
│   │   │   ├── venture_CNN.json
│   │   │   ├── venture_CNN.vg.json
│   │   │   ├── venture_Impala.json
│   │   │   ├── venture_Impala.vg.json
│   │   │   ├── videopinball.json
│   │   │   ├── videopinball.vg.json
│   │   │   ├── videopinball_CNN.json
│   │   │   ├── videopinball_CNN.vg.json
│   │   │   ├── videopinball_Impala.json
│   │   │   ├── videopinball_Impala.vg.json
│   │   │   ├── wizardofwor.json
│   │   │   ├── wizardofwor.vg.json
│   │   │   ├── wizardofwor_CNN.json
│   │   │   ├── wizardofwor_CNN.vg.json
│   │   │   ├── wizardofwor_Impala.json
│   │   │   ├── wizardofwor_Impala.vg.json
│   │   │   ├── yarsrevenge.json
│   │   │   ├── yarsrevenge.vg.json
│   │   │   ├── yarsrevenge_CNN.json
│   │   │   ├── yarsrevenge_CNN.vg.json
│   │   │   ├── yarsrevenge_Impala.json
│   │   │   ├── yarsrevenge_Impala.vg.json
│   │   │   ├── zaxxon.json
│   │   │   ├── zaxxon.vg.json
│   │   │   ├── zaxxon_CNN.json
│   │   │   ├── zaxxon_CNN.vg.json
│   │   │   ├── zaxxon_Impala.json
│   │   │   └── zaxxon_Impala.vg.json
│   │   ├── legacy_plots.html
│   │   └── plots.html
│   ├── mujoco/
│   │   ├── README.md
│   │   ├── data/
│   │   │   ├── ant.json
│   │   │   ├── ant.vg.json
│   │   │   ├── halfcheetah.json
│   │   │   ├── halfcheetah.vg.json
│   │   │   ├── hopper.json
│   │   │   ├── hopper.vg.json
│   │   │   ├── humanoid.json
│   │   │   ├── humanoid.vg.json
│   │   │   ├── walker2d.json
│   │   │   └── walker2d.vg.json
│   │   └── plots.html
│   └── plots.html
├── docker/
│   ├── README.md
│   ├── atari/
│   │   └── Dockerfile
│   ├── core/
│   │   └── Dockerfile
│   └── mujoco/
│       └── Dockerfile
├── docs/
│   ├── README.md
│   ├── agents.md
│   ├── api_docs/
│   │   └── python/
│   │       ├── _toc.yaml
│   │       ├── dopamine/
│   │       │   ├── _api_cache.json
│   │       │   ├── _redirects.yaml
│   │       │   ├── _toc.yaml
│   │       │   ├── agents/
│   │       │   │   ├── dqn/
│   │       │   │   │   ├── dqn_agent/
│   │       │   │   │   │   └── DQNAgent.md
│   │       │   │   │   └── dqn_agent.md
│   │       │   │   ├── dqn.md
│   │       │   │   ├── implicit_quantile/
│   │       │   │   │   ├── implicit_quantile_agent/
│   │       │   │   │   │   └── ImplicitQuantileAgent.md
│   │       │   │   │   └── implicit_quantile_agent.md
│   │       │   │   ├── implicit_quantile.md
│   │       │   │   ├── rainbow/
│   │       │   │   │   ├── rainbow_agent/
│   │       │   │   │   │   ├── RainbowAgent.md
│   │       │   │   │   │   └── project_distribution.md
│   │       │   │   │   └── rainbow_agent.md
│   │       │   │   └── rainbow.md
│   │       │   ├── agents.md
│   │       │   ├── all_symbols.md
│   │       │   ├── api_report.pb
│   │       │   ├── colab/
│   │       │   │   ├── utils/
│   │       │   │   │   ├── get_latest_file.md
│   │       │   │   │   ├── get_latest_iteration.md
│   │       │   │   │   ├── load_baselines.md
│   │       │   │   │   ├── load_statistics.md
│   │       │   │   │   ├── read_experiment.md
│   │       │   │   │   └── summarize_data.md
│   │       │   │   └── utils.md
│   │       │   ├── colab.md
│   │       │   ├── continuous_domains/
│   │       │   │   ├── run_experiment/
│   │       │   │   │   ├── ContinuousRunner.md
│   │       │   │   │   ├── ContinuousTrainRunner.md
│   │       │   │   │   ├── create_continuous_agent.md
│   │       │   │   │   └── create_continuous_runner.md
│   │       │   │   └── run_experiment.md
│   │       │   ├── continuous_domains.md
│   │       │   ├── discrete_domains/
│   │       │   │   ├── atari_lib/
│   │       │   │   │   ├── AtariPreprocessing.md
│   │       │   │   │   ├── GameOverWrapper.md
│   │       │   │   │   ├── ImplicitQuantileNetwork.md
│   │       │   │   │   ├── NatureDQNNetwork.md
│   │       │   │   │   ├── RainbowNetwork.md
│   │       │   │   │   └── create_atari_environment.md
│   │       │   │   ├── atari_lib.md
│   │       │   │   ├── checkpointer/
│   │       │   │   │   ├── Checkpointer.md
│   │       │   │   │   └── get_latest_checkpoint_number.md
│   │       │   │   ├── checkpointer.md
│   │       │   │   ├── gym_lib/
│   │       │   │   │   ├── AcrobotDQNNetwork.md
│   │       │   │   │   ├── AcrobotFourierDQNNetwork.md
│   │       │   │   │   ├── AcrobotRainbowNetwork.md
│   │       │   │   │   ├── BasicDiscreteDomainNetwork.md
│   │       │   │   │   ├── CartpoleDQNNetwork.md
│   │       │   │   │   ├── CartpoleFourierDQNNetwork.md
│   │       │   │   │   ├── CartpoleRainbowNetwork.md
│   │       │   │   │   ├── FourierBasis.md
│   │       │   │   │   ├── FourierDQNNetwork.md
│   │       │   │   │   ├── GymPreprocessing.md
│   │       │   │   │   ├── LunarLanderDQNNetwork.md
│   │       │   │   │   ├── MountainCarDQNNetwork.md
│   │       │   │   │   └── create_gym_environment.md
│   │       │   │   ├── gym_lib.md
│   │       │   │   ├── iteration_statistics/
│   │       │   │   │   └── IterationStatistics.md
│   │       │   │   ├── iteration_statistics.md
│   │       │   │   ├── legacy_networks/
│   │       │   │   │   ├── acrobot_dqn_network.md
│   │       │   │   │   ├── acrobot_fourier_dqn_network.md
│   │       │   │   │   ├── acrobot_rainbow_network.md
│   │       │   │   │   ├── cartpole_dqn_network.md
│   │       │   │   │   ├── cartpole_fourier_dqn_network.md
│   │       │   │   │   ├── cartpole_rainbow_network.md
│   │       │   │   │   ├── fourier_dqn_network.md
│   │       │   │   │   ├── implicit_quantile_network.md
│   │       │   │   │   ├── nature_dqn_network.md
│   │       │   │   │   └── rainbow_network.md
│   │       │   │   ├── legacy_networks.md
│   │       │   │   ├── logger/
│   │       │   │   │   └── Logger.md
│   │       │   │   ├── logger.md
│   │       │   │   ├── run_experiment/
│   │       │   │   │   ├── Runner.md
│   │       │   │   │   ├── TrainRunner.md
│   │       │   │   │   ├── create_agent.md
│   │       │   │   │   ├── create_runner.md
│   │       │   │   │   └── load_gin_configs.md
│   │       │   │   ├── run_experiment.md
│   │       │   │   └── train.md
│   │       │   ├── discrete_domains.md
│   │       │   ├── jax/
│   │       │   │   ├── agents/
│   │       │   │   │   ├── dqn/
│   │       │   │   │   │   ├── dqn_agent/
│   │       │   │   │   │   │   └── JaxDQNAgent.md
│   │       │   │   │   │   └── dqn_agent.md
│   │       │   │   │   ├── dqn.md
│   │       │   │   │   ├── full_rainbow/
│   │       │   │   │   │   ├── full_rainbow_agent/
│   │       │   │   │   │   │   └── JaxFullRainbowAgent.md
│   │       │   │   │   │   └── full_rainbow_agent.md
│   │       │   │   │   ├── full_rainbow.md
│   │       │   │   │   ├── implicit_quantile/
│   │       │   │   │   │   ├── implicit_quantile_agent/
│   │       │   │   │   │   │   └── JaxImplicitQuantileAgent.md
│   │       │   │   │   │   └── implicit_quantile_agent.md
│   │       │   │   │   ├── implicit_quantile.md
│   │       │   │   │   ├── ppo/
│   │       │   │   │   │   ├── ppo_agent/
│   │       │   │   │   │   │   └── PPOAgent.md
│   │       │   │   │   │   └── ppo_agent.md
│   │       │   │   │   ├── ppo.md
│   │       │   │   │   ├── quantile/
│   │       │   │   │   │   ├── quantile_agent/
│   │       │   │   │   │   │   └── JaxQuantileAgent.md
│   │       │   │   │   │   └── quantile_agent.md
│   │       │   │   │   ├── quantile.md
│   │       │   │   │   ├── rainbow/
│   │       │   │   │   │   ├── rainbow_agent/
│   │       │   │   │   │   │   ├── JaxRainbowAgent.md
│   │       │   │   │   │   │   └── project_distribution.md
│   │       │   │   │   │   └── rainbow_agent.md
│   │       │   │   │   ├── rainbow.md
│   │       │   │   │   ├── sac/
│   │       │   │   │   │   ├── sac_agent/
│   │       │   │   │   │   │   └── SACAgent.md
│   │       │   │   │   │   └── sac_agent.md
│   │       │   │   │   └── sac.md
│   │       │   │   ├── agents.md
│   │       │   │   ├── checkpointers/
│   │       │   │   │   ├── CheckpointHandler.md
│   │       │   │   │   ├── Checkpointable.md
│   │       │   │   │   └── Checkpointer.md
│   │       │   │   ├── checkpointers.md
│   │       │   │   ├── continuous_networks/
│   │       │   │   │   ├── ActorCriticNetwork.md
│   │       │   │   │   ├── ActorCriticOutput.md
│   │       │   │   │   ├── ActorNetwork.md
│   │       │   │   │   ├── ActorOutput.md
│   │       │   │   │   ├── CriticNetwork.md
│   │       │   │   │   ├── CriticOutput.md
│   │       │   │   │   ├── PPOActorCriticNetwork.md
│   │       │   │   │   ├── PPOActorCriticOutput.md
│   │       │   │   │   ├── PPOActorNetwork.md
│   │       │   │   │   ├── PPOActorOutput.md
│   │       │   │   │   ├── PPOCriticNetwork.md
│   │       │   │   │   └── PPOCriticOutput.md
│   │       │   │   ├── continuous_networks.md
│   │       │   │   ├── losses/
│   │       │   │   │   ├── huber_loss.md
│   │       │   │   │   ├── mse_loss.md
│   │       │   │   │   └── softmax_cross_entropy_loss_with_logits.md
│   │       │   │   ├── losses.md
│   │       │   │   ├── networks/
│   │       │   │   │   ├── ClassicControlDQNNetwork.md
│   │       │   │   │   ├── ClassicControlRainbowNetwork.md
│   │       │   │   │   ├── FourierBasis.md
│   │       │   │   │   ├── FullRainbowNetwork.md
│   │       │   │   │   ├── ImpalaDQNNetwork.md
│   │       │   │   │   ├── ImpalaEncoder.md
│   │       │   │   │   ├── ImplicitQuantileNetwork.md
│   │       │   │   │   ├── JaxFourierDQNNetwork.md
│   │       │   │   │   ├── NatureDQNNetwork.md
│   │       │   │   │   ├── NoisyNetwork.md
│   │       │   │   │   ├── PPOActorNetwork.md
│   │       │   │   │   ├── PPOCriticNetwork.md
│   │       │   │   │   ├── PPODiscreteActorCriticNetwork.md
│   │       │   │   │   ├── PPOSharedNetwork.md
│   │       │   │   │   ├── QuantileNetwork.md
│   │       │   │   │   ├── RainbowNetwork.md
│   │       │   │   │   ├── Stack.md
│   │       │   │   │   ├── feature_layer.md
│   │       │   │   │   └── preprocess_atari_inputs.md
│   │       │   │   ├── networks.md
│   │       │   │   ├── replay_memory/
│   │       │   │   │   ├── accumulator/
│   │       │   │   │   │   ├── Accumulator.md
│   │       │   │   │   │   └── TransitionAccumulator.md
│   │       │   │   │   ├── accumulator.md
│   │       │   │   │   ├── elements/
│   │       │   │   │   │   ├── ReplayElement.md
│   │       │   │   │   │   ├── ReplayElementProtocol.md
│   │       │   │   │   │   ├── TransitionElement.md
│   │       │   │   │   │   ├── compress.md
│   │       │   │   │   │   └── uncompress.md
│   │       │   │   │   ├── elements.md
│   │       │   │   │   ├── replay_buffer/
│   │       │   │   │   │   └── ReplayBuffer.md
│   │       │   │   │   ├── replay_buffer.md
│   │       │   │   │   ├── samplers/
│   │       │   │   │   │   ├── PrioritizedSampleMetadata.md
│   │       │   │   │   │   ├── PrioritizedSamplingDistribution.md
│   │       │   │   │   │   ├── SampleMetadata.md
│   │       │   │   │   │   ├── SamplingDistribution.md
│   │       │   │   │   │   ├── SequentialSamplingDistribution.md
│   │       │   │   │   │   └── UniformSamplingDistribution.md
│   │       │   │   │   ├── samplers.md
│   │       │   │   │   ├── sum_tree/
│   │       │   │   │   │   └── SumTree.md
│   │       │   │   │   └── sum_tree.md
│   │       │   │   ├── replay_memory.md
│   │       │   │   ├── serialization/
│   │       │   │   │   ├── LongIntegerEncoding.md
│   │       │   │   │   ├── NumpyEncoding.md
│   │       │   │   │   ├── decode.md
│   │       │   │   │   └── encode.md
│   │       │   │   └── serialization.md
│   │       │   ├── jax.md
│   │       │   ├── labs/
│   │       │   │   ├── atari_100k/
│   │       │   │   │   └── atari_100k_rainbow_agent.md
│   │       │   │   ├── atari_100k.md
│   │       │   │   ├── cale/
│   │       │   │   │   ├── ppo_cale.md
│   │       │   │   │   ├── sac_cale.md
│   │       │   │   │   └── utils.md
│   │       │   │   ├── cale.md
│   │       │   │   ├── moes/
│   │       │   │   │   ├── agents/
│   │       │   │   │   │   ├── dqn_moe_agent.md
│   │       │   │   │   │   ├── full_rainbow_moe_agent.md
│   │       │   │   │   │   ├── losses.md
│   │       │   │   │   │   ├── rainbow_100k_moe_agent.md
│   │       │   │   │   │   └── types.md
│   │       │   │   │   ├── agents.md
│   │       │   │   │   ├── architectures/
│   │       │   │   │   │   ├── moe.md
│   │       │   │   │   │   ├── networks.md
│   │       │   │   │   │   ├── routers.md
│   │       │   │   │   │   ├── softmoe.md
│   │       │   │   │   │   └── types.md
│   │       │   │   │   ├── architectures.md
│   │       │   │   │   └── google.md
│   │       │   │   ├── moes.md
│   │       │   │   ├── sac_from_pixels/
│   │       │   │   │   ├── continuous_networks.md
│   │       │   │   │   └── deepmind_control_lib.md
│   │       │   │   └── sac_from_pixels.md
│   │       │   ├── labs.md
│   │       │   ├── metrics/
│   │       │   │   ├── collector/
│   │       │   │   │   └── Collector.md
│   │       │   │   ├── collector.md
│   │       │   │   ├── collector_dispatcher/
│   │       │   │   │   ├── CollectorDispatcher.md
│   │       │   │   │   └── add_collector.md
│   │       │   │   ├── collector_dispatcher.md
│   │       │   │   ├── console_collector/
│   │       │   │   │   └── ConsoleCollector.md
│   │       │   │   ├── console_collector.md
│   │       │   │   ├── pickle_collector/
│   │       │   │   │   └── PickleCollector.md
│   │       │   │   ├── pickle_collector.md
│   │       │   │   ├── statistics_instance/
│   │       │   │   │   └── StatisticsInstance.md
│   │       │   │   ├── statistics_instance.md
│   │       │   │   ├── tensorboard_collector/
│   │       │   │   │   └── TensorboardCollector.md
│   │       │   │   └── tensorboard_collector.md
│   │       │   ├── metrics.md
│   │       │   ├── replay_memory/
│   │       │   │   ├── circular_replay_buffer/
│   │       │   │   │   ├── OutOfGraphReplayBuffer.md
│   │       │   │   │   └── WrappedReplayBuffer.md
│   │       │   │   ├── circular_replay_buffer.md
│   │       │   │   ├── prioritized_replay_buffer/
│   │       │   │   │   ├── OutOfGraphPrioritizedReplayBuffer.md
│   │       │   │   │   └── WrappedPrioritizedReplayBuffer.md
│   │       │   │   ├── prioritized_replay_buffer.md
│   │       │   │   └── sum_tree.md
│   │       │   ├── replay_memory.md
│   │       │   ├── tf/
│   │       │   │   ├── agents/
│   │       │   │   │   ├── dqn/
│   │       │   │   │   │   ├── dqn_agent/
│   │       │   │   │   │   │   └── DQNAgent.md
│   │       │   │   │   │   └── dqn_agent.md
│   │       │   │   │   ├── dqn.md
│   │       │   │   │   ├── implicit_quantile/
│   │       │   │   │   │   ├── implicit_quantile_agent/
│   │       │   │   │   │   │   └── ImplicitQuantileAgent.md
│   │       │   │   │   │   └── implicit_quantile_agent.md
│   │       │   │   │   ├── implicit_quantile.md
│   │       │   │   │   ├── rainbow/
│   │       │   │   │   │   ├── rainbow_agent/
│   │       │   │   │   │   │   ├── RainbowAgent.md
│   │       │   │   │   │   │   └── project_distribution.md
│   │       │   │   │   │   └── rainbow_agent.md
│   │       │   │   │   └── rainbow.md
│   │       │   │   ├── agents.md
│   │       │   │   ├── replay_memory/
│   │       │   │   │   ├── circular_replay_buffer/
│   │       │   │   │   │   ├── OutOfGraphReplayBuffer.md
│   │       │   │   │   │   ├── ReplayElement.md
│   │       │   │   │   │   └── WrappedReplayBuffer.md
│   │       │   │   │   ├── circular_replay_buffer.md
│   │       │   │   │   ├── prioritized_replay_buffer/
│   │       │   │   │   │   ├── OutOfGraphPrioritizedReplayBuffer.md
│   │       │   │   │   │   └── WrappedPrioritizedReplayBuffer.md
│   │       │   │   │   ├── prioritized_replay_buffer.md
│   │       │   │   │   ├── sum_tree/
│   │       │   │   │   │   └── SumTree.md
│   │       │   │   │   └── sum_tree.md
│   │       │   │   └── replay_memory.md
│   │       │   ├── tf.md
│   │       │   ├── utils/
│   │       │   │   ├── agent_visualizer/
│   │       │   │   │   └── AgentVisualizer.md
│   │       │   │   ├── agent_visualizer.md
│   │       │   │   ├── atari_plotter/
│   │       │   │   │   └── AtariPlotter.md
│   │       │   │   ├── atari_plotter.md
│   │       │   │   ├── bar_plotter/
│   │       │   │   │   └── BarPlotter.md
│   │       │   │   ├── bar_plotter.md
│   │       │   │   ├── example_viz.md
│   │       │   │   ├── example_viz_lib/
│   │       │   │   │   └── create_runner.md
│   │       │   │   ├── example_viz_lib.md
│   │       │   │   ├── line_plotter/
│   │       │   │   │   └── LinePlotter.md
│   │       │   │   ├── line_plotter.md
│   │       │   │   ├── plotter/
│   │       │   │   │   └── Plotter.md
│   │       │   │   └── plotter.md
│   │       │   └── utils.md
│   │       ├── dopamine.md
│   │       └── index.md
│   └── changelist.md
├── dopamine/
│   ├── __init__.py
│   ├── colab/
│   │   ├── README.md
│   │   ├── __init__.py
│   │   ├── agent_visualizer.ipynb
│   │   ├── agents.ipynb
│   │   ├── cartpole.ipynb
│   │   ├── jax_agent_visualizer.ipynb
│   │   ├── load_statistics.ipynb
│   │   ├── tensorboard.ipynb
│   │   └── utils.py
│   ├── continuous_domains/
│   │   ├── __init__.py
│   │   ├── run_experiment.py
│   │   └── train.py
│   ├── discrete_domains/
│   │   ├── __init__.py
│   │   ├── atari_lib.py
│   │   ├── checkpointer.py
│   │   ├── gym_lib.py
│   │   ├── iteration_statistics.py
│   │   ├── legacy_networks.py
│   │   ├── logger.py
│   │   ├── run_experiment.py
│   │   └── train.py
│   ├── jax/
│   │   ├── README.md
│   │   ├── __init__.py
│   │   ├── agents/
│   │   │   ├── __init__.py
│   │   │   ├── dqn/
│   │   │   │   ├── __init__.py
│   │   │   │   ├── configs/
│   │   │   │   │   ├── dqn.gin
│   │   │   │   │   ├── dqn_acrobot.gin
│   │   │   │   │   ├── dqn_cartpole.gin
│   │   │   │   │   ├── dqn_fourier_acrobot.gin
│   │   │   │   │   ├── dqn_fourier_cartpole.gin
│   │   │   │   │   ├── dqn_fourier_lunarlander.gin
│   │   │   │   │   ├── dqn_fourier_mountaincar.gin
│   │   │   │   │   ├── dqn_lunarlander.gin
│   │   │   │   │   ├── dqn_mountaincar.gin
│   │   │   │   │   └── dqn_profiling.gin
│   │   │   │   └── dqn_agent.py
│   │   │   ├── full_rainbow/
│   │   │   │   ├── __init__.py
│   │   │   │   ├── configs/
│   │   │   │   │   ├── full_rainbow.gin
│   │   │   │   │   └── full_rainbow_profiling.gin
│   │   │   │   └── full_rainbow_agent.py
│   │   │   ├── implicit_quantile/
│   │   │   │   ├── __init__.py
│   │   │   │   ├── configs/
│   │   │   │   │   ├── implicit_quantile.gin
│   │   │   │   │   └── implicit_quantile_profiling.gin
│   │   │   │   └── implicit_quantile_agent.py
│   │   │   ├── ppo/
│   │   │   │   ├── __init__.py
│   │   │   │   ├── configs/
│   │   │   │   │   ├── ppo.gin
│   │   │   │   │   └── ppo_atari.gin
│   │   │   │   └── ppo_agent.py
│   │   │   ├── quantile/
│   │   │   │   ├── __init__.py
│   │   │   │   ├── configs/
│   │   │   │   │   ├── quantile.gin
│   │   │   │   │   └── quantile_profiling.gin
│   │   │   │   └── quantile_agent.py
│   │   │   ├── rainbow/
│   │   │   │   ├── __init__.py
│   │   │   │   ├── configs/
│   │   │   │   │   ├── c51.gin
│   │   │   │   │   ├── c51_acrobot.gin
│   │   │   │   │   ├── c51_cartpole.gin
│   │   │   │   │   ├── c51_lunarlander.gin
│   │   │   │   │   ├── c51_mountaincar.gin
│   │   │   │   │   ├── c51_profiling.gin
│   │   │   │   │   ├── rainbow.gin
│   │   │   │   │   ├── rainbow_acrobot.gin
│   │   │   │   │   ├── rainbow_cartpole.gin
│   │   │   │   │   ├── rainbow_lunarlander.gin
│   │   │   │   │   ├── rainbow_mountaincar.gin
│   │   │   │   │   └── rainbow_profiling.gin
│   │   │   │   └── rainbow_agent.py
│   │   │   └── sac/
│   │   │       ├── __init__.py
│   │   │       ├── configs/
│   │   │       │   └── sac.gin
│   │   │       └── sac_agent.py
│   │   ├── checkpointers.py
│   │   ├── continuous_networks.py
│   │   ├── losses.py
│   │   ├── networks.py
│   │   ├── replay_memory/
│   │   │   ├── __init__.py
│   │   │   ├── accumulator.py
│   │   │   ├── elements.py
│   │   │   ├── replay_buffer.py
│   │   │   ├── samplers.py
│   │   │   └── sum_tree.py
│   │   └── serialization.py
│   ├── labs/
│   │   ├── __init__.py
│   │   ├── atari_100k/
│   │   │   ├── README.md
│   │   │   ├── __init__.py
│   │   │   ├── atari_100k_rainbow_agent.py
│   │   │   ├── atari_100k_runner.py
│   │   │   ├── configs/
│   │   │   │   ├── DER.gin
│   │   │   │   ├── DrQ.gin
│   │   │   │   ├── DrQ_eps.gin
│   │   │   │   ├── OTRainbow.gin
│   │   │   │   └── SPR.gin
│   │   │   ├── eval_run_experiment.py
│   │   │   ├── normalization_utils.py
│   │   │   ├── replay_memory/
│   │   │   │   ├── deterministic_sum_tree.py
│   │   │   │   └── subsequence_replay_buffer.py
│   │   │   ├── spr_agent.py
│   │   │   ├── spr_networks.py
│   │   │   └── train.py
│   │   ├── cale/
│   │   │   ├── __init__.py
│   │   │   ├── configs/
│   │   │   │   ├── ppo_cale.gin
│   │   │   │   ├── ppo_cale_100k.gin
│   │   │   │   ├── sac_cale.gin
│   │   │   │   └── sac_cale_100k.gin
│   │   │   ├── networks.py
│   │   │   ├── ppo_cale.py
│   │   │   ├── sac_cale.py
│   │   │   └── utils.py
│   │   ├── environments/
│   │   │   ├── __init__.py
│   │   │   ├── brax/
│   │   │   │   ├── __init__.py
│   │   │   │   ├── brax_lib.py
│   │   │   │   ├── sac_brax.gin
│   │   │   │   └── train.py
│   │   │   └── minatar/
│   │   │       ├── __init__.py
│   │   │       ├── dqn_asterix.gin
│   │   │       ├── dqn_breakout.gin
│   │   │       ├── dqn_freeway.gin
│   │   │       ├── dqn_seaquest.gin
│   │   │       ├── dqn_space_invaders.gin
│   │   │       ├── minatar_env.py
│   │   │       ├── quantile_asterix.gin
│   │   │       ├── quantile_breakout.gin
│   │   │       ├── quantile_freeway.gin
│   │   │       ├── quantile_seaquest.gin
│   │   │       ├── quantile_space_invaders.gin
│   │   │       ├── rainbow_asterix.gin
│   │   │       ├── rainbow_breakout.gin
│   │   │       ├── rainbow_freeway.gin
│   │   │       ├── rainbow_seaquest.gin
│   │   │       └── rainbow_space_invaders.gin
│   │   ├── moes/
│   │   │   ├── README.md
│   │   │   ├── __init__.py
│   │   │   ├── agents/
│   │   │   │   ├── __init__.py
│   │   │   │   ├── dqn_moe_agent.py
│   │   │   │   ├── full_rainbow_moe_agent.py
│   │   │   │   ├── losses.py
│   │   │   │   ├── rainbow_100k_moe_agent.py
│   │   │   │   └── types.py
│   │   │   ├── architectures/
│   │   │   │   ├── __init__.py
│   │   │   │   ├── moe.py
│   │   │   │   ├── networks.py
│   │   │   │   ├── routers.py
│   │   │   │   ├── softmoe.py
│   │   │   │   └── types.py
│   │   │   ├── atari_100k_train.py
│   │   │   └── configs/
│   │   │       ├── DER.gin
│   │   │       ├── dqn.gin
│   │   │       ├── dqn_acrobot_moe.gin
│   │   │       ├── dqn_cartpole_moe.gin
│   │   │       ├── dqn_impala.gin
│   │   │       ├── dqn_lunarlander_moe.gin
│   │   │       ├── dqn_mountaincar_moe.gin
│   │   │       └── full_rainbow.gin
│   │   ├── offline_rl/
│   │   │   ├── __init__.py
│   │   │   ├── fixed_replay.py
│   │   │   ├── jax/
│   │   │   │   ├── configs/
│   │   │   │   │   ├── jax_classy_cql.gin
│   │   │   │   │   ├── jax_dqn.gin
│   │   │   │   │   ├── jax_dr3.gin
│   │   │   │   │   ├── jax_rainbow.gin
│   │   │   │   │   └── jax_return_conditioned_bc.gin
│   │   │   │   ├── networks.py
│   │   │   │   ├── offline_classy_cql_agent.py
│   │   │   │   ├── offline_dqn_agent.py
│   │   │   │   ├── offline_dr3_agent.py
│   │   │   │   ├── offline_rainbow_agent.py
│   │   │   │   ├── return_conditioned_bc_agent.py
│   │   │   │   ├── run_experiment.py
│   │   │   │   └── train.py
│   │   │   └── rlu_tfds/
│   │   │       ├── scaling_dataset_utils.py
│   │   │       ├── tfds_atari_utils.py
│   │   │       └── tfds_replay.py
│   │   ├── redo/
│   │   │   ├── __init__.py
│   │   │   ├── configs/
│   │   │   │   ├── DrQ_eps_dense.gin
│   │   │   │   ├── dqn_dense.gin
│   │   │   │   └── rainbow_dense.gin
│   │   │   ├── networks.py
│   │   │   ├── recycled_atari100k_rainbow_agent.py
│   │   │   ├── recycled_dqn_agents.py
│   │   │   ├── recycled_rainbow_agent.py
│   │   │   ├── tfagents/
│   │   │   │   ├── configs/
│   │   │   │   │   └── sac_mujoco_dense_config.gin
│   │   │   │   └── sac_train_eval.py
│   │   │   ├── train.py
│   │   │   └── weight_recyclers.py
│   │   ├── sac_from_pixels/
│   │   │   ├── README.md
│   │   │   ├── __init__.py
│   │   │   ├── continuous_networks.py
│   │   │   ├── deepmind_control_lib.py
│   │   │   └── sac_pixels.gin
│   │   └── tandem_dqn/
│   │       ├── README.md
│   │       ├── __init__.py
│   │       ├── requirements.txt
│   │       ├── run.sh
│   │       ├── run_experiment.py
│   │       ├── tandem_dqn_agent.py
│   │       └── train.py
│   ├── metrics/
│   │   ├── __init__.py
│   │   ├── collector.py
│   │   ├── collector_dispatcher.py
│   │   ├── console_collector.py
│   │   ├── pickle_collector.py
│   │   ├── statistics_instance.py
│   │   └── tensorboard_collector.py
│   ├── tf/
│   │   ├── __init__.py
│   │   ├── agents/
│   │   │   ├── __init__.py
│   │   │   ├── dqn/
│   │   │   │   ├── __init__.py
│   │   │   │   ├── configs/
│   │   │   │   │   ├── dqn.gin
│   │   │   │   │   ├── dqn_acrobot.gin
│   │   │   │   │   ├── dqn_cartpole.gin
│   │   │   │   │   ├── dqn_icml.gin
│   │   │   │   │   ├── dqn_lunarlander.gin
│   │   │   │   │   ├── dqn_mountaincar.gin
│   │   │   │   │   ├── dqn_nature.gin
│   │   │   │   │   └── dqn_profiling.gin
│   │   │   │   └── dqn_agent.py
│   │   │   ├── implicit_quantile/
│   │   │   │   ├── __init__.py
│   │   │   │   ├── configs/
│   │   │   │   │   ├── implicit_quantile.gin
│   │   │   │   │   ├── implicit_quantile_icml.gin
│   │   │   │   │   └── implicit_quantile_profiling.gin
│   │   │   │   └── implicit_quantile_agent.py
│   │   │   └── rainbow/
│   │   │       ├── __init__.py
│   │   │       ├── configs/
│   │   │       │   ├── c51.gin
│   │   │       │   ├── c51_acrobot.gin
│   │   │       │   ├── c51_cartpole.gin
│   │   │       │   ├── c51_icml.gin
│   │   │       │   ├── c51_profiling.gin
│   │   │       │   ├── rainbow.gin
│   │   │       │   ├── rainbow_aaai.gin
│   │   │       │   ├── rainbow_acrobot.gin
│   │   │       │   ├── rainbow_cartpole.gin
│   │   │       │   └── rainbow_profiling.gin
│   │   │       └── rainbow_agent.py
│   │   └── replay_memory/
│   │       ├── __init__.py
│   │       ├── circular_replay_buffer.py
│   │       ├── prioritized_replay_buffer.py
│   │       └── sum_tree.py
│   └── utils/
│       ├── __init__.py
│       ├── agent_visualizer.py
│       ├── atari_plotter.py
│       ├── bar_plotter.py
│       ├── example_viz.py
│       ├── example_viz_lib.py
│       ├── line_plotter.py
│       ├── plotter.py
│       └── test_utils.py
├── requirements.txt
├── setup.py
└── tests/
    └── dopamine/
        ├── atari_init_test.py
        ├── continuous_domains/
        │   └── run_experiment_test.py
        ├── discrete_domains/
        │   ├── atari_lib_test.py
        │   ├── checkpointer_test.py
        │   ├── gym_lib_test.py
        │   ├── iteration_statistics_test.py
        │   ├── logger_test.py
        │   └── run_experiment_test.py
        ├── jax/
        │   ├── agents/
        │   │   ├── dqn/
        │   │   │   └── dqn_agent_test.py
        │   │   ├── full_rainbow/
        │   │   │   └── full_rainbow_agent_test.py
        │   │   ├── implicit_quantile/
        │   │   │   └── implicit_quantile_agent_test.py
        │   │   ├── ppo/
        │   │   │   └── ppo_agent_test.py
        │   │   ├── quantile/
        │   │   │   └── quantile_agent_test.py
        │   │   ├── rainbow/
        │   │   │   └── rainbow_agent_test.py
        │   │   └── sac/
        │   │       └── sac_agent_test.py
        │   ├── checkpointers_test.py
        │   ├── continuous_networks_test.py
        │   ├── losses_test.py
        │   ├── networks_test.py
        │   ├── replay_memory/
        │   │   ├── accumulator_test.py
        │   │   ├── elements_test.py
        │   │   ├── replay_buffer_regression_test.py
        │   │   ├── replay_buffer_test.py
        │   │   ├── samplers_test.py
        │   │   └── sum_tree_test.py
        │   └── serialization_test.py
        ├── labs/
        │   ├── atari_100k/
        │   │   └── train_test.py
        │   ├── moes/
        │   │   └── architectures/
        │   │       └── networks_test.py
        │   ├── offline_rl/
        │   │   └── jax/
        │   │       └── offline_agent_test.py
        │   └── sac_from_pixels/
        │       ├── continuous_networks_test.py
        │       └── deepmind_control_lib_test.py
        ├── metrics/
        │   ├── collector_dispatcher_test.py
        │   ├── collector_test.py
        │   ├── console_collector_test.py
        │   ├── pickle_collector_test.py
        │   └── tensorboard_collector_test.py
        ├── tests/
        │   ├── gin_config_test.py
        │   ├── integration_test.py
        │   └── train_runner_integration_test.py
        ├── tf/
        │   ├── agents/
        │   │   ├── dqn/
        │   │   │   └── dqn_agent_test.py
        │   │   ├── implicit_quantile/
        │   │   │   └── implicit_quantile_agent_test.py
        │   │   └── rainbow/
        │   │       └── rainbow_agent_test.py
        │   └── replay_memory/
        │       ├── circular_replay_buffer_test.py
        │       ├── prioritized_replay_buffer_test.py
        │       └── sum_tree_test.py
        └── utils/
            └── agent_visualizer_test.py

================================================
FILE CONTENTS
================================================

================================================
FILE: AUTHORS
================================================
# This is the list of Dopamine authors for copyright purposes.
#
# This does not necessarily list everyone who has contributed code, since in
# some cases, their employer may be the copyright holder.  To see the full list
# of contributors, see the revision history in source control.

Google Inc.


================================================
FILE: CONTRIBUTING.md
================================================
# How to Contribute

# Issues

* Please tag your issue with `bug`, `feature request`, or `question` to help us
  effectively respond.
* Please include the version of Dopamine you are running
  (run `pip list | grep dopamine`)
* Please provide the command line you ran as well as the log output.

# Pull Requests

Due to lack of bandwidth, we are not accepting pull requests at this time. If
there is something you feel should be added to the repo, please raise an issue
or feature request.


================================================
FILE: LICENSE
================================================
Copyright 2018 The Dopamine Authors.  All rights reserved.

                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS

   APPENDIX: How to apply the Apache License to your work.

      To apply the Apache License to your work, attach the following
      boilerplate notice, with the fields enclosed by brackets "[]"
      replaced with your own identifying information. (Don't include
      the brackets!)  The text should be enclosed in the appropriate
      comment syntax for the file format. We also recommend that a
      file or class name and description of purpose be included on the
      same "printed page" as the copyright notice for easier
      identification within third-party archives.

   Copyright [yyyy] [name of copyright owner]

   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.


================================================
FILE: README.md
================================================
# Dopamine
[Getting Started](#getting-started) |
[Docs][docs] |
[Baseline Results][baselines] |
[Changelist](https://google.github.io/dopamine/docs/changelist)

<div align="center">
  <img src="https://google.github.io/dopamine/images/dopamine_logo.png"><br><br>
</div>

Dopamine is a research framework for fast prototyping of reinforcement learning
algorithms. It aims to fill the need for a small, easily grokked codebase in
which users can freely experiment with wild ideas (speculative research).

Our design principles are:

* _Easy experimentation_: Make it easy for new users to run benchmark
                          experiments.
* _Flexible development_: Make it easy for new users to try out research ideas.
* _Compact and reliable_: Provide implementations for a few, battle-tested
                          algorithms.
* _Reproducible_: Facilitate reproducibility in results. In particular, our
                  setup follows the recommendations given by
                  [Machado et al. (2018)][machado].

Dopamine supports the following agents, implemented with jax:

* DQN ([Mnih et al., 2015][dqn])
* C51 ([Bellemare et al., 2017][c51])
* Rainbow ([Hessel et al., 2018][rainbow])
* IQN ([Dabney et al., 2018][iqn])
* SAC ([Haarnoja et al., 2018][sac])
* PPO ([Schulman et al., 2017][ppo])

For more information on the available agents, see the [docs](https://google.github.io/dopamine/docs).

Many of these agents also have a tensorflow (legacy) implementation, though
newly added agents are likely to be jax-only.

This is not an official Google product.

## Getting Started


We provide docker containers for using Dopamine.
Instructions can be found [here](https://google.github.io/dopamine/docker/).

Alternatively, Dopamine can be installed from source (preferred) or installed
with pip. For either of these methods, continue reading at prerequisites.

### Prerequisites

Dopamine supports Atari environments and Mujoco environments. Install the
environments you intend to use before you install Dopamine:

**Atari**

1. These should now come packaged with
   [ale_py](https://github.com/Farama-Foundation/Arcade-Learning-Environment).
1. You may need to manually run some steps to properly install `baselines`, see
   [instructions](https://github.com/openai/baselines).

**Mujoco**

1. Install Mujoco and get a license
[here](https://github.com/openai/mujoco-py#install-mujoco).
2. Run `pip install mujoco-py` (we recommend using a
[virtual environment](virtualenv)).

### Installing from Source


The most common way to use Dopamine is to install it from source and modify
the source code directly:

```
git clone https://github.com/google/dopamine
```

After cloning, install dependencies:

```
pip install -r dopamine/requirements.txt
```

Dopamine supports tensorflow (legacy) and jax (actively maintained) agents.
View the [Tensorflow documentation](https://www.tensorflow.org/install) for
more information on installing tensorflow.

Note: We recommend using a [virtual environment](virtualenv) when working with Dopamine.

### Installing with Pip

Note: We strongly recommend installing from source for most users.

Installing with pip is simple, but Dopamine is designed to be modified
directly. We recommend installing from source for writing your own experiments.

```
pip install dopamine-rl
```

### Running tests

You can test whether the installation was successful by running the following
from the dopamine root directory.

```
export PYTHONPATH=$PYTHONPATH:$PWD
python -m tests.dopamine.atari_init_test
```

## Next Steps

View the [docs][docs] for more information on training agents.

We supply [baselines][baselines] for each Dopamine agent.

We also provide a set of [Colaboratory notebooks](https://github.com/google/dopamine/tree/master/dopamine/colab)
which demonstrate how to use Dopamine.

## References

[Bellemare et al., *The Arcade Learning Environment: An evaluation platform for
general agents*. Journal of Artificial Intelligence Research, 2013.][ale]

[Machado et al., *Revisiting the Arcade Learning Environment: Evaluation
Protocols and Open Problems for General Agents*, Journal of Artificial
Intelligence Research, 2018.][machado]

[Hessel et al., *Rainbow: Combining Improvements in Deep Reinforcement Learning*.
Proceedings of the AAAI Conference on Artificial Intelligence, 2018.][rainbow]

[Mnih et al., *Human-level Control through Deep Reinforcement Learning*. Nature,
2015.][dqn]

[Schaul et al., *Prioritized Experience Replay*. Proceedings of the International
Conference on Learning Representations, 2016.][prioritized_replay]

[Haarnoja et al., *Soft Actor-Critic Algorithms and Applications*,
arXiv preprint arXiv:1812.05905, 2018.][sac]

[Schulman et al., *Proximal Policy Optimization Algorithms*.][ppo]

## Giving credit

If you use Dopamine in your work, we ask that you cite our
[white paper][dopamine_paper]. Here is an example BibTeX entry:

```
@article{castro18dopamine,
  author    = {Pablo Samuel Castro and
               Subhodeep Moitra and
               Carles Gelada and
               Saurabh Kumar and
               Marc G. Bellemare},
  title     = {Dopamine: {A} {R}esearch {F}ramework for {D}eep {R}einforcement {L}earning},
  year      = {2018},
  url       = {http://arxiv.org/abs/1812.06110},
  archivePrefix = {arXiv}
}
```


[docs]: https://google.github.io/dopamine/docs/
[baselines]: https://google.github.io/dopamine/baselines
[machado]: https://jair.org/index.php/jair/article/view/11182
[ale]: https://jair.org/index.php/jair/article/view/10819
[dqn]: https://storage.googleapis.com/deepmind-media/dqn/DQNNaturePaper.pdf
[a3c]: http://proceedings.mlr.press/v48/mniha16.html
[prioritized_replay]: https://arxiv.org/abs/1511.05952
[c51]: http://proceedings.mlr.press/v70/bellemare17a.html
[rainbow]: https://www.aaai.org/ocs/index.php/AAAI/AAAI18/paper/download/17204/16680
[iqn]: https://arxiv.org/abs/1806.06923
[sac]: https://arxiv.org/abs/1812.05905
[ppo]: https://arxiv.org/abs/1707.06347
[dopamine_paper]: https://arxiv.org/abs/1812.06110
[vitualenv]: https://docs.python.org/3/library/venv.html#creating-virtual-environments


================================================
FILE: baselines/README.md
================================================
# Baseline Data

View baselines for:

* [Atari](https://google.github.io/dopamine/baselines/atari/plots.html)
* [Mujoco](https://google.github.io/dopamine/baselines/mujoco/plots.html)


================================================
FILE: baselines/atari/README.md
================================================
# Baseline data

This directory provides information about the baseline data provided by
Dopamine. The default hyperparameter configuration for the agents we are
providing yields a standardized "apples to apples" comparison between them.

The default configuration files files for these agents (set up with [gin
configuration framework](https://github.com/google/gin-config)) are:

*   [`dopamine/jax/agents/dqn/configs/dqn.gin`](https://github.com/google/dopamine/blob/master/dopamine/jax/agents/dqn/configs/dqn.gin)
*   [`dopamine/jax/agents/implicit_quantile/configs/implicit_quantile.gin`](https://github.com/google/dopamine/blob/master/dopamine/jax/agents/implicit_quantile/configs/implicit_quantile.gin)
*   [`dopamine/jax/agents/quantile/configs/quantile.gin`](https://github.com/google/dopamine/blob/master/dopamine/jax/agents/quantile/configs/quantile.gin)
*   [`dopamine/jax/agents/rainbow/configs/rainbow.gin`](https://github.com/google/dopamine/blob/master/dopamine/jax/agents/rainbow/configs/rainbow.gin)

## Visualization
We provide a [website](https://google.github.io/dopamine/baselines/atari/plots.html)
where you can quickly visualize the training runs for all our default agents.

The plots are rendered from a set of
[JSON files](https://github.com/google/dopamine/tree/master/baselines/atari/data)
which we compiled. These may prove useful in their own right to compare
against results obtained from other frameworks.

## Legacy TensorFlow models

Dopamine agents originally used [TensorFlow](https://www.tensorflow.org/) for
its networks and agents, but has since migrated to
[Jax](https://jax.readthedocs.io/en/latest/). The default configuration files
files for the legacy TF agents (set up with [gin configuration
framework](https://github.com/google/gin-config)) are:

*   [`dopamine/tf/agents/dqn/configs/dqn.gin`](https://github.com/google/dopamine/blob/master/dopamine/tf/agents/dqn/configs/dqn.gin)
*   [`dopamine/tf/agents/rainbow/configs/c51.gin`](https://github.com/google/dopamine/blob/master/dopamine/tf/agents/rainbow/configs/c51.gin)
*   [`dopamine/tf/agents/rainbow/configs/rainbow.gin`](https://github.com/google/dopamine/blob/master/dopamine/tf/agents/rainbow/configs/rainbow.gin)
*   [`dopamine/tf/agents/implicit_quantile/configs/implicit_quantile.gin`](https://github.com/google/dopamine/blob/master/dopamine/agents/tf/implicit_quantile/configs/implicit_quantile.gin)

### Hyperparemeter comparison
Our results compare the agents with the same hyperparameters: target
network update frequency, frequency at which exploratory actions are selected (ε), the
length of the schedule over which ε is annealed, and the number of agent steps
before training occurs. Changing these parameters can significantly affect
performance, without necessarily being indicative of an algorithmic difference.
Unsurprisingly, DQN performs much better when trained with 1% of exploratory
actions instead of 10% (as used in the original Nature paper). Step size and
optimizer were taken as published. The table below summarizes our choices. All
numbers are in ALE frames.

Note that these numbers were obtained with the legacy TensorFlow
implementations.

|                                     | Our baseline results | [DQN][dqn]       | [C51][c51]       | [Rainbow][rainbow] | [IQN][iqn]       |
| :---------------------------------- | :------------------: | :--------:       | :--------:       | :----------------: | :--------:       |
| **Training ε**                      | 0.01                 | 0.1              | 0.01             | 0.01               | 0.01             |
| **Evaluation ε**                    | 0.001                | 0.01             | 0.001            | *                  | 0.001            |
| **ε decay schedule**                | 1,000,000 frames     | 4,000,000 frames | 4,000,000 frames | 1,000,000 frames   | 4,000,000 frames |
| **Min. history to start learning**  | 80,000 frames        | 200,000 frames   | 200,000 frames   | 80,000 frames      | 200,000 frames   |
| **Target network update frequency** | 32,000 frames        | 40,000 frames    | 40,000 frames    | 32,000 frames      | 40,000 frames    |


[dqn]: https://storage.googleapis.com/deepmind-media/dqn/DQNNaturePaper.pdf
[c51]: https://arxiv.org/abs/1707.06887
[rainbow]: https://arxiv.org/abs/1710.02298
[qr-dqn]: https://arxiv.org/abs/1710.10044
[iqn]: https://arxiv.org/abs/1806.06923


================================================
FILE: baselines/atari/data/airraid.json
================================================
[
 {
  "Iteration": 0,
  "Value": 514.9805447470817,
  "Agent": "DQN"
 },
 {
  "Iteration": 1,
  "Value": 367.6892950391645,
  "Agent": "DQN"
 },
 {
  "Iteration": 2,
  "Value": 553.5181236673774,
  "Agent": "DQN"
 },
 {
  "Iteration": 3,
  "Value": 1090.991902834008,
  "Agent": "DQN"
 },
 {
  "Iteration": 4,
  "Value": 1484.0801886792453,
  "Agent": "DQN"
 },
 {
  "Iteration": 5,
  "Value": 1477.866972477064,
  "Agent": "DQN"
 },
 {
  "Iteration": 6,
  "Value": 2212.5,
  "Agent": "DQN"
 },
 {
  "Iteration": 7,
  "Value": 2140.029761904762,
  "Agent": "DQN"
 },
 {
  "Iteration": 8,
  "Value": 2165.2694610778444,
  "Agent": "DQN"
 },
 {
  "Iteration": 9,
  "Value": 1701.8181818181818,
  "Agent": "DQN"
 },
 {
  "Iteration": 10,
  "Value": 1802.0935960591132,
  "Agent": "DQN"
 },
 {
  "Iteration": 11,
  "Value": 2144.9127906976746,
  "Agent": "DQN"
 },
 {
  "Iteration": 12,
  "Value": 2244.0476190476193,
  "Agent": "DQN"
 },
 {
  "Iteration": 13,
  "Value": 2147.2067039106146,
  "Agent": "DQN"
 },
 {
  "Iteration": 14,
  "Value": 2230.1428571428573,
  "Agent": "DQN"
 },
 {
  "Iteration": 15,
  "Value": 2438.871951219512,
  "Agent": "DQN"
 },
 {
  "Iteration": 16,
  "Value": 3114.230769230769,
  "Agent": "DQN"
 },
 {
  "Iteration": 17,
  "Value": 3275.3875968992247,
  "Agent": "DQN"
 },
 {
  "Iteration": 18,
  "Value": 3657.983193277311,
  "Agent": "DQN"
 },
 {
  "Iteration": 19,
  "Value": 3178.6496350364964,
  "Agent": "DQN"
 },
 {
  "Iteration": 20,
  "Value": 3694.7916666666665,
  "Agent": "DQN"
 },
 {
  "Iteration": 21,
  "Value": 3721.951219512195,
  "Agent": "DQN"
 },
 {
  "Iteration": 22,
  "Value": 4708.25,
  "Agent": "DQN"
 },
 {
  "Iteration": 23,
  "Value": 3784.3253968253966,
  "Agent": "DQN"
 },
 {
  "Iteration": 24,
  "Value": 4722.0,
  "Agent": "DQN"
 },
 {
  "Iteration": 25,
  "Value": 5117.741935483871,
  "Agent": "DQN"
 },
 {
  "Iteration": 26,
  "Value": 4727.669902912621,
  "Agent": "DQN"
 },
 {
  "Iteration": 27,
  "Value": 4909.25,
  "Agent": "DQN"
 },
 {
  "Iteration": 28,
  "Value": 4579.481132075472,
  "Agent": "DQN"
 },
 {
  "Iteration": 29,
  "Value": 4955.050505050505,
  "Agent": "DQN"
 },
 {
  "Iteration": 30,
  "Value": 5247.368421052632,
  "Agent": "DQN"
 },
 {
  "Iteration": 31,
  "Value": 4711.519607843137,
  "Agent": "DQN"
 },
 {
  "Iteration": 32,
  "Value": 5168.81443298969,
  "Agent": "DQN"
 },
 {
  "Iteration": 33,
  "Value": 5206.8421052631575,
  "Agent": "DQN"
 },
 {
  "Iteration": 34,
  "Value": 5117.01030927835,
  "Agent": "DQN"
 },
 {
  "Iteration": 35,
  "Value": 5100.0,
  "Agent": "DQN"
 },
 {
  "Iteration": 36,
  "Value": 5633.146067415731,
  "Agent": "DQN"
 },
 {
  "Iteration": 37,
  "Value": 5251.0526315789475,
  "Agent": "DQN"
 },
 {
  "Iteration": 38,
  "Value": 5575.0,
  "Agent": "DQN"
 },
 {
  "Iteration": 39,
  "Value": 5255.526315789473,
  "Agent": "DQN"
 },
 {
  "Iteration": 40,
  "Value": 5419.210526315789,
  "Agent": "DQN"
 },
 {
  "Iteration": 41,
  "Value": 5225.78125,
  "Agent": "DQN"
 },
 {
  "Iteration": 42,
  "Value": 5817.329545454545,
  "Agent": "DQN"
 },
 {
  "Iteration": 43,
  "Value": 5314.0625,
  "Agent": "DQN"
 },
 {
  "Iteration": 44,
  "Value": 5129.79797979798,
  "Agent": "DQN"
 },
 {
  "Iteration": 45,
  "Value": 5715.168539325843,
  "Agent": "DQN"
 },
 {
  "Iteration": 46,
  "Value": 6337.195121951219,
  "Agent": "DQN"
 },
 {
  "Iteration": 47,
  "Value": 5312.5,
  "Agent": "DQN"
 },
 {
  "Iteration": 48,
  "Value": 5783.333333333333,
  "Agent": "DQN"
 },
 {
  "Iteration": 49,
  "Value": 5621.467391304348,
  "Agent": "DQN"
 },
 {
  "Iteration": 50,
  "Value": 5077.227722772277,
  "Agent": "DQN"
 },
 {
  "Iteration": 51,
  "Value": 5714.8351648351645,
  "Agent": "DQN"
 },
 {
  "Iteration": 52,
  "Value": 5454.166666666667,
  "Agent": "DQN"
 },
 {
  "Iteration": 53,
  "Value": 5821.978021978022,
  "Agent": "DQN"
 },
 {
  "Iteration": 54,
  "Value": 5942.897727272727,
  "Agent": "DQN"
 },
 {
  "Iteration": 55,
  "Value": 6595.37037037037,
  "Agent": "DQN"
 },
 {
  "Iteration": 56,
  "Value": 6384.036144578313,
  "Agent": "DQN"
 },
 {
  "Iteration": 57,
  "Value": 6376.204819277108,
  "Agent": "DQN"
 },
 {
  "Iteration": 58,
  "Value": 5768.20652173913,
  "Agent": "DQN"
 },
 {
  "Iteration": 59,
  "Value": 5852.5,
  "Agent": "DQN"
 },
 {
  "Iteration": 60,
  "Value": 5970.786516853933,
  "Agent": "DQN"
 },
 {
  "Iteration": 61,
  "Value": 6034.375,
  "Agent": "DQN"
 },
 {
  "Iteration": 62,
  "Value": 6049.712643678161,
  "Agent": "DQN"
 },
 {
  "Iteration": 63,
  "Value": 6708.75,
  "Agent": "DQN"
 },
 {
  "Iteration": 64,
  "Value": 6827.848101265823,
  "Agent": "DQN"
 },
 {
  "Iteration": 65,
  "Value": 6625.0,
  "Agent": "DQN"
 },
 {
  "Iteration": 66,
  "Value": 6991.98717948718,
  "Agent": "DQN"
 },
 {
  "Iteration": 67,
  "Value": 6617.987804878048,
  "Agent": "DQN"
 },
 {
  "Iteration": 68,
  "Value": 6244.277108433735,
  "Agent": "DQN"
 },
 {
  "Iteration": 69,
  "Value": 6122.9885057471265,
  "Agent": "DQN"
 },
 {
  "Iteration": 70,
  "Value": 5834.166666666667,
  "Agent": "DQN"
 },
 {
  "Iteration": 71,
  "Value": 6031.179775280899,
  "Agent": "DQN"
 },
 {
  "Iteration": 72,
  "Value": 5766.129032258064,
  "Agent": "DQN"
 },
 {
  "Iteration": 73,
  "Value": 6322.35294117647,
  "Agent": "DQN"
 },
 {
  "Iteration": 74,
  "Value": 7490.666666666667,
  "Agent": "DQN"
 },
 {
  "Iteration": 75,
  "Value": 6208.620689655172,
  "Agent": "DQN"
 },
 {
  "Iteration": 76,
  "Value": 6630.487804878048,
  "Agent": "DQN"
 },
 {
  "Iteration": 77,
  "Value": 6169.540229885058,
  "Agent": "DQN"
 },
 {
  "Iteration": 78,
  "Value": 5605.46875,
  "Agent": "DQN"
 },
 {
  "Iteration": 79,
  "Value": 6102.777777777777,
  "Agent": "DQN"
 },
 {
  "Iteration": 80,
  "Value": 6723.475609756098,
  "Agent": "DQN"
 },
 {
  "Iteration": 81,
  "Value": 7156.089743589743,
  "Agent": "DQN"
 },
 {
  "Iteration": 82,
  "Value": 6372.126436781609,
  "Agent": "DQN"
 },
 {
  "Iteration": 83,
  "Value": 6638.253012048192,
  "Agent": "DQN"
 },
 {
  "Iteration": 84,
  "Value": 6554.117647058823,
  "Agent": "DQN"
 },
 {
  "Iteration": 85,
  "Value": 7010.493827160494,
  "Agent": "DQN"
 },
 {
  "Iteration": 86,
  "Value": 6541.764705882353,
  "Agent": "DQN"
 },
 {
  "Iteration": 87,
  "Value": 6008.333333333333,
  "Agent": "DQN"
 },
 {
  "Iteration": 88,
  "Value": 6375.0,
  "Agent": "DQN"
 },
 {
  "Iteration": 89,
  "Value": 6236.23595505618,
  "Agent": "DQN"
 },
 {
  "Iteration": 90,
  "Value": 6752.16049382716,
  "Agent": "DQN"
 },
 {
  "Iteration": 91,
  "Value": 6215.625,
  "Agent": "DQN"
 },
 {
  "Iteration": 92,
  "Value": 6692.469879518072,
  "Agent": "DQN"
 },
 {
  "Iteration": 93,
  "Value": 7369.1558441558445,
  "Agent": "DQN"
 },
 {
  "Iteration": 94,
  "Value": 6707.22891566265,
  "Agent": "DQN"
 },
 {
  "Iteration": 95,
  "Value": 6660.240963855422,
  "Agent": "DQN"
 },
 {
  "Iteration": 96,
  "Value": 7047.5,
  "Agent": "DQN"
 },
 {
  "Iteration": 97,
  "Value": 5950.0,
  "Agent": "DQN"
 },
 {
  "Iteration": 98,
  "Value": 6050.815217391304,
  "Agent": "DQN"
 },
 {
  "Iteration": 99,
  "Value": 7080.379746835443,
  "Agent": "DQN"
 },
 {
  "Iteration": 100,
  "Value": 7219.480519480519,
  "Agent": "DQN"
 },
 {
  "Iteration": 101,
  "Value": 6597.058823529412,
  "Agent": "DQN"
 },
 {
  "Iteration": 102,
  "Value": 6956.172839506173,
  "Agent": "DQN"
 },
 {
  "Iteration": 103,
  "Value": 6866.8674698795185,
  "Agent": "DQN"
 },
 {
  "Iteration": 104,
  "Value": 8136.428571428572,
  "Agent": "DQN"
 },
 {
  "Iteration": 105,
  "Value": 6707.22891566265,
  "Agent": "DQN"
 },
 {
  "Iteration": 106,
  "Value": 8202.777777777777,
  "Agent": "DQN"
 },
 {
  "Iteration": 107,
  "Value": 6482.471264367816,
  "Agent": "DQN"
 },
 {
  "Iteration": 108,
  "Value": 7315.3125,
  "Agent": "DQN"
 },
 {
  "Iteration": 109,
  "Value": 7250.0,
  "Agent": "DQN"
 },
 {
  "Iteration": 110,
  "Value": 6726.488095238095,
  "Agent": "DQN"
 },
 {
  "Iteration": 111,
  "Value": 7017.378048780488,
  "Agent": "DQN"
 },
 {
  "Iteration": 112,
  "Value": 7139.506172839506,
  "Agent": "DQN"
 },
 {
  "Iteration": 113,
  "Value": 6944.578313253012,
  "Agent": "DQN"
 },
 {
  "Iteration": 114,
  "Value": 7283.974358974359,
  "Agent": "DQN"
 },
 {
  "Iteration": 115,
  "Value": 7279.7468354430375,
  "Agent": "DQN"
 },
 {
  "Iteration": 116,
  "Value": 6715.517241379311,
  "Agent": "DQN"
 },
 {
  "Iteration": 117,
  "Value": 7161.5625,
  "Agent": "DQN"
 },
 {
  "Iteration": 118,
  "Value": 7387.658227848101,
  "Agent": "DQN"
 },
 {
  "Iteration": 119,
  "Value": 8316.07142857143,
  "Agent": "DQN"
 },
 {
  "Iteration": 120,
  "Value": 7164.0625,
  "Agent": "DQN"
 },
 {
  "Iteration": 121,
  "Value": 7735.0,
  "Agent": "DQN"
 },
 {
  "Iteration": 122,
  "Value": 7246.2962962962965,
  "Agent": "DQN"
 },
 {
  "Iteration": 123,
  "Value": 7573.684210526316,
  "Agent": "DQN"
 },
 {
  "Iteration": 124,
  "Value": 7319.620253164557,
  "Agent": "DQN"
 },
 {
  "Iteration": 125,
  "Value": 7344.551282051282,
  "Agent": "DQN"
 },
 {
  "Iteration": 126,
  "Value": 6884.638554216867,
  "Agent": "DQN"
 },
 {
  "Iteration": 127,
  "Value": 7447.75641025641,
  "Agent": "DQN"
 },
 {
  "Iteration": 128,
  "Value": 6437.5,
  "Agent": "DQN"
 },
 {
  "Iteration": 129,
  "Value": 7653.333333333333,
  "Agent": "DQN"
 },
 {
  "Iteration": 130,
  "Value": 7401.898734177215,
  "Agent": "DQN"
 },
 {
  "Iteration": 131,
  "Value": 8062.328767123287,
  "Agent": "DQN"
 },
 {
  "Iteration": 132,
  "Value": 8067.808219178082,
  "Agent": "DQN"
 },
 {
  "Iteration": 133,
  "Value": 7531.7307692307695,
  "Agent": "DQN"
 },
 {
  "Iteration": 134,
  "Value": 7845.945945945946,
  "Agent": "DQN"
 },
 {
  "Iteration": 135,
  "Value": 8046.917808219178,
  "Agent": "DQN"
 },
 {
  "Iteration": 136,
  "Value": 7975.675675675676,
  "Agent": "DQN"
 },
 {
  "Iteration": 137,
  "Value": 8119.9324324324325,
  "Agent": "DQN"
 },
 {
  "Iteration": 138,
  "Value": 7302.53164556962,
  "Agent": "DQN"
 },
 {
  "Iteration": 139,
  "Value": 6853.529411764706,
  "Agent": "DQN"
 },
 {
  "Iteration": 140,
  "Value": 8062.1621621621625,
  "Agent": "DQN"
 },
 {
  "Iteration": 141,
  "Value": 7730.921052631579,
  "Agent": "DQN"
 },
 {
  "Iteration": 142,
  "Value": 7464.2405063291135,
  "Agent": "DQN"
 },
 {
  "Iteration": 143,
  "Value": 7292.283950617284,
  "Agent": "DQN"
 },
 {
  "Iteration": 144,
  "Value": 8322.887323943662,
  "Agent": "DQN"
 },
 {
  "Iteration": 145,
  "Value": 7835.526315789473,
  "Agent": "DQN"
 },
 {
  "Iteration": 146,
  "Value": 8567.142857142857,
  "Agent": "DQN"
 },
 {
  "Iteration": 147,
  "Value": 7834.0,
  "Agent": "DQN"
 },
 {
  "Iteration": 148,
  "Value": 8911.39705882353,
  "Agent": "DQN"
 },
 {
  "Iteration": 149,
  "Value": 8462.847222222223,
  "Agent": "DQN"
 },
 {
  "Iteration": 150,
  "Value": 7864.333333333333,
  "Agent": "DQN"
 },
 {
  "Iteration": 151,
  "Value": 8145.2054794520545,
  "Agent": "DQN"
 },
 {
  "Iteration": 152,
  "Value": 8087.0,
  "Agent": "DQN"
 },
 {
  "Iteration": 153,
  "Value": 7369.444444444444,
  "Agent": "DQN"
 },
 {
  "Iteration": 154,
  "Value": 7562.025316455696,
  "Agent": "DQN"
 },
 {
  "Iteration": 155,
  "Value": 8256.25,
  "Agent": "DQN"
 },
 {
  "Iteration": 156,
  "Value": 7252.108433734939,
  "Agent": "DQN"
 },
 {
  "Iteration": 157,
  "Value": 7080.722891566265,
  "Agent": "DQN"
 },
 {
  "Iteration": 158,
  "Value": 7223.795180722892,
  "Agent": "DQN"
 },
 {
  "Iteration": 159,
  "Value": 8383.450704225352,
  "Agent": "DQN"
 },
 {
  "Iteration": 160,
  "Value": 7896.381578947368,
  "Agent": "DQN"
 },
 {
  "Iteration": 161,
  "Value": 8827.20588235294,
  "Agent": "DQN"
 },
 {
  "Iteration": 162,
  "Value": 8125.333333333333,
  "Agent": "DQN"
 },
 {
  "Iteration": 163,
  "Value": 8677.5,
  "Agent": "DQN"
 },
 {
  "Iteration": 164,
  "Value": 6654.166666666667,
  "Agent": "DQN"
 },
 {
  "Iteration": 165,
  "Value": 8268.493150684932,
  "Agent": "DQN"
 },
 {
  "Iteration": 166,
  "Value": 7066.279069767442,
  "Agent": "DQN"
 },
 {
  "Iteration": 167,
  "Value": 7291.666666666667,
  "Agent": "DQN"
 },
 {
  "Iteration": 168,
  "Value": 7379.0625,
  "Agent": "DQN"
 },
 {
  "Iteration": 169,
  "Value": 8570.774647887323,
  "Agent": "DQN"
 },
 {
  "Iteration": 170,
  "Value": 7309.036144578313,
  "Agent": "DQN"
 },
 {
  "Iteration": 171,
  "Value": 7350.0,
  "Agent": "DQN"
 },
 {
  "Iteration": 172,
  "Value": 6407.5268817204305,
  "Agent": "DQN"
 },
 {
  "Iteration": 173,
  "Value": 7498.148148148148,
  "Agent": "DQN"
 },
 {
  "Iteration": 174,
  "Value": 7429.0625,
  "Agent": "DQN"
 },
 {
  "Iteration": 175,
  "Value": 7048.235294117647,
  "Agent": "DQN"
 },
 {
  "Iteration": 176,
  "Value": 7525.925925925926,
  "Agent": "DQN"
 },
 {
  "Iteration": 177,
  "Value": 7953.2467532467535,
  "Agent": "DQN"
 },
 {
  "Iteration": 178,
  "Value": 7875.324675324675,
  "Agent": "DQN"
 },
 {
  "Iteration": 179,
  "Value": 8080.333333333333,
  "Agent": "DQN"
 },
 {
  "Iteration": 180,
  "Value": 7656.329113924051,
  "Agent": "DQN"
 },
 {
  "Iteration": 181,
  "Value": 8152.666666666667,
  "Agent": "DQN"
 },
 {
  "Iteration": 182,
  "Value": 7184.451219512195,
  "Agent": "DQN"
 },
 {
  "Iteration": 183,
  "Value": 8169.9324324324325,
  "Agent": "DQN"
 },
 {
  "Iteration": 184,
  "Value": 8443.835616438357,
  "Agent": "DQN"
 },
 {
  "Iteration": 185,
  "Value": 9101.838235294117,
  "Agent": "DQN"
 },
 {
  "Iteration": 186,
  "Value": 8090.666666666667,
  "Agent": "DQN"
 },
 {
  "Iteration": 187,
  "Value": 7203.571428571428,
  "Agent": "DQN"
 },
 {
  "Iteration": 188,
  "Value": 7620.886075949367,
  "Agent": "DQN"
 },
 {
  "Iteration": 189,
  "Value": 7735.576923076923,
  "Agent": "DQN"
 },
 {
  "Iteration": 190,
  "Value": 7807.792207792208,
  "Agent": "DQN"
 },
 {
  "Iteration": 191,
  "Value": 8009.868421052632,
  "Agent": "DQN"
 },
 {
  "Iteration": 192,
  "Value": 7811.217948717948,
  "Agent": "DQN"
 },
 {
  "Iteration": 193,
  "Value": 8047.039473684211,
  "Agent": "DQN"
 },
 {
  "Iteration": 194,
  "Value": 7573.765432098766,
  "Agent": "DQN"
 },
 {
  "Iteration": 195,
  "Value": 7915.506329113924,
  "Agent": "DQN"
 },
 {
  "Iteration": 196,
  "Value": 7571.5625,
  "Agent": "DQN"
 },
 {
  "Iteration": 197,
  "Value": 8134.333333333333,
  "Agent": "DQN"
 },
 {
  "Iteration": 198,
  "Value": 9007.971014492754,
  "Agent": "DQN"
 },
 {
  "Iteration": 0,
  "Value": 495.0858778625954,
  "Agent": "DQN"
 },
 {
  "Iteration": 1,
  "Value": 379.06824146981626,
  "Agent": "DQN"
 },
 {
  "Iteration": 2,
  "Value": 849.9223602484471,
  "Agent": "DQN"
 },
 {
  "Iteration": 3,
  "Value": 1624.8546511627908,
  "Agent": "DQN"
 },
 {
  "Iteration": 4,
  "Value": 1461.6915422885572,
  "Agent": "DQN"
 },
 {
  "Iteration": 5,
  "Value": 1604.4416243654823,
  "Agent": "DQN"
 },
 {
  "Iteration": 6,
  "Value": 1341.9322709163346,
  "Agent": "DQN"
 },
 {
  "Iteration": 7,
  "Value": 1961.2857142857142,
  "Agent": "DQN"
 },
 {
  "Iteration": 8,
  "Value": 2088.5542168674697,
  "Agent": "DQN"
 },
 {
  "Iteration": 9,
  "Value": 1651.9675925925926,
  "Agent": "DQN"
 },
 {
  "Iteration": 10,
  "Value": 1694.0848214285713,
  "Agent": "DQN"
 },
 {
  "Iteration": 11,
  "Value": 2482.7302631578946,
  "Agent": "DQN"
 },
 {
  "Iteration": 12,
  "Value": 2437.96875,
  "Agent": "DQN"
 },
 {
  "Iteration": 13,
  "Value": 2792.8321678321677,
  "Agent": "DQN"
 },
 {
  "Iteration": 14,
  "Value": 2856.8661971830984,
  "Agent": "DQN"
 },
 {
  "Iteration": 15,
  "Value": 3243.4,
  "Agent": "DQN"
 },
 {
  "Iteration": 16,
  "Value": 3063.7867647058824,
  "Agent": "DQN"
 },
 {
  "Iteration": 17,
  "Value": 3958.409090909091,
  "Agent": "DQN"
 },
 {
  "Iteration": 18,
  "Value": 3682.983193277311,
  "Agent": "DQN"
 },
 {
  "Iteration": 19,
  "Value": 4046.818181818182,
  "Agent": "DQN"
 },
 {
  "Iteration": 20,
  "Value": 3713.223140495868,
  "Agent": "DQN"
 },
 {
  "Iteration": 21,
  "Value": 4453.640776699029,
  "Agent": "DQN"
 },
 {
  "Iteration": 22,
  "Value": 4296.875,
  "Agent": "DQN"
 },
 {
  "Iteration": 23,
  "Value": 3996.9565217391305,
  "Agent": "DQN"
 },
 {
  "Iteration": 24,
  "Value": 5212.912087912088,
  "Agent": "DQN"
 },
 {
  "Iteration": 25,
  "Value": 4931.632653061224,
  "Agent": "DQN"
 },
 {
  "Iteration": 26,
  "Value": 5661.337209302325,
  "Agent": "DQN"
 },
 {
  "Iteration": 27,
  "Value": 5602.586206896552,
  "Agent": "DQN"
 },
 {
  "Iteration": 28,
  "Value": 5762.35632183908,
  "Agent": "DQN"
 },
 {
  "Iteration": 29,
  "Value": 5766.569767441861,
  "Agent": "DQN"
 },
 {
  "Iteration": 30,
  "Value": 5584.782608695652,
  "Agent": "DQN"
 },
 {
  "Iteration": 31,
  "Value": 5125.510204081633,
  "Agent": "DQN"
 },
 {
  "Iteration": 32,
  "Value": 5288.563829787234,
  "Agent": "DQN"
 },
 {
  "Iteration": 33,
  "Value": 5678.611111111111,
  "Agent": "DQN"
 },
 {
  "Iteration": 34,
  "Value": 5438.586956521739,
  "Agent": "DQN"
 },
 {
  "Iteration": 35,
  "Value": 6109.226190476191,
  "Agent": "DQN"
 },
 {
  "Iteration": 36,
  "Value": 5746.83908045977,
  "Agent": "DQN"
 },
 {
  "Iteration": 37,
  "Value": 6019.827586206897,
  "Agent": "DQN"
 },
 {
  "Iteration": 38,
  "Value": 5835.511363636364,
  "Agent": "DQN"
 },
 {
  "Iteration": 39,
  "Value": 5610.989010989011,
  "Agent": "DQN"
 },
 {
  "Iteration": 40,
  "Value": 5277.864583333333,
  "Agent": "DQN"
 },
 {
  "Iteration": 41,
  "Value": 5759.444444444444,
  "Agent": "DQN"
 },
 {
  "Iteration": 42,
  "Value": 5624.184782608696,
  "Agent": "DQN"
 },
 {
  "Iteration": 43,
  "Value": 6003.197674418605,
  "Agent": "DQN"
 },
 {
  "Iteration": 44,
  "Value": 5687.228260869565,
  "Agent": "DQN"
 },
 {
  "Iteration": 45,
  "Value": 5788.352272727273,
  "Agent": "DQN"
 },
 {
  "Iteration": 46,
  "Value": 6042.613636363636,
  "Agent": "DQN"
 },
 {
  "Iteration": 47,
  "Value": 5709.510869565217,
  "Agent": "DQN"
 },
 {
  "Iteration": 48,
  "Value": 6348.493975903614,
  "Agent": "DQN"
 },
 {
  "Iteration": 49,
  "Value": 5760.277777777777,
  "Agent": "DQN"
 },
 {
  "Iteration": 50,
  "Value": 5897.752808988764,
  "Agent": "DQN"
 },
 {
  "Iteration": 51,
  "Value": 6203.197674418605,
  "Agent": "DQN"
 },
 {
  "Iteration": 52,
  "Value": 5914.444444444444,
  "Agent": "DQN"
 },
 {
  "Iteration": 53,
  "Value": 6266.569767441861,
  "Agent": "DQN"
 },
 {
  "Iteration": 54,
  "Value": 6352.325581395349,
  "Agent": "DQN"
 },
 {
  "Iteration": 55,
  "Value": 6215.116279069767,
  "Agent": "DQN"
 },
 {
  "Iteration": 56,
  "Value": 6382.35294117647,
  "Agent": "DQN"
 },
 {
  "Iteration": 57,
  "Value": 6446.428571428572,
  "Agent": "DQN"
 },
 {
  "Iteration": 58,
  "Value": 6453.869047619048,
  "Agent": "DQN"
 },
 {
  "Iteration": 59,
  "Value": 6260.7558139534885,
  "Agent": "DQN"
 },
 {
  "Iteration": 60,
  "Value": 6534.259259259259,
  "Agent": "DQN"
 },
 {
  "Iteration": 61,
  "Value": 6704.268292682927,
  "Agent": "DQN"
 },
 {
  "Iteration": 62,
  "Value": 5765.217391304348,
  "Agent": "DQN"
 },
 {
  "Iteration": 63,
  "Value": 5890.760869565217,
  "Agent": "DQN"
 },
 {
  "Iteration": 64,
  "Value": 6313.081395348837,
  "Agent": "DQN"
 },
 {
  "Iteration": 65,
  "Value": 6251.162790697675,
  "Agent": "DQN"
 },
 {
  "Iteration": 66,
  "Value": 6857.1875,
  "Agent": "DQN"
 },
 {
  "Iteration": 67,
  "Value": 6481.176470588235,
  "Agent": "DQN"
 },
 {
  "Iteration": 68,
  "Value": 5950.0,
  "Agent": "DQN"
 },
 {
  "Iteration": 69,
  "Value": 5536.340206185567,
  "Agent": "DQN"
 },
 {
  "Iteration": 70,
  "Value": 6020.879120879121,
  "Agent": "DQN"
 },
 {
  "Iteration": 71,
  "Value": 6749.382716049383,
  "Agent": "DQN"
 },
 {
  "Iteration": 72,
  "Value": 5557.8125,
  "Agent": "DQN"
 },
 {
  "Iteration": 73,
  "Value": 6318.75,
  "Agent": "DQN"
 },
 {
  "Iteration": 74,
  "Value": 6655.722891566265,
  "Agent": "DQN"
 },
 {
  "Iteration": 75,
  "Value": 6980.625,
  "Agent": "DQN"
 },
 {
  "Iteration": 76,
  "Value": 6496.726190476191,
  "Agent": "DQN"
 },
 {
  "Iteration": 77,
  "Value": 6817.592592592592,
  "Agent": "DQN"
 },
 {
  "Iteration": 78,
  "Value": 6413.392857142857,
  "Agent": "DQN"
 },
 {
  "Iteration": 79,
  "Value": 6545.78313253012,
  "Agent": "DQN"
 },
 {
  "Iteration": 80,
  "Value": 6216.379310344828,
  "Agent": "DQN"
 },
 {
  "Iteration": 81,
  "Value": 6015.0,
  "Agent": "DQN"
 },
 {
  "Iteration": 82,
  "Value": 7118.670886075949,
  "Agent": "DQN"
 },
 {
  "Iteration": 83,
  "Value": 6634.411764705882,
  "Agent": "DQN"
 },
 {
  "Iteration": 84,
  "Value": 6880.182926829269,
  "Agent": "DQN"
 },
 {
  "Iteration": 85,
  "Value": 5949.731182795699,
  "Agent": "DQN"
 },
 {
  "Iteration": 86,
  "Value": 6394.186046511628,
  "Agent": "DQN"
 },
 {
  "Iteration": 87,
  "Value": 6647.916666666667,
  "Agent": "DQN"
 },
 {
  "Iteration": 88,
  "Value": 7527.960526315789,
  "Agent": "DQN"
 },
 {
  "Iteration": 89,
  "Value": 7137.974683544304,
  "Agent": "DQN"
 },
 {
  "Iteration": 90,
  "Value": 6785.843373493976,
  "Agent": "DQN"
 },
 {
  "Iteration": 91,
  "Value": 6578.823529411765,
  "Agent": "DQN"
 },
 {
  "Iteration": 92,
  "Value": 7489.0,
  "Agent": "DQN"
 },
 {
  "Iteration": 93,
  "Value": 7051.875,
  "Agent": "DQN"
 },
 {
  "Iteration": 94,
  "Value": 6766.768292682927,
  "Agent": "DQN"
 },
 {
  "Iteration": 95,
  "Value": 6620.0,
  "Agent": "DQN"
 },
 {
  "Iteration": 96,
  "Value": 7134.375,
  "Agent": "DQN"
 },
 {
  "Iteration": 97,
  "Value": 6928.658536585366,
  "Agent": "DQN"
 },
 {
  "Iteration": 98,
  "Value": 6821.726190476191,
  "Agent": "DQN"
 },
 {
  "Iteration": 99,
  "Value": 7402.3026315789475,
  "Agent": "DQN"
 },
 {
  "Iteration": 100,
  "Value": 6963.580246913581,
  "Agent": "DQN"
 },
 {
  "Iteration": 101,
  "Value": 7327.24358974359,
  "Agent": "DQN"
 },
 {
  "Iteration": 102,
  "Value": 6913.719512195122,
  "Agent": "DQN"
 },
 {
  "Iteration": 103,
  "Value": 6646.470588235294,
  "Agent": "DQN"
 },
 {
  "Iteration": 104,
  "Value": 7175.925925925926,
  "Agent": "DQN"
 },
 {
  "Iteration": 105,
  "Value": 6650.882352941177,
  "Agent": "DQN"
 },
 {
  "Iteration": 106,
  "Value": 6788.0952380952385,
  "Agent": "DQN"
 },
 {
  "Iteration": 107,
  "Value": 7261.217948717948,
  "Agent": "DQN"
 },
 {
  "Iteration": 108,
  "Value": 6902.678571428572,
  "Agent": "DQN"
 },
 {
  "Iteration": 109,
  "Value": 6724.107142857143,
  "Agent": "DQN"
 },
 {
  "Iteration": 110,
  "Value": 7015.432098765432,
  "Agent": "DQN"
 },
 {
  "Iteration": 111,
  "Value": 7019.444444444444,
  "Agent": "DQN"
 },
 {
  "Iteration": 112,
  "Value": 6941.768292682927,
  "Agent": "DQN"
 },
 {
  "Iteration": 113,
  "Value": 6545.930232558139,
  "Agent": "DQN"
 },
 {
  "Iteration": 114,
  "Value": 6475.882352941177,
  "Agent": "DQN"
 },
 {
  "Iteration": 115,
  "Value": 6221.388888888889,
  "Agent": "DQN"
 },
 {
  "Iteration": 116,
  "Value": 7341.98717948718,
  "Agent": "DQN"
 },
 {
  "Iteration": 117,
  "Value": 6670.535714285715,
  "Agent": "DQN"
 },
 {
  "Iteration": 118,
  "Value": 6894.578313253012,
  "Agent": "DQN"
 },
 {
  "Iteration": 119,
  "Value": 6611.470588235294,
  "Agent": "DQN"
 },
 {
  "Iteration": 120,
  "Value": 6823.511904761905,
  "Agent": "DQN"
 },
 {
  "Iteration": 121,
  "Value": 6655.0,
  "Agent": "DQN"
 },
 {
  "Iteration": 122,
  "Value": 6754.411764705882,
  "Agent": "DQN"
 },
 {
  "Iteration": 123,
  "Value": 6942.77108433735,
  "Agent": "DQN"
 },
 {
  "Iteration": 124,
  "Value": 7081.481481481482,
  "Agent": "DQN"
 },
 {
  "Iteration": 125,
  "Value": 7093.518518518518,
  "Agent": "DQN"
 },
 {
  "Iteration": 126,
  "Value": 6319.166666666667,
  "Agent": "DQN"
 },
 {
  "Iteration": 127,
  "Value": 6973.125,
  "Agent": "DQN"
 },
 {
  "Iteration": 128,
  "Value": 6963.414634146341,
  "Agent": "DQN"
 },
 {
  "Iteration": 129,
  "Value": 7261.5625,
  "Agent": "DQN"
 },
 {
  "Iteration": 130,
  "Value": 7771.283783783784,
  "Agent": "DQN"
 },
 {
  "Iteration": 131,
  "Value": 6951.829268292683,
  "Agent": "DQN"
 },
 {
  "Iteration": 132,
  "Value": 7627.3026315789475,
  "Agent": "DQN"
 },
 {
  "Iteration": 133,
  "Value": 7553.571428571428,
  "Agent": "DQN"
 },
 {
  "Iteration": 134,
  "Value": 7629.220779220779,
  "Agent": "DQN"
 },
 {
  "Iteration": 135,
  "Value": 7145.679012345679,
  "Agent": "DQN"
 },
 {
  "Iteration": 136,
  "Value": 6819.277108433735,
  "Agent": "DQN"
 },
 {
  "Iteration": 137,
  "Value": 6788.823529411765,
  "Agent": "DQN"
 },
 {
  "Iteration": 138,
  "Value": 6285.1648351648355,
  "Agent": "DQN"
 },
 {
  "Iteration": 139,
  "Value": 6767.941176470588,
  "Agent": "DQN"
 },
 {
  "Iteration": 140,
  "Value": 6876.506024096386,
  "Agent": "DQN"
 },
 {
  "Iteration": 141,
  "Value": 7172.530864197531,
  "Agent": "DQN"
 },
 {
  "Iteration": 142,
  "Value": 7638.1578947368425,
  "Agent": "DQN"
 },
 {
  "Iteration": 143,
  "Value": 6530.172413793103,
  "Agent": "DQN"
 },
 {
  "Iteration": 144,
  "Value": 6903.915662650603,
  "Agent": "DQN"
 },
 {
  "Iteration": 145,
  "Value": 6907.22891566265,
  "Agent": "DQN"
 },
 {
  "Iteration": 146,
  "Value": 6826.190476190476,
  "Agent": "DQN"
 },
 {
  "Iteration": 147,
  "Value": 8001.351351351352,
  "Agent": "DQN"
 },
 {
  "Iteration": 148,
  "Value": 7511.858974358975,
  "Agent": "DQN"
 },
 {
  "Iteration": 149,
  "Value": 7320.2531645569625,
  "Agent": "DQN"
 },
 {
  "Iteration": 150,
  "Value": 7150.0,
  "Agent": "DQN"
 },
 {
  "Iteration": 151,
  "Value": 7807.0,
  "Agent": "DQN"
 },
 {
  "Iteration": 152,
  "Value": 7457.051282051282,
  "Agent": "DQN"
 },
 {
  "Iteration": 153,
  "Value": 6721.220930232558,
  "Agent": "DQN"
 },
 {
  "Iteration": 154,
  "Value": 6605.172413793103,
  "Agent": "DQN"
 },
 {
  "Iteration": 155,
  "Value": 7015.361445783133,
  "Agent": "DQN"
 },
 {
  "Iteration": 156,
  "Value": 7104.938271604939,
  "Agent": "DQN"
 },
 {
  "Iteration": 157,
  "Value": 6522.727272727273,
  "Agent": "DQN"
 },
 {
  "Iteration": 158,
  "Value": 6514.3258426966295,
  "Agent": "DQN"
 },
 {
  "Iteration": 159,
  "Value": 5721.969696969697,
  "Agent": "DQN"
 },
 {
  "Iteration": 160,
  "Value": 6085.904255319149,
  "Agent": "DQN"
 },
 {
  "Iteration": 161,
  "Value": 6981.8452380952385,
  "Agent": "DQN"
 },
 {
  "Iteration": 162,
  "Value": 6639.367816091954,
  "Agent": "DQN"
 },
 {
  "Iteration": 163,
  "Value": 6638.953488372093,
  "Agent": "DQN"
 },
 {
  "Iteration": 164,
  "Value": 6929.878048780488,
  "Agent": "DQN"
 },
 {
  "Iteration": 165,
  "Value": 6684.593023255814,
  "Agent": "DQN"
 },
 {
  "Iteration": 166,
  "Value": 7596.7532467532465,
  "Agent": "DQN"
 },
 {
  "Iteration": 167,
  "Value": 7514.2405063291135,
  "Agent": "DQN"
 },
 {
  "Iteration": 168,
  "Value": 7618.506493506494,
  "Agent": "DQN"
 },
 {
  "Iteration": 169,
  "Value": 7106.79012345679,
  "Agent": "DQN"
 },
 {
  "Iteration": 170,
  "Value": 6981.024096385542,
  "Agent": "DQN"
 },
 {
  "Iteration": 171,
  "Value": 7317.987804878048,
  "Agent": "DQN"
 },
 {
  "Iteration": 172,
  "Value": 6850.297619047619,
  "Agent": "DQN"
 },
 {
  "Iteration": 173,
  "Value": 7544.620253164557,
  "Agent": "DQN"
 },
 {
  "Iteration": 174,
  "Value": 6879.941860465116,
  "Agent": "DQN"
 },
 {
  "Iteration": 175,
  "Value": 6700.0,
  "Agent": "DQN"
 },
 {
  "Iteration": 176,
  "Value": 7153.048780487805,
  "Agent": "DQN"
 },
 {
  "Iteration": 177,
  "Value": 7183.841463414634,
  "Agent": "DQN"
 },
 {
  "Iteration": 178,
  "Value": 7242.1875,
  "Agent": "DQN"
 },
 {
  "Iteration": 179,
  "Value": 7246.987951807229,
  "Agent": "DQN"
 },
 {
  "Iteration": 180,
  "Value": 7275.301204819277,
  "Agent": "DQN"
 },
 {
  "Iteration": 181,
  "Value": 6730.232558139535,
  "Agent": "DQN"
 },
 {
  "Iteration": 182,
  "Value": 6858.720930232558,
  "Agent": "DQN"
 },
 {
  "Iteration": 183,
  "Value": 6666.666666666667,
  "Agent": "DQN"
 },
 {
  "Iteration": 184,
  "Value": 7107.831325301205,
  "Agent": "DQN"
 },
 {
  "Iteration": 185,
  "Value": 6820.3488372093025,
  "Agent": "DQN"
 },
 {
  "Iteration": 186,
  "Value": 7368.4375,
  "Agent": "DQN"
 },
 {
  "Iteration": 187,
  "Value": 7580.519480519481,
  "Agent": "DQN"
 },
 {
  "Iteration": 188,
  "Value": 7214.024390243902,
  "Agent": "DQN"
 },
 {
  "Iteration": 189,
  "Value": 6528.08988764045,
  "Agent": "DQN"
 },
 {
  "Iteration": 190,
  "Value": 6770.689655172414,
  "Agent": "DQN"
 },
 {
  "Iteration": 191,
  "Value": 6656.179775280899,
  "Agent": "DQN"
 },
 {
  "Iteration": 192,
  "Value": 6829.360465116279,
  "Agent": "DQN"
 },
 {
  "Iteration": 193,
  "Value": 6796.83908045977,
  "Agent": "DQN"
 },
 {
  "Iteration": 194,
  "Value": 6573.314606741573,
  "Agent": "DQN"
 },
 {
  "Iteration": 195,
  "Value": 7475.961538461538,
  "Agent": "DQN"
 },
 {
  "Iteration": 196,
  "Value": 7725.6578947368425,
  "Agent": "DQN"
 },
 {
  "Iteration": 197,
  "Value": 7408.333333333333,
  "Agent": "DQN"
 },
 {
  "Iteration": 198,
  "Value": 6436.263736263736,
  "Agent": "DQN"
 },
 {
  "Iteration": 0,
  "Value": 541.5338645418327,
  "Agent": "DQN"
 },
 {
  "Iteration": 1,
  "Value": 394.34032983508246,
  "Agent": "DQN"
 },
 {
  "Iteration": 2,
  "Value": 685.8125,
  "Agent": "DQN"
 },
 {
  "Iteration": 3,
  "Value": 1533.0357142857142,
  "Agent": "DQN"
 },
 {
  "Iteration": 4,
  "Value": 1451.8203883495146,
  "Agent": "DQN"
 },
 {
  "Iteration": 5,
  "Value": 1575.3807106598986,
  "Agent": "DQN"
 },
 {
  "Iteration": 6,
  "Value": 1234.7744360902257,
  "Agent": "DQN"
 },
 {
  "Iteration": 7,
  "Value": 1628.1707317073171,
  "Agent": "DQN"
 },
 {
  "Iteration": 8,
  "Value": 1973.5795454545455,
  "Agent": "DQN"
 },
 {
  "Iteration": 9,
  "Value": 2167.5925925925926,
  "Agent": "DQN"
 },
 {
  "Iteration": 10,
  "Value": 2114.2215568862275,
  "Agent": "DQN"
 },
 {
  "Iteration": 11,
  "Value": 2211.5853658536585,
  "Agent": "DQN"
 },
 {
  "Iteration": 12,
  "Value": 1759.125,
  "Agent": "DQN"
 },
 {
  "Iteration": 13,
  "Value": 1953.0585106382978,
  "Agent": "DQN"
 },
 {
  "Iteration": 14,
  "Value": 2048.763736263736,
  "Agent": "DQN"
 },
 {
  "Iteration": 15,
  "Value": 2133.0508474576272,
  "Agent": "DQN"
 },
 {
  "Iteration": 16,
  "Value": 2607.939189189189,
  "Agent": "DQN"
 },
 {
  "Iteration": 17,
  "Value": 2908.4586466165415,
  "Agent": "DQN"
 },
 {
  "Iteration": 18,
  "Value": 3346.280991735537,
  "Agent": "DQN"
 },
 {
  "Iteration": 19,
  "Value": 2998.5185185185187,
  "Agent": "DQN"
 },
 {
  "Iteration": 20,
  "Value": 2962.0567375886526,
  "Agent": "DQN"
 },
 {
  "Iteration": 21,
  "Value": 3489.344262295082,
  "Agent": "DQN"
 },
 {
  "Iteration": 22,
  "Value": 3731.5789473684213,
  "Agent": "DQN"
 },
 {
  "Iteration": 23,
  "Value": 3557.8740157480315,
  "Agent": "DQN"
 },
 {
  "Iteration": 24,
  "Value": 3824.7863247863247,
  "Agent": "DQN"
 },
 {
  "Iteration": 25,
  "Value": 4109.90990990991,
  "Agent": "DQN"
 },
 {
  "Iteration": 26,
  "Value": 4384.579439252337,
  "Agent": "DQN"
 },
 {
  "Iteration": 27,
  "Value": 4456.190476190476,
  "Agent": "DQN"
 },
 {
  "Iteration": 28,
  "Value": 5281.318681318681,
  "Agent": "DQN"
 },
 {
  "Iteration": 29,
  "Value": 5376.388888888889,
  "Agent": "DQN"
 },
 {
  "Iteration": 30,
  "Value": 5102.393617021276,
  "Agent": "DQN"
 },
 {
  "Iteration": 31,
  "Value": 4673.300970873786,
  "Agent": "DQN"
 },
 {
  "Iteration": 32,
  "Value": 4594.626168224299,
  "Agent": "DQN"
 },
 {
  "Iteration": 33,
  "Value": 5586.141304347826,
  "Agent": "DQN"
 },
 {
  "Iteration": 34,
  "Value": 5223.4375,
  "Agent": "DQN"
 },
 {
  "Iteration": 35,
  "Value": 5632.5842696629215,
  "Agent": "DQN"
 },
 {
  "Iteration": 36,
  "Value": 6263.55421686747,
  "Agent": "DQN"
 },
 {
  "Iteration": 37,
  "Value": 5485.215053763441,
  "Agent": "DQN"
 },
 {
  "Iteration": 38,
  "Value": 5896.802325581395,
  "Agent": "DQN"
 },
 {
  "Iteration": 39,
  "Value": 5600.561797752809,
  "Agent": "DQN"
 },
 {
  "Iteration": 40,
  "Value": 6057.941176470588,
  "Agent": "DQN"
 },
 {
  "Iteration": 41,
  "Value": 5820.786516853933,
  "Agent": "DQN"
 },
 {
  "Iteration": 42,
  "Value": 6259.705882352941,
  "Agent": "DQN"
 },
 {
  "Iteration": 43,
  "Value": 6064.2441860465115,
  "Agent": "DQN"
 },
 {
  "Iteration": 44,
  "Value": 5066.25,
  "Agent": "DQN"
 },
 {
  "Iteration": 45,
  "Value": 5451.315789473684,
  "Agent": "DQN"
 },
 {
  "Iteration": 46,
  "Value": 6332.058823529412,
  "Agent": "DQN"
 },
 {
  "Iteration": 47,
  "Value": 6001.404494382023,
  "Agent": "DQN"
 },
 {
  "Iteration": 48,
  "Value": 5580.053191489362,
  "Agent": "DQN"
 },
 {
  "Iteration": 49,
  "Value": 5705.376344086021,
  "Agent": "DQN"
 },
 {
  "Iteration": 50,
  "Value": 5613.031914893617,
  "Agent": "DQN"
 },
 {
  "Iteration": 51,
  "Value": 5907.303370786517,
  "Agent": "DQN"
 },
 {
  "Iteration": 52,
  "Value": 6110.919540229885,
  "Agent": "DQN"
 },
 {
  "Iteration": 53,
  "Value": 6138.793103448276,
  "Agent": "DQN"
 },
 {
  "Iteration": 54,
  "Value": 5723.097826086957,
  "Agent": "DQN"
 },
 {
  "Iteration": 55,
  "Value": 6209.593023255814,
  "Agent": "DQN"
 },
 {
  "Iteration": 56,
  "Value": 6522.891566265061,
  "Agent": "DQN"
 },
 {
  "Iteration": 57,
  "Value": 5546.09375,
  "Agent": "DQN"
 },
 {
  "Iteration": 58,
  "Value": 5752.173913043478,
  "Agent": "DQN"
 },
 {
  "Iteration": 59,
  "Value": 5685.054347826087,
  "Agent": "DQN"
 },
 {
  "Iteration": 60,
  "Value": 5949.722222222223,
  "Agent": "DQN"
 },
 {
  "Iteration": 61,
  "Value": 6441.071428571428,
  "Agent": "DQN"
 },
 {
  "Iteration": 62,
  "Value": 6284.302325581395,
  "Agent": "DQN"
 },
 {
  "Iteration": 63,
  "Value": 5677.173913043478,
  "Agent": "DQN"
 },
 {
  "Iteration": 64,
  "Value": 5791.129032258064,
  "Agent": "DQN"
 },
 {
  "Iteration": 65,
  "Value": 6086.516853932584,
  "Agent": "DQN"
 },
 {
  "Iteration": 66,
  "Value": 6318.604651162791,
  "Agent": "DQN"
 },
 {
  "Iteration": 67,
  "Value": 5906.868131868132,
  "Agent": "DQN"
 },
 {
  "Iteration": 68,
  "Value": 6586.011904761905,
  "Agent": "DQN"
 },
 {
  "Iteration": 69,
  "Value": 5746.808510638298,
  "Agent": "DQN"
 },
 {
  "Iteration": 70,
  "Value": 6443.823529411765,
  "Agent": "DQN"
 },
 {
  "Iteration": 71,
  "Value": 5673.958333333333,
  "Agent": "DQN"
 },
 {
  "Iteration": 72,
  "Value": 5458.25,
  "Agent": "DQN"
 },
 {
  "Iteration": 73,
  "Value": 6266.573033707865,
  "Agent": "DQN"
 },
 {
  "Iteration": 74,
  "Value": 5641.8421052631575,
  "Agent": "DQN"
 },
 {
  "Iteration": 75,
  "Value": 5705.585106382979,
  "Agent": "DQN"
 },
 {
  "Iteration": 76,
  "Value": 5373.267326732674,
  "Agent": "DQN"
 },
 {
  "Iteration": 77,
  "Value": 5807.336956521739,
  "Agent": "DQN"
 },
 {
  "Iteration": 78,
  "Value": 6030.833333333333,
  "Agent": "DQN"
 },
 {
  "Iteration": 79,
  "Value": 5839.473684210527,
  "Agent": "DQN"
 },
 {
  "Iteration": 80,
  "Value": 6223.913043478261,
  "Agent": "DQN"
 },
 {
  "Iteration": 81,
  "Value": 5870.744680851064,
  "Agent": "DQN"
 },
 {
  "Iteration": 82,
  "Value": 6150.0,
  "Agent": "DQN"
 },
 {
  "Iteration": 83,
  "Value": 6114.285714285715,
  "Agent": "DQN"
 },
 {
  "Iteration": 84,
  "Value": 5997.554347826087,
  "Agent": "DQN"
 },
 {
  "Iteration": 85,
  "Value": 5989.722222222223,
  "Agent": "DQN"
 },
 {
  "Iteration": 86,
  "Value": 6109.550561797752,
  "Agent": "DQN"
 },
 {
  "Iteration": 87,
  "Value": 6186.23595505618,
  "Agent": "DQN"
 },
 {
  "Iteration": 88,
  "Value": 5792.105263157895,
  "Agent": "DQN"
 },
 {
  "Iteration": 89,
  "Value": 6422.674418604651,
  "Agent": "DQN"
 },
 {
  "Iteration": 90,
  "Value": 6210.955056179775,
  "Agent": "DQN"
 },
 {
  "Iteration": 91,
  "Value": 6462.209302325581,
  "Agent": "DQN"
 },
 {
  "Iteration": 92,
  "Value": 6773.170731707317,
  "Agent": "DQN"
 },
 {
  "Iteration": 93,
  "Value": 7791.319444444444,
  "Agent": "DQN"
 },
 {
  "Iteration": 94,
  "Value": 5993.75,
  "Agent": "DQN"
 },
 {
  "Iteration": 95,
  "Value": 5995.652173913043,
  "Agent": "DQN"
 },
 {
  "Iteration": 96,
  "Value": 6156.043956043956,
  "Agent": "DQN"
 },
 {
  "Iteration": 97,
  "Value": 6620.481927710844,
  "Agent": "DQN"
 },
 {
  "Iteration": 98,
  "Value": 6404.069767441861,
  "Agent": "DQN"
 },
 {
  "Iteration": 99,
  "Value": 5992.663043478261,
  "Agent": "DQN"
 },
 {
  "Iteration": 100,
  "Value": 6991.666666666667,
  "Agent": "DQN"
 },
 {
  "Iteration": 101,
  "Value": 7022.1875,
  "Agent": "DQN"
 },
 {
  "Iteration": 102,
  "Value": 7249.358974358975,
  "Agent": "DQN"
 },
 {
  "Iteration": 103,
  "Value": 6330.681818181818,
  "Agent": "DQN"
 },
 {
  "Iteration": 104,
  "Value": 6264.3258426966295,
  "Agent": "DQN"
 },
 {
  "Iteration": 105,
  "Value": 6730.882352941177,
  "Agent": "DQN"
 },
 {
  "Iteration": 106,
  "Value": 7135.7594936708865,
  "Agent": "DQN"
 },
 {
  "Iteration": 107,
  "Value": 6947.222222222223,
  "Agent": "DQN"
 },
 {
  "Iteration": 108,
  "Value": 6565.116279069767,
  "Agent": "DQN"
 },
 {
  "Iteration": 109,
  "Value": 6866.358024691358,
  "Agent": "DQN"
 },
 {
  "Iteration": 110,
  "Value": 6338.055555555556,
  "Agent": "DQN"
 },
 {
  "Iteration": 111,
  "Value": 6817.469879518072,
  "Agent": "DQN"
 },
 {
  "Iteration": 112,
  "Value": 6920.625,
  "Agent": "DQN"
 },
 {
  "Iteration": 113,
  "Value": 7054.375,
  "Agent": "DQN"
 },
 {
  "Iteration": 114,
  "Value": 6094.565217391304,
  "Agent": "DQN"
 },
 {
  "Iteration": 115,
  "Value": 6071.739130434783,
  "Agent": "DQN"
 },
 {
  "Iteration": 116,
  "Value": 7270.192307692308,
  "Agent": "DQN"
 },
 {
  "Iteration": 117,
  "Value": 7153.164556962025,
  "Agent": "DQN"
 },
 {
  "Iteration": 118,
  "Value": 6466.761363636364,
  "Agent": "DQN"
 },
 {
  "Iteration": 119,
  "Value": 6749.4047619047615,
  "Agent": "DQN"
 },
 {
  "Iteration": 120,
  "Value": 6265.833333333333,
  "Agent": "DQN"
 },
 {
  "Iteration": 121,
  "Value": 7959.58904109589,
  "Agent": "DQN"
 },
 {
  "Iteration": 122,
  "Value": 6578.693181818182,
  "Agent": "DQN"
 },
 {
  "Iteration": 123,
  "Value": 6351.648351648351,
  "Agent": "DQN"
 },
 {
  "Iteration": 124,
  "Value": 6496.264367816092,
  "Agent": "DQN"
 },
 {
  "Iteration": 125,
  "Value": 6729.360465116279,
  "Agent": "DQN"
 },
 {
  "Iteration": 126,
  "Value": 7062.195121951219,
  "Agent": "DQN"
 },
 {
  "Iteration": 127,
  "Value": 6428.125,
  "Agent": "DQN"
 },
 {
  "Iteration": 128,
  "Value": 6743.1547619047615,
  "Agent": "DQN"
 },
 {
  "Iteration": 129,
  "Value": 6381.609195402299,
  "Agent": "DQN"
 },
 {
  "Iteration": 130,
  "Value": 6467.732558139535,
  "Agent": "DQN"
 },
 {
  "Iteration": 131,
  "Value": 5917.105263157895,
  "Agent": "DQN"
 },
 {
  "Iteration": 132,
  "Value": 6457.5842696629215,
  "Agent": "DQN"
 },
 {
  "Iteration": 133,
  "Value": 6460.955056179775,
  "Agent": "DQN"
 },
 {
  "Iteration": 134,
  "Value": 6713.372093023256,
  "Agent": "DQN"
 },
 {
  "Iteration": 135,
  "Value": 6687.64705882353,
  "Agent": "DQN"
 },
 {
  "Iteration": 136,
  "Value": 6562.209302325581,
  "Agent": "DQN"
 },
 {
  "Iteration": 137,
  "Value": 6426.944444444444,
  "Agent": "DQN"
 },
 {
  "Iteration": 138,
  "Value": 7611.038961038961,
  "Agent": "DQN"
 },
 {
  "Iteration": 139,
  "Value": 6963.855421686747,
  "Agent": "DQN"
 },
 {
  "Iteration": 140,
  "Value": 6752.380952380952,
  "Agent": "DQN"
 },
 {
  "Iteration": 141,
  "Value": 6862.5,
  "Agent": "DQN"
 },
 {
  "Iteration": 142,
  "Value": 7270.625,
  "Agent": "DQN"
 },
 {
  "Iteration": 143,
  "Value": 6591.954022988506,
  "Agent": "DQN"
 },
 {
  "Iteration": 144,
  "Value": 7468.987341772152,
  "Agent": "DQN"
 },
 {
  "Iteration": 145,
  "Value": 6875.297619047619,
  "Agent": "DQN"
 },
 {
  "Iteration": 146,
  "Value": 6789.53488372093,
  "Agent": "DQN"
 },
 {
  "Iteration": 147,
  "Value": 6726.453488372093,
  "Agent": "DQN"
 },
 {
  "Iteration": 148,
  "Value": 7453.164556962025,
  "Agent": "DQN"
 },
 {
  "Iteration": 149,
  "Value": 6374.725274725275,
  "Agent": "DQN"
 },
 {
  "Iteration": 150,
  "Value": 5721.0,
  "Agent": "DQN"
 },
 {
  "Iteration": 151,
  "Value": 6601.149425287356,
  "Agent": "DQN"
 },
 {
  "Iteration": 152,
  "Value": 6768.313953488372,
  "Agent": "DQN"
 },
 {
  "Iteration": 153,
  "Value": 6912.202380952381,
  "Agent": "DQN"
 },
 {
  "Iteration": 154,
  "Value": 6574.709302325581,
  "Agent": "DQN"
 },
 {
  "Iteration": 155,
  "Value": 6850.588235294118,
  "Agent": "DQN"
 },
 {
  "Iteration": 156,
  "Value": 7273.456790123457,
  "Agent": "DQN"
 },
 {
  "Iteration": 157,
  "Value": 6751.453488372093,
  "Agent": "DQN"
 },
 {
  "Iteration": 158,
  "Value": 6861.309523809524,
  "Agent": "DQN"
 },
 {
  "Iteration": 159,
  "Value": 6628.16091954023,
  "Agent": "DQN"
 },
 {
  "Iteration": 160,
  "Value": 7331.79012345679,
  "Agent": "DQN"
 },
 {
  "Iteration": 161,
  "Value": 7196.951219512195,
  "Agent": "DQN"
 },
 {
  "Iteration": 162,
  "Value": 7044.277108433735,
  "Agent": "DQN"
 },
 {
  "Iteration": 163,
  "Value": 7184.1463414634145,
  "Agent": "DQN"
 },
 {
  "Iteration": 164,
  "Value": 7337.962962962963,
  "Agent": "DQN"
 },
 {
  "Iteration": 165,
  "Value": 7033.1325301204815,
  "Agent": "DQN"
 },
 {
  "Iteration": 166,
  "Value": 7577.884615384615,
  "Agent": "DQN"
 },
 {
  "Iteration": 167,
  "Value": 7212.804878048781,
  "Agent": "DQN"
 },
 {
  "Iteration": 168,
  "Value": 6656.896551724138,
  "Agent": "DQN"
 },
 {
  "Iteration": 169,
  "Value": 6988.392857142857,
  "Agent": "DQN"
 },
 {
  "Iteration": 170,
  "Value": 7517.5,
  "Agent": "DQN"
 },
 {
  "Iteration": 171,
  "Value": 7450.320512820513,
  "Agent": "DQN"
 },
 {
  "Iteration": 172,
  "Value": 6916.764705882353,
  "Agent": "DQN"
 },
 {
  "Iteration": 173,
  "Value": 7314.556962025316,
  "Agent": "DQN"
 },
 {
  "Iteration": 174,
  "Value": 6136.968085106383,
  "Agent": "DQN"
 },
 {
  "Iteration": 175,
  "Value": 7064.506172839506,
  "Agent": "DQN"
 },
 {
  "Iteration": 176,
  "Value": 6679.941860465116,
  "Agent": "DQN"
 },
 {
  "Iteration": 177,
  "Value": 6115.425531914893,
  "Agent": "DQN"
 },
 {
  "Iteration": 178,
  "Value": 6700.852272727273,
  "Agent": "DQN"
 },
 {
  "Iteration": 179,
  "Value": 6150.0,
  "Agent": "DQN"
 },
 {
  "Iteration": 180,
  "Value": 6917.261904761905,
  "Agent": "DQN"
 },
 {
  "Iteration": 181,
  "Value": 6974.096385542169,
  "Agent": "DQN"
 },
 {
  "Iteration": 182,
  "Value": 6257.880434782609,
  "Agent": "DQN"
 },
 {
  "Iteration": 183,
  "Value": 7357.911392405063,
  "Agent": "DQN"
 },
 {
  "Iteration": 184,
  "Value": 7015.773809523809,
  "Agent": "DQN"
 },
 {
  "Iteration": 185,
  "Value": 7621.7532467532465,
  "Agent": "DQN"
 },
 {
  "Iteration": 186,
  "Value": 6922.35294117647,
  "Agent": "DQN"
 },
 {
  "Iteration": 187,
  "Value": 6790.80459770115,
  "Agent": "DQN"
 },
 {
  "Iteration": 188,
  "Value": 7814.144736842105,
  "Agent": "DQN"
 },
 {
  "Iteration": 189,
  "Value": 7608.333333333333,
  "Agent": "DQN"
 },
 {
  "Iteration": 190,
  "Value": 7046.764705882353,
  "Agent": "DQN"
 },
 {
  "Iteration": 191,
  "Value": 7117.77108433735,
  "Agent": "DQN"
 },
 {
  "Iteration": 192,
  "Value": 7442.088607594937,
  "Agent": "DQN"
 },
 {
  "Iteration": 193,
  "Value": 7618.354430379747,
  "Agent": "DQN"
 },
 {
  "Iteration": 194,
  "Value": 8039.333333333333,
  "Agent": "DQN"
 },
 {
  "Iteration": 195,
  "Value": 7806.7307692307695,
  "Agent": "DQN"
 },
 {
  "Iteration": 196,
  "Value": 6856.686046511628,
  "Agent": "DQN"
 },
 {
  "Iteration": 197,
  "Value": 7795.454545454545,
  "Agent": "DQN"
 },
 {
  "Iteration": 198,
  "Value": 6827.616279069767,
  "Agent": "DQN"
 },
 {
  "Iteration": 0,
  "Value": 501.3705103969754,
  "Agent": "DQN"
 },
 {
  "Iteration": 1,
  "Value": 355.46272493573264,
  "Agent": "DQN"
 },
 {
  "Iteration": 2,
  "Value": 826.9287833827893,
  "Agent": "DQN"
 },
 {
  "Iteration": 3,
  "Value": 1097.0817120622569,
  "Agent": "DQN"
 },
 {
  "Iteration": 4,
  "Value": 1411.6279069767443,
  "Agent": "DQN"
 },
 {
  "Iteration": 5,
  "Value": 1731.8181818181818,
  "Agent": "DQN"
 },
 {
  "Iteration": 6,
  "Value": 1867.1875,
  "Agent": "DQN"
 },
 {
  "Iteration": 7,
  "Value": 2102.259036144578,
  "Agent": "DQN"
 },
 {
  "Iteration": 8,
  "Value": 2339.808917197452,
  "Agent": "DQN"
 },
 {
  "Iteration": 9,
  "Value": 2473.469387755102,
  "Agent": "DQN"
 },
 {
  "Iteration": 10,
  "Value": 2058.567415730337,
  "Agent": "DQN"
 },
 {
  "Iteration": 11,
  "Value": 2411.764705882353,
  "Agent": "DQN"
 },
 {
  "Iteration": 12,
  "Value": 2173.153409090909,
  "Agent": "DQN"
 },
 {
  "Iteration": 13,
  "Value": 2306.1377245508984,
  "Agent": "DQN"
 },
 {
  "Iteration": 14,
  "Value": 2601.121794871795,
  "Agent": "DQN"
 },
 {
  "Iteration": 15,
  "Value": 3051.679104477612,
  "Agent": "DQN"
 },
 {
  "Iteration": 16,
  "Value": 2884.5238095238096,
  "Agent": "DQN"
 },
 {
  "Iteration": 17,
  "Value": 3656.521739130435,
  "Agent": "DQN"
 },
 {
  "Iteration": 18,
  "Value": 3877.8260869565215,
  "Agent": "DQN"
 },
 {
  "Iteration": 19,
  "Value": 4458.0,
  "Agent": "DQN"
 },
 {
  "Iteration": 20,
  "Value": 4550.75,
  "Agent": "DQN"
 },
 {
  "Iteration": 21,
  "Value": 4708.838383838384,
  "Agent": "DQN"
 },
 {
  "Iteration": 22,
  "Value": 4118.577981651376,
  "Agent": "DQN"
 },
 {
  "Iteration": 23,
  "Value": 4513.461538461538,
  "Agent": "DQN"
 },
 {
  "Iteration": 24,
  "Value": 4460.046728971963,
  "Agent": "DQN"
 },
 {
  "Iteration": 25,
  "Value": 4841.666666666667,
  "Agent": "DQN"
 },
 {
  "Iteration": 26,
  "Value": 5099.734042553191,
  "Agent": "DQN"
 },
 {
  "Iteration": 27,
  "Value": 4926.237623762377,
  "Agent": "DQN"
 },
 {
  "Iteration": 28,
  "Value": 5605.898876404494,
  "Agent": "DQN"
 },
 {
  "Iteration": 29,
  "Value": 5033.505154639175,
  "Agent": "DQN"
 },
 {
  "Iteration": 30,
  "Value": 5380.10752688172,
  "Agent": "DQN"
 },
 {
  "Iteration": 31,
  "Value": 5379.787234042553,
  "Agent": "DQN"
 },
 {
  "Iteration": 32,
  "Value": 5450.0,
  "Agent": "DQN"
 },
 {
  "Iteration": 33,
  "Value": 5782.303370786517,
  "Agent": "DQN"
 },
 {
  "Iteration": 34,
  "Value": 5732.303370786517,
  "Agent": "DQN"
 },
 {
  "Iteration": 35,
  "Value": 5117.091836734694,
  "Agent": "DQN"
 },
 {
  "Iteration": 36,
  "Value": 5693.131868131868,
  "Agent": "DQN"
 },
 {
  "Iteration": 37,
  "Value": 5076.0,
  "Agent": "DQN"
 },
 {
  "Iteration": 38,
  "Value": 5829.829545454545,
  "Agent": "DQN"
 },
 {
  "Iteration": 39,
  "Value": 5979.022988505747,
  "Agent": "DQN"
 },
 {
  "Iteration": 40,
  "Value": 5600.0,
  "Agent": "DQN"
 },
 {
  "Iteration": 41,
  "Value": 5965.625,
  "Agent": "DQN"
 },
 {
  "Iteration": 42,
  "Value": 6085.227272727273,
  "Agent": "DQN"
 },
 {
  "Iteration": 43,
  "Value": 6525.617283950617,
  "Agent": "DQN"
 },
 {
  "Iteration": 44,
  "Value": 5959.375,
  "Agent": "DQN"
 },
 {
  "Iteration": 45,
  "Value": 5963.636363636364,
  "Agent": "DQN"
 },
 {
  "Iteration": 46,
  "Value": 5609.94623655914,
  "Agent": "DQN"
 },
 {
  "Iteration": 47,
  "Value": 6079.597701149425,
  "Agent": "DQN"
 },
 {
  "Iteration": 48,
  "Value": 5380.989583333333,
  "Agent": "DQN"
 },
 {
  "Iteration": 49,
  "Value": 5776.0989010989015,
  "Agent": "DQN"
 },
 {
  "Iteration": 50,
  "Value": 5481.382978723404,
  "Agent": "DQN"
 },
 {
  "Iteration": 51,
  "Value": 5410.2040816326535,
  "Agent": "DQN"
 },
 {
  "Iteration": 52,
  "Value": 5288.25,
  "Agent": "DQN"
 },
 {
  "Iteration": 53,
  "Value": 5645.744680851064,
  "Agent": "DQN"
 },
 {
  "Iteration": 54,
  "Value": 6423.475609756098,
  "Agent": "DQN"
 },
 {
  "Iteration": 55,
  "Value": 5547.631578947368,
  "Agent": "DQN"
 },
 {
  "Iteration": 56,
  "Value": 5348.711340206186,
  "Agent": "DQN"
 },
 {
  "Iteration": 57,
  "Value": 6430.6547619047615,
  "Agent": "DQN"
 },
 {
  "Iteration": 58,
  "Value": 6102.247191011236,
  "Agent": "DQN"
 },
 {
  "Iteration": 59,
  "Value": 6131.460674157303,
  "Agent": "DQN"
 },
 {
  "Iteration": 60,
  "Value": 5335.606060606061,
  "Agent": "DQN"
 },
 {
  "Iteration": 61,
  "Value": 6464.457831325301,
  "Agent": "DQN"
 },
 {
  "Iteration": 62,
  "Value": 5681.315789473684,
  "Agent": "DQN"
 },
 {
  "Iteration": 63,
  "Value": 6041.853932584269,
  "Agent": "DQN"
 },
 {
  "Iteration": 64,
  "Value": 5926.388888888889,
  "Agent": "DQN"
 },
 {
  "Iteration": 65,
  "Value": 5965.0,
  "Agent": "DQN"
 },
 {
  "Iteration": 66,
  "Value": 6436.176470588235,
  "Agent": "DQN"
 },
 {
  "Iteration": 67,
  "Value": 5987.222222222223,
  "Agent": "DQN"
 },
 {
  "Iteration": 68,
  "Value": 6156.25,
  "Agent": "DQN"
 },
 {
  "Iteration": 69,
  "Value": 6187.784090909091,
  "Agent": "DQN"
 },
 {
  "Iteration": 70,
  "Value": 6177.808988764045,
  "Agent": "DQN"
 },
 {
  "Iteration": 71,
  "Value": 6454.117647058823,
  "Agent": "DQN"
 },
 {
  "Iteration": 72,
  "Value": 6149.438202247191,
  "Agent": "DQN"
 },
 {
  "Iteration": 73,
  "Value": 6578.869047619048,
  "Agent": "DQN"
 },
 {
  "Iteration": 74,
  "Value": 5859.677419354839,
  "Agent": "DQN"
 },
 {
  "Iteration": 75,
  "Value": 6578.235294117647,
  "Agent": "DQN"
 },
 {
  "Iteration": 76,
  "Value": 5756.182795698925,
  "Agent": "DQN"
 },
 {
  "Iteration": 77,
  "Value": 7008.227848101265,
  "Agent": "DQN"
 },
 {
  "Iteration": 78,
  "Value": 5515.909090909091,
  "Agent": "DQN"
 },
 {
  "Iteration": 79,
  "Value": 6607.530120481928,
  "Agent": "DQN"
 },
 {
  "Iteration": 80,
  "Value": 6474.117647058823,
  "Agent": "DQN"
 },
 {
  "Iteration": 81,
  "Value": 6453.235294117647,
  "Agent": "DQN"
 },
 {
  "Iteration": 82,
  "Value": 6775.0,
  "Agent": "DQN"
 },
 {
  "Iteration": 83,
  "Value": 6270.689655172414,
  "Agent": "DQN"
 },
 {
  "Iteration": 84,
  "Value": 5544.329896907217,
  "Agent": "DQN"
 },
 {
  "Iteration": 85,
  "Value": 6118.820224719101,
  "Agent": "DQN"
 },
 {
  "Iteration": 86,
  "Value": 6281.534090909091,
  "Agent": "DQN"
 },
 {
  "Iteration": 87,
  "Value": 6551.176470588235,
  "Agent": "DQN"
 },
 {
  "Iteration": 88,
  "Value": 6495.238095238095,
  "Agent": "DQN"
 },
 {
  "Iteration": 89,
  "Value": 6353.16091954023,
  "Agent": "DQN"
 },
 {
  "Iteration": 90,
  "Value": 5732.474226804124,
  "Agent": "DQN"
 },
 {
  "Iteration": 91,
  "Value": 6998.75,
  "Agent": "DQN"
 },
 {
  "Iteration": 92,
  "Value": 6883.333333333333,
  "Agent": "DQN"
 },
 {
  "Iteration": 93,
  "Value": 6425.287356321839,
  "Agent": "DQN"
 },
 {
  "Iteration": 94,
  "Value": 5933.333333333333,
  "Agent": "DQN"
 },
 {
  "Iteration": 95,
  "Value": 6821.036585365854,
  "Agent": "DQN"
 },
 {
  "Iteration": 96,
  "Value": 6885.975609756098,
  "Agent": "DQN"
 },
 {
  "Iteration": 97,
  "Value": 6984.567901234568,
  "Agent": "DQN"
 },
 {
  "Iteration": 98,
  "Value": 7204.166666666667,
  "Agent": "DQN"
 },
 {
  "Iteration": 99,
  "Value": 7010.493827160494,
  "Agent": "DQN"
 },
 {
  "Iteration": 100,
  "Value": 7378.571428571428,
  "Agent": "DQN"
 },
 {
  "Iteration": 101,
  "Value": 7265.909090909091,
  "Agent": "DQN"
 },
 {
  "Iteration": 102,
  "Value": 7275.324675324675,
  "Agent": "DQN"
 },
 {
  "Iteration": 103,
  "Value": 7231.410256410257,
  "Agent": "DQN"
 },
 {
  "Iteration": 104,
  "Value": 6303.409090909091,
  "Agent": "DQN"
 },
 {
  "Iteration": 105,
  "Value": 5962.5,
  "Agent": "DQN"
 },
 {
  "Iteration": 106,
  "Value": 6306.534090909091,
  "Agent": "DQN"
 },
 {
  "Iteration": 107,
  "Value": 6606.104651162791,
  "Agent": "DQN"
 },
 {
  "Iteration": 108,
  "Value": 5896.578947368421,
  "Agent": "DQN"
 },
 {
  "Iteration": 109,
  "Value": 7081.962025316456,
  "Agent": "DQN"
 },
 {
  "Iteration": 110,
  "Value": 7007.012195121952,
  "Agent": "DQN"
 },
 {
  "Iteration": 111,
  "Value": 6649.418604651163,
  "Agent": "DQN"
 },
 {
  "Iteration": 112,
  "Value": 6340.340909090909,
  "Agent": "DQN"
 },
 {
  "Iteration": 113,
  "Value": 6906.79012345679,
  "Agent": "DQN"
 },
 {
  "Iteration": 114,
  "Value": 6094.780219780219,
  "Agent": "DQN"
 },
 {
  "Iteration": 115,
  "Value": 6237.359550561798,
  "Agent": "DQN"
 },
 {
  "Iteration": 116,
  "Value": 6394.186046511628,
  "Agent": "DQN"
 },
 {
  "Iteration": 117,
  "Value": 6576.436781609195,
  "Agent": "DQN"
 },
 {
  "Iteration": 118,
  "Value": 6485.919540229885,
  "Agent": "DQN"
 },
 {
  "Iteration": 119,
  "Value": 6802.083333333333,
  "Agent": "DQN"
 },
 {
  "Iteration": 120,
  "Value": 7191.772151898735,
  "Agent": "DQN"
 },
 {
  "Iteration": 121,
  "Value": 6913.855421686747,
  "Agent": "DQN"
 },
 {
  "Iteration": 122,
  "Value": 6774.702380952381,
  "Agent": "DQN"
 },
 {
  "Iteration": 123,
  "Value": 7075.3125,
  "Agent": "DQN"
 },
 {
  "Iteration": 124,
  "Value": 7087.5,
  "Agent": "DQN"
 },
 {
  "Iteration": 125,
  "Value": 6489.6551724137935,
  "Agent": "DQN"
 },
 {
  "Iteration": 126,
  "Value": 6820.238095238095,
  "Agent": "DQN"
 },
 {
  "Iteration": 127,
  "Value": 7206.645569620253,
  "Agent": "DQN"
 },
 {
  "Iteration": 128,
  "Value": 7127.469135802469,
  "Agent": "DQN"
 },
 {
  "Iteration": 129,
  "Value": 6638.953488372093,
  "Agent": "DQN"
 },
 {
  "Iteration": 130,
  "Value": 6673.235294117647,
  "Agent": "DQN"
 },
 {
  "Iteration": 131,
  "Value": 6429.213483146067,
  "Agent": "DQN"
 },
 {
  "Iteration": 132,
  "Value": 6180.494505494506,
  "Agent": "DQN"
 },
 {
  "Iteration": 133,
  "Value": 6407.0224719101125,
  "Agent": "DQN"
 },
 {
  "Iteration": 134,
  "Value": 6816.176470588235,
  "Agent": "DQN"
 },
 {
  "Iteration": 135,
  "Value": 6234.065934065934,
  "Agent": "DQN"
 },
 {
  "Iteration": 136,
  "Value": 6373.9010989010985,
  "Agent": "DQN"
 },
 {
  "Iteration": 137,
  "Value": 6632.471264367816,
  "Agent": "DQN"
 },
 {
  "Iteration": 138,
  "Value": 6700.294117647059,
  "Agent": "DQN"
 },
 {
  "Iteration": 139,
  "Value": 6603.448275862069,
  "Agent": "DQN"
 },
 {
  "Iteration": 140,
  "Value": 6646.83908045977,
  "Agent": "DQN"
 },
 {
  "Iteration": 141,
  "Value": 7036.144578313253,
  "Agent": "DQN"
 },
 {
  "Iteration": 142,
  "Value": 6542.9775280898875,
  "Agent": "DQN"
 },
 {
  "Iteration": 143,
  "Value": 6448.595505617977,
  "Agent": "DQN"
 },
 {
  "Iteration": 144,
  "Value": 6637.64367816092,
  "Agent": "DQN"
 },
 {
  "Iteration": 145,
  "Value": 6463.202247191011,
  "Agent": "DQN"
 },
 {
  "Iteration": 146,
  "Value": 6614.825581395349,
  "Agent": "DQN"
 },
 {
  "Iteration": 147,
  "Value": 6717.441860465116,
  "Agent": "DQN"
 },
 {
  "Iteration": 148,
  "Value": 6502.247191011236,
  "Agent": "DQN"
 },
 {
  "Iteration": 149,
  "Value": 6636.206896551724,
  "Agent": "DQN"
 },
 {
  "Iteration": 150,
  "Value": 6109.840425531915,
  "Agent": "DQN"
 },
 {
  "Iteration": 151,
  "Value": 7093.59756097561,
  "Agent": "DQN"
 },
 {
  "Iteration": 152,
  "Value": 6853.571428571428,
  "Agent": "DQN"
 },
 {
  "Iteration": 153,
  "Value": 6923.214285714285,
  "Agent": "DQN"
 },
 {
  "Iteration": 154,
  "Value": 6775.290697674419,
  "Agent": "DQN"
 },
 {
  "Iteration": 155,
  "Value": 6745.114942528736,
  "Agent": "DQN"
 },
 {
  "Iteration": 156,
  "Value": 7438.888888888889,
  "Agent": "DQN"
 },
 {
  "Iteration": 157,
  "Value": 7079.21686746988,
  "Agent": "DQN"
 },
 {
  "Iteration": 158,
  "Value": 7003.313253012048,
  "Agent": "DQN"
 },
 {
  "Iteration": 159,
  "Value": 7443.037974683544,
  "Agent": "DQN"
 },
 {
  "Iteration": 160,
  "Value": 6931.764705882353,
  "Agent": "DQN"
 },
 {
  "Iteration": 161,
  "Value": 6617.613636363636,
  "Agent": "DQN"
 },
 {
  "Iteration": 162,
  "Value": 5367.523364485981,
  "Agent": "DQN"
 },
 {
  "Iteration": 163,
  "Value": 6936.046511627907,
  "Agent": "DQN"
 },
 {
  "Iteration": 164,
  "Value": 6983.928571428572,
  "Agent": "DQN"
 },
 {
  "Iteration": 165,
  "Value": 6338.586956521739,
  "Agent": "DQN"
 },
 {
  "Iteration": 166,
  "Value": 7107.831325301205,
  "Agent": "DQN"
 },
 {
  "Iteration": 167,
  "Value": 6578.651685393258,
  "Agent": "DQN"
 },
 {
  "Iteration": 168,
  "Value": 6815.116279069767,
  "Agent": "DQN"
 },
 {
  "Iteration": 169,
  "Value": 7146.385542168675,
  "Agent": "DQN"
 },
 {
  "Iteration": 170,
  "Value": 7317.682926829269,
  "Agent": "DQN"
 },
 {
  "Iteration": 171,
  "Value": 6566.29213483146,
  "Agent": "DQN"
 },
 {
  "Iteration": 172,
  "Value": 7409.259259259259,
  "Agent": "DQN"
 },
 {
  "Iteration": 173,
  "Value": 7373.765432098766,
  "Agent": "DQN"
 },
 {
  "Iteration": 174,
  "Value": 6583.516483516483,
  "Agent": "DQN"
 },
 {
  "Iteration": 175,
  "Value": 7510.185185185185,
  "Agent": "DQN"
 },
 {
  "Iteration": 176,
  "Value": 7382.8125,
  "Agent": "DQN"
 },
 {
  "Iteration": 177,
  "Value": 7613.291139240507,
  "Agent": "DQN"
 },
 {
  "Iteration": 178,
  "Value": 7509.0625,
  "Agent": "DQN"
 },
 {
  "Iteration": 179,
  "Value": 7885.576923076923,
  "Agent": "DQN"
 },
 {
  "Iteration": 180,
  "Value": 7006.395348837209,
  "Agent": "DQN"
 },
 {
  "Iteration": 181,
  "Value": 7945.394736842105,
  "Agent": "DQN"
 },
 {
  "Iteration": 182,
  "Value": 7000.872093023256,
  "Agent": "DQN"
 },
 {
  "Iteration": 183,
  "Value": 6985.46511627907,
  "Agent": "DQN"
 },
 {
  "Iteration": 184,
  "Value": 6879.360465116279,
  "Agent": "DQN"
 },
 {
  "Iteration": 185,
  "Value": 7761.363636363636,
  "Agent": "DQN"
 },
 {
  "Iteration": 186,
  "Value": 6824.712643678161,
  "Agent": "DQN"
 },
 {
  "Iteration": 187,
  "Value": 7415.123456790124,
  "Agent": "DQN"
 },
 {
  "Iteration": 188,
  "Value": 7414.197530864198,
  "Agent": "DQN"
 },
 {
  "Iteration": 189,
  "Value": 6981.176470588235,
  "Agent": "DQN"
 },
 {
  "Iteration": 190,
  "Value": 7147.321428571428,
  "Agent": "DQN"
 },
 {
  "Iteration": 191,
  "Value": 6946.220930232558,
  "Agent": "DQN"
 },
 {
  "Iteration": 192,
  "Value": 7029.360465116279,
  "Agent": "DQN"
 },
 {
  "Iteration": 193,
  "Value": 7782.371794871795,
  "Agent": "DQN"
 },
 {
  "Iteration": 194,
  "Value": 7576.5822784810125,
  "Agent": "DQN"
 },
 {
  "Iteration": 195,
  "Value": 7669.0625,
  "Agent": "DQN"
 },
 {
  "Iteration": 196,
  "Value": 6881.25,
  "Agent": "DQN"
 },
 {
  "Iteration": 197,
  "Value": 7101.470588235294,
  "Agent": "DQN"
 },
 {
  "Iteration": 198,
  "Value": 7472.151898734177,
  "Agent": "DQN"
 },
 {
  "Iteration": 0,
  "Value": 541.0901467505241,
  "Agent": "DQN"
 },
 {
  "Iteration": 1,
  "Value": 383.7193460490463,
  "Agent": "DQN"
 },
 {
  "Iteration": 2,
  "Value": 744.2839195979899,
  "Agent": "DQN"
 },
 {
  "Iteration": 3,
  "Value": 1232.98755186722,
  "Agent": "DQN"
 },
 {
  "Iteration": 4,
  "Value": 1393.4444444444443,
  "Agent": "DQN"
 },
 {
  "Iteration": 5,
  "Value": 2182.2847682119204,
  "Agent": "DQN"
 },
 {
  "Iteration": 6,
  "Value": 1814.2287234042553,
  "Agent": "DQN"
 },
 {
  "Iteration": 7,
  "Value": 1728.0,
  "Agent": "DQN"
 },
 {
  "Iteration": 8,
  "Value": 2076.017441860465,
  "Agent": "DQN"
 },
 {
  "Iteration": 9,
  "Value": 1787.2596153846155,
  "Agent": "DQN"
 },
 {
  "Iteration": 10,
  "Value": 1919.047619047619,
  "Agent": "DQN"
 },
 {
  "Iteration": 11,
  "Value": 1945.1315789473683,
  "Agent": "DQN"
 },
 {
  "Iteration": 12,
  "Value": 2317.121212121212,
  "Agent": "DQN"
 },
 {
  "Iteration": 13,
  "Value": 2292.5149700598804,
  "Agent": "DQN"
 },
 {
  "Iteration": 14,
  "Value": 2091.3978494623657,
  "Agent": "DQN"
 },
 {
  "Iteration": 15,
  "Value": 2525.1633986928105,
  "Agent": "DQN"
 },
 {
  "Iteration": 16,
  "Value": 2492.9936305732485,
  "Agent": "DQN"
 },
 {
  "Iteration": 17,
  "Value": 2079.0760869565215,
  "Agent": "DQN"
 },
 {
  "Iteration": 18,
  "Value": 2367.6100628930817,
  "Agent": "DQN"
 },
 {
  "Iteration": 19,
  "Value": 3102.2727272727275,
  "Agent": "DQN"
 },
 {
  "Iteration": 20,
  "Value": 3225.378787878788,
  "Agent": "DQN"
 },
 {
  "Iteration": 21,
  "Value": 3333.653846153846,
  "Agent": "DQN"
 },
 {
  "Iteration": 22,
  "Value": 3376.171875,
  "Agent": "DQN"
 },
 {
  "Iteration": 23,
  "Value": 3786.1111111111113,
  "Agent": "DQN"
 },
 {
  "Iteration": 24,
  "Value": 4156.25,
  "Agent": "DQN"
 },
 {
  "Iteration": 25,
  "Value": 4109.579439252337,
  "Agent": "DQN"
 },
 {
  "Iteration": 26,
  "Value": 4067.2566371681414,
  "Agent": "DQN"
 },
 {
  "Iteration": 27,
  "Value": 4489.903846153846,
  "Agent": "DQN"
 },
 {
  "Iteration": 28,
  "Value": 4329.772727272727,
  "Agent": "DQN"
 },
 {
  "Iteration": 29,
  "Value": 4354.439252336449,
  "Agent": "DQN"
 },
 {
  "Iteration": 30,
  "Value": 4288.073394495413,
  "Agent": "DQN"
 },
 {
  "Iteration": 31,
  "Value": 4907.908163265306,
  "Agent": "DQN"
 },
 {
  "Iteration": 32,
  "Value": 5204.210526315789,
  "Agent": "DQN"
 },
 {
  "Iteration": 33,
  "Value": 4612.857142857143,
  "Agent": "DQN"
 },
 {
  "Iteration": 34,
  "Value": 4734.375,
  "Agent": "DQN"
 },
 {
  "Iteration": 35,
  "Value": 5295.923913043478,
  "Agent": "DQN"
 },
 {
  "Iteration": 36,
  "Value": 5172.422680412371,
  "Agent": "DQN"
 },
 {
  "Iteration": 37,
  "Value": 5088.010204081633,
  "Agent": "DQN"
 },
 {
  "Iteration": 38,
  "Value": 4773.0952380952385,
  "Agent": "DQN"
 },
 {
  "Iteration": 39,
  "Value": 4917.401960784314,
  "Agent": "DQN"
 },
 {
  "Iteration": 40,
  "Value": 4774.047619047619,
  "Agent": "DQN"
 },
 {
  "Iteration": 41,
  "Value": 5389.627659574468,
  "Agent": "DQN"
 },
 {
  "Iteration": 42,
  "Value": 4934.158415841584,
  "Agent": "DQN"
 },
 {
  "Iteration": 43,
  "Value": 5094.75,
  "Agent": "DQN"
 },
 {
  "Iteration": 44,
  "Value": 5961.079545454545,
  "Agent": "DQN"
 },
 {
  "Iteration": 45,
  "Value": 5229.381443298969,
  "Agent": "DQN"
 },
 {
  "Iteration": 46,
  "Value": 5286.0526315789475,
  "Agent": "DQN"
 },
 {
  "Iteration": 47,
  "Value": 5771.111111111111,
  "Agent": "DQN"
 },
 {
  "Iteration": 48,
  "Value": 5214.7959183673465,
  "Agent": "DQN"
 },
 {
  "Iteration": 49,
  "Value": 5190.20618556701,
  "Agent": "DQN"
 },
 {
  "Iteration": 50,
  "Value": 4896.601941747573,
  "Agent": "DQN"
 },
 {
  "Iteration": 51,
  "Value": 5401.075268817204,
  "Agent": "DQN"
 },
 {
  "Iteration": 52,
  "Value": 5017.156862745098,
  "Agent": "DQN"
 },
 {
  "Iteration": 53,
  "Value": 5666.576086956522,
  "Agent": "DQN"
 },
 {
  "Iteration": 54,
  "Value": 6316.470588235294,
  "Agent": "DQN"
 },
 {
  "Iteration": 55,
  "Value": 5950.833333333333,
  "Agent": "DQN"
 },
 {
  "Iteration": 56,
  "Value": 6016.477272727273,
  "Agent": "DQN"
 },
 {
  "Iteration": 57,
  "Value": 5751.358695652174,
  "Agent": "DQN"
 },
 {
  "Iteration": 58,
  "Value": 6405.6547619047615,
  "Agent": "DQN"
 },
 {
  "Iteration": 59,
  "Value": 5515.625,
  "Agent": "DQN"
 },
 {
  "Iteration": 60,
  "Value": 6254.941860465116,
  "Agent": "DQN"
 },
 {
  "Iteration": 61,
  "Value": 6087.078651685393,
  "Agent": "DQN"
 },
 {
  "Iteration": 62,
  "Value": 6322.96511627907,
  "Agent": "DQN"
 },
 {
  "Iteration": 63,
  "Value": 5661.315789473684,
  "Agent": "DQN"
 },
 {
  "Iteration": 64,
  "Value": 5799.450549450549,
  "Agent": "DQN"
 },
 {
  "Iteration": 65,
  "Value": 6165.340909090909,
  "Agent": "DQN"
 },
 {
  "Iteration": 66,
  "Value": 5645.0,
  "Agent": "DQN"
 },
 {
  "Iteration": 67,
  "Value": 6277.03488372093,
  "Agent": "DQN"
 },
 {
  "Iteration": 68,
  "Value": 5304.207920792079,
  "Agent": "DQN"
 },
 {
  "Iteration": 69,
  "Value": 6080.113636363636,
  "Agent": "DQN"
 },
 {
  "Iteration": 70,
  "Value": 6301.149425287356,
  "Agent": "DQN"
 },
 {
  "Iteration": 71,
  "Value": 6812.6543209876545,
  "Agent": "DQN"
 },
 {
  "Iteration": 72,
  "Value": 6687.650602409639,
  "Agent": "DQN"
 },
 {
  "Iteration": 73,
  "Value": 6335.3448275862065,
  "Agent": "DQN"
 },
 {
  "Iteration": 74,
  "Value": 6284.943181818182,
  "Agent": "DQN"
 },
 {
  "Iteration": 75,
  "Value": 6137.078651685393,
  "Agent": "DQN"
 },
 {
  "Iteration": 76,
  "Value": 6749.698795180723,
  "Agent": "DQN"
 },
 {
  "Iteration": 77,
  "Value": 6245.738636363636,
  "Agent": "DQN"
 },
 {
  "Iteration": 78,
  "Value": 6544.940476190476,
  "Agent": "DQN"
 },
 {
  "Iteration": 79,
  "Value": 6881.5625,
  "Agent": "DQN"
 },
 {
  "Iteration": 80,
  "Value": 6219.2307692307695,
  "Agent": "DQN"
 },
 {
  "Iteration": 81,
  "Value": 6720.180722891566,
  "Agent": "DQN"
 },
 {
  "Iteration": 82,
  "Value": 6289.942528735633,
  "Agent": "DQN"
 },
 {
  "Iteration": 83,
  "Value": 6794.135802469136,
  "Agent": "DQN"
 },
 {
  "Iteration": 84,
  "Value": 6411.337209302325,
  "Agent": "DQN"
 },
 {
  "Iteration": 85,
  "Value": 6164.772727272727,
  "Agent": "DQN"
 },
 {
  "Iteration": 86,
  "Value": 6235.3448275862065,
  "Agent": "DQN"
 },
 {
  "Iteration": 87,
  "Value": 6117.582417582417,
  "Agent": "DQN"
 },
 {
  "Iteration": 88,
  "Value": 6784.821428571428,
  "Agent": "DQN"
 },
 {
  "Iteration": 89,
  "Value": 7409.74025974026,
  "Agent": "DQN"
 },
 {
  "Iteration": 90,
  "Value": 6935.843373493976,
  "Agent": "DQN"
 },
 {
  "Iteration": 91,
  "Value": 7474.671052631579,
  "Agent": "DQN"
 },
 {
  "Iteration": 92,
  "Value": 7507.236842105263,
  "Agent": "DQN"
 },
 {
  "Iteration": 93,
  "Value": 6663.988095238095,
  "Agent": "DQN"
 },
 {
  "Iteration": 94,
  "Value": 6428.735632183908,
  "Agent": "DQN"
 },
 {
  "Iteration": 95,
  "Value": 6623.546511627907,
  "Agent": "DQN"
 },
 {
  "Iteration": 96,
  "Value": 7213.607594936709,
  "Agent": "DQN"
 },
 {
  "Iteration": 97,
  "Value": 6943.20987654321,
  "Agent": "DQN"
 },
 {
  "Iteration": 98,
  "Value": 6747.023809523809,
  "Agent": "DQN"
 },
 {
  "Iteration": 99,
  "Value": 7616.0,
  "Agent": "DQN"
 },
 {
  "Iteration": 100,
  "Value": 6634.705882352941,
  "Agent": "DQN"
 },
 {
  "Iteration": 101,
  "Value": 6282.777777777777,
  "Agent": "DQN"
 },
 {
  "Iteration": 102,
  "Value": 6322.443181818182,
  "Agent": "DQN"
 },
 {
  "Iteration": 103,
  "Value": 6594.540229885058,
  "Agent": "DQN"
 },
 {
  "Iteration": 104,
  "Value": 7863.513513513513,
  "Agent": "DQN"
 },
 {
  "Iteration": 105,
  "Value": 6954.268292682927,
  "Agent": "DQN"
 },
 {
  "Iteration": 106,
  "Value": 6462.068965517241,
  "Agent": "DQN"
 },
 {
  "Iteration": 107,
  "Value": 6479.360465116279,
  "Agent": "DQN"
 },
 {
  "Iteration": 108,
  "Value": 6861.280487804878,
  "Agent": "DQN"
 },
 {
  "Iteration": 109,
  "Value": 6280.494505494506,
  "Agent": "DQN"
 },
 {
  "Iteration": 110,
  "Value": 6809.883720930233,
  "Agent": "DQN"
 },
 {
  "Iteration": 111,
  "Value": 7661.8421052631575,
  "Agent": "DQN"
 },
 {
  "Iteration": 112,
  "Value": 5780.670103092783,
  "Agent": "DQN"
 },
 {
  "Iteration": 113,
  "Value": 6382.8488372093025,
  "Agent": "DQN"
 },
 {
  "Iteration": 114,
  "Value": 6605.813953488372,
  "Agent": "DQN"
 },
 {
  "Iteration": 115,
  "Value": 6805.059523809524,
  "Agent": "DQN"
 },
 {
  "Iteration": 116,
  "Value": 7187.037037037037,
  "Agent": "DQN"
 },
 {
  "Iteration": 117,
  "Value": 7080.182926829269,
  "Agent": "DQN"
 },
 {
  "Iteration": 118,
  "Value": 7143.827160493827,
  "Agent": "DQN"
 },
 {
  "Iteration": 119,
  "Value": 7059.876543209876,
  "Agent": "DQN"
 },
 {
  "Iteration": 120,
  "Value": 6671.470588235294,
  "Agent": "DQN"
 },
 {
  "Iteration": 121,
  "Value": 6853.571428571428,
  "Agent": "DQN"
 },
 {
  "Iteration": 122,
  "Value": 7247.46835443038,
  "Agent": "DQN"
 },
 {
  "Iteration": 123,
  "Value": 7161.419753086419,
  "Agent": "DQN"
 },
 {
  "Iteration": 124,
  "Value": 7222.83950617284,
  "Agent": "DQN"
 },
 {
  "Iteration": 125,
  "Value": 6906.547619047619,
  "Agent": "DQN"
 },
 {
  "Iteration": 126,
  "Value": 6869.940476190476,
  "Agent": "DQN"
 },
 {
  "Iteration": 127,
  "Value": 7287.3456790123455,
  "Agent": "DQN"
 },
 {
  "Iteration": 128,
  "Value": 6946.130952380952,
  "Agent": "DQN"
 },
 {
  "Iteration": 129,
  "Value": 6961.309523809524,
  "Agent": "DQN"
 },
 {
  "Iteration": 130,
  "Value": 7582.792207792208,
  "Agent": "DQN"
 },
 {
  "Iteration": 131,
  "Value": 7419.551282051282,
  "Agent": "DQN"
 },
 {
  "Iteration": 132,
  "Value": 7641.98717948718,
  "Agent": "DQN"
 },
 {
  "Iteration": 133,
  "Value": 7533.441558441558,
  "Agent": "DQN"
 },
 {
  "Iteration": 134,
  "Value": 6848.511904761905,
  "Agent": "DQN"
 },
 {
  "Iteration": 135,
  "Value": 7637.828947368421,
  "Agent": "DQN"
 },
 {
  "Iteration": 136,
  "Value": 6825.0,
  "Agent": "DQN"
 },
 {
  "Iteration": 137,
  "Value": 7135.975609756098,
  "Agent": "DQN"
 },
 {
  "Iteration": 138,
  "Value": 7381.962025316456,
  "Agent": "DQN"
 },
 {
  "Iteration": 139,
  "Value": 7006.470588235294,
  "Agent": "DQN"
 },
 {
  "Iteration": 140,
  "Value": 6613.068181818182,
  "Agent": "DQN"
 },
 {
  "Iteration": 141,
  "Value": 6965.773809523809,
  "Agent": "DQN"
 },
 {
  "Iteration": 142,
  "Value": 6704.022988505747,
  "Agent": "DQN"
 },
 {
  "Iteration": 143,
  "Value": 6747.96511627907,
  "Agent": "DQN"
 },
 {
  "Iteration": 144,
  "Value": 6785.119047619048,
  "Agent": "DQN"
 },
 {
  "Iteration": 145,
  "Value": 6584.375,
  "Agent": "DQN"
 },
 {
  "Iteration": 146,
  "Value": 6441.29213483146,
  "Agent": "DQN"
 },
 {
  "Iteration": 147,
  "Value": 6961.011904761905,
  "Agent": "DQN"
 },
 {
  "Iteration": 148,
  "Value": 6303.571428571428,
  "Agent": "DQN"
 },
 {
  "Iteration": 149,
  "Value": 7298.75,
  "Agent": "DQN"
 },
 {
  "Iteration": 150,
  "Value": 7007.142857142857,
  "Agent": "DQN"
 },
 {
  "Iteration": 151,
  "Value": 7632.692307692308,
  "Agent": "DQN"
 },
 {
  "Iteration": 152,
  "Value": 7465.3125,
  "Agent": "DQN"
 },
 {
  "Iteration": 153,
  "Value": 6735.919540229885,
  "Agent": "DQN"
 },
 {
  "Iteration": 154,
  "Value": 6452.197802197802,
  "Agent": "DQN"
 },
 {
  "Iteration": 155,
  "Value": 7336.25,
  "Agent": "DQN"
 },
 {
  "Iteration": 156,
  "Value": 6374.462365591397,
  "Agent": "DQN"
 },
 {
  "Iteration": 157,
  "Value": 6559.444444444444,
  "Agent": "DQN"
 },
 {
  "Iteration": 158,
  "Value": 6648.850574712644,
  "Agent": "DQN"
 },
 {
  "Iteration": 159,
  "Value": 6580.681818181818,
  "Agent": "DQN"
 },
 {
  "Iteration": 160,
  "Value": 6908.928571428572,
  "Agent": "DQN"
 },
 {
  "Iteration": 161,
  "Value": 6867.64705882353,
  "Agent": "DQN"
 },
 {
  "Iteration": 162,
  "Value": 7201.543209876543,
  "Agent": "DQN"
 },
 {
  "Iteration": 163,
  "Value": 7634.74025974026,
  "Agent": "DQN"
 },
 {
  "Iteration": 164,
  "Value": 6411.111111111111,
  "Agent": "DQN"
 },
 {
  "Iteration": 165,
  "Value": 7214.506172839506,
  "Agent": "DQN"
 },
 {
  "Iteration": 166,
  "Value": 7390.9375,
  "Agent": "DQN"
 },
 {
  "Iteration": 167,
  "Value": 6516.388888888889,
  "Agent": "DQN"
 },
 {
  "Iteration": 168,
  "Value": 6797.413793103448,
  "Agent": "DQN"
 },
 {
  "Iteration": 169,
  "Value": 7351.851851851852,
  "Agent": "DQN"
 },
 {
  "Iteration": 170,
  "Value": 6944.186046511628,
  "Agent": "DQN"
 },
 {
  "Iteration": 171,
  "Value": 6158.602150537635,
  "Agent": "DQN"
 },
 {
  "Iteration": 172,
  "Value": 6750.0,
  "Agent": "DQN"
 },
 {
  "Iteration": 173,
  "Value": 7169.817073170731,
  "Agent": "DQN"
 },
 {
  "Iteration": 174,
  "Value": 7789.935064935065,
  "Agent": "DQN"
 },
 {
  "Iteration": 175,
  "Value": 5957.98969072165,
  "Agent": "DQN"
 },
 {
  "Iteration": 176,
  "Value": 5969.642857142857,
  "Agent": "DQN"
 },
 {
  "Iteration": 177,
  "Value": 7077.409638554217,
  "Agent": "DQN"
 },
 {
  "Iteration": 178,
  "Value": 7109.523809523809,
  "Agent": "DQN"
 },
 {
  "Iteration": 179,
  "Value": 6281.720430107527,
  "Agent": "DQN"
 },
 {
  "Iteration": 180,
  "Value": 6759.770114942528,
  "Agent": "DQN"
 },
 {
  "Iteration": 181,
  "Value": 6934.883720930233,
  "Agent": "DQN"
 },
 {
  "Iteration": 182,
  "Value": 7111.746987951808,
  "Agent": "DQN"
 },
 {
  "Iteration": 183,
  "Value": 7047.321428571428,
  "Agent": "DQN"
 },
 {
  "Iteration": 184,
  "Value": 7561.858974358975,
  "Agent": "DQN"
 },
 {
  "Iteration": 185,
  "Value": 7192.378048780488,
  "Agent": "DQN"
 },
 {
  "Iteration": 186,
  "Value": 7699.675324675325,
  "Agent": "DQN"
 },
 {
  "Iteration": 187,
  "Value": 7033.433734939759,
  "Agent": "DQN"
 },
 {
  "Iteration": 188,
  "Value": 7116.470588235294,
  "Agent": "DQN"
 },
 {
  "Iteration": 189,
  "Value": 7143.292682926829,
  "Agent": "DQN"
 },
 {
  "Iteration": 190,
  "Value": 7003.571428571428,
  "Agent": "DQN"
 },
 {
  "Iteration": 191,
  "Value": 7462.179487179487,
  "Agent": "DQN"
 },
 {
  "Iteration": 192,
  "Value": 7571.518987341772,
  "Agent": "DQN"
 },
 {
  "Iteration": 193,
  "Value": 6942.941176470588,
  "Agent": "DQN"
 },
 {
  "Iteration": 194,
  "Value": 6738.218390804598,
  "Agent": "DQN"
 },
 {
  "Iteration": 195,
  "Value": 7486.25,
  "Agent": "DQN"
 },
 {
  "Iteration": 196,
  "Value": 7756.493506493506,
  "Agent": "DQN"
 },
 {
  "Iteration": 197,
  "Value": 7641.346153846154,
  "Agent": "DQN"
 },
 {
  "Iteration": 198,
  "Value": 7653.481012658228,
  "Agent": "DQN"
 },
 {
  "Iteration": 0,
  "Value": 474.2633517495396,
  "Agent": "C51"
 },
 {
  "Iteration": 1,
  "Value": 402.906050955414,
  "Agent": "C51"
 },
 {
  "Iteration": 2,
  "Value": 800.9312320916905,
  "Agent": "C51"
 },
 {
  "Iteration": 3,
  "Value": 963.6363636363636,
  "Agent": "C51"
 },
 {
  "Iteration": 4,
  "Value": 1672.7393617021276,
  "Agent": "C51"
 },
 {
  "Iteration": 5,
  "Value": 2079.705882352941,
  "Agent": "C51"
 },
 {
  "Iteration": 6,
  "Value": 1936.9736842105262,
  "Agent": "C51"
 },
 {
  "Iteration": 7,
  "Value": 1963.60103626943,
  "Agent": "C51"
 },
 {
  "Iteration": 8,
  "Value": 2554.4701986754967,
  "Agent": "C51"
 },
 {
  "Iteration": 9,
  "Value": 2911.1111111111113,
  "Agent": "C51"
 },
 {
  "Iteration": 10,
  "Value": 2631.587837837838,
  "Agent": "C51"
 },
 {
  "Iteration": 11,
  "Value": 2602.6898734177216,
  "Agent": "C51"
 },
 {
  "Iteration": 12,
  "Value": 3122.3880597014927,
  "Agent": "C51"
 },
 {
  "Iteration": 13,
  "Value": 2925.8928571428573,
  "Agent": "C51"
 },
 {
  "Iteration": 14,
  "Value": 2859.3537414965986,
  "Agent": "C51"
 },
 {
  "Iteration": 15,
  "Value": 3470.8,
  "Agent": "C51"
 },
 {
  "Iteration": 16,
  "Value": 4430.75,
  "Agent": "C51"
 },
 {
  "Iteration": 17,
  "Value": 4072.9545454545455,
  "Agent": "C51"
 },
 {
  "Iteration": 18,
  "Value": 3596.1693548387098,
  "Agent": "C51"
 },
 {
  "Iteration": 19,
  "Value": 4879.639175257732,
  "Agent": "C51"
 },
 {
  "Iteration": 20,
  "Value": 4482.142857142857,
  "Agent": "C51"
 },
 {
  "Iteration": 21,
  "Value": 5324.725274725275,
  "Agent": "C51"
 },
 {
  "Iteration": 22,
  "Value": 5425.274725274725,
  "Agent": "C51"
 },
 {
  "Iteration": 23,
  "Value": 5499.166666666667,
  "Agent": "C51"
 },
 {
  "Iteration": 24,
  "Value": 5391.755319148936,
  "Agent": "C51"
 },
 {
  "Iteration": 25,
  "Value": 5406.25,
  "Agent": "C51"
 },
 {
  "Iteration": 26,
  "Value": 5731.318681318681,
  "Agent": "C51"
 },
 {
  "Iteration": 27,
  "Value": 6379.268292682927,
  "Agent": "C51"
 },
 {
  "Iteration": 28,
  "Value": 5323.9795918367345,
  "Agent": "C51"
 },
 {
  "Iteration": 29,
  "Value": 6074.431818181818,
  "Agent": "C51"
 },
 {
  "Iteration": 30,
  "Value": 6385.843373493976,
  "Agent": "C51"
 },
 {
  "Iteration": 31,
  "Value": 5680.376344086021,
  "Agent": "C51"
 },
 {
  "Iteration": 32,
  "Value": 6346.511627906977,
  "Agent": "C51"
 },
 {
  "Iteration": 33,
  "Value": 6714.197530864198,
  "Agent": "C51"
 },
 {
  "Iteration": 34,
  "Value": 6709.1463414634145,
  "Agent": "C51"
 },
 {
  "Iteration": 35,
  "Value": 6656.470588235294,
  "Agent": "C51"
 },
 {
  "Iteration": 36,
  "Value": 6458.430232558139,
  "Agent": "C51"
 },
 {
  "Iteration": 37,
  "Value": 6492.35294117647,
  "Agent": "C51"
 },
 {
  "Iteration": 38,
  "Value": 7546.0526315789475,
  "Agent": "C51"
 },
 {
  "Iteration": 39,
  "Value": 6355.337078651685,
  "Agent": "C51"
 },
 {
  "Iteration": 40,
  "Value": 6679.518072289156,
  "Agent": "C51"
 },
 {
  "Iteration": 41,
  "Value": 6824.695121951219,
  "Agent": "C51"
 },
 {
  "Iteration": 42,
  "Value": 7015.740740740741,
  "Agent": "C51"
 },
 {
  "Iteration": 43,
  "Value": 7395.779220779221,
  "Agent": "C51"
 },
 {
  "Iteration": 44,
  "Value": 8786.742424242424,
  "Agent": "C51"
 },
 {
  "Iteration": 45,
  "Value": 7270.569620253164,
  "Agent": "C51"
 },
 {
  "Iteration": 46,
  "Value": 7567.434210526316,
  "Agent": "C51"
 },
 {
  "Iteration": 47,
  "Value": 6611.079545454545,
  "Agent": "C51"
 },
 {
  "Iteration": 48,
  "Value": 6913.0952380952385,
  "Agent": "C51"
 },
 {
  "Iteration": 49,
  "Value": 7796.959459459459,
  "Agent": "C51"
 },
 {
  "Iteration": 50,
  "Value": 6730.588235294118,
  "Agent": "C51"
 },
 {
  "Iteration": 51,
  "Value": 7687.012987012987,
  "Agent": "C51"
 },
 {
  "Iteration": 52,
  "Value": 7918.243243243243,
  "Agent": "C51"
 },
 {
  "Iteration": 53,
  "Value": 7863.1578947368425,
  "Agent": "C51"
 },
 {
  "Iteration": 54,
  "Value": 7297.222222222223,
  "Agent": "C51"
 },
 {
  "Iteration": 55,
  "Value": 6917.941176470588,
  "Agent": "C51"
 },
 {
  "Iteration": 56,
  "Value": 7139.024390243902,
  "Agent": "C51"
 },
 {
  "Iteration": 57,
  "Value": 7034.638554216867,
  "Agent": "C51"
 },
 {
  "Iteration": 58,
  "Value": 7480.128205128205,
  "Agent": "C51"
 },
 {
  "Iteration": 59,
  "Value": 8581.07142857143,
  "Agent": "C51"
 },
 {
  "Iteration": 60,
  "Value": 7744.078947368421,
  "Agent": "C51"
 },
 {
  "Iteration": 61,
  "Value": 7892.105263157895,
  "Agent": "C51"
 },
 {
  "Iteration": 62,
  "Value": 7655.448717948718,
  "Agent": "C51"
 },
 {
  "Iteration": 63,
  "Value": 8039.527027027027,
  "Agent": "C51"
 },
 {
  "Iteration": 64,
  "Value": 8129.666666666667,
  "Agent": "C51"
 },
 {
  "Iteration": 65,
  "Value": 7884.090909090909,
  "Agent": "C51"
 },
 {
  "Iteration": 66,
  "Value": 8355.555555555555,
  "Agent": "C51"
 },
 {
  "Iteration": 67,
  "Value": 8247.260273972603,
  "Agent": "C51"
 },
 {
  "Iteration": 68,
  "Value": 8142.22972972973,
  "Agent": "C51"
 },
 {
  "Iteration": 69,
  "Value": 8050.3378378378375,
  "Agent": "C51"
 },
 {
  "Iteration": 70,
  "Value": 8395.070422535211,
  "Agent": "C51"
 },
 {
  "Iteration": 71,
  "Value": 8294.594594594595,
  "Agent": "C51"
 },
 {
  "Iteration": 72,
  "Value": 8094.86301369863,
  "Agent": "C51"
 },
 {
  "Iteration": 73,
  "Value": 7545.2531645569625,
  "Agent": "C51"
 },
 {
  "Iteration": 74,
  "Value": 8331.756756756757,
  "Agent": "C51"
 },
 {
  "Iteration": 75,
  "Value": 8656.785714285714,
  "Agent": "C51"
 },
 {
  "Iteration": 76,
  "Value": 8201.027397260274,
  "Agent": "C51"
 },
 {
  "Iteration": 77,
  "Value": 8298.611111111111,
  "Agent": "C51"
 },
 {
  "Iteration": 78,
  "Value": 8299.315068493152,
  "Agent": "C51"
 },
 {
  "Iteration": 79,
  "Value": 7984.666666666667,
  "Agent": "C51"
 },
 {
  "Iteration": 80,
  "Value": 8187.328767123287,
  "Agent": "C51"
 },
 {
  "Iteration": 81,
  "Value": 7853.289473684211,
  "Agent": "C51"
 },
 {
  "Iteration": 82,
  "Value": 8079.0,
  "Agent": "C51"
 },
 {
  "Iteration": 83,
  "Value": 7697.402597402597,
  "Agent": "C51"
 },
 {
  "Iteration": 84,
  "Value": 8480.985915492958,
  "Agent": "C51"
 },
 {
  "Iteration": 85,
  "Value": 7491.772151898735,
  "Agent": "C51"
 },
 {
  "Iteration": 86,
  "Value": 8123.648648648648,
  "Agent": "C51"
 },
 {
  "Iteration": 87,
  "Value": 7909.333333333333,
  "Agent": "C51"
 },
 {
  "Iteration": 88,
  "Value": 8186.486486486487,
  "Agent": "C51"
 },
 {
  "Iteration": 89,
  "Value": 6781.896551724138,
  "Agent": "C51"
 },
 {
  "Iteration": 90,
  "Value": 7527.8125,
  "Agent": "C51"
 },
 {
  "Iteration": 91,
  "Value": 7713.311688311688,
  "Agent": "C51"
 },
 {
  "Iteration": 92,
  "Value": 8887.5,
  "Agent": "C51"
 },
 {
  "Iteration": 93,
  "Value": 8110.810810810811,
  "Agent": "C51"
 },
 {
  "Iteration": 94,
  "Value": 8065.878378378378,
  "Agent": "C51"
 },
 {
  "Iteration": 95,
  "Value": 8021.666666666667,
  "Agent": "C51"
 },
 {
  "Iteration": 96,
  "Value": 7608.653846153846,
  "Agent": "C51"
 },
 {
  "Iteration": 97,
  "Value": 8157.77027027027,
  "Agent": "C51"
 },
 {
  "Iteration": 98,
  "Value": 8050.666666666667,
  "Agent": "C51"
 },
 {
  "Iteration": 99,
  "Value": 7550.649350649351,
  "Agent": "C51"
 },
 {
  "Iteration": 100,
  "Value": 8354.577464788732,
  "Agent": "C51"
 },
 {
  "Iteration": 101,
  "Value": 7472.784810126583,
  "Agent": "C51"
 },
 {
  "Iteration": 102,
  "Value": 7193.59756097561,
  "Agent": "C51"
 },
 {
  "Iteration": 103,
  "Value": 8276.369863013699,
  "Agent": "C51"
 },
 {
  "Iteration": 104,
  "Value": 6804.597701149425,
  "Agent": "C51"
 },
 {
  "Iteration": 105,
  "Value": 7378.125,
  "Agent": "C51"
 },
 {
  "Iteration": 106,
  "Value": 6970.0,
  "Agent": "C51"
 },
 {
  "Iteration": 107,
  "Value": 8350.0,
  "Agent": "C51"
 },
 {
  "Iteration": 108,
  "Value": 8045.890410958904,
  "Agent": "C51"
 },
 {
  "Iteration": 109,
  "Value": 7557.911392405063,
  "Agent": "C51"
 },
 {
  "Iteration": 110,
  "Value": 7125.0,
  "Agent": "C51"
 },
 {
  "Iteration": 111,
  "Value": 6779.411764705882,
  "Agent": "C51"
 },
 {
  "Iteration": 112,
  "Value": 7517.1875,
  "Agent": "C51"
 },
 {
  "Iteration": 113,
  "Value": 6011.578947368421,
  "Agent": "C51"
 },
 {
  "Iteration": 114,
  "Value": 7511.217948717948,
  "Agent": "C51"
 },
 {
  "Iteration": 115,
  "Value": 8106.418918918919,
  "Agent": "C51"
 },
 {
  "Iteration": 116,
  "Value": 7316.5625,
  "Agent": "C51"
 },
 {
  "Iteration": 117,
  "Value": 7189.814814814815,
  "Agent": "C51"
 },
 {
  "Iteration": 118,
  "Value": 7109.821428571428,
  "Agent": "C51"
 },
 {
  "Iteration": 119,
  "Value": 7357.098765432099,
  "Agent": "C51"
 },
 {
  "Iteration": 120,
  "Value": 7575.0,
  "Agent": "C51"
 },
 {
  "Iteration": 121,
  "Value": 7727.24358974359,
  "Agent": "C51"
 },
 {
  "Iteration": 122,
  "Value": 8649.285714285714,
  "Agent": "C51"
 },
 {
  "Iteration": 123,
  "Value": 8356.418918918918,
  "Agent": "C51"
 },
 {
  "Iteration": 124,
  "Value": 7218.59756097561,
  "Agent": "C51"
 },
 {
  "Iteration": 125,
  "Value": 7156.626506024097,
  "Agent": "C51"
 },
 {
  "Iteration": 126,
  "Value": 9119.776119402984,
  "Agent": "C51"
 },
 {
  "Iteration": 127,
  "Value": 7553.481012658228,
  "Agent": "C51"
 },
 {
  "Iteration": 128,
  "Value": 7067.168674698795,
  "Agent": "C51"
 },
 {
  "Iteration": 129,
  "Value": 7285.0,
  "Agent": "C51"
 },
 {
  "Iteration": 130,
  "Value": 8205.13698630137,
  "Agent": "C51"
 },
 {
  "Iteration": 131,
  "Value": 8332.74647887324,
  "Agent": "C51"
 },
 {
  "Iteration": 132,
  "Value": 8232.534246575342,
  "Agent": "C51"
 },
 {
  "Iteration": 133,
  "Value": 8557.042253521127,
  "Agent": "C51"
 },
 {
  "Iteration": 134,
  "Value": 7794.480519480519,
  "Agent": "C51"
 },
 {
  "Iteration": 135,
  "Value": 7444.0625,
  "Agent": "C51"
 },
 {
  "Iteration": 136,
  "Value": 7633.974358974359,
  "Agent": "C51"
 },
 {
  "Iteration": 137,
  "Value": 7948.666666666667,
  "Agent": "C51"
 },
 {
  "Iteration": 138,
  "Value": 8029.054054054054,
  "Agent": "C51"
 },
 {
  "Iteration": 139,
  "Value": 8338.541666666666,
  "Agent": "C51"
 },
 {
  "Iteration": 140,
  "Value": 8306.597222222223,
  "Agent": "C51"
 },
 {
  "Iteration": 141,
  "Value": 8747.463768115942,
  "Agent": "C51"
 },
 {
  "Iteration": 142,
  "Value": 8435.915492957747,
  "Agent": "C51"
 },
 {
  "Iteration": 143,
  "Value": 8107.333333333333,
  "Agent": "C51"
 },
 {
  "Iteration": 144,
  "Value": 7513.125,
  "Agent": "C51"
 },
 {
  "Iteration": 145,
  "Value": 7951.315789473684,
  "Agent": "C51"
 },
 {
  "Iteration": 146,
  "Value": 9606.25,
  "Agent": "C51"
 },
 {
  "Iteration": 147,
  "Value": 8276.388888888889,
  "Agent": "C51"
 },
 {
  "Iteration": 148,
  "Value": 8686.231884057972,
  "Agent": "C51"
 },
 {
  "Iteration": 149,
  "Value": 9196.59090909091,
  "Agent": "C51"
 },
 {
  "Iteration": 150,
  "Value": 9456.923076923076,
  "Agent": "C51"
 },
 {
  "Iteration": 151,
  "Value": 7945.065789473684,
  "Agent": "C51"
 },
 {
  "Iteration": 152,
  "Value": 7879.545454545455,
  "Agent": "C51"
 },
 {
  "Iteration": 153,
  "Value": 8992.857142857143,
  "Agent": "C51"
 },
 {
  "Iteration": 154,
  "Value": 9513.257575757576,
  "Agent": "C51"
 },
 {
  "Iteration": 155,
  "Value": 9188.60294117647,
  "Agent": "C51"
 },
 {
  "Iteration": 156,
  "Value": 8663.38028169014,
  "Agent": "C51"
 },
 {
  "Iteration": 157,
  "Value": 8203.378378378378,
  "Agent": "C51"
 },
 {
  "Iteration": 158,
  "Value": 8873.188405797102,
  "Agent": "C51"
 },
 {
  "Iteration": 159,
  "Value": 7872.077922077922,
  "Agent": "C51"
 },
 {
  "Iteration": 160,
  "Value": 8119.333333333333,
  "Agent": "C51"
 },
 {
  "Iteration": 161,
  "Value": 8440.972222222223,
  "Agent": "C51"
 },
 {
  "Iteration": 162,
  "Value": 9046.323529411764,
  "Agent": "C51"
 },
 {
  "Iteration": 163,
  "Value": 7873.051948051948,
  "Agent": "C51"
 },
 {
  "Iteration": 164,
  "Value": 8192.22972972973,
  "Agent": "C51"
 },
 {
  "Iteration": 165,
  "Value": 8848.188405797102,
  "Agent": "C51"
 },
 {
  "Iteration": 166,
  "Value": 9203.676470588236,
  "Agent": "C51"
 },
 {
  "Iteration": 167,
  "Value": 7588.75,
  "Agent": "C51"
 },
 {
  "Iteration": 168,
  "Value": 7316.768292682927,
  "Agent": "C51"
 },
 {
  "Iteration": 169,
  "Value": 8178.378378378378,
  "Agent": "C51"
 },
 {
  "Iteration": 170,
  "Value": 7728.75,
  "Agent": "C51"
 },
 {
  "Iteration": 171,
  "Value": 8664.084507042253,
  "Agent": "C51"
 },
 {
  "Iteration": 172,
  "Value": 8289.383561643835,
  "Agent": "C51"
 },
 {
  "Iteration": 173,
  "Value": 7925.0,
  "Agent": "C51"
 },
 {
  "Iteration": 174,
  "Value": 7894.1558441558445,
  "Agent": "C51"
 },
 {
  "Iteration": 175,
  "Value": 8632.986111111111,
  "Agent": "C51"
 },
 {
  "Iteration": 176,
  "Value": 8808.57142857143,
  "Agent": "C51"
 },
 {
  "Iteration": 177,
  "Value": 8357.876712328767,
  "Agent": "C51"
 },
 {
  "Iteration": 178,
  "Value": 7968.0921052631575,
  "Agent": "C51"
 },
 {
  "Iteration": 179,
  "Value": 8056.578947368421,
  "Agent": "C51"
 },
 {
  "Iteration": 180,
  "Value": 8405.405405405405,
  "Agent": "C51"
 },
 {
  "Iteration": 181,
  "Value": 8838.732394366198,
  "Agent": "C51"
 },
 {
  "Iteration": 182,
  "Value": 7976.644736842105,
  "Agent": "C51"
 },
 {
  "Iteration": 183,
  "Value": 8693.055555555555,
  "Agent": "C51"
 },
 {
  "Iteration": 184,
  "Value": 8500.347222222223,
  "Agent": "C51"
 },
 {
  "Iteration": 185,
  "Value": 8727.430555555555,
  "Agent": "C51"
 },
 {
  "Iteration": 186,
  "Value": 8828.87323943662,
  "Agent": "C51"
 },
 {
  "Iteration": 187,
  "Value": 7830.06329113924,
  "Agent": "C51"
 },
 {
  "Iteration": 188,
  "Value": 9048.550724637682,
  "Agent": "C51"
 },
 {
  "Iteration": 189,
  "Value": 8839.43661971831,
  "Agent": "C51"
 },
 {
  "Iteration": 190,
  "Value": 8476.013513513513,
  "Agent": "C51"
 },
 {
  "Iteration": 191,
  "Value": 9064.492753623188,
  "Agent": "C51"
 },
 {
  "Iteration": 192,
  "Value": 8354.391891891892,
  "Agent": "C51"
 },
 {
  "Iteration": 193,
  "Value": 7604.0625,
  "Agent": "C51"
 },
 {
  "Iteration": 194,
  "Value": 8523.630136986301,
  "Agent": "C51"
 },
 {
  "Iteration": 195,
  "Value": 9317.753623188406,
  "Agent": "C51"
 },
 {
  "Iteration": 196,
  "Value": 8860.56338028169,
  "Agent": "C51"
 },
 {
  "Iteration": 197,
  "Value": 8223.986486486487,
  "Agent": "C51"
 },
 {
  "Iteration": 198,
  "Value": 8524.333333333334,
  "Agent": "C51"
 },
 {
  "Iteration": 0,
  "Value": 476.6324626865672,
  "Agent": "C51"
 },
 {
  "Iteration": 1,
  "Value": 395.1094890510949,
  "Agent": "C51"
 },
 {
  "Iteration": 2,
  "Value": 1209.009009009009,
  "Agent": "C51"
 },
 {
  "Iteration": 3,
  "Value": 1417.5742574257426,
  "Agent": "C51"
 },
 {
  "Iteration": 4,
  "Value": 1511.8663594470047,
  "Agent": "C51"
 },
 {
  "Iteration": 5,
  "Value": 1893.8186813186812,
  "Agent": "C51"
 },
 {
  "Iteration": 6,
  "Value": 1573.9082969432313,
  "Agent": "C51"
 },
 {
  "Iteration": 7,
  "Value": 1788.3177570093458,
  "Agent": "C51"
 },
 {
  "Iteration": 8,
  "Value": 1946.3054187192117,
  "Agent": "C51"
 },
 {
  "Iteration": 9,
  "Value": 2870.143884892086,
  "Agent": "C51"
 },
 {
  "Iteration": 10,
  "Value": 2883.0827067669175,
  "Agent": "C51"
 },
 {
  "Iteration": 11,
  "Value": 3114.8809523809523,
  "Agent": "C51"
 },
 {
  "Iteration": 12,
  "Value": 3451.0162601626016,
  "Agent": "C51"
 },
 {
  "Iteration": 13,
  "Value": 3343.4959349593496,
  "Agent": "C51"
 },
 {
  "Iteration": 14,
  "Value": 3260.0746268656717,
  "Agent": "C51"
 },
 {
  "Iteration": 15,
  "Value": 3971.1009174311926,
  "Agent": "C51"
 },
 {
  "Iteration": 16,
  "Value": 3984.6491228070176,
  "Agent": "C51"
 },
 {
  "Iteration": 17,
  "Value": 4736.111111111111,
  "Agent": "C51"
 },
 {
  "Iteration": 18,
  "Value": 4750.495049504951,
  "Agent": "C51"
 },
 {
  "Iteration": 19,
  "Value": 5182.631578947368,
  "Agent": "C51"
 },
 {
  "Iteration": 20,
  "Value": 4932.5,
  "Agent": "C51"
 },
 {
  "Iteration": 21,
  "Value": 5569.29347826087,
  "Agent": "C51"
 },
 {
  "Iteration": 22,
  "Value": 5622.282608695652,
  "Agent": "C51"
 },
 {
  "Iteration": 23,
  "Value": 5673.595505617977,
  "Agent": "C51"
 },
 {
  "Iteration": 24,
  "Value": 5451.315789473684,
  "Agent": "C51"
 },
 {
  "Iteration": 25,
  "Value": 6082.471264367816,
  "Agent": "C51"
 },
 {
  "Iteration": 26,
  "Value": 5762.3626373626375,
  "Agent": "C51"
 },
 {
  "Iteration": 27,
  "Value": 6593.59756097561,
  "Agent": "C51"
 },
 {
  "Iteration": 28,
  "Value": 5838.440860215053,
  "Agent": "C51"
 },
 {
  "Iteration": 29,
  "Value": 5831.25,
  "Agent": "C51"
 },
 {
  "Iteration": 30,
  "Value": 6045.505617977528,
  "Agent": "C51"
 },
 {
  "Iteration": 31,
  "Value": 6548.214285714285,
  "Agent": "C51"
 },
 {
  "Iteration": 32,
  "Value": 5835.4838709677415,
  "Agent": "C51"
 },
 {
  "Iteration": 33,
  "Value": 6151.704545454545,
  "Agent": "C51"
 },
 {
  "Iteration": 34,
  "Value": 5743.817204301075,
  "Agent": "C51"
 },
 {
  "Iteration": 35,
  "Value": 6003.225806451613,
  "Agent": "C51"
 },
 {
  "Iteration": 36,
  "Value": 5971.467391304348,
  "Agent": "C51"
 },
 {
  "Iteration": 37,
  "Value": 7098.125,
  "Agent": "C51"
 },
 {
  "Iteration": 38,
  "Value": 5893.622448979592,
  "Agent": "C51"
 },
 {
  "Iteration": 39,
  "Value": 5989.36170212766,
  "Agent": "C51"
 },
 {
  "Iteration": 40,
  "Value": 7082.716049382716,
  "Agent": "C51"
 },
 {
  "Iteration": 41,
  "Value": 6362.640449438202,
  "Agent": "C51"
 },
 {
  "Iteration": 42,
  "Value": 6290.0,
  "Agent": "C51"
 },
 {
  "Iteration": 43,
  "Value": 6548.275862068966,
  "Agent": "C51"
 },
 {
  "Iteration": 44,
  "Value": 6465.406976744186,
  "Agent": "C51"
 },
 {
  "Iteration": 45,
  "Value": 5972.311827956989,
  "Agent": "C51"
 },
 {
  "Iteration": 46,
  "Value": 6683.720930232558,
  "Agent": "C51"
 },
 {
  "Iteration": 47,
  "Value": 5567.75,
  "Agent": "C51"
 },
 {
  "Iteration": 48,
  "Value": 6480.232558139535,
  "Agent": "C51"
 },
 {
  "Iteration": 49,
  "Value": 6538.953488372093,
  "Agent": "C51"
 },
 {
  "Iteration": 50,
  "Value": 7245.569620253164,
  "Agent": "C51"
 },
 {
  "Iteration": 51,
  "Value": 7196.875,
  "Agent": "C51"
 },
 {
  "Iteration": 52,
  "Value": 7247.5,
  "Agent": "C51"
 },
 {
  "Iteration": 53,
  "Value": 7430.448717948718,
  "Agent": "C51"
 },
 {
  "Iteration": 54,
  "Value": 7340.822784810127,
  "Agent": "C51"
 },
 {
  "Iteration": 55,
  "Value": 7150.925925925926,
  "Agent": "C51"
 },
 {
  "Iteration": 56,
  "Value": 7383.01282051282,
  "Agent": "C51"
 },
 {
  "Iteration": 57,
  "Value": 7146.5625,
  "Agent": "C51"
 },
 {
  "Iteration": 58,
  "Value": 7453.481012658228,
  "Agent": "C51"
 },
 {
  "Iteration": 59,
  "Value": 7883.666666666667,
  "Agent": "C51"
 },
 {
  "Iteration": 60,
  "Value": 7208.1325301204815,
  "Agent": "C51"
 },
 {
  "Iteration": 61,
  "Value": 7358.4375,
  "Agent": "C51"
 },
 {
  "Iteration": 62,
  "Value": 6979.518072289156,
  "Agent": "C51"
 },
 {
  "Iteration": 63,
  "Value": 7376.875,
  "Agent": "C51"
 },
 {
  "Iteration": 64,
  "Value": 7563.636363636364,
  "Agent": "C51"
 },
 {
  "Iteration": 65,
  "Value": 7144.444444444444,
  "Agent": "C51"
 },
 {
  "Iteration": 66,
  "Value": 6400.277777777777,
  "Agent": "C51"
 },
 {
  "Iteration": 67,
  "Value": 6828.235294117647,
  "Agent": "C51"
 },
 {
  "Iteration": 68,
  "Value": 7790.131578947368,
  "Agent": "C51"
 },
 {
  "Iteration": 69,
  "Value": 7277.1875,
  "Agent": "C51"
 },
 {
  "Iteration": 70,
  "Value": 6927.380952380952,
  "Agent": "C51"
 },
 {
  "Iteration": 71,
  "Value": 7286.111111111111,
  "Agent": "C51"
 },
 {
  "Iteration": 72,
  "Value": 6784.226190476191,
  "Agent": "C51"
 },
 {
  "Iteration": 73,
  "Value": 7940.540540540541,
  "Agent": "C51"
 },
 {
  "Iteration": 74,
  "Value": 7737.666666666667,
  "Agent": "C51"
 },
 {
  "Iteration": 75,
  "Value": 7815.540540540541,
  "Agent": "C51"
 },
 {
  "Iteration": 76,
  "Value": 7848.0,
  "Agent": "C51"
 },
 {
  "Iteration": 77,
  "Value": 6960.416666666667,
  "Agent": "C51"
 },
 {
  "Iteration": 78,
  "Value": 6962.951807228916,
  "Agent": "C51"
 },
 {
  "Iteration": 79,
  "Value": 7693.0921052631575,
  "Agent": "C51"
 },
 {
  "Iteration": 80,
  "Value": 8405.985915492958,
  "Agent": "C51"
 },
 {
  "Iteration": 81,
  "Value": 7925.666666666667,
  "Agent": "C51"
 },
 {
  "Iteration": 82,
  "Value": 7216.463414634146,
  "Agent": "C51"
 },
 {
  "Iteration": 83,
  "Value": 7862.5,
  "Agent": "C51"
 },
 {
  "Iteration": 84,
  "Value": 8422.857142857143,
  "Agent": "C51"
 },
 {
  "Iteration": 85,
  "Value": 7617.628205128205,
  "Agent": "C51"
 },
 {
  "Iteration": 86,
  "Value": 6825.0,
  "Agent": "C51"
 },
 {
  "Iteration": 87,
  "Value": 6806.104651162791,
  "Agent": "C51"
 },
 {
  "Iteration": 88,
  "Value": 7982.77027027027,
  "Agent": "C51"
 },
 {
  "Iteration": 89,
  "Value": 6910.240963855422,
  "Agent": "C51"
 },
 {
  "Iteration": 90,
  "Value": 7395.0,
  "Agent": "C51"
 },
 {
  "Iteration": 91,
  "Value": 7398.734177215189,
  "Agent": "C51"
 },
 {
  "Iteration": 92,
  "Value": 7015.773809523809,
  "Agent": "C51"
 },
 {
  "Iteration": 93,
  "Value": 7860.855263157895,
  "Agent": "C51"
 },
 {
  "Iteration": 94,
  "Value": 7685.126582278481,
  "Agent": "C51"
 },
 {
  "Iteration": 95,
  "Value": 7535.443037974684,
  "Agent": "C51"
 },
 {
  "Iteration": 96,
  "Value": 8118.918918918919,
  "Agent": "C51"
 },
 {
  "Iteration": 97,
  "Value": 8471.478873239437,
  "Agent": "C51"
 },
 {
  "Iteration": 98,
  "Value": 7708.653846153846,
  "Agent": "C51"
 },
 {
  "Iteration": 99,
  "Value": 8016.666666666667,
  "Agent": "C51"
 },
 {
  "Iteration": 100,
  "Value": 7703.164556962025,
  "Agent": "C51"
 },
 {
  "Iteration": 101,
  "Value": 7090.963855421687,
  "Agent": "C51"
 },
 {
  "Iteration": 102,
  "Value": 8238.698630136987,
  "Agent": "C51"
 },
 {
  "Iteration": 103,
  "Value": 8022.972972972973,
  "Agent": "C51"
 },
 {
  "Iteration": 104,
  "Value": 8219.17808219178,
  "Agent": "C51"
 },
 {
  "Iteration": 105,
  "Value": 8077.666666666667,
  "Agent": "C51"
 },
 {
  "Iteration": 106,
  "Value": 7987.0,
  "Agent": "C51"
 },
 {
  "Iteration": 107,
  "Value": 7687.337662337663,
  "Agent": "C51"
 },
 {
  "Iteration": 108,
  "Value": 7767.628205128205,
  "Agent": "C51"
 },
 {
  "Iteration": 109,
  "Value": 7785.064935064935,
  "Agent": "C51"
 },
 {
  "Iteration": 110,
  "Value": 7876.973684210527,
  "Agent": "C51"
 },
 {
  "Iteration": 111,
  "Value": 8072.333333333333,
  "Agent": "C51"
 },
 {
  "Iteration": 112,
  "Value": 7705.519480519481,
  "Agent": "C51"
 },
 {
  "Iteration": 113,
  "Value": 7453.481012658228,
  "Agent": "C51"
 },
 {
  "Iteration": 114,
  "Value": 7691.025641025641,
  "Agent": "C51"
 },
 {
  "Iteration": 115,
  "Value": 8347.569444444445,
  "Agent": "C51"
 },
 {
  "Iteration": 116,
  "Value": 8353.424657534246,
  "Agent": "C51"
 },
 {
  "Iteration": 117,
  "Value": 8126.333333333333,
  "Agent": "C51"
 },
 {
  "Iteration": 118,
  "Value": 8268.055555555555,
  "Agent": "C51"
 },
 {
  "Iteration": 119,
  "Value": 7672.75641025641,
  "Agent": "C51"
 },
 {
  "Iteration": 120,
  "Value": 8138.851351351352,
  "Agent": "C51"
 },
 {
  "Iteration": 121,
  "Value": 7731.7307692307695,
  "Agent": "C51"
 },
 {
  "Iteration": 122,
  "Value": 8098.666666666667,
  "Agent": "C51"
 },
 {
  "Iteration": 123,
  "Value": 7640.189873417721,
  "Agent": "C51"
 },
 {
  "Iteration": 124,
  "Value": 7052.380952380952,
  "Agent": "C51"
 },
 {
  "Iteration": 125,
  "Value": 8023.666666666667,
  "Agent": "C51"
 },
 {
  "Iteration": 126,
  "Value": 8404.794520547945,
  "Agent": "C51"
 },
 {
  "Iteration": 127,
  "Value": 8182.0,
  "Agent": "C51"
 },
 {
  "Iteration": 128,
  "Value": 8636.971830985916,
  "Agent": "C51"
 },
 {
  "Iteration": 129,
  "Value": 9063.235294117647,
  "Agent": "C51"
 },
 {
  "Iteration": 130,
  "Value": 8311.986301369863,
  "Agent": "C51"
 },
 {
  "Iteration": 131,
  "Value": 8312.671232876712,
  "Agent": "C51"
 },
 {
  "Iteration": 132,
  "Value": 7221.951219512195,
  "Agent": "C51"
 },
 {
  "Iteration": 133,
  "Value": 7102.409638554217,
  "Agent": "C51"
 },
 {
  "Iteration": 134,
  "Value": 7811.688311688312,
  "Agent": "C51"
 },
 {
  "Iteration": 135,
  "Value": 8587.152777777777,
  "Agent": "C51"
 },
 {
  "Iteration": 136,
  "Value": 7983.116883116883,
  "Agent": "C51"
 },
 {
  "Iteration": 137,
  "Value": 8653.87323943662,
  "Agent": "C51"
 },
 {
  "Iteration": 138,
  "Value": 8654.225352112677,
  "Agent": "C51"
 },
 {
  "Iteration": 139,
  "Value": 8203.04054054054,
  "Agent": "C51"
 },
 {
  "Iteration": 140,
  "Value": 8711.267605633802,
  "Agent": "C51"
 },
 {
  "Iteration": 141,
  "Value": 7708.860759493671,
  "Agent": "C51"
 },
 {
  "Iteration": 142,
  "Value": 7334.451219512195,
  "Agent": "C51"
 },
 {
  "Iteration": 143,
  "Value": 7267.168674698795,
  "Agent": "C51"
 },
 {
  "Iteration": 144,
  "Value": 8223.986486486487,
  "Agent": "C51"
 },
 {
  "Iteration": 145,
  "Value": 8033.223684210527,
  "Agent": "C51"
 },
 {
  "Iteration": 146,
  "Value": 7982.236842105263,
  "Agent": "C51"
 },
 {
  "Iteration": 147,
  "Value": 7965.789473684211,
  "Agent": "C51"
 },
 {
  "Iteration": 148,
  "Value": 7934.210526315789,
  "Agent": "C51"
 },
 {
  "Iteration": 149,
  "Value": 7011.764705882353,
  "Agent": "C51"
 },
 {
  "Iteration": 150,
  "Value": 7647.151898734177,
  "Agent": "C51"
 },
 {
  "Iteration": 151,
  "Value": 7832.792207792208,
  "Agent": "C51"
 },
 {
  "Iteration": 152,
  "Value": 7686.392405063291,
  "Agent": "C51"
 },
 {
  "Iteration": 153,
  "Value": 8516.319444444445,
  "Agent": "C51"
 },
 {
  "Iteration": 154,
  "Value": 7072.941176470588,
  "Agent": "C51"
 },
 {
  "Iteration": 155,
  "Value": 7131.25,
  "Agent": "C51"
 },
 {
  "Iteration": 156,
  "Value": 7218.373493975903,
  "Agent": "C51"
 },
 {
  "Iteration": 157,
  "Value": 7550.0,
  "Agent": "C51"
 },
 {
  "Iteration": 158,
  "Value": 7981.168831168831,
  "Agent": "C51"
 },
 {
  "Iteration": 159,
  "Value": 7841.025641025641,
  "Agent": "C51"
 },
 {
  "Iteration": 160,
  "Value": 7436.890243902439,
  "Agent": "C51"
 },
 {
  "Iteration": 161,
  "Value": 8104.333333333333,
  "Agent": "C51"
 },
 {
  "Iteration": 162,
  "Value": 8208.783783783783,
  "Agent": "C51"
 },
 {
  "Iteration": 163,
  "Value": 8217.905405405405,
  "Agent": "C51"
 },
 {
  "Iteration": 164,
  "Value": 7869.480519480519,
  "Agent": "C51"
 },
 {
  "Iteration": 165,
  "Value": 7919.480519480519,
  "Agent": "C51"
 },
 {
  "Iteration": 166,
  "Value": 7518.20987654321,
  "Agent": "C51"
 },
 {
  "Iteration": 167,
  "Value": 6912.068965517241,
  "Agent": "C51"
 },
 {
  "Iteration": 168,
  "Value": 8051.315789473684,
  "Agent": "C51"
 },
 {
  "Iteration": 169,
  "Value": 7814.423076923077,
  "Agent": "C51"
 },
 {
  "Iteration": 170,
  "Value": 8295.547945205479,
  "Agent": "C51"
 },
 {
  "Iteration": 171,
  "Value": 7585.802469135802,
  "Agent": "C51"
 },
 {
  "Iteration": 172,
  "Value": 8000.649350649351,
  "Agent": "C51"
 },
 {
  "Iteration": 173,
  "Value": 7855.519480519481,
  "Agent": "C51"
 },
 {
  "Iteration": 174,
  "Value": 8047.368421052632,
  "Agent": "C51"
 },
 {
  "Iteration": 175,
  "Value": 7432.012195121952,
  "Agent": "C51"
 },
 {
  "Iteration": 176,
  "Value": 7860.1973684210525,
  "Agent": "C51"
 },
 {
  "Iteration": 177,
  "Value": 7057.64705882353,
  "Agent": "C51"
 },
 {
  "Iteration": 178,
  "Value": 8010.526315789473,
  "Agent": "C51"
 },
 {
  "Iteration": 179,
  "Value": 8310.197368421053,
  "Agent": "C51"
 },
 {
  "Iteration": 180,
  "Value": 8719.642857142857,
  "Agent": "C51"
 },
 {
  "Iteration": 181,
  "Value": 8507.291666666666,
  "Agent": "C51"
 },
 {
  "Iteration": 182,
  "Value": 8445.547945205479,
  "Agent": "C51"
 },
 {
  "Iteration": 183,
  "Value": 7760.126582278481,
  "Agent": "C51"
 },
 {
  "Iteration": 184,
  "Value": 7953.2467532467535,
  "Agent": "C51"
 },
 {
  "Iteration": 185,
  "Value": 8229.054054054053,
  "Agent": "C51"
 },
 {
  "Iteration": 186,
  "Value": 8257.236842105263,
  "Agent": "C51"
 },
 {
  "Iteration": 187,
  "Value": 8472.945205479453,
  "Agent": "C51"
 },
 {
  "Iteration": 188,
  "Value": 8160.1973684210525,
  "Agent": "C51"
 },
 {
  "Iteration": 189,
  "Value": 7357.35294117647,
  "Agent": "C51"
 },
 {
  "Iteration": 190,
  "Value": 8359.333333333334,
  "Agent": "C51"
 },
 {
  "Iteration": 191,
  "Value": 8358.445945945947,
  "Agent": "C51"
 },
 {
  "Iteration": 192,
  "Value": 8529.109589041096,
  "Agent": "C51"
 },
 {
  "Iteration": 193,
  "Value": 9049.285714285714,
  "Agent": "C51"
 },
 {
  "Iteration": 194,
  "Value": 8054.934210526316,
  "Agent": "C51"
 },
 {
  "Iteration": 195,
  "Value": 8783.098591549297,
  "Agent": "C51"
 },
 {
  "Iteration": 196,
  "Value": 8261.666666666666,
  "Agent": "C51"
 },
 {
  "Iteration": 197,
  "Value": 8998.89705882353,
  "Agent": "C51"
 },
 {
  "Iteration": 198,
  "Value": 8261.148648648648,
  "Agent": "C51"
 },
 {
  "Iteration": 0,
  "Value": 468.0350553505535,
  "Agent": "C51"
 },
 {
  "Iteration": 1,
  "Value": 420.50473186119876,
  "Agent": "C51"
 },
 {
  "Iteration": 2,
  "Value": 838.4887005649717,
  "Agent": "C51"
 },
 {
  "Iteration": 3,
  "Value": 1429.8387096774193,
  "Agent": "C51"
 },
 {
  "Iteration": 4,
  "Value": 1771.276595744681,
  "Agent": "C51"
 },
 {
  "Iteration": 5,
  "Value": 2269.21875,
  "Agent": "C51"
 },
 {
  "Iteration": 6,
  "Value": 2459.775641025641,
  "Agent": "C51"
 },
 {
  "Iteration": 7,
  "Value": 2900.7194244604316,
  "Agent": "C51"
 },
 {
  "Iteration": 8,
  "Value": 2267.5977653631285,
  "Agent": "C51"
 },
 {
  "Iteration": 9,
  "Value": 2655.0986842105262,
  "Agent": "C51"
 },
 {
  "Iteration": 10,
  "Value": 2548.4939759036147,
  "Agent": "C51"
 },
 {
  "Iteration": 11,
  "Value": 3144.70802919708,
  "Agent": "C51"
 },
 {
  "Iteration": 12,
  "Value": 3419.3359375,
  "Agent": "C51"
 },
 {
  "Iteration": 13,
  "Value": 2716.6158536585367,
  "Agent": "C51"
 },
 {
  "Iteration": 14,
  "Value": 3823.109243697479,
  "Agent": "C51"
 },
 {
  "Iteration": 15,
  "Value": 3974.137931034483,
  "Agent": "C51"
 },
 {
  "Iteration": 16,
  "Value": 4010.1293103448274,
  "Agent": "C51"
 },
 {
  "Iteration": 17,
  "Value": 4036.842105263158,
  "Agent": "C51"
 },
 {
  "Iteration": 18,
  "Value": 3921.4583333333335,
  "Agent": "C51"
 },
 {
  "Iteration": 19,
  "Value": 4336.590909090909,
  "Agent": "C51"
 },
 {
  "Iteration": 20,
  "Value": 4054.375,
  "Agent": "C51"
 },
 {
  "Iteration": 21,
  "Value": 4700.490196078431,
  "Agent": "C51"
 },
 {
  "Iteration": 22,
  "Value": 4028.3898305084745,
  "Agent": "C51"
 },
 {
  "Iteration": 23,
  "Value": 3825.196850393701,
  "Agent": "C51"
 },
 {
  "Iteration": 24,
  "Value": 4422.5,
  "Agent": "C51"
 },
 {
  "Iteration": 25,
  "Value": 5251.8421052631575,
  "Agent": "C51"
 },
 {
  "Iteration": 26,
  "Value": 5041.0,
  "Agent": "C51"
 },
 {
  "Iteration": 27,
  "Value": 5919.186046511628,
  "Agent": "C51"
 },
 {
  "Iteration": 28,
  "Value": 5462.5,
  "Agent": "C51"
 },
 {
  "Iteration": 29,
  "Value": 6850.324675324675,
  "Agent": "C51"
 },
 {
  "Iteration": 30,
  "Value": 5222.25,
  "Agent": "C51"
 },
 {
  "Iteration": 31,
  "Value": 5828.333333333333,
  "Agent": "C51"
 },
 {
  "Iteration": 32,
  "Value": 5900.833333333333,
  "Agent": "C51"
 },
 {
  "Iteration": 33,
  "Value": 5372.448979591837,
  "Agent": "C51"
 },
 {
  "Iteration": 34,
  "Value": 5566.755319148936,
  "Agent": "C51"
 },
 {
  "Iteration": 35,
  "Value": 6139.772727272727,
  "Agent": "C51"
 },
 {
  "Iteration": 36,
  "Value": 6057.954545454545,
  "Agent": "C51"
 },
 {
  "Iteration": 37,
  "Value": 5931.460674157303,
  "Agent": "C51"
 },
 {
  "Iteration": 38,
  "Value": 6160.277777777777,
  "Agent": "C51"
 },
 {
  "Iteration": 39,
  "Value": 6538.253012048192,
  "Agent": "C51"
 },
 {
  "Iteration": 40,
  "Value": 5807.336956521739,
  "Agent": "C51"
 },
 {
  "Iteration": 41,
  "Value": 6080.555555555556,
  "Agent": "C51"
 },
 {
  "Iteration": 42,
  "Value": 6031.043956043956,
  "Agent": "C51"
 },
 {
  "Iteration": 43,
  "Value": 6762.974683544304,
  "Agent": "C51"
 },
 {
  "Iteration": 44,
  "Value": 6200.277777777777,
  "Agent": "C51"
 },
 {
  "Iteration": 45,
  "Value": 5342.25,
  "Agent": "C51"
 },
 {
  "Iteration": 46,
  "Value": 6416.666666666667,
  "Agent": "C51"
 },
 {
  "Iteration": 47,
  "Value": 5658.9473684210525,
  "Agent": "C51"
 },
 {
  "Iteration": 48,
  "Value": 5514.0625,
  "Agent": "C51"
 },
 {
  "Iteration": 49,
  "Value": 5786.979166666667,
  "Agent": "C51"
 },
 {
  "Iteration": 50,
  "Value": 5873.387096774193,
  "Agent": "C51"
 },
 {
  "Iteration": 51,
  "Value": 5401.470588235294,
  "Agent": "C51"
 },
 {
  "Iteration": 52,
  "Value": 6757.012195121952,
  "Agent": "C51"
 },
 {
  "Iteration": 53,
  "Value": 5702.864583333333,
  "Agent": "C51"
 },
 {
  "Iteration": 54,
  "Value": 7253.525641025641,
  "Agent": "C51"
 },
 {
  "Iteration": 55,
  "Value": 7187.025316455696,
  "Agent": "C51"
 },
 {
  "Iteration": 56,
  "Value": 6875.914634146341,
  "Agent": "C51"
 },
 {
  "Iteration": 57,
  "Value": 7108.4375,
  "Agent": "C51"
 },
 {
  "Iteration": 58,
  "Value": 5897.894736842105,
  "Agent": "C51"
 },
 {
  "Iteration": 59,
  "Value": 6543.9655172413795,
  "Agent": "C51"
 },
 {
  "Iteration": 60,
  "Value": 7589.935064935065,
  "Agent": "C51"
 },
 {
  "Iteration": 61,
  "Value": 7365.584415584415,
  "Agent": "C51"
 },
 {
  "Iteration": 62,
  "Value": 6532.954545454545,
  "Agent": "C51"
 },
 {
  "Iteration": 63,
  "Value": 6551.136363636364,
  "Agent": "C51"
 },
 {
  "Iteration": 64,
  "Value": 6993.59756097561,
  "Agent": "C51"
 },
 {
  "Iteration": 65,
  "Value": 7011.585365853659,
  "Agent": "C51"
 },
 {
  "Iteration": 66,
  "Value": 6332.670454545455,
  "Agent": "C51"
 },
 {
  "Iteration": 67,
  "Value": 6853.915662650603,
  "Agent": "C51"
 },
 {
  "Iteration": 68,
  "Value": 7065.740740740741,
  "Agent": "C51"
 },
 {
  "Iteration": 69,
  "Value": 7416.883116883117,
  "Agent": "C51"
 },
 {
  "Iteration": 70,
  "Value": 6920.731707317073,
  "Agent": "C51"
 },
 {
  "Iteration": 71,
  "Value": 6024.175824175824,
  "Agent": "C51"
 },
 {
  "Iteration": 72,
  "Value": 6204.166666666667,
  "Agent": "C51"
 },
 {
  "Iteration": 73,
  "Value": 7265.189873417721,
  "Agent": "C51"
 },
 {
  "Iteration": 74,
  "Value": 7181.40243902439,
  "Agent": "C51"
 },
 {
  "Iteration": 75,
  "Value": 7170.625,
  "Agent": "C51"
 },
 {
  "Iteration": 76,
  "Value": 6426.966292134832,
  "Agent": "C51"
 },
 {
  "Iteration": 77,
  "Value": 6249.728260869565,
  "Agent": "C51"
 },
 {
  "Iteration": 78,
  "Value": 6404.545454545455,
  "Agent": "C51"
 },
 {
  "Iteration": 79,
  "Value": 6497.126436781609,
  "Agent": "C51"
 },
 {
  "Iteration": 80,
  "Value": 6125.271739130435,
  "Agent": "C51"
 },
 {
  "Iteration": 81,
  "Value": 6273.369565217391,
  "Agent": "C51"
 },
 {
  "Iteration": 82,
  "Value": 6383.888888888889,
  "Agent": "C51"
 },
 {
  "Iteration": 83,
  "Value": 6771.83908045977,
  "Agent": "C51"
 },
 {
  "Iteration": 84,
  "Value": 7132.621951219512,
  "Agent": "C51"
 },
 {
  "Iteration": 85,
  "Value": 7112.650602409639,
  "Agent": "C51"
 },
 {
  "Iteration": 86,
  "Value": 7851.351351351352,
  "Agent": "C51"
 },
 {
  "Iteration": 87,
  "Value": 7144.512195121952,
  "Agent": "C51"
 },
 {
  "Iteration": 88,
  "Value": 6576.420454545455,
  "Agent": "C51"
 },
 {
  "Iteration": 89,
  "Value": 8204.794520547945,
  "Agent": "C51"
 },
 {
  "Iteration": 90,
  "Value": 8160.6164383561645,
  "Agent": "C51"
 },
 {
  "Iteration": 91,
  "Value": 7245.9375,
  "Agent": "C51"
 },
 {
  "Iteration": 92,
  "Value": 7263.888888888889,
  "Agent": "C51"
 },
 {
  "Iteration": 93,
  "Value": 7457.278481012659,
  "Agent": "C51"
 },
 {
  "Iteration": 94,
  "Value": 7052.058823529412,
  "Agent": "C51"
 },
 {
  "Iteration": 95,
  "Value": 7064.285714285715,
  "Agent": "C51"
 },
 {
  "Iteration": 96,
  "Value": 7336.728395061728,
  "Agent": "C51"
 },
 {
  "Iteration": 97,
  "Value": 7393.670886075949,
  "Agent": "C51"
 },
 {
  "Iteration": 98,
  "Value": 7945.608108108108,
  "Agent": "C51"
 },
 {
  "Iteration": 99,
  "Value": 6865.988372093023,
  "Agent": "C51"
 },
 {
  "Iteration": 100,
  "Value": 8269.097222222223,
  "Agent": "C51"
 },
 {
  "Iteration": 101,
  "Value": 7911.666666666667,
  "Agent": "C51"
 },
 {
  "Iteration": 102,
  "Value": 7251.829268292683,
  "Agent": "C51"
 },
 {
  "Iteration": 103,
  "Value": 7126.204819277108,
  "Agent": "C51"
 },
 {
  "Iteration": 104,
  "Value": 7479.807692307692,
  "Agent": "C51"
 },
 {
  "Iteration": 105,
  "Value": 8103.0,
  "Agent": "C51"
 },
 {
  "Iteration": 106,
  "Value": 7847.727272727273,
  "Agent": "C51"
 },
 {
  "Iteration": 107,
  "Value": 8384.027777777777,
  "Agent": "C51"
 },
 {
  "Iteration": 108,
  "Value": 8559.859154929578,
  "Agent": "C51"
 },
 {
  "Iteration": 109,
  "Value": 7905.263157894737,
  "Agent": "C51"
 },
 {
  "Iteration": 110,
  "Value": 8142.333333333333,
  "Agent": "C51"
 },
 {
  "Iteration": 111,
  "Value": 8095.945945945946,
  "Agent": "C51"
 },
 {
  "Iteration": 112,
  "Value": 8234.45945945946,
  "Agent": "C51"
 },
 {
  "Iteration": 113,
  "Value": 8223.986486486487,
  "Agent": "C51"
 },
 {
  "Iteration": 114,
  "Value": 8654.929577464789,
  "Agent": "C51"
 },
 {
  "Iteration": 115,
  "Value": 7184.3373493975905,
  "Agent": "C51"
 },
 {
  "Iteration": 116,
  "Value": 8087.333333333333,
  "Agent": "C51"
 },
 {
  "Iteration": 117,
  "Value": 7772.727272727273,
  "Agent": "C51"
 },
 {
  "Iteration": 118,
  "Value": 8485.416666666666,
  "Agent": "C51"
 },
 {
  "Iteration": 119,
  "Value": 7859.666666666667,
  "Agent": "C51"
 },
 {
  "Iteration": 120,
  "Value": 7680.379746835443,
  "Agent": "C51"
 },
 {
  "Iteration": 121,
  "Value": 7706.168831168831,
  "Agent": "C51"
 },
 {
  "Iteration": 122,
  "Value": 7936.333333333333,
  "Agent": "C51"
 },
 {
  "Iteration": 123,
  "Value": 7727.960526315789,
  "Agent": "C51"
 },
 {
  "Iteration": 124,
  "Value": 7825.666666666667,
  "Agent": "C51"
 },
 {
  "Iteration": 125,
  "Value": 8990.441176470587,
  "Agent": "C51"
 },
 {
  "Iteration": 126,
  "Value": 7521.25,
  "Agent": "C51"
 },
 {
  "Iteration": 127,
  "Value": 7120.481927710844,
  "Agent": "C51"
 },
 {
  "Iteration": 128,
  "Value": 7193.452380952381,
  "Agent": "C51"
 },
 {
  "Iteration": 129,
  "Value": 7848.666666666667,
  "Agent": "C51"
 },
 {
  "Iteration": 130,
  "Value": 6955.0,
  "Agent": "C51"
 },
 {
  "Iteration": 131,
  "Value": 7154.166666666667,
  "Agent": "C51"
 },
 {
  "Iteration": 132,
  "Value": 7618.037974683544,
  "Agent": "C51"
 },
 {
  "Iteration": 133,
  "Value": 8158.108108108108,
  "Agent": "C51"
 },
 {
  "Iteration": 134,
  "Value": 8629.285714285714,
  "Agent": "C51"
 },
 {
  "Iteration": 135,
  "Value": 7615.189873417721,
  "Agent": "C51"
 },
 {
  "Iteration": 136,
  "Value": 7378.086419753086,
  "Agent": "C51"
 },
 {
  "Iteration": 137,
  "Value": 7886.8421052631575,
  "Agent": "C51"
 },
 {
  "Iteration": 138,
  "Value": 8527.083333333334,
  "Agent": "C51"
 },
 {
  "Iteration": 139,
  "Value": 7749.025974025974,
  "Agent": "C51"
 },
 {
  "Iteration": 140,
  "Value": 6935.7558139534885,
  "Agent": "C51"
 },
 {
  "Iteration": 141,
  "Value": 7152.409638554217,
  "Agent": "C51"
 },
 {
  "Iteration": 142,
  "Value": 6668.539325842697,
  "Agent": "C51"
 },
 {
  "Iteration": 143,
  "Value": 7526.25,
  "Agent": "C51"
 },
 {
  "Iteration": 144,
  "Value": 6823.546511627907,
  "Agent": "C51"
 },
 {
  "Iteration": 145,
  "Value": 7965.0,
  "Agent": "C51"
 },
 {
  "Iteration": 146,
  "Value": 6764.6551724137935,
  "Agent": "C51"
 },
 {
  "Iteration": 147,
  "Value": 8353.082191780823,
  "Agent": "C51"
 },
 {
  "Iteration": 148,
  "Value": 8028.0,
  "Agent": "C51"
 },
 {
  "Iteration": 149,
  "Value": 8558.450704225352,
  "Agent": "C51"
 },
 {
  "Iteration": 150,
  "Value": 7974.666666666667,
  "Agent": "C51"
 },
 {
  "Iteration": 151,
  "Value": 7042.64705882353,
  "Agent": "C51"
 },
 {
  "Iteration": 152,
  "Value": 7958.333333333333,
  "Agent": "C51"
 },
 {
  "Iteration": 153,
  "Value": 7422.1875,
  "Agent": "C51"
 },
 {
  "Iteration": 154,
  "Value": 8197.297297297297,
  "Agent": "C51"
 },
 {
  "Iteration": 155,
  "Value": 7728.481012658228,
  "Agent": "C51"
 },
 {
  "Iteration": 156,
  "Value": 8382.191780821919,
  "Agent": "C51"
 },
 {
  "Iteration": 157,
  "Value": 8032.094594594595,
  "Agent": "C51"
 },
 {
  "Iteration": 158,
  "Value": 8321.575342465754,
  "Agent": "C51"
 },
 {
  "Iteration": 159,
  "Value": 8748.57142857143,
  "Agent": "C51"
 },
 {
  "Iteration": 160,
  "Value": 7633.653846153846,
  "Agent": "C51"
 },
 {
  "Iteration": 161,
  "Value": 7656.962025316456,
  "Agent": "C51"
 },
 {
  "Iteration": 162,
  "Value": 7297.891566265061,
  "Agent": "C51"
 },
 {
  "Iteration": 163,
  "Value": 7077.710843373494,
  "Agent": "C51"
 },
 {
  "Iteration": 164,
  "Value": 8031.25,
  "Agent": "C51"
 },
 {
  "Iteration": 165,
  "Value": 7780.519480519481,
  "Agent": "C51"
 },
 {
  "Iteration": 166,
  "Value": 8283.333333333334,
  "Agent": "C51"
 },
 {
  "Iteration": 167,
  "Value": 7765.131578947368,
  "Agent": "C51"
 },
 {
  "Iteration": 168,
  "Value": 8029.333333333333,
  "Agent": "C51"
 },
 {
  "Iteration": 169,
  "Value": 7944.4078947368425,
  "Agent": "C51"
 },
 {
  "Iteration": 170,
  "Value": 8571.478873239437,
  "Agent": "C51"
 },
 {
  "Iteration": 171,
  "Value": 8163.513513513513,
  "Agent": "C51"
 },
 {
  "Iteration": 172,
  "Value": 7997.0,
  "Agent": "C51"
 },
 {
  "Iteration": 173,
  "Value": 8363.013698630137,
  "Agent": "C51"
 },
 {
  "Iteration": 174,
  "Value": 7220.731707317073,
  "Agent": "C51"
 },
 {
  "Iteration": 175,
  "Value": 8020.0,
  "Agent": "C51"
 },
 {
  "Iteration": 176,
  "Value": 7333.536585365854,
  "Agent": "C51"
 },
 {
  "Iteration": 177,
  "Value": 8078.0,
  "Agent": "C51"
 },
 {
  "Iteration": 178,
  "Value": 7702.848101265823,
  "Agent": "C51"
 },
 {
  "Iteration": 179,
  "Value": 7633.974358974359,
  "Agent": "C51"
 },
 {
  "Iteration": 180,
  "Value": 7951.623376623376,
  "Agent": "C51"
 },
 {
  "Iteration": 181,
  "Value": 8330.555555555555,
  "Agent": "C51"
 },
 {
  "Iteration": 182,
  "Value": 8459.154929577464,
  "Agent": "C51"
 },
 {
  "Iteration": 183,
  "Value": 8767.753623188406,
  "Agent": "C51"
 },
 {
  "Iteration": 184,
  "Value": 8049.666666666667,
  "Agent": "C51"
 },
 {
  "Iteration": 185,
  "Value": 8099.333333333333,
  "Agent": "C51"
 },
 {
  "Iteration": 186,
  "Value": 8343.918918918918,
  "Agent": "C51"
 },
 {
  "Iteration": 187,
  "Value": 7872.6973684210525,
  "Agent": "C51"
 },
 {
  "Iteration": 188,
  "Value": 8066.4473684210525,
  "Agent": "C51"
 },
 {
  "Iteration": 189,
  "Value": 8859.420289855072,
  "Agent": "C51"
 },
 {
  "Iteration": 190,
  "Value": 8370.205479452055,
  "Agent": "C51"
 },
 {
  "Iteration": 191,
  "Value": 8331.849315068494,
  "Agent": "C51"
 },
 {
  "Iteration": 192,
  "Value": 8603.985507246376,
  "Agent": "C51"
 },
 {
  "Iteration": 193,
  "Value": 8364.583333333334,
  "Agent": "C51"
 },
 {
  "Iteration": 194,
  "Value": 7878.2467532467535,
  "Agent": "C51"
 },
 {
  "Iteration": 195,
  "Value": 8261.666666666666,
  "Agent": "C51"
 },
 {
  "Iteration": 196,
  "Value": 8672.18309859155,
  "Agent": "C51"
 },
 {
  "Iteration": 197,
  "Value": 7810.25641025641,
  "Agent": "C51"
 },
 {
  "Iteration": 198,
  "Value": 8457.876712328767,
  "Agent": "C51"
 },
 {
  "Iteration": 0,
  "Value": 458.5489833641405,
  "Agent": "C51"
 },
 {
  "Iteration": 1,
  "Value": 375.078125,
  "Agent": "C51"
 },
 {
  "Iteration": 2,
  "Value": 667.4433249370277,
  "Agent": "C51"
 },
 {
  "Iteration": 3,
  "Value": 968.384879725086,
  "Agent": "C51"
 },
 {
  "Iteration": 4,
  "Value": 1268.3467741935483,
  "Agent": "C51"
 },
 {
  "Iteration": 5,
  "Value": 1592.3809523809523,
  "Agent": "C51"
 },
 {
  "Iteration": 6,
  "Value": 2205.473372781065,
  "Agent": "C51"
 },
 {
  "Iteration": 7,
  "Value": 2174.4444444444443,
  "Agent": "C51"
 },
 {
  "Iteration": 8,
  "Value": 2257.0588235294117,
  "Agent": "C51"
 },
 {
  "Iteration": 9,
  "Value": 2405.0925925925926,
  "Agent": "C51"
 },
 {
  "Iteration": 10,
  "Value": 3133.7301587301586,
  "Agent": "C51"
 },
 {
  "Iteration": 11,
  "Value": 3375.2,
  "Agent": "C51"
 },
 {
  "Iteration": 12,
  "Value": 3511.2704918032787,
  "Agent": "C51"
 },
 {
  "Iteration": 13,
  "Value": 3834.3478260869565,
  "Agent": "C51"
 },
 {
  "Iteration": 14,
  "Value": 3693.8524590163934,
  "Agent": "C51"
 },
 {
  "Iteration": 15,
  "Value": 4019.1304347826085,
  "Agent": "C51"
 },
 {
  "Iteration": 16,
  "Value": 3744.308943089431,
  "Agent": "C51"
 },
 {
  "Iteration": 17,
  "Value": 4688.834951456311,
  "Agent": "C51"
 },
 {
  "Iteration": 18,
  "Value": 4963.144329896907,
  "Agent": "C51"
 },
 {
  "Iteration": 19,
  "Value": 4725.961538461538,
  "Agent": "C51"
 },
 {
  "Iteration": 20,
  "Value": 4724.285714285715,
  "Agent": "C51"
 },
 {
  "Iteration": 21,
  "Value": 4786.792452830188,
  "Agent": "C51"
 },
 {
  "Iteration": 22,
  "Value": 4852.669902912621,
  "Agent": "C51"
 },
 {
  "Iteration": 23,
  "Value": 5520.212765957447,
  "Agent": "C51"
 },
 {
  "Iteration": 24,
  "Value": 5011.881188118812,
  "Agent": "C51"
 },
 {
  "Iteration": 25,
  "Value": 5343.1122448979595,
  "Agent": "C51"
 },
 {
  "Iteration": 26,
  "Value": 5446.09375,
  "Agent": "C51"
 },
 {
  "Iteration": 27,
  "Value": 4982.932692307692,
  "Agent": "C51"
 },
 {
  "Iteration": 28,
  "Value": 5223.019801980198,
  "Agent": "C51"
 },
 {
  "Iteration": 29,
  "Value": 5199.278846153846,
  "Agent": "C51"
 },
 {
  "Iteration": 30,
  "Value": 5808.152173913043,
  "Agent": "C51"
 },
 {
  "Iteration": 31,
  "Value": 5803.763440860215,
  "Agent": "C51"
 },
 {
  "Iteration": 32,
  "Value": 5682.368421052632,
  "Agent": "C51"
 },
 {
  "Iteration": 33,
  "Value": 6817.901234567901,
  "Agent": "C51"
 },
 {
  "Iteration": 34,
  "Value": 6605.722891566265,
  "Agent": "C51"
 },
 {
  "Iteration": 35,
  "Value": 6544.705882352941,
  "Agent": "C51"
 },
 {
  "Iteration": 36,
  "Value": 6104.945054945055,
  "Agent": "C51"
 },
 {
  "Iteration": 37,
  "Value": 6339.204545454545,
  "Agent": "C51"
 },
 {
  "Iteration": 38,
  "Value": 6523.546511627907,
  "Agent": "C51"
 },
 {
  "Iteration": 39,
  "Value": 6593.023255813953,
  "Agent": "C51"
 },
 {
  "Iteration": 40,
  "Value": 6045.108695652174,
  "Agent": "C51"
 },
 {
  "Iteration": 41,
  "Value": 5815.104166666667,
  "Agent": "C51"
 },
 {
  "Iteration": 42,
  "Value": 6880.6547619047615,
  "Agent": "C51"
 },
 {
  "Iteration": 43,
  "Value": 6800.297619047619,
  "Agent": "C51"
 },
 {
  "Iteration": 44,
  "Value": 7831.333333333333,
  "Agent": "C51"
 },
 {
  "Iteration": 45,
  "Value": 6943.90243902439,
  "Agent": "C51"
 },
 {
  "Iteration": 46,
  "Value": 6895.238095238095,
  "Agent": "C51"
 },
 {
  "Iteration": 47,
  "Value": 6747.916666666667,
  "Agent": "C51"
 },
 {
  "Iteration": 48,
  "Value": 7586.8421052631575,
  "Agent": "C51"
 },
 {
  "Iteration": 49,
  "Value": 6735.119047619048,
  "Agent": "C51"
 },
 {
  "Iteration": 50,
  "Value": 7696.710526315789,
  "Agent": "C51"
 },
 {
  "Iteration": 51,
  "Value": 7259.493670886076,
  "Agent": "C51"
 },
 {
  "Iteration": 52,
  "Value": 6801.470588235294,
  "Agent": "C51"
 },
 {
  "Iteration": 53,
  "Value": 7668.75,
  "Agent": "C51"
 },
 {
  "Iteration": 54,
  "Value": 7662.5,
  "Agent": "C51"
 },
 {
  "Iteration": 55,
  "Value": 6672.383720930233,
  "Agent": "C51"
 },
 {
  "Iteration": 56,
  "Value": 7446.835443037975,
  "Agent": "C51"
 },
 {
  "Iteration": 57,
  "Value": 7056.09756097561,
  "Agent": "C51"
 },
 {
  "Iteration": 58,
  "Value": 6761.337209302325,
  "Agent": "C51"
 },
 {
  "Iteration": 59,
  "Value": 6957.142857142857,
  "Agent": "C51"
 },
 {
  "Iteration": 60,
  "Value": 7071.036585365854,
  "Agent": "C51"
 },
 {
  "Iteration": 61,
  "Value": 7398.397435897436,
  "Agent": "C51"
 },
 {
  "Iteration": 62,
  "Value": 6993.20987654321,
  "Agent": "C51"
 },
 {
  "Iteration": 63,
  "Value": 7391.139240506329,
  "Agent": "C51"
 },
 {
  "Iteration": 64,
  "Value": 7824.333333333333,
  "Agent": "C51"
 },
 {
  "Iteration": 65,
  "Value": 8252.112676056338,
  "Agent": "C51"
 },
 {
  "Iteration": 66,
  "Value": 7252.1875,
  "Agent": "C51"
 },
 {
  "Iteration": 67,
  "Value": 7903.040540540541,
  "Agent": "C51"
 },
 {
  "Iteration": 68,
  "Value": 6808.430232558139,
  "Agent": "C51"
 },
 {
  "Iteration": 69,
  "Value": 7342.405063291139,
  "Agent": "C51"
 },
 {
  "Iteration": 70,
  "Value": 7180.3125,
  "Agent": "C51"
 },
 {
  "Iteration": 71,
  "Value": 7595.065789473684,
  "Agent": "C51"
 },
 {
  "Iteration": 72,
  "Value": 6620.058139534884,
  "Agent": "C51"
 },
 {
  "Iteration": 73,
  "Value": 7835.666666666667,
  "Agent": "C51"
 },
 {
  "Iteration": 74,
  "Value": 7139.197530864198,
  "Agent": "C51"
 },
 {
  "Iteration": 75,
  "Value": 7894.9324324324325,
  "Agent": "C51"
 },
 {
  "Iteration": 76,
  "Value": 7634.539473684211,
  "Agent": "C51"
 },
 {
  "Iteration": 77,
  "Value": 7324.367088607595,
  "Agent": "C51"
 },
 {
  "Iteration": 78,
  "Value": 8066.891891891892,
  "Agent": "C51"
 },
 {
  "Iteration": 79,
  "Value": 7389.0625,
  "Agent": "C51"
 },
 {
  "Iteration": 80,
  "Value": 6876.488095238095,
  "Agent": "C51"
 },
 {
  "Iteration": 81,
  "Value": 8205.902777777777,
  "Agent": "C51"
 },
 {
  "Iteration": 82,
  "Value": 8012.1621621621625,
  "Agent": "C51"
 },
 {
  "Iteration": 83,
  "Value": 8495.357142857143,
  "Agent": "C51"
 },
 {
  "Iteration": 84,
  "Value": 9090.530303030304,
  "Agent": "C51"
 },
 {
  "Iteration": 85,
  "Value": 8138.013698630137,
  "Agent": "C51"
 },
 {
  "Iteration": 86,
  "Value": 7644.480519480519,
  "Agent": "C51"
 },
 {
  "Iteration": 87,
  "Value": 7307.911392405063,
  "Agent": "C51"
 },
 {
  "Iteration": 88,
  "Value": 7578.571428571428,
  "Agent": "C51"
 },
 {
  "Iteration": 89,
  "Value": 8110.472972972973,
  "Agent": "C51"
 },
 {
  "Iteration": 90,
  "Value": 8528.214285714286,
  "Agent": "C51"
 },
 {
  "Iteration": 91,
  "Value": 7803.618421052632,
  "Agent": "C51"
 },
 {
  "Iteration": 92,
  "Value": 8289.236111111111,
  "Agent": "C51"
 },
 {
  "Iteration": 93,
  "Value": 7590.909090909091,
  "Agent": "C51"
 },
 {
  "Iteration": 94,
  "Value": 8146.875,
  "Agent": "C51"
 },
 {
  "Iteration": 95,
  "Value": 7649.013157894737,
  "Agent": "C51"
 },
 {
  "Iteration": 96,
  "Value": 7473.076923076923,
  "Agent": "C51"
 },
 {
  "Iteration": 97,
  "Value": 7156.707317073171,
  "Agent": "C51"
 },
 {
  "Iteration": 98,
  "Value": 6292.934782608696,
  "Agent": "C51"
 },
 {
  "Iteration": 99,
  "Value": 7677.24358974359,
  "Agent": "C51"
 },
 {
  "Iteration": 100,
  "Value": 7329.430379746836,
  "Agent": "C51"
 },
 {
  "Iteration": 101,
  "Value": 7530.128205128205,
  "Agent": "C51"
 },
 {
  "Iteration": 102,
  "Value": 8179.861111111111,
  "Agent": "C51"
 },
 {
  "Iteration": 103,
  "Value": 6333.888888888889,
  "Agent": "C51"
 },
 {
  "Iteration": 104,
  "Value": 7692.0,
  "Agent": "C51"
 },
 {
  "Iteration": 105,
  "Value": 6892.77108433735,
  "Agent": "C51"
 },
 {
  "Iteration": 106,
  "Value": 7022.256097560976,
  "Agent": "C51"
 },
 {
  "Iteration": 107,
  "Value": 7393.987341772152,
  "Agent": "C51"
 },
 {
  "Iteration": 108,
  "Value": 8052.397260273972,
  "Agent": "C51"
 },
 {
  "Iteration": 109,
  "Value": 8166.554054054054,
  "Agent": "C51"
 },
 {
  "Iteration": 110,
  "Value": 8034.121621621622,
  "Agent": "C51"
 },
 {
  "Iteration": 111,
  "Value": 7529.807692307692,
  "Agent": "C51"
 },
 {
  "Iteration": 112,
  "Value": 7093.674698795181,
  "Agent": "C51"
 },
 {
  "Iteration": 113,
  "Value": 7895.065789473684,
  "Agent": "C51"
 },
 {
  "Iteration": 114,
  "Value": 7936.666666666667,
  "Agent": "C51"
 },
 {
  "Iteration": 115,
  "Value": 7894.9324324324325,
  "Agent": "C51"
 },
 {
  "Iteration": 116,
  "Value": 7887.666666666667,
  "Agent": "C51"
 },
 {
  "Iteration": 117,
  "Value": 8998.529411764706,
  "Agent": "C51"
 },
 {
  "Iteration": 118,
  "Value": 7721.7532467532465,
  "Agent": "C51"
 },
 {
  "Iteration": 119,
  "Value": 7363.109756097561,
  "Agent": "C51"
 },
 {
  "Iteration": 120,
  "Value": 7987.8378378378375,
  "Agent": "C51"
 },
 {
  "Iteration": 121,
  "Value": 7663.311688311688,
  "Agent": "C51"
 },
 {
  "Iteration": 122,
  "Value": 8008.666666666667,
  "Agent": "C51"
 },
 {
  "Iteration": 123,
  "Value": 8635.56338028169,
  "Agent": "C51"
 },
 {
  "Iteration": 124,
  "Value": 7618.910256410257,
  "Agent": "C51"
 },
 {
  "Iteration": 125,
  "Value": 7519.871794871795,
  "Agent": "C51"
 },
 {
  "Iteration": 126,
  "Value": 7757.894736842105,
  "Agent": "C51"
 },
 {
  "Iteration": 127,
  "Value": 7686.363636363636,
  "Agent": "C51"
 },
 {
  "Iteration": 128,
  "Value": 7271.6463414634145,
  "Agent": "C51"
 },
 {
  "Iteration": 129,
  "Value": 7681.089743589743,
  "Agent": "C51"
 },
 {
  "Iteration": 130,
  "Value": 7520.886075949367,
  "Agent": "C51"
 },
 {
  "Iteration": 131,
  "Value": 7290.123456790124,
  "Agent": "C51"
 },
 {
  "Iteration": 132,
  "Value": 7829.220779220779,
  "Agent": "C51"
 },
 {
  "Iteration": 133,
  "Value": 7315.740740740741,
  "Agent": "C51"
 },
 {
  "Iteration": 134,
  "Value": 7981.506849315068,
  "Agent": "C51"
 },
 {
  "Iteration": 135,
  "Value": 7962.333333333333,
  "Agent": "C51"
 },
 {
  "Iteration": 136,
  "Value": 7918.581081081081,
  "Agent": "C51"
 },
 {
  "Iteration": 137,
  "Value": 7254.21686746988,
  "Agent": "C51"
 },
 {
  "Iteration": 138,
  "Value": 8320.833333333334,
  "Agent": "C51"
 },
 {
  "Iteration": 139,
  "Value": 8466.901408450703,
  "Agent": "C51"
 },
 {
  "Iteration": 140,
  "Value": 8808.823529411764,
  "Agent": "C51"
 },
 {
  "Iteration": 141,
  "Value": 7824.367088607595,
  "Agent": "C51"
 },
 {
  "Iteration": 142,
  "Value": 7638.782051282052,
  "Agent": "C51"
 },
 {
  "Iteration": 143,
  "Value": 8001.644736842105,
  "Agent": "C51"
 },
 {
  "Iteration": 144,
  "Value": 8139.527027027027,
  "Agent": "C51"
 },
 {
  "Iteration": 145,
  "Value": 7513.291139240507,
  "Agent": "C51"
 },
 {
  "Iteration": 146,
  "Value": 7925.666666666667,
  "Agent": "C51"
 },
 {
  "Iteration": 147,
  "Value": 8008.108108108108,
  "Agent": "C51"
 },
 {
  "Iteration": 148,
  "Value": 7681.168831168831,
  "Agent": "C51"
 },
 {
  "Iteration": 149,
  "Value": 7587.662337662337,
  "Agent": "C51"
 },
 {
  "Iteration": 150,
  "Value": 7509.6875,
  "Agent": "C51"
 },
 {
  "Iteration": 151,
  "Value": 7922.039473684211,
  "Agent": "C51"
 },
 {
  "Iteration": 152,
  "Value": 8432.638888888889,
  "Agent": "C51"
 },
 {
  "Iteration": 153,
  "Value": 7923.333333333333,
  "Agent": "C51"
 },
 {
  "Iteration": 154,
  "Value": 8079.333333333333,
  "Agent": "C51"
 },
 {
  "Iteration": 155,
  "Value": 8629.642857142857,
  "Agent": "C51"
 },
 {
  "Iteration": 156,
  "Value": 8318.150684931506,
  "Agent": "C51"
 },
 {
  "Iteration": 157,
  "Value": 7608.333333333333,
  "Agent": "C51"
 },
 {
  "Iteration": 158,
  "Value": 8236.824324324325,
  "Agent": "C51"
 },
 {
  "Iteration": 159,
  "Value": 7775.974025974026,
  "Agent": "C51"
 },
 {
  "Iteration": 160,
  "Value": 8175.0,
  "Agent": "C51"
 },
 {
  "Iteration": 161,
  "Value": 7154.761904761905,
  "Agent": "C51"
 },
 {
  "Iteration": 162,
  "Value": 8232.534246575342,
  "Agent": "C51"
 },
 {
  "Iteration": 163,
  "Value": 8573.591549295774,
  "Agent": "C51"
 },
 {
  "Iteration": 164,
  "Value": 8327.464788732394,
  "Agent": "C51"
 },
 {
  "Iteration": 165,
  "Value": 8542.25352112676,
  "Agent": "C51"
 },
 {
  "Iteration": 166,
  "Value": 7653.205128205128,
  "Agent": "C51"
 },
 {
  "Iteration": 167,
  "Value": 7475.625,
  "Agent": "C51"
 },
 {
  "Iteration": 168,
  "Value": 8328.082191780823,
  "Agent": "C51"
 },
 {
  "Iteration": 169,
  "Value": 7164.457831325301,
  "Agent": "C51"
 },
 {
  "Iteration": 170,
  "Value": 7802.5641025641025,
  "Agent": "C51"
 },
 {
  "Iteration": 171,
  "Value": 7429.6875,
  "Agent": "C51"
 },
 {
  "Iteration": 172,
  "Value": 7583.974358974359,
  "Agent": "C51"
 },
 {
  "Iteration": 173,
  "Value": 7883.666666666667,
  "Agent": "C51"
 },
 {
  "Iteration": 174,
  "Value": 8141.333333333333,
  "Agent": "C51"
 },
 {
  "Iteration": 175,
  "Value": 7922.368421052632,
  "Agent": "C51"
 },
 {
  "Iteration": 176,
  "Value": 7861.184210526316,
  "Agent": "C51"
 },
 {
  "Iteration": 177,
  "Value": 7819.480519480519,
  "Agent": "C51"
 },
 {
  "Iteration": 178,
  "Value": 7379.0123456790125,
  "Agent": "C51"
 },
 {
  "Iteration": 179,
  "Value": 6696.875,
  "Agent": "C51"
 },
 {
  "Iteration": 180,
  "Value": 8251.369863013699,
  "Agent": "C51"
 },
 {
  "Iteration": 181,
  "Value": 7411.708860759493,
  "Agent": "C51"
 },
 {
  "Iteration": 182,
  "Value": 8172.260273972603,
  "Agent": "C51"
 },
 {
  "Iteration": 183,
  "Value": 7043.452380952381,
  "Agent": "C51"
 },
 {
  "Iteration": 184,
  "Value": 7992.105263157895,
  "Agent": "C51"
 },
 {
  "Iteration": 185,
  "Value": 7861.8421052631575,
  "Agent": "C51"
 },
 {
  "Iteration": 186,
  "Value": 7724.679487179487,
  "Agent": "C51"
 },
 {
  "Iteration": 187,
  "Value": 7690.822784810127,
  "Agent": "C51"
 },
 {
  "Iteration": 188,
  "Value": 8027.333333333333,
  "Agent": "C51"
 },
 {
  "Iteration": 189,
  "Value": 7148.511904761905,
  "Agent": "C51"
 },
 {
  "Iteration": 190,
  "Value": 6784.770114942528,
  "Agent": "C51"
 },
 {
  "Iteration": 191,
  "Value": 8386.458333333334,
  "Agent": "C51"
 },
 {
  "Iteration": 192,
  "Value": 8207.77027027027,
  "Agent": "C51"
 },
 {
  "Iteration": 193,
  "Value": 7933.223684210527,
  "Agent": "C51"
 },
 {
  "Iteration": 194,
  "Value": 8818.478260869566,
  "Agent": "C51"
 },
 {
  "Iteration": 195,
  "Value": 7490.0,
  "Agent": "C51"
 },
 {
  "Iteration": 196,
  "Value": 8916.791044776119,
  "Agent": "C51"
 },
 {
  "Iteration": 197,
  "Value": 8227.027027027027,
  "Agent": "C51"
 },
 {
  "Iteration": 198,
  "Value": 7986.0,
  "Agent": "C51"
 },
 {
  "Iteration": 0,
  "Value": 476.7723880597015,
  "Agent": "C51"
 },
 {
  "Iteration": 1,
  "Value": 378.77947295423024,
  "Agent": "C51"
 },
 {
  "Iteration": 2,
  "Value": 635.0815850815851,
  "Agent": "C51"
 },
 {
  "Iteration": 3,
  "Value": 1189.8832684824902,
  "Agent": "C51"
 },
 {
  "Iteration": 4,
  "Value": 1465.3761061946902,
  "Agent": "C51"
 },
 {
  "Iteration": 5,
  "Value": 2092.3192771084337,
  "Agent": "C51"
 },
 {
  "Iteration": 6,
  "Value": 1821.0858585858587,
  "Agent": "C51"
 },
 {
  "Iteration": 7,
  "Value": 2283.187134502924,
  "Agent": "C51"
 },
 {
  "Iteration": 8,
  "Value": 2563.474025974026,
  "Agent": "C51"
 },
 {
  "Iteration": 9,
  "Value": 2969.1605839416056,
  "Agent": "C51"
 },
 {
  "Iteration": 10,
  "Value": 2813.8698630136987,
  "Agent": "C51"
 },
 {
  "Iteration": 11,
  "Value": 2777.1666666666665,
  "Agent": "C51"
 },
 {
  "Iteration": 12,
  "Value": 3390.277777777778,
  "Agent": "C51"
 },
 {
  "Iteration": 13,
  "Value": 3218.6090225563908,
  "Agent": "C51"
 },
 {
  "Iteration": 14,
  "Value": 3617.0,
  "Agent": "C51"
 },
 {
  "Iteration": 15,
  "Value": 3897.4358974358975,
  "Agent": "C51"
 },
 {
  "Iteration": 16,
  "Value": 4245.833333333333,
  "Agent": "C51"
 },
 {
  "Iteration": 17,
  "Value": 4471.428571428572,
  "Agent": "C51"
 },
 {
  "Iteration": 18,
  "Value": 4818.5,
  "Agent": "C51"
 },
 {
  "Iteration": 19,
  "Value": 4495.833333333333,
  "Agent": "C51"
 },
 {
  "Iteration": 20,
  "Value": 4896.568627450981,
  "Agent": "C51"
 },
 {
  "Iteration": 21,
  "Value": 4628.301886792453,
  "Agent": "C51"
 },
 {
  "Iteration": 22,
  "Value": 4770.098039215686,
  "Agent": "C51"
 },
 {
  "Iteration": 23,
  "Value": 5367.894736842105,
  "Agent": "C51"
 },
 {
  "Iteration": 24,
  "Value": 5720.923913043478,
  "Agent": "C51"
 },
 {
  "Iteration": 25,
  "Value": 6046.022727272727,
  "Agent": "C51"
 },
 {
  "Iteration": 26,
  "Value": 5846.944444444444,
  "Agent": "C51"
 },
 {
  "Iteration": 27,
  "Value": 5190.346534653465,
  "Agent": "C51"
 },
 {
  "Iteration": 28,
  "Value": 5521.649484536082,
  "Agent": "C51"
 },
 {
  "Iteration": 29,
  "Value": 5799.210526315789,
  "Agent": "C51"
 },
 {
  "Iteration": 30,
  "Value": 6304.261363636364,
  "Agent": "C51"
 },
 {
  "Iteration": 31,
  "Value": 6481.547619047619,
  "Agent": "C51"
 },
 {
  "Iteration": 32,
  "Value": 6536.764705882353,
  "Agent": "C51"
 },
 {
  "Iteration": 33,
  "Value": 6882.012195121952,
  "Agent": "C51"
 },
 {
  "Iteration": 34,
  "Value": 5976.344086021505,
  "Agent": "C51"
 },
 {
  "Iteration": 35,
  "Value": 6155.555555555556,
  "Agent": "C51"
 },
 {
  "Iteration": 36,
  "Value": 6119.021739130435,
  "Agent": "C51"
 },
 {
  "Iteration": 37,
  "Value": 5307.038834951456,
  "Agent": "C51"
 },
 {
  "Iteration": 38,
  "Value": 6800.0,
  "Agent": "C51"
 },
 {
  "Iteration": 39,
  "Value": 6508.235294117647,
  "Agent": "C51"
 },
 {
  "Iteration": 40,
  "Value": 6496.83908045977,
  "Agent": "C51"
 },
 {
  "Iteration": 41,
  "Value": 6475.290697674419,
  "Agent": "C51"
 },
 {
  "Iteration": 42,
  "Value": 6176.944444444444,
  "Agent": "C51"
 },
 {
  "Iteration": 43,
  "Value": 6280.277777777777,
  "Agent": "C51"
 },
 {
  "Iteration": 44,
  "Value": 7109.615384615385,
  "Agent": "C51"
 },
 {
  "Iteration": 45,
  "Value": 5722.395833333333,
  "Agent": "C51"
 },
 {
  "Iteration": 46,
  "Value": 6413.505747126437,
  "Agent": "C51"
 },
 {
  "Iteration": 47,
  "Value": 6805.882352941177,
  "Agent": "C51"
 },
 {
  "Iteration": 48,
  "Value": 6472.727272727273,
  "Agent": "C51"
 },
 {
  "Iteration": 49,
  "Value": 6966.566265060241,
  "Agent": "C51"
 },
 {
  "Iteration": 50,
  "Value": 6962.048192771084,
  "Agent": "C51"
 },
 {
  "Iteration": 51,
  "Value": 8078.819444444444,
  "Agent": "C51"
 },
 {
  "Iteration": 52,
  "Value": 7910.333333333333,
  "Agent": "C51"
 },
 {
  "Iteration": 53,
  "Value": 7734.539473684211,
  "Agent": "C51"
 },
 {
  "Iteration": 54,
  "Value": 6621.220930232558,
  "Agent": "C51"
 },
 {
  "Iteration": 55,
  "Value": 7505.7692307692305,
  "Agent": "C51"
 },
 {
  "Iteration": 56,
  "Value": 7546.103896103896,
  "Agent": "C51"
 },
 {
  "Iteration": 57,
  "Value": 7715.131578947368,
  "Agent": "C51"
 },
 {
  "Iteration": 58,
  "Value": 6814.411764705882,
  "Agent": "C51"
 },
 {
  "Iteration": 59,
  "Value": 7510.576923076923,
  "Agent": "C51"
 },
 {
  "Iteration": 60,
  "Value": 7535.714285714285,
  "Agent": "C51"
 },
 {
  "Iteration": 61,
  "Value": 6835.882352941177,
  "Agent": "C51"
 },
 {
  "Iteration": 62,
  "Value": 7472.727272727273,
  "Agent": "C51"
 },
 {
  "Iteration": 63,
  "Value": 6530.172413793103,
  "Agent": "C51"
 },
 {
  "Iteration": 64,
  "Value": 7134.567901234568,
  "Agent": "C51"
 },
 {
  "Iteration": 65,
  "Value": 6868.674698795181,
  "Agent": "C51"
 },
 {
  "Iteration": 66,
  "Value": 7569.4078947368425,
  "Agent": "C51"
 },
 {
  "Iteration": 67,
  "Value": 6818.823529411765,
  "Agent": "C51"
 },
 {
  "Iteration": 68,
  "Value": 7118.0722891566265,
  "Agent": "C51"
 },
 {
  "Iteration": 69,
  "Value": 6103.225806451613,
  "Agent": "C51"
 },
 {
  "Iteration": 70,
  "Value": 7053.658536585366,
  "Agent": "C51"
 },
 {
  "Iteration": 71,
  "Value": 6676.724137931034,
  "Agent": "C51"
 },
 {
  "Iteration": 72,
  "Value": 6901.807228915663,
  "Agent": "C51"
 },
 {
  "Iteration": 73,
  "Value": 7545.12987012987,
  "Agent": "C51"
 },
 {
  "Iteration": 74,
  "Value": 6717.058823529412,
  "Agent": "C51"
 },
 {
  "Iteration": 75,
  "Value": 7197.1875,
  "Agent": "C51"
 },
 {
  "Iteration": 76,
  "Value": 7170.061728395061,
  "Agent": "C51"
 },
 {
  "Iteration": 77,
  "Value": 8095.890410958904,
  "Agent": "C51"
 },
 {
  "Iteration": 78,
  "Value": 7707.467532467533,
  "Agent": "C51"
 },
 {
  "Iteration": 79,
  "Value": 7243.292682926829,
  "Agent": "C51"
 },
 {
  "Iteration": 80,
  "Value": 7806.0,
  "Agent": "C51"
 },
 {
  "Iteration": 81,
  "Value": 6947.891566265061,
  "Agent": "C51"
 },
 {
  "Iteration": 82,
  "Value": 7656.410256410257,
  "Agent": "C51"
 },
 {
  "Iteration": 83,
  "Value": 7365.625,
  "Agent": "C51"
 },
 {
  "Iteration": 84,
  "Value": 8614.285714285714,
  "Agent": "C51"
 },
 {
  "Iteration": 85,
  "Value": 7825.0,
  "Agent": "C51"
 },
 {
  "Iteration": 86,
  "Value": 8185.958904109589,
  "Agent": "C51"
 },
 {
  "Iteration": 87,
  "Value": 7505.379746835443,
  "Agent": "C51"
 },
 {
  "Iteration": 88,
  "Value": 8012.333333333333,
  "Agent": "C51"
 },
 {
  "Iteration": 89,
  "Value": 7985.135135135135,
  "Agent": "C51"
 },
 {
  "Iteration": 90,
  "Value": 7697.727272727273,
  "Agent": "C51"
 },
 {
  "Iteration": 91,
  "Value": 7888.815789473684,
  "Agent": "C51"
 },
 {
  "Iteration": 92,
  "Value": 7638.961038961039,
  "Agent": "C51"
 },
 {
  "Iteration": 93,
  "Value": 7831.666666666667,
  "Agent": "C51"
 },
 {
  "Iteration": 94,
  "Value": 7248.717948717948,
  "Agent": "C51"
 },
 {
  "Iteration": 95,
  "Value": 7411.0759493670885,
  "Agent": "C51"
 },
 {
  "Iteration": 96,
  "Value": 7342.901234567901,
  "Agent": "C51"
 },
 {
  "Iteration": 97,
  "Value": 7627.3026315789475,
  "Agent": "C51"
 },
 {
  "Iteration": 98,
  "Value": 7309.177215189873,
  "Agent": "C51"
 },
 {
  "Iteration": 99,
  "Value": 6897.093023255814,
  "Agent": "C51"
 },
 {
  "Iteration": 100,
  "Value": 7652.597402597403,
  "Agent": "C51"
 },
 {
  "Iteration": 101,
  "Value": 7442.721518987341,
  "Agent": "C51"
 },
 {
  "Iteration": 102,
  "Value": 8535.56338028169,
  "Agent": "C51"
 },
 {
  "Iteration": 103,
  "Value": 8043.581081081081,
  "Agent": "C51"
 },
 {
  "Iteration": 104,
  "Value": 7056.626506024097,
  "Agent": "C51"
 },
 {
  "Iteration": 105,
  "Value": 7405.3125,
  "Agent": "C51"
 },
 {
  "Iteration": 106,
  "Value": 7670.833333333333,
  "Agent": "C51"
 },
 {
  "Iteration": 107,
  "Value": 7323.475609756098,
  "Agent": "C51"
 },
 {
  "Iteration": 108,
  "Value": 7567.405063291139,
  "Agent": "C51"
 },
 {
  "Iteration": 109,
  "Value": 7757.236842105263,
  "Agent": "C51"
 },
 {
  "Iteration": 110,
  "Value": 7334.0625,
  "Agent": "C51"
 },
 {
  "Iteration": 111,
  "Value": 8404.794520547945,
  "Agent": "C51"
 },
 {
  "Iteration": 112,
  "Value": 7073.795180722892,
  "Agent": "C51"
 },
 {
  "Iteration": 113,
  "Value": 7763.636363636364,
  "Agent": "C51"
 },
 {
  "Iteration": 114,
  "Value": 7935.666666666667,
  "Agent": "C51"
 },
 {
  "Iteration": 115,
  "Value": 7198.511904761905,
  "Agent": "C51"
 },
 {
  "Iteration": 116,
  "Value": 8170.945945945946,
  "Agent": "C51"
 },
 {
  "Iteration": 117,
  "Value": 6837.35632183908,
  "Agent": "C51"
 },
 {
  "Iteration": 118,
  "Value": 7547.115384615385,
  "Agent": "C51"
 },
 {
  "Iteration": 119,
  "Value": 7178.395061728395,
  "Agent": "C51"
 },
 {
  "Iteration": 120,
  "Value": 7734.415584415585,
  "Agent": "C51"
 },
 {
  "Iteration": 121,
  "Value": 7713.333333333333,
  "Agent": "C51"
 },
 {
  "Iteration": 122,
  "Value": 7174.096385542169,
  "Agent": "C51"
 },
 {
  "Iteration": 123,
  "Value": 7865.460526315789,
  "Agent": "C51"
 },
 {
  "Iteration": 124,
  "Value": 6663.068181818182,
  "Agent": "C51"
 },
 {
  "Iteration": 125,
  "Value": 7569.303797468355,
  "Agent": "C51"
 },
 {
  "Iteration": 126,
  "Value": 6961.44578313253,
  "Agent": "C51"
 },
 {
  "Iteration": 127,
  "Value": 7589.102564102564,
  "Agent": "C51"
 },
 {
  "Iteration": 128,
  "Value": 6447.222222222223,
  "Agent": "C51"
 },
 {
  "Iteration": 129,
  "Value": 8298.263888888889,
  "Agent": "C51"
 },
 {
  "Iteration": 130,
  "Value": 7444.871794871795,
  "Agent": "C51"
 },
 {
  "Iteration": 131,
  "Value": 6750.0,
  "Agent": "C51"
 },
 {
  "Iteration": 132,
  "Value": 7728.896103896104,
  "Agent": "C51"
 },
 {
  "Iteration": 133,
  "Value": 7150.297619047619,
  "Agent": "C51"
 },
 {
  "Iteration": 134,
  "Value": 7106.626506024097,
  "Agent": "C51"
 },
 {
  "Iteration": 135,
  "Value": 8212.837837837838,
  "Agent": "C51"
 },
 {
  "Iteration": 136,
  "Value": 7771.7532467532465,
  "Agent": "C51"
 },
 {
  "Iteration": 137,
  "Value": 8531.69014084507,
  "Agent": "C51"
 },
 {
  "Iteration": 138,
  "Value": 7519.375,
  "Agent": "C51"
 },
 {
  "Iteration": 139,
  "Value": 8042.666666666667,
  "Agent": "C51"
 },
 {
  "Iteration": 140,
  "Value": 7265.243902439024,
  "Agent": "C51"
 },
 {
  "Iteration": 141,
  "Value": 7369.0625,
  "Agent": "C51"
 },
 {
  "Iteration": 142,
  "Value": 7405.9375,
  "Agent": "C51"
 },
 {
  "Iteration": 143,
  "Value": 7667.721518987341,
  "Agent": "C51"
 },
 {
  "Iteration": 144,
  "Value": 8080.0675675675675,
  "Agent": "C51"
 },
 {
  "Iteration": 145,
  "Value": 7765.25974025974,
  "Agent": "C51"
 },
 {
  "Iteration": 146,
  "Value": 7690.584415584415,
  "Agent": "C51"
 },
 {
  "Iteration": 147,
  "Value": 8180.405405405405,
  "Agent": "C51"
 },
 {
  "Iteration": 148,
  "Value": 7352.1875,
  "Agent": "C51"
 },
 {
  "Iteration": 149,
  "Value": 8276.736111111111,
  "Agent": "C51"
 },
 {
  "Iteration": 150,
  "Value": 8286.148648648648,
  "Agent": "C51"
 },
 {
  "Iteration": 151,
  "Value": 7581.7307692307695,
  "Agent": "C51"
 },
 {
  "Iteration": 152,
  "Value": 8594.642857142857,
  "Agent": "C51"
 },
 {
  "Iteration": 153,
  "Value": 6866.569767441861,
  "Agent": "C51"
 },
 {
  "Iteration": 154,
  "Value": 7887.662337662337,
  "Agent": "C51"
 },
 {
  "Iteration": 155,
  "Value": 7547.5,
  "Agent": "C51"
 },
 {
  "Iteration": 156,
  "Value": 7641.455696202532,
  "Agent": "C51"
 },
 {
  "Iteration": 157,
  "Value": 8184.459459459459,
  "Agent": "C51"
 },
 {
  "Iteration": 158,
  "Value": 7782.142857142857,
  "Agent": "C51"
 },
 {
  "Iteration": 159,
  "Value": 7190.294117647059,
  "Agent": "C51"
 },
 {
  "Iteration": 160,
  "Value": 7794.303797468355,
  "Agent": "C51"
 },
 {
  "Iteration": 161,
  "Value": 7611.708860759493,
  "Agent": "C51"
 },
 {
  "Iteration": 162,
  "Value": 8221.95945945946,
  "Agent": "C51"
 },
 {
  "Iteration": 163,
  "Value": 7676.265822784811,
  "Agent": "C51"
 },
 {
  "Iteration": 164,
  "Value": 8332.191780821919,
  "Agent": "C51"
 },
 {
  "Iteration": 165,
  "Value": 9205.514705882353,
  "Agent": "C51"
 },
 {
  "Iteration": 166,
  "Value": 8167.0,
  "Agent": "C51"
 },
 {
  "Iteration": 167,
  "Value": 7839.102564102564,
  "Agent": "C51"
 },
 {
  "Iteration": 168,
  "Value": 8683.802816901409,
  "Agent": "C51"
 },
 {
  "Iteration": 169,
  "Value": 9134.926470588236,
  "Agent": "C51"
 },
 {
  "Iteration": 170,
  "Value": 8270.333333333334,
  "Agent": "C51"
 },
 {
  "Iteration": 171,
  "Value": 7807.051282051282,
  "Agent": "C51"
 },
 {
  "Iteration": 172,
  "Value": 7987.5,
  "Agent": "C51"
 },
 {
  "Iteration": 173,
  "Value": 7756.329113924051,
  "Agent": "C51"
 },
 {
  "Iteration": 174,
  "Value": 8090.666666666667,
  "Agent": "C51"
 },
 {
  "Iteration": 175,
  "Value": 7741.666666666667,
  "Agent": "C51"
 },
 {
  "Iteration": 176,
  "Value": 7824.358974358975,
  "Agent": "C51"
 },
 {
  "Iteration": 177,
  "Value": 6975.294117647059,
  "Agent": "C51"
 },
 {
  "Iteration": 178,
  "Value": 8271.232876712329,
  "Agent": "C51"
 },
 {
  "Iteration": 179,
  "Value": 7839.935064935065,
  "Agent": "C51"
 },
 {
  "Iteration": 180,
  "Value": 8245.666666666666,
  "Agent": "C51"
 },
 {
  "Iteration": 181,
  "Value": 7676.265822784811,
  "Agent": "C51"
 },
 {
  "Iteration": 182,
  "Value": 7284.3373493975905,
  "Agent": "C51"
 },
 {
  "Iteration": 183,
  "Value": 8126.0,
  "Agent": "C51"
 },
 {
  "Iteration": 184,
  "Value": 7934.868421052632,
  "Agent": "C51"
 },
 {
  "Iteration": 185,
  "Value": 7319.512195121952,
  "Agent": "C51"
 },
 {
  "Iteration": 186,
  "Value": 7892.857142857143,
  "Agent": "C51"
 },
 {
  "Iteration": 187,
  "Value": 8027.597402597403,
  "Agent": "C51"
 },
 {
  "Iteration": 188,
  "Value": 7962.171052631579,
  "Agent": "C51"
 },
 {
  "Iteration": 189,
  "Value": 8103.0,
  "Agent": "C51"
 },
 {
  "Iteration": 190,
  "Value": 7606.5625,
  "Agent": "C51"
 },
 {
  "Iteration": 191,
  "Value": 7497.865853658536,
  "Agent": "C51"
 },
 {
  "Iteration": 192,
  "Value": 8162.5,
  "Agent": "C51"
 },
 {
  "Iteration": 193,
  "Value": 7558.950617283951,
  "Agent": "C51"
 },
 {
  "Iteration": 194,
  "Value": 7750.641025641025,
  "Agent": "C51"
 },
 {
  "Iteration": 195,
  "Value": 7321.726190476191,
  "Agent": "C51"
 },
 {
  "Iteration": 196,
  "Value": 7435.416666666667,
  "Agent": "C51"
 },
 {
  "Iteration": 197,
  "Value": 7454.62962962963,
  "Agent": "C51"
 },
 {
  "Iteration": 198,
  "Value": 8211.842105263158,
  "Agent": "C51"
 },
 {
  "Iteration": 0,
  "Value": 541.8763102725367,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 1,
  "Value": 887.4193548387096,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 2,
  "Value": 2266.8333333333335,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 3,
  "Value": 2657.2916666666665,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 4,
  "Value": 3006.115107913669,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 5,
  "Value": 3152.659574468085,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 6,
  "Value": 3122.635135135135,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 7,
  "Value": 3564.285714285714,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 8,
  "Value": 4316.517857142857,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 9,
  "Value": 4292.256637168141,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 10,
  "Value": 4944.059405940594,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 11,
  "Value": 6309.451219512195,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 12,
  "Value": 5908.146067415731,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 13,
  "Value": 6704.0123456790125,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 14,
  "Value": 7608.904109589041,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 15,
  "Value": 6906.875,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 16,
  "Value": 6903.012048192771,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 17,
  "Value": 6806.626506024097,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 18,
  "Value": 7992.361111111111,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 19,
  "Value": 7994.178082191781,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 20,
  "Value": 8214.43661971831,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 21,
  "Value": 8161.805555555556,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 22,
  "Value": 8278.169014084508,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 23,
  "Value": 8556.159420289856,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 24,
  "Value": 9181.060606060606,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 25,
  "Value": 9447.222222222223,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 26,
  "Value": 9050.378787878788,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 27,
  "Value": 11783.962264150943,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 28,
  "Value": 9460.546875,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 29,
  "Value": 11646.22641509434,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 30,
  "Value": 9805.645161290322,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 31,
  "Value": 9560.9375,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 32,
  "Value": 9453.461538461539,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 33,
  "Value": 10082.377049180328,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 34,
  "Value": 10669.827586206897,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 35,
  "Value": 10591.525423728814,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 36,
  "Value": 11485.0,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 37,
  "Value": 10120.564516129032,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 38,
  "Value": 10986.842105263158,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 39,
  "Value": 11726.388888888889,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 40,
  "Value": 11335.714285714286,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 41,
  "Value": 12673.039215686274,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 42,
  "Value": 10613.75,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 43,
  "Value": 11438.839285714286,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 44,
  "Value": 10491.803278688525,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 45,
  "Value": 11923.584905660377,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 46,
  "Value": 11831.018518518518,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 47,
  "Value": 10387.5,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 48,
  "Value": 11530.357142857143,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 49,
  "Value": 10109.375,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 50,
  "Value": 10686.065573770491,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 51,
  "Value": 11852.727272727272,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 52,
  "Value": 11155.172413793103,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 53,
  "Value": 11720.61403508772,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 54,
  "Value": 11246.551724137931,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 55,
  "Value": 12345.833333333334,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 56,
  "Value": 13333.0,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 57,
  "Value": 12615.566037735849,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 58,
  "Value": 11916.363636363636,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 59,
  "Value": 11102.542372881357,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 60,
  "Value": 11205.50847457627,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 61,
  "Value": 10098.4375,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 62,
  "Value": 11185.344827586207,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 63,
  "Value": 13462.5,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 64,
  "Value": 12119.545454545454,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 65,
  "Value": 12267.592592592593,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 66,
  "Value": 12853.77358490566,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 67,
  "Value": 14348.404255319148,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 68,
  "Value": 12835.377358490567,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 69,
  "Value": 13861.224489795919,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 70,
  "Value": 11710.593220338984,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 71,
  "Value": 12797.169811320755,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 72,
  "Value": 12254.09090909091,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 73,
  "Value": 14734.239130434782,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 74,
  "Value": 12340.90909090909,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 75,
  "Value": 11863.157894736842,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 76,
  "Value": 11655.172413793103,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 77,
  "Value": 11987.05357142857,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 78,
  "Value": 12963.942307692309,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 79,
  "Value": 14025.510204081633,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 80,
  "Value": 12048.214285714286,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 81,
  "Value": 12936.057692307691,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 82,
  "Value": 13880.102040816326,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 83,
  "Value": 14587.5,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 84,
  "Value": 15278.333333333334,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 85,
  "Value": 11145.0,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 86,
  "Value": 14520.744680851063,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 87,
  "Value": 11456.35593220339,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 88,
  "Value": 12269.545454545454,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 89,
  "Value": 13947.448979591836,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 90,
  "Value": 11873.214285714286,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 91,
  "Value": 11362.5,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 92,
  "Value": 10988.333333333334,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 93,
  "Value": 12126.363636363636,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 94,
  "Value": 11871.052631578947,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 95,
  "Value": 14811.95652173913,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 96,
  "Value": 11879.82456140351,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 97,
  "Value": 12275.0,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 98,
  "Value": 13682.5,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 99,
  "Value": 13313.942307692309,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 100,
  "Value": 11822.844827586207,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 101,
  "Value": 13258.173076923076,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 102,
  "Value": 12019.736842105263,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 103,
  "Value": 12315.625,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 104,
  "Value": 12051.293103448275,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 105,
  "Value": 11589.166666666666,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 106,
  "Value": 12715.90909090909,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 107,
  "Value": 11987.280701754386,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 108,
  "Value": 11832.456140350878,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 109,
  "Value": 13574.019607843138,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 110,
  "Value": 11905.50847457627,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 111,
  "Value": 11771.551724137931,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 112,
  "Value": 10674.21875,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 113,
  "Value": 10193.846153846154,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 114,
  "Value": 11472.5,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 115,
  "Value": 12635.454545454546,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 116,
  "Value": 11977.192982456141,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 117,
  "Value": 12910.185185185184,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 118,
  "Value": 11829.741379310344,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 119,
  "Value": 11767.5,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 120,
  "Value": 12730.90909090909,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 121,
  "Value": 11568.75,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 122,
  "Value": 10533.076923076924,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 123,
  "Value": 11648.275862068966,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 124,
  "Value": 15252.717391304348,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 125,
  "Value": 12739.545454545454,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 126,
  "Value": 13880.882352941177,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 127,
  "Value": 13516.666666666666,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 128,
  "Value": 13585.29411764706,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 129,
  "Value": 11101.22950819672,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 130,
  "Value": 12863.888888888889,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 131,
  "Value": 13415.384615384615,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 132,
  "Value": 11648.728813559323,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 133,
  "Value": 11900.862068965518,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 134,
  "Value": 11845.338983050848,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 135,
  "Value": 11734.745762711864,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 136,
  "Value": 10828.57142857143,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 137,
  "Value": 11025.0,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 138,
  "Value": 11388.934426229509,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 139,
  "Value": 11012.5,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 140,
  "Value": 10503.461538461539,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 141,
  "Value": 12292.857142857143,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 142,
  "Value": 9828.985507246376,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 143,
  "Value": 11277.916666666666,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 144,
  "Value": 13604.807692307691,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 145,
  "Value": 11835.169491525423,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 146,
  "Value": 10495.075757575758,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 147,
  "Value": 12576.339285714286,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 148,
  "Value": 12541.964285714286,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 149,
  "Value": 11803.389830508475,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 150,
  "Value": 11850.862068965518,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 151,
  "Value": 12369.19642857143,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 152,
  "Value": 11672.033898305084,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 153,
  "Value": 13521.153846153846,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 154,
  "Value": 11556.557377049181,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 155,
  "Value": 11147.983870967742,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 156,
  "Value": 10692.045454545454,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 157,
  "Value": 11689.166666666666,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 158,
  "Value": 12700.454545454546,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 159,
  "Value": 13433.490566037735,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 160,
  "Value": 13815.384615384615,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 161,
  "Value": 12843.636363636364,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 162,
  "Value": 11807.083333333334,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 163,
  "Value": 11866.525423728814,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 164,
  "Value": 12017.796610169491,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 165,
  "Value": 10898.046875,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 166,
  "Value": 11532.083333333334,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 167,
  "Value": 11930.50847457627,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 168,
  "Value": 11272.58064516129,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 169,
  "Value": 12505.701754385966,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 170,
  "Value": 12817.272727272728,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 171,
  "Value": 10613.257575757576,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 172,
  "Value": 12001.25,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 173,
  "Value": 11408.870967741936,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 174,
  "Value": 10590.530303030304,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 175,
  "Value": 12799.561403508771,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 176,
  "Value": 10550.746268656716,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 177,
  "Value": 11666.935483870968,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 178,
  "Value": 12415.086206896553,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 179,
  "Value": 11502.016129032258,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 180,
  "Value": 13120.258620689656,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 181,
  "Value": 12841.818181818182,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 182,
  "Value": 11808.75,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 183,
  "Value": 12957.456140350878,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 184,
  "Value": 13607.87037037037,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 185,
  "Value": 13038.181818181818,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 186,
  "Value": 12100.42372881356,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 187,
  "Value": 13201.363636363636,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 188,
  "Value": 10680.970149253732,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 189,
  "Value": 12531.034482758621,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 190,
  "Value": 13509.433962264151,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 191,
  "Value": 11991.525423728814,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 192,
  "Value": 10989.615384615385,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 193,
  "Value": 11290.625,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 194,
  "Value": 13102.67857142857,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 195,
  "Value": 12502.118644067798,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 196,
  "Value": 11896.311475409837,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 197,
  "Value": 11236.363636363636,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 198,
  "Value": 11540.234375,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 0,
  "Value": 516.2721893491124,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 1,
  "Value": 835.7771260997067,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 2,
  "Value": 2202.0833333333335,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 3,
  "Value": 3122.4,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 4,
  "Value": 3109.1417910447763,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 5,
  "Value": 3089.568345323741,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 6,
  "Value": 3431.346153846154,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 7,
  "Value": 3940.2542372881358,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 8,
  "Value": 4754.411764705882,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 9,
  "Value": 4309.782608695652,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 10,
  "Value": 4788.461538461538,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 11,
  "Value": 5167.0,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 12,
  "Value": 6240.773809523809,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 13,
  "Value": 5745.32967032967,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 14,
  "Value": 7648.958333333333,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 15,
  "Value": 6784.756097560976,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 16,
  "Value": 8027.054794520548,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 17,
  "Value": 7743.835616438356,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 18,
  "Value": 8870.0,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 19,
  "Value": 8541.785714285714,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 20,
  "Value": 8015.540540540541,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 21,
  "Value": 8352.430555555555,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 22,
  "Value": 8829.779411764706,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 23,
  "Value": 8981.818181818182,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 24,
  "Value": 8994.776119402984,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 25,
  "Value": 8483.098591549297,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 26,
  "Value": 9387.109375,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 27,
  "Value": 9067.279411764706,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 28,
  "Value": 8853.623188405798,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 29,
  "Value": 10432.786885245901,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 30,
  "Value": 11571.75925925926,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 31,
  "Value": 11099.107142857143,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 32,
  "Value": 9871.42857142857,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 33,
  "Value": 9775.76923076923,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 34,
  "Value": 11165.948275862069,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 35,
  "Value": 9904.6875,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 36,
  "Value": 12016.037735849057,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 37,
  "Value": 10059.52380952381,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 38,
  "Value": 11333.771929824561,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 39,
  "Value": 9786.328125,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 40,
  "Value": 11824.107142857143,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 41,
  "Value": 12591.176470588236,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 42,
  "Value": 11065.51724137931,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 43,
  "Value": 9844.921875,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 44,
  "Value": 10012.301587301587,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 45,
  "Value": 12698.557692307691,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 46,
  "Value": 12577.403846153846,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 47,
  "Value": 11194.736842105263,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 48,
  "Value": 11663.839285714286,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 49,
  "Value": 11735.454545454546,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 50,
  "Value": 12133.490566037735,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 51,
  "Value": 11103.448275862069,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 52,
  "Value": 12995.588235294117,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 53,
  "Value": 10887.71186440678,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 54,
  "Value": 12311.792452830188,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 55,
  "Value": 13068.5,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 56,
  "Value": 13160.0,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 57,
  "Value": 12859.615384615385,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 58,
  "Value": 15178.40909090909,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 59,
  "Value": 12517.307692307691,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 60,
  "Value": 14833.888888888889,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 61,
  "Value": 12036.111111111111,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 62,
  "Value": 12354.62962962963,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 63,
  "Value": 11465.78947368421,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 64,
  "Value": 13214.5,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 65,
  "Value": 11771.875,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 66,
  "Value": 12144.298245614034,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 67,
  "Value": 12224.074074074075,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 68,
  "Value": 12400.471698113208,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 69,
  "Value": 11758.035714285714,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 70,
  "Value": 11398.75,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 71,
  "Value": 11004.918032786885,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 72,
  "Value": 12325.0,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 73,
  "Value": 12805.188679245282,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 74,
  "Value": 12399.09090909091,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 75,
  "Value": 13172.115384615385,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 76,
  "Value": 12183.482142857143,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 77,
  "Value": 13563.0,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 78,
  "Value": 11366.379310344828,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 79,
  "Value": 13668.367346938776,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 80,
  "Value": 14108.333333333334,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 81,
  "Value": 11869.736842105263,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 82,
  "Value": 13981.122448979591,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 83,
  "Value": 13921.938775510203,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 84,
  "Value": 12387.5,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 85,
  "Value": 13481.5,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 86,
  "Value": 12660.849056603774,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 87,
  "Value": 13588.0,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 88,
  "Value": 13162.98076923077,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 89,
  "Value": 12430.092592592593,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 90,
  "Value": 13770.0,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 91,
  "Value": 13508.333333333334,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 92,
  "Value": 12929.245283018869,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 93,
  "Value": 12558.018867924528,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 94,
  "Value": 12338.839285714286,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 95,
  "Value": 12249.09090909091,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 96,
  "Value": 10907.142857142857,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 97,
  "Value": 12286.607142857143,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 98,
  "Value": 11316.525423728814,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 99,
  "Value": 12360.90909090909,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 100,
  "Value": 11635.775862068966,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 101,
  "Value": 10408.076923076924,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 102,
  "Value": 15359.444444444445,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 103,
  "Value": 14174.5,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 104,
  "Value": 15836.41304347826,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 105,
  "Value": 13449.51923076923,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 106,
  "Value": 13020.283018867925,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 107,
  "Value": 12926.388888888889,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 108,
  "Value": 12186.607142857143,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 109,
  "Value": 13249.51923076923,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 110,
  "Value": 12280.80357142857,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 111,
  "Value": 16120.93023255814,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 112,
  "Value": 11715.51724137931,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 113,
  "Value": 12711.111111111111,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 114,
  "Value": 12432.727272727272,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 115,
  "Value": 12605.555555555555,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 116,
  "Value": 15420.555555555555,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 117,
  "Value": 15630.113636363636,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 118,
  "Value": 16003.977272727272,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 119,
  "Value": 11770.17543859649,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 120,
  "Value": 12632.87037037037,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 121,
  "Value": 10811.507936507936,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 122,
  "Value": 11484.745762711864,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 123,
  "Value": 13454.326923076924,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 124,
  "Value": 13912.244897959185,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 125,
  "Value": 11939.224137931034,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 126,
  "Value": 12842.452830188678,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 127,
  "Value": 11824.137931034482,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 128,
  "Value": 12587.962962962964,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 129,
  "Value": 15048.91304347826,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 130,
  "Value": 12165.625,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 131,
  "Value": 11655.93220338983,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 132,
  "Value": 11675.42372881356,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 133,
  "Value": 11382.916666666666,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 134,
  "Value": 15517.222222222223,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 135,
  "Value": 14166.836734693878,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 136,
  "Value": 11043.548387096775,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 137,
  "Value": 12153.070175438597,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 138,
  "Value": 12990.277777777777,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 139,
  "Value": 13929.901960784313,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 140,
  "Value": 12784.051724137931,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 141,
  "Value": 14937.765957446809,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 142,
  "Value": 13248.584905660377,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 143,
  "Value": 12437.719298245614,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 144,
  "Value": 12686.818181818182,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 145,
  "Value": 11277.459016393443,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 146,
  "Value": 11044.047619047618,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 147,
  "Value": 11486.666666666666,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 148,
  "Value": 14683.673469387755,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 149,
  "Value": 13062.962962962964,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 150,
  "Value": 15248.4375,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 151,
  "Value": 13444.811320754718,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 152,
  "Value": 13076.388888888889,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 153,
  "Value": 15134.375,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 154,
  "Value": 16352.173913043478,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 155,
  "Value": 14550.510204081633,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 156,
  "Value": 11049.253731343284,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 157,
  "Value": 13114.09090909091,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 158,
  "Value": 12556.465517241379,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 159,
  "Value": 13052.777777777777,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 160,
  "Value": 12000.0,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 161,
  "Value": 11485.483870967742,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 162,
  "Value": 12051.293103448275,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 163,
  "Value": 12489.035087719298,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 164,
  "Value": 15056.770833333334,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 165,
  "Value": 14881.25,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 166,
  "Value": 11714.285714285714,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 167,
  "Value": 13675.943396226416,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 168,
  "Value": 12968.30357142857,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 169,
  "Value": 12268.103448275862,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 170,
  "Value": 13593.981481481482,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 171,
  "Value": 12601.724137931034,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 172,
  "Value": 14272.641509433963,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 173,
  "Value": 11216.923076923076,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 174,
  "Value": 12424.122807017544,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 175,
  "Value": 12371.551724137931,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 176,
  "Value": 11433.730158730159,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 177,
  "Value": 14345.5,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 178,
  "Value": 15448.469387755102,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 179,
  "Value": 12843.30357142857,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 180,
  "Value": 12076.666666666666,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 181,
  "Value": 11245.63492063492,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 182,
  "Value": 10415.298507462687,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 183,
  "Value": 12988.636363636364,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 184,
  "Value": 13200.925925925925,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 185,
  "Value": 13029.545454545454,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 186,
  "Value": 12425.862068965518,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 187,
  "Value": 11594.140625,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 188,
  "Value": 12161.016949152543,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 189,
  "Value": 13876.88679245283,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 190,
  "Value": 12207.203389830509,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 191,
  "Value": 13238.636363636364,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 192,
  "Value": 10170.289855072464,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 193,
  "Value": 13750.943396226416,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 194,
  "Value": 11752.868852459016,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 195,
  "Value": 13767.452830188678,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 196,
  "Value": 11423.790322580646,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 197,
  "Value": 12407.327586206897,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 198,
  "Value": 13475.90909090909,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 0,
  "Value": 532.0754716981132,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 1,
  "Value": 898.2876712328767,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 2,
  "Value": 2243.9935064935066,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 3,
  "Value": 2610.967741935484,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 4,
  "Value": 3107.299270072993,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 5,
  "Value": 2858.8607594936707,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 6,
  "Value": 3761.6935483870966,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 7,
  "Value": 4279.203539823009,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 8,
  "Value": 4911.881188118812,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 9,
  "Value": 5794.602272727273,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 10,
  "Value": 5885.632183908046,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 11,
  "Value": 6240.588235294118,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 12,
  "Value": 7082.051282051282,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 13,
  "Value": 7561.333333333333,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 14,
  "Value": 7411.688311688312,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 15,
  "Value": 8010.763888888889,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 16,
  "Value": 7713.333333333333,
  "Agent": "Rainbow"
 },
 {
  "Iteration": 17,
  "Value": 8086.824324324324,
  "Ag
Download .txt
gitextract_9jlygikg/

├── AUTHORS
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── baselines/
│   ├── README.md
│   ├── atari/
│   │   ├── README.md
│   │   ├── data/
│   │   │   ├── airraid.json
│   │   │   ├── airraid.vg.json
│   │   │   ├── airraid_CNN.json
│   │   │   ├── airraid_CNN.vg.json
│   │   │   ├── airraid_Impala.json
│   │   │   ├── airraid_Impala.vg.json
│   │   │   ├── alien.json
│   │   │   ├── alien.vg.json
│   │   │   ├── alien_CNN.json
│   │   │   ├── alien_CNN.vg.json
│   │   │   ├── alien_Impala.json
│   │   │   ├── alien_Impala.vg.json
│   │   │   ├── amidar.json
│   │   │   ├── amidar.vg.json
│   │   │   ├── amidar_CNN.json
│   │   │   ├── amidar_CNN.vg.json
│   │   │   ├── amidar_Impala.json
│   │   │   ├── amidar_Impala.vg.json
│   │   │   ├── assault.json
│   │   │   ├── assault.vg.json
│   │   │   ├── assault_CNN.json
│   │   │   ├── assault_CNN.vg.json
│   │   │   ├── assault_Impala.json
│   │   │   ├── assault_Impala.vg.json
│   │   │   ├── asterix.json
│   │   │   ├── asterix.vg.json
│   │   │   ├── asterix_CNN.json
│   │   │   ├── asterix_CNN.vg.json
│   │   │   ├── asterix_Impala.json
│   │   │   ├── asterix_Impala.vg.json
│   │   │   ├── asteroids.json
│   │   │   ├── asteroids.vg.json
│   │   │   ├── asteroids_CNN.json
│   │   │   ├── asteroids_CNN.vg.json
│   │   │   ├── asteroids_Impala.json
│   │   │   ├── asteroids_Impala.vg.json
│   │   │   ├── atlantis.json
│   │   │   ├── atlantis.vg.json
│   │   │   ├── atlantis_CNN.json
│   │   │   ├── atlantis_CNN.vg.json
│   │   │   ├── atlantis_Impala.json
│   │   │   ├── atlantis_Impala.vg.json
│   │   │   ├── bankheist.json
│   │   │   ├── bankheist.vg.json
│   │   │   ├── bankheist_CNN.json
│   │   │   ├── bankheist_CNN.vg.json
│   │   │   ├── bankheist_Impala.json
│   │   │   ├── bankheist_Impala.vg.json
│   │   │   ├── battlezone.json
│   │   │   ├── battlezone.vg.json
│   │   │   ├── battlezone_CNN.json
│   │   │   ├── battlezone_CNN.vg.json
│   │   │   ├── battlezone_Impala.json
│   │   │   ├── battlezone_Impala.vg.json
│   │   │   ├── beamrider.json
│   │   │   ├── beamrider.vg.json
│   │   │   ├── beamrider_CNN.json
│   │   │   ├── beamrider_CNN.vg.json
│   │   │   ├── beamrider_Impala.json
│   │   │   ├── beamrider_Impala.vg.json
│   │   │   ├── berzerk.json
│   │   │   ├── berzerk.vg.json
│   │   │   ├── berzerk_CNN.json
│   │   │   ├── berzerk_CNN.vg.json
│   │   │   ├── berzerk_Impala.json
│   │   │   ├── berzerk_Impala.vg.json
│   │   │   ├── bowling.json
│   │   │   ├── bowling.vg.json
│   │   │   ├── bowling_CNN.json
│   │   │   ├── bowling_CNN.vg.json
│   │   │   ├── bowling_Impala.json
│   │   │   ├── bowling_Impala.vg.json
│   │   │   ├── boxing.json
│   │   │   ├── boxing.vg.json
│   │   │   ├── boxing_CNN.json
│   │   │   ├── boxing_CNN.vg.json
│   │   │   ├── boxing_Impala.json
│   │   │   ├── boxing_Impala.vg.json
│   │   │   ├── breakout.json
│   │   │   ├── breakout.vg.json
│   │   │   ├── breakout_CNN.json
│   │   │   ├── breakout_CNN.vg.json
│   │   │   ├── breakout_Impala.json
│   │   │   ├── breakout_Impala.vg.json
│   │   │   ├── carnival.json
│   │   │   ├── carnival.vg.json
│   │   │   ├── carnival_CNN.json
│   │   │   ├── carnival_CNN.vg.json
│   │   │   ├── carnival_Impala.json
│   │   │   ├── carnival_Impala.vg.json
│   │   │   ├── centipede.json
│   │   │   ├── centipede.vg.json
│   │   │   ├── centipede_CNN.json
│   │   │   ├── centipede_CNN.vg.json
│   │   │   ├── centipede_Impala.json
│   │   │   ├── centipede_Impala.vg.json
│   │   │   ├── choppercommand.json
│   │   │   ├── choppercommand.vg.json
│   │   │   ├── choppercommand_CNN.json
│   │   │   ├── choppercommand_CNN.vg.json
│   │   │   ├── choppercommand_Impala.json
│   │   │   ├── choppercommand_Impala.vg.json
│   │   │   ├── crazyclimber.json
│   │   │   ├── crazyclimber.vg.json
│   │   │   ├── crazyclimber_CNN.json
│   │   │   ├── crazyclimber_CNN.vg.json
│   │   │   ├── crazyclimber_Impala.json
│   │   │   ├── crazyclimber_Impala.vg.json
│   │   │   ├── demonattack.json
│   │   │   ├── demonattack.vg.json
│   │   │   ├── demonattack_CNN.json
│   │   │   ├── demonattack_CNN.vg.json
│   │   │   ├── demonattack_Impala.json
│   │   │   ├── demonattack_Impala.vg.json
│   │   │   ├── doubledunk.json
│   │   │   ├── doubledunk.vg.json
│   │   │   ├── doubledunk_CNN.json
│   │   │   ├── doubledunk_CNN.vg.json
│   │   │   ├── doubledunk_Impala.json
│   │   │   ├── doubledunk_Impala.vg.json
│   │   │   ├── elevatoraction.json
│   │   │   ├── elevatoraction.vg.json
│   │   │   ├── elevatoraction_CNN.json
│   │   │   ├── elevatoraction_CNN.vg.json
│   │   │   ├── elevatoraction_Impala.json
│   │   │   ├── elevatoraction_Impala.vg.json
│   │   │   ├── enduro.json
│   │   │   ├── enduro.vg.json
│   │   │   ├── enduro_CNN.json
│   │   │   ├── enduro_CNN.vg.json
│   │   │   ├── enduro_Impala.json
│   │   │   ├── enduro_Impala.vg.json
│   │   │   ├── fishingderby.json
│   │   │   ├── fishingderby.vg.json
│   │   │   ├── fishingderby_CNN.json
│   │   │   ├── fishingderby_CNN.vg.json
│   │   │   ├── fishingderby_Impala.json
│   │   │   ├── fishingderby_Impala.vg.json
│   │   │   ├── freeway.json
│   │   │   ├── freeway.vg.json
│   │   │   ├── freeway_CNN.json
│   │   │   ├── freeway_CNN.vg.json
│   │   │   ├── freeway_Impala.json
│   │   │   ├── freeway_Impala.vg.json
│   │   │   ├── frostbite.json
│   │   │   ├── frostbite.vg.json
│   │   │   ├── frostbite_CNN.json
│   │   │   ├── frostbite_CNN.vg.json
│   │   │   ├── frostbite_Impala.json
│   │   │   ├── frostbite_Impala.vg.json
│   │   │   ├── gopher.json
│   │   │   ├── gopher.vg.json
│   │   │   ├── gopher_CNN.json
│   │   │   ├── gopher_CNN.vg.json
│   │   │   ├── gopher_Impala.json
│   │   │   ├── gopher_Impala.vg.json
│   │   │   ├── gravitar.json
│   │   │   ├── gravitar.vg.json
│   │   │   ├── gravitar_CNN.json
│   │   │   ├── gravitar_CNN.vg.json
│   │   │   ├── gravitar_Impala.json
│   │   │   ├── gravitar_Impala.vg.json
│   │   │   ├── hero.json
│   │   │   ├── hero.vg.json
│   │   │   ├── hero_CNN.json
│   │   │   ├── hero_CNN.vg.json
│   │   │   ├── hero_Impala.json
│   │   │   ├── hero_Impala.vg.json
│   │   │   ├── icehockey.json
│   │   │   ├── icehockey.vg.json
│   │   │   ├── icehockey_CNN.json
│   │   │   ├── icehockey_CNN.vg.json
│   │   │   ├── icehockey_Impala.json
│   │   │   ├── icehockey_Impala.vg.json
│   │   │   ├── jamesbond.json
│   │   │   ├── jamesbond.vg.json
│   │   │   ├── jamesbond_CNN.json
│   │   │   ├── jamesbond_CNN.vg.json
│   │   │   ├── jamesbond_Impala.json
│   │   │   ├── jamesbond_Impala.vg.json
│   │   │   ├── journeyescape.json
│   │   │   ├── journeyescape.vg.json
│   │   │   ├── journeyescape_CNN.json
│   │   │   ├── journeyescape_CNN.vg.json
│   │   │   ├── journeyescape_Impala.json
│   │   │   ├── journeyescape_Impala.vg.json
│   │   │   ├── kangaroo.json
│   │   │   ├── kangaroo.vg.json
│   │   │   ├── kangaroo_CNN.json
│   │   │   ├── kangaroo_CNN.vg.json
│   │   │   ├── kangaroo_Impala.json
│   │   │   ├── kangaroo_Impala.vg.json
│   │   │   ├── krull.json
│   │   │   ├── krull.vg.json
│   │   │   ├── krull_CNN.json
│   │   │   ├── krull_CNN.vg.json
│   │   │   ├── krull_Impala.json
│   │   │   ├── krull_Impala.vg.json
│   │   │   ├── kungfumaster.json
│   │   │   ├── kungfumaster.vg.json
│   │   │   ├── kungfumaster_CNN.json
│   │   │   ├── kungfumaster_CNN.vg.json
│   │   │   ├── kungfumaster_Impala.json
│   │   │   ├── kungfumaster_Impala.vg.json
│   │   │   ├── montezumarevenge.json
│   │   │   ├── montezumarevenge.vg.json
│   │   │   ├── montezumarevenge_CNN.json
│   │   │   ├── montezumarevenge_CNN.vg.json
│   │   │   ├── montezumarevenge_Impala.json
│   │   │   ├── montezumarevenge_Impala.vg.json
│   │   │   ├── mspacman.json
│   │   │   ├── mspacman.vg.json
│   │   │   ├── mspacman_CNN.json
│   │   │   ├── mspacman_CNN.vg.json
│   │   │   ├── mspacman_Impala.json
│   │   │   ├── mspacman_Impala.vg.json
│   │   │   ├── namethisgame.json
│   │   │   ├── namethisgame.vg.json
│   │   │   ├── namethisgame_CNN.json
│   │   │   ├── namethisgame_CNN.vg.json
│   │   │   ├── namethisgame_Impala.json
│   │   │   ├── namethisgame_Impala.vg.json
│   │   │   ├── phoenix.json
│   │   │   ├── phoenix.vg.json
│   │   │   ├── phoenix_CNN.json
│   │   │   ├── phoenix_CNN.vg.json
│   │   │   ├── phoenix_Impala.json
│   │   │   ├── phoenix_Impala.vg.json
│   │   │   ├── pitfall.json
│   │   │   ├── pitfall.vg.json
│   │   │   ├── pitfall_CNN.json
│   │   │   ├── pitfall_CNN.vg.json
│   │   │   ├── pitfall_Impala.json
│   │   │   ├── pitfall_Impala.vg.json
│   │   │   ├── pong.json
│   │   │   ├── pong.vg.json
│   │   │   ├── pong_CNN.json
│   │   │   ├── pong_CNN.vg.json
│   │   │   ├── pong_Impala.json
│   │   │   ├── pong_Impala.vg.json
│   │   │   ├── pooyan.json
│   │   │   ├── pooyan.vg.json
│   │   │   ├── pooyan_CNN.json
│   │   │   ├── pooyan_CNN.vg.json
│   │   │   ├── pooyan_Impala.json
│   │   │   ├── pooyan_Impala.vg.json
│   │   │   ├── privateeye.json
│   │   │   ├── privateeye.vg.json
│   │   │   ├── privateeye_CNN.json
│   │   │   ├── privateeye_CNN.vg.json
│   │   │   ├── privateeye_Impala.json
│   │   │   ├── privateeye_Impala.vg.json
│   │   │   ├── qbert.json
│   │   │   ├── qbert.vg.json
│   │   │   ├── qbert_CNN.json
│   │   │   ├── qbert_CNN.vg.json
│   │   │   ├── qbert_Impala.json
│   │   │   ├── qbert_Impala.vg.json
│   │   │   ├── riverraid.json
│   │   │   ├── riverraid.vg.json
│   │   │   ├── riverraid_CNN.json
│   │   │   ├── riverraid_CNN.vg.json
│   │   │   ├── riverraid_Impala.json
│   │   │   ├── riverraid_Impala.vg.json
│   │   │   ├── roadrunner.json
│   │   │   ├── roadrunner.vg.json
│   │   │   ├── roadrunner_CNN.json
│   │   │   ├── roadrunner_CNN.vg.json
│   │   │   ├── roadrunner_Impala.json
│   │   │   ├── roadrunner_Impala.vg.json
│   │   │   ├── robotank.json
│   │   │   ├── robotank.vg.json
│   │   │   ├── robotank_CNN.json
│   │   │   ├── robotank_CNN.vg.json
│   │   │   ├── robotank_Impala.json
│   │   │   ├── robotank_Impala.vg.json
│   │   │   ├── seaquest.json
│   │   │   ├── seaquest.vg.json
│   │   │   ├── seaquest_CNN.json
│   │   │   ├── seaquest_CNN.vg.json
│   │   │   ├── seaquest_Impala.json
│   │   │   ├── seaquest_Impala.vg.json
│   │   │   ├── skiing.json
│   │   │   ├── skiing.vg.json
│   │   │   ├── skiing_CNN.json
│   │   │   ├── skiing_CNN.vg.json
│   │   │   ├── skiing_Impala.json
│   │   │   ├── skiing_Impala.vg.json
│   │   │   ├── solaris.json
│   │   │   ├── solaris.vg.json
│   │   │   ├── solaris_CNN.json
│   │   │   ├── solaris_CNN.vg.json
│   │   │   ├── solaris_Impala.json
│   │   │   ├── solaris_Impala.vg.json
│   │   │   ├── spaceinvaders.json
│   │   │   ├── spaceinvaders.vg.json
│   │   │   ├── spaceinvaders_CNN.json
│   │   │   ├── spaceinvaders_CNN.vg.json
│   │   │   ├── spaceinvaders_Impala.json
│   │   │   ├── spaceinvaders_Impala.vg.json
│   │   │   ├── stargunner.json
│   │   │   ├── stargunner.vg.json
│   │   │   ├── stargunner_CNN.json
│   │   │   ├── stargunner_CNN.vg.json
│   │   │   ├── stargunner_Impala.json
│   │   │   ├── stargunner_Impala.vg.json
│   │   │   ├── tennis.json
│   │   │   ├── tennis.vg.json
│   │   │   ├── tennis_CNN.json
│   │   │   ├── tennis_CNN.vg.json
│   │   │   ├── tennis_Impala.json
│   │   │   ├── tennis_Impala.vg.json
│   │   │   ├── timepilot.json
│   │   │   ├── timepilot.vg.json
│   │   │   ├── timepilot_CNN.json
│   │   │   ├── timepilot_CNN.vg.json
│   │   │   ├── timepilot_Impala.json
│   │   │   ├── timepilot_Impala.vg.json
│   │   │   ├── tutankham.json
│   │   │   ├── tutankham.vg.json
│   │   │   ├── tutankham_CNN.json
│   │   │   ├── tutankham_CNN.vg.json
│   │   │   ├── tutankham_Impala.json
│   │   │   ├── tutankham_Impala.vg.json
│   │   │   ├── upndown.json
│   │   │   ├── upndown.vg.json
│   │   │   ├── upndown_CNN.json
│   │   │   ├── upndown_CNN.vg.json
│   │   │   ├── upndown_Impala.json
│   │   │   ├── upndown_Impala.vg.json
│   │   │   ├── venture.json
│   │   │   ├── venture.vg.json
│   │   │   ├── venture_CNN.json
│   │   │   ├── venture_CNN.vg.json
│   │   │   ├── venture_Impala.json
│   │   │   ├── venture_Impala.vg.json
│   │   │   ├── videopinball.json
│   │   │   ├── videopinball.vg.json
│   │   │   ├── videopinball_CNN.json
│   │   │   ├── videopinball_CNN.vg.json
│   │   │   ├── videopinball_Impala.json
│   │   │   ├── videopinball_Impala.vg.json
│   │   │   ├── wizardofwor.json
│   │   │   ├── wizardofwor.vg.json
│   │   │   ├── wizardofwor_CNN.json
│   │   │   ├── wizardofwor_CNN.vg.json
│   │   │   ├── wizardofwor_Impala.json
│   │   │   ├── wizardofwor_Impala.vg.json
│   │   │   ├── yarsrevenge.json
│   │   │   ├── yarsrevenge.vg.json
│   │   │   ├── yarsrevenge_CNN.json
│   │   │   ├── yarsrevenge_CNN.vg.json
│   │   │   ├── yarsrevenge_Impala.json
│   │   │   ├── yarsrevenge_Impala.vg.json
│   │   │   ├── zaxxon.json
│   │   │   ├── zaxxon.vg.json
│   │   │   ├── zaxxon_CNN.json
│   │   │   ├── zaxxon_CNN.vg.json
│   │   │   ├── zaxxon_Impala.json
│   │   │   └── zaxxon_Impala.vg.json
│   │   ├── legacy_plots.html
│   │   └── plots.html
│   ├── mujoco/
│   │   ├── README.md
│   │   ├── data/
│   │   │   ├── ant.json
│   │   │   ├── ant.vg.json
│   │   │   ├── halfcheetah.json
│   │   │   ├── halfcheetah.vg.json
│   │   │   ├── hopper.json
│   │   │   ├── hopper.vg.json
│   │   │   ├── humanoid.json
│   │   │   ├── humanoid.vg.json
│   │   │   ├── walker2d.json
│   │   │   └── walker2d.vg.json
│   │   └── plots.html
│   └── plots.html
├── docker/
│   ├── README.md
│   ├── atari/
│   │   └── Dockerfile
│   ├── core/
│   │   └── Dockerfile
│   └── mujoco/
│       └── Dockerfile
├── docs/
│   ├── README.md
│   ├── agents.md
│   ├── api_docs/
│   │   └── python/
│   │       ├── _toc.yaml
│   │       ├── dopamine/
│   │       │   ├── _api_cache.json
│   │       │   ├── _redirects.yaml
│   │       │   ├── _toc.yaml
│   │       │   ├── agents/
│   │       │   │   ├── dqn/
│   │       │   │   │   ├── dqn_agent/
│   │       │   │   │   │   └── DQNAgent.md
│   │       │   │   │   └── dqn_agent.md
│   │       │   │   ├── dqn.md
│   │       │   │   ├── implicit_quantile/
│   │       │   │   │   ├── implicit_quantile_agent/
│   │       │   │   │   │   └── ImplicitQuantileAgent.md
│   │       │   │   │   └── implicit_quantile_agent.md
│   │       │   │   ├── implicit_quantile.md
│   │       │   │   ├── rainbow/
│   │       │   │   │   ├── rainbow_agent/
│   │       │   │   │   │   ├── RainbowAgent.md
│   │       │   │   │   │   └── project_distribution.md
│   │       │   │   │   └── rainbow_agent.md
│   │       │   │   └── rainbow.md
│   │       │   ├── agents.md
│   │       │   ├── all_symbols.md
│   │       │   ├── api_report.pb
│   │       │   ├── colab/
│   │       │   │   ├── utils/
│   │       │   │   │   ├── get_latest_file.md
│   │       │   │   │   ├── get_latest_iteration.md
│   │       │   │   │   ├── load_baselines.md
│   │       │   │   │   ├── load_statistics.md
│   │       │   │   │   ├── read_experiment.md
│   │       │   │   │   └── summarize_data.md
│   │       │   │   └── utils.md
│   │       │   ├── colab.md
│   │       │   ├── continuous_domains/
│   │       │   │   ├── run_experiment/
│   │       │   │   │   ├── ContinuousRunner.md
│   │       │   │   │   ├── ContinuousTrainRunner.md
│   │       │   │   │   ├── create_continuous_agent.md
│   │       │   │   │   └── create_continuous_runner.md
│   │       │   │   └── run_experiment.md
│   │       │   ├── continuous_domains.md
│   │       │   ├── discrete_domains/
│   │       │   │   ├── atari_lib/
│   │       │   │   │   ├── AtariPreprocessing.md
│   │       │   │   │   ├── GameOverWrapper.md
│   │       │   │   │   ├── ImplicitQuantileNetwork.md
│   │       │   │   │   ├── NatureDQNNetwork.md
│   │       │   │   │   ├── RainbowNetwork.md
│   │       │   │   │   └── create_atari_environment.md
│   │       │   │   ├── atari_lib.md
│   │       │   │   ├── checkpointer/
│   │       │   │   │   ├── Checkpointer.md
│   │       │   │   │   └── get_latest_checkpoint_number.md
│   │       │   │   ├── checkpointer.md
│   │       │   │   ├── gym_lib/
│   │       │   │   │   ├── AcrobotDQNNetwork.md
│   │       │   │   │   ├── AcrobotFourierDQNNetwork.md
│   │       │   │   │   ├── AcrobotRainbowNetwork.md
│   │       │   │   │   ├── BasicDiscreteDomainNetwork.md
│   │       │   │   │   ├── CartpoleDQNNetwork.md
│   │       │   │   │   ├── CartpoleFourierDQNNetwork.md
│   │       │   │   │   ├── CartpoleRainbowNetwork.md
│   │       │   │   │   ├── FourierBasis.md
│   │       │   │   │   ├── FourierDQNNetwork.md
│   │       │   │   │   ├── GymPreprocessing.md
│   │       │   │   │   ├── LunarLanderDQNNetwork.md
│   │       │   │   │   ├── MountainCarDQNNetwork.md
│   │       │   │   │   └── create_gym_environment.md
│   │       │   │   ├── gym_lib.md
│   │       │   │   ├── iteration_statistics/
│   │       │   │   │   └── IterationStatistics.md
│   │       │   │   ├── iteration_statistics.md
│   │       │   │   ├── legacy_networks/
│   │       │   │   │   ├── acrobot_dqn_network.md
│   │       │   │   │   ├── acrobot_fourier_dqn_network.md
│   │       │   │   │   ├── acrobot_rainbow_network.md
│   │       │   │   │   ├── cartpole_dqn_network.md
│   │       │   │   │   ├── cartpole_fourier_dqn_network.md
│   │       │   │   │   ├── cartpole_rainbow_network.md
│   │       │   │   │   ├── fourier_dqn_network.md
│   │       │   │   │   ├── implicit_quantile_network.md
│   │       │   │   │   ├── nature_dqn_network.md
│   │       │   │   │   └── rainbow_network.md
│   │       │   │   ├── legacy_networks.md
│   │       │   │   ├── logger/
│   │       │   │   │   └── Logger.md
│   │       │   │   ├── logger.md
│   │       │   │   ├── run_experiment/
│   │       │   │   │   ├── Runner.md
│   │       │   │   │   ├── TrainRunner.md
│   │       │   │   │   ├── create_agent.md
│   │       │   │   │   ├── create_runner.md
│   │       │   │   │   └── load_gin_configs.md
│   │       │   │   ├── run_experiment.md
│   │       │   │   └── train.md
│   │       │   ├── discrete_domains.md
│   │       │   ├── jax/
│   │       │   │   ├── agents/
│   │       │   │   │   ├── dqn/
│   │       │   │   │   │   ├── dqn_agent/
│   │       │   │   │   │   │   └── JaxDQNAgent.md
│   │       │   │   │   │   └── dqn_agent.md
│   │       │   │   │   ├── dqn.md
│   │       │   │   │   ├── full_rainbow/
│   │       │   │   │   │   ├── full_rainbow_agent/
│   │       │   │   │   │   │   └── JaxFullRainbowAgent.md
│   │       │   │   │   │   └── full_rainbow_agent.md
│   │       │   │   │   ├── full_rainbow.md
│   │       │   │   │   ├── implicit_quantile/
│   │       │   │   │   │   ├── implicit_quantile_agent/
│   │       │   │   │   │   │   └── JaxImplicitQuantileAgent.md
│   │       │   │   │   │   └── implicit_quantile_agent.md
│   │       │   │   │   ├── implicit_quantile.md
│   │       │   │   │   ├── ppo/
│   │       │   │   │   │   ├── ppo_agent/
│   │       │   │   │   │   │   └── PPOAgent.md
│   │       │   │   │   │   └── ppo_agent.md
│   │       │   │   │   ├── ppo.md
│   │       │   │   │   ├── quantile/
│   │       │   │   │   │   ├── quantile_agent/
│   │       │   │   │   │   │   └── JaxQuantileAgent.md
│   │       │   │   │   │   └── quantile_agent.md
│   │       │   │   │   ├── quantile.md
│   │       │   │   │   ├── rainbow/
│   │       │   │   │   │   ├── rainbow_agent/
│   │       │   │   │   │   │   ├── JaxRainbowAgent.md
│   │       │   │   │   │   │   └── project_distribution.md
│   │       │   │   │   │   └── rainbow_agent.md
│   │       │   │   │   ├── rainbow.md
│   │       │   │   │   ├── sac/
│   │       │   │   │   │   ├── sac_agent/
│   │       │   │   │   │   │   └── SACAgent.md
│   │       │   │   │   │   └── sac_agent.md
│   │       │   │   │   └── sac.md
│   │       │   │   ├── agents.md
│   │       │   │   ├── checkpointers/
│   │       │   │   │   ├── CheckpointHandler.md
│   │       │   │   │   ├── Checkpointable.md
│   │       │   │   │   └── Checkpointer.md
│   │       │   │   ├── checkpointers.md
│   │       │   │   ├── continuous_networks/
│   │       │   │   │   ├── ActorCriticNetwork.md
│   │       │   │   │   ├── ActorCriticOutput.md
│   │       │   │   │   ├── ActorNetwork.md
│   │       │   │   │   ├── ActorOutput.md
│   │       │   │   │   ├── CriticNetwork.md
│   │       │   │   │   ├── CriticOutput.md
│   │       │   │   │   ├── PPOActorCriticNetwork.md
│   │       │   │   │   ├── PPOActorCriticOutput.md
│   │       │   │   │   ├── PPOActorNetwork.md
│   │       │   │   │   ├── PPOActorOutput.md
│   │       │   │   │   ├── PPOCriticNetwork.md
│   │       │   │   │   └── PPOCriticOutput.md
│   │       │   │   ├── continuous_networks.md
│   │       │   │   ├── losses/
│   │       │   │   │   ├── huber_loss.md
│   │       │   │   │   ├── mse_loss.md
│   │       │   │   │   └── softmax_cross_entropy_loss_with_logits.md
│   │       │   │   ├── losses.md
│   │       │   │   ├── networks/
│   │       │   │   │   ├── ClassicControlDQNNetwork.md
│   │       │   │   │   ├── ClassicControlRainbowNetwork.md
│   │       │   │   │   ├── FourierBasis.md
│   │       │   │   │   ├── FullRainbowNetwork.md
│   │       │   │   │   ├── ImpalaDQNNetwork.md
│   │       │   │   │   ├── ImpalaEncoder.md
│   │       │   │   │   ├── ImplicitQuantileNetwork.md
│   │       │   │   │   ├── JaxFourierDQNNetwork.md
│   │       │   │   │   ├── NatureDQNNetwork.md
│   │       │   │   │   ├── NoisyNetwork.md
│   │       │   │   │   ├── PPOActorNetwork.md
│   │       │   │   │   ├── PPOCriticNetwork.md
│   │       │   │   │   ├── PPODiscreteActorCriticNetwork.md
│   │       │   │   │   ├── PPOSharedNetwork.md
│   │       │   │   │   ├── QuantileNetwork.md
│   │       │   │   │   ├── RainbowNetwork.md
│   │       │   │   │   ├── Stack.md
│   │       │   │   │   ├── feature_layer.md
│   │       │   │   │   └── preprocess_atari_inputs.md
│   │       │   │   ├── networks.md
│   │       │   │   ├── replay_memory/
│   │       │   │   │   ├── accumulator/
│   │       │   │   │   │   ├── Accumulator.md
│   │       │   │   │   │   └── TransitionAccumulator.md
│   │       │   │   │   ├── accumulator.md
│   │       │   │   │   ├── elements/
│   │       │   │   │   │   ├── ReplayElement.md
│   │       │   │   │   │   ├── ReplayElementProtocol.md
│   │       │   │   │   │   ├── TransitionElement.md
│   │       │   │   │   │   ├── compress.md
│   │       │   │   │   │   └── uncompress.md
│   │       │   │   │   ├── elements.md
│   │       │   │   │   ├── replay_buffer/
│   │       │   │   │   │   └── ReplayBuffer.md
│   │       │   │   │   ├── replay_buffer.md
│   │       │   │   │   ├── samplers/
│   │       │   │   │   │   ├── PrioritizedSampleMetadata.md
│   │       │   │   │   │   ├── PrioritizedSamplingDistribution.md
│   │       │   │   │   │   ├── SampleMetadata.md
│   │       │   │   │   │   ├── SamplingDistribution.md
│   │       │   │   │   │   ├── SequentialSamplingDistribution.md
│   │       │   │   │   │   └── UniformSamplingDistribution.md
│   │       │   │   │   ├── samplers.md
│   │       │   │   │   ├── sum_tree/
│   │       │   │   │   │   └── SumTree.md
│   │       │   │   │   └── sum_tree.md
│   │       │   │   ├── replay_memory.md
│   │       │   │   ├── serialization/
│   │       │   │   │   ├── LongIntegerEncoding.md
│   │       │   │   │   ├── NumpyEncoding.md
│   │       │   │   │   ├── decode.md
│   │       │   │   │   └── encode.md
│   │       │   │   └── serialization.md
│   │       │   ├── jax.md
│   │       │   ├── labs/
│   │       │   │   ├── atari_100k/
│   │       │   │   │   └── atari_100k_rainbow_agent.md
│   │       │   │   ├── atari_100k.md
│   │       │   │   ├── cale/
│   │       │   │   │   ├── ppo_cale.md
│   │       │   │   │   ├── sac_cale.md
│   │       │   │   │   └── utils.md
│   │       │   │   ├── cale.md
│   │       │   │   ├── moes/
│   │       │   │   │   ├── agents/
│   │       │   │   │   │   ├── dqn_moe_agent.md
│   │       │   │   │   │   ├── full_rainbow_moe_agent.md
│   │       │   │   │   │   ├── losses.md
│   │       │   │   │   │   ├── rainbow_100k_moe_agent.md
│   │       │   │   │   │   └── types.md
│   │       │   │   │   ├── agents.md
│   │       │   │   │   ├── architectures/
│   │       │   │   │   │   ├── moe.md
│   │       │   │   │   │   ├── networks.md
│   │       │   │   │   │   ├── routers.md
│   │       │   │   │   │   ├── softmoe.md
│   │       │   │   │   │   └── types.md
│   │       │   │   │   ├── architectures.md
│   │       │   │   │   └── google.md
│   │       │   │   ├── moes.md
│   │       │   │   ├── sac_from_pixels/
│   │       │   │   │   ├── continuous_networks.md
│   │       │   │   │   └── deepmind_control_lib.md
│   │       │   │   └── sac_from_pixels.md
│   │       │   ├── labs.md
│   │       │   ├── metrics/
│   │       │   │   ├── collector/
│   │       │   │   │   └── Collector.md
│   │       │   │   ├── collector.md
│   │       │   │   ├── collector_dispatcher/
│   │       │   │   │   ├── CollectorDispatcher.md
│   │       │   │   │   └── add_collector.md
│   │       │   │   ├── collector_dispatcher.md
│   │       │   │   ├── console_collector/
│   │       │   │   │   └── ConsoleCollector.md
│   │       │   │   ├── console_collector.md
│   │       │   │   ├── pickle_collector/
│   │       │   │   │   └── PickleCollector.md
│   │       │   │   ├── pickle_collector.md
│   │       │   │   ├── statistics_instance/
│   │       │   │   │   └── StatisticsInstance.md
│   │       │   │   ├── statistics_instance.md
│   │       │   │   ├── tensorboard_collector/
│   │       │   │   │   └── TensorboardCollector.md
│   │       │   │   └── tensorboard_collector.md
│   │       │   ├── metrics.md
│   │       │   ├── replay_memory/
│   │       │   │   ├── circular_replay_buffer/
│   │       │   │   │   ├── OutOfGraphReplayBuffer.md
│   │       │   │   │   └── WrappedReplayBuffer.md
│   │       │   │   ├── circular_replay_buffer.md
│   │       │   │   ├── prioritized_replay_buffer/
│   │       │   │   │   ├── OutOfGraphPrioritizedReplayBuffer.md
│   │       │   │   │   └── WrappedPrioritizedReplayBuffer.md
│   │       │   │   ├── prioritized_replay_buffer.md
│   │       │   │   └── sum_tree.md
│   │       │   ├── replay_memory.md
│   │       │   ├── tf/
│   │       │   │   ├── agents/
│   │       │   │   │   ├── dqn/
│   │       │   │   │   │   ├── dqn_agent/
│   │       │   │   │   │   │   └── DQNAgent.md
│   │       │   │   │   │   └── dqn_agent.md
│   │       │   │   │   ├── dqn.md
│   │       │   │   │   ├── implicit_quantile/
│   │       │   │   │   │   ├── implicit_quantile_agent/
│   │       │   │   │   │   │   └── ImplicitQuantileAgent.md
│   │       │   │   │   │   └── implicit_quantile_agent.md
│   │       │   │   │   ├── implicit_quantile.md
│   │       │   │   │   ├── rainbow/
│   │       │   │   │   │   ├── rainbow_agent/
│   │       │   │   │   │   │   ├── RainbowAgent.md
│   │       │   │   │   │   │   └── project_distribution.md
│   │       │   │   │   │   └── rainbow_agent.md
│   │       │   │   │   └── rainbow.md
│   │       │   │   ├── agents.md
│   │       │   │   ├── replay_memory/
│   │       │   │   │   ├── circular_replay_buffer/
│   │       │   │   │   │   ├── OutOfGraphReplayBuffer.md
│   │       │   │   │   │   ├── ReplayElement.md
│   │       │   │   │   │   └── WrappedReplayBuffer.md
│   │       │   │   │   ├── circular_replay_buffer.md
│   │       │   │   │   ├── prioritized_replay_buffer/
│   │       │   │   │   │   ├── OutOfGraphPrioritizedReplayBuffer.md
│   │       │   │   │   │   └── WrappedPrioritizedReplayBuffer.md
│   │       │   │   │   ├── prioritized_replay_buffer.md
│   │       │   │   │   ├── sum_tree/
│   │       │   │   │   │   └── SumTree.md
│   │       │   │   │   └── sum_tree.md
│   │       │   │   └── replay_memory.md
│   │       │   ├── tf.md
│   │       │   ├── utils/
│   │       │   │   ├── agent_visualizer/
│   │       │   │   │   └── AgentVisualizer.md
│   │       │   │   ├── agent_visualizer.md
│   │       │   │   ├── atari_plotter/
│   │       │   │   │   └── AtariPlotter.md
│   │       │   │   ├── atari_plotter.md
│   │       │   │   ├── bar_plotter/
│   │       │   │   │   └── BarPlotter.md
│   │       │   │   ├── bar_plotter.md
│   │       │   │   ├── example_viz.md
│   │       │   │   ├── example_viz_lib/
│   │       │   │   │   └── create_runner.md
│   │       │   │   ├── example_viz_lib.md
│   │       │   │   ├── line_plotter/
│   │       │   │   │   └── LinePlotter.md
│   │       │   │   ├── line_plotter.md
│   │       │   │   ├── plotter/
│   │       │   │   │   └── Plotter.md
│   │       │   │   └── plotter.md
│   │       │   └── utils.md
│   │       ├── dopamine.md
│   │       └── index.md
│   └── changelist.md
├── dopamine/
│   ├── __init__.py
│   ├── colab/
│   │   ├── README.md
│   │   ├── __init__.py
│   │   ├── agent_visualizer.ipynb
│   │   ├── agents.ipynb
│   │   ├── cartpole.ipynb
│   │   ├── jax_agent_visualizer.ipynb
│   │   ├── load_statistics.ipynb
│   │   ├── tensorboard.ipynb
│   │   └── utils.py
│   ├── continuous_domains/
│   │   ├── __init__.py
│   │   ├── run_experiment.py
│   │   └── train.py
│   ├── discrete_domains/
│   │   ├── __init__.py
│   │   ├── atari_lib.py
│   │   ├── checkpointer.py
│   │   ├── gym_lib.py
│   │   ├── iteration_statistics.py
│   │   ├── legacy_networks.py
│   │   ├── logger.py
│   │   ├── run_experiment.py
│   │   └── train.py
│   ├── jax/
│   │   ├── README.md
│   │   ├── __init__.py
│   │   ├── agents/
│   │   │   ├── __init__.py
│   │   │   ├── dqn/
│   │   │   │   ├── __init__.py
│   │   │   │   ├── configs/
│   │   │   │   │   ├── dqn.gin
│   │   │   │   │   ├── dqn_acrobot.gin
│   │   │   │   │   ├── dqn_cartpole.gin
│   │   │   │   │   ├── dqn_fourier_acrobot.gin
│   │   │   │   │   ├── dqn_fourier_cartpole.gin
│   │   │   │   │   ├── dqn_fourier_lunarlander.gin
│   │   │   │   │   ├── dqn_fourier_mountaincar.gin
│   │   │   │   │   ├── dqn_lunarlander.gin
│   │   │   │   │   ├── dqn_mountaincar.gin
│   │   │   │   │   └── dqn_profiling.gin
│   │   │   │   └── dqn_agent.py
│   │   │   ├── full_rainbow/
│   │   │   │   ├── __init__.py
│   │   │   │   ├── configs/
│   │   │   │   │   ├── full_rainbow.gin
│   │   │   │   │   └── full_rainbow_profiling.gin
│   │   │   │   └── full_rainbow_agent.py
│   │   │   ├── implicit_quantile/
│   │   │   │   ├── __init__.py
│   │   │   │   ├── configs/
│   │   │   │   │   ├── implicit_quantile.gin
│   │   │   │   │   └── implicit_quantile_profiling.gin
│   │   │   │   └── implicit_quantile_agent.py
│   │   │   ├── ppo/
│   │   │   │   ├── __init__.py
│   │   │   │   ├── configs/
│   │   │   │   │   ├── ppo.gin
│   │   │   │   │   └── ppo_atari.gin
│   │   │   │   └── ppo_agent.py
│   │   │   ├── quantile/
│   │   │   │   ├── __init__.py
│   │   │   │   ├── configs/
│   │   │   │   │   ├── quantile.gin
│   │   │   │   │   └── quantile_profiling.gin
│   │   │   │   └── quantile_agent.py
│   │   │   ├── rainbow/
│   │   │   │   ├── __init__.py
│   │   │   │   ├── configs/
│   │   │   │   │   ├── c51.gin
│   │   │   │   │   ├── c51_acrobot.gin
│   │   │   │   │   ├── c51_cartpole.gin
│   │   │   │   │   ├── c51_lunarlander.gin
│   │   │   │   │   ├── c51_mountaincar.gin
│   │   │   │   │   ├── c51_profiling.gin
│   │   │   │   │   ├── rainbow.gin
│   │   │   │   │   ├── rainbow_acrobot.gin
│   │   │   │   │   ├── rainbow_cartpole.gin
│   │   │   │   │   ├── rainbow_lunarlander.gin
│   │   │   │   │   ├── rainbow_mountaincar.gin
│   │   │   │   │   └── rainbow_profiling.gin
│   │   │   │   └── rainbow_agent.py
│   │   │   └── sac/
│   │   │       ├── __init__.py
│   │   │       ├── configs/
│   │   │       │   └── sac.gin
│   │   │       └── sac_agent.py
│   │   ├── checkpointers.py
│   │   ├── continuous_networks.py
│   │   ├── losses.py
│   │   ├── networks.py
│   │   ├── replay_memory/
│   │   │   ├── __init__.py
│   │   │   ├── accumulator.py
│   │   │   ├── elements.py
│   │   │   ├── replay_buffer.py
│   │   │   ├── samplers.py
│   │   │   └── sum_tree.py
│   │   └── serialization.py
│   ├── labs/
│   │   ├── __init__.py
│   │   ├── atari_100k/
│   │   │   ├── README.md
│   │   │   ├── __init__.py
│   │   │   ├── atari_100k_rainbow_agent.py
│   │   │   ├── atari_100k_runner.py
│   │   │   ├── configs/
│   │   │   │   ├── DER.gin
│   │   │   │   ├── DrQ.gin
│   │   │   │   ├── DrQ_eps.gin
│   │   │   │   ├── OTRainbow.gin
│   │   │   │   └── SPR.gin
│   │   │   ├── eval_run_experiment.py
│   │   │   ├── normalization_utils.py
│   │   │   ├── replay_memory/
│   │   │   │   ├── deterministic_sum_tree.py
│   │   │   │   └── subsequence_replay_buffer.py
│   │   │   ├── spr_agent.py
│   │   │   ├── spr_networks.py
│   │   │   └── train.py
│   │   ├── cale/
│   │   │   ├── __init__.py
│   │   │   ├── configs/
│   │   │   │   ├── ppo_cale.gin
│   │   │   │   ├── ppo_cale_100k.gin
│   │   │   │   ├── sac_cale.gin
│   │   │   │   └── sac_cale_100k.gin
│   │   │   ├── networks.py
│   │   │   ├── ppo_cale.py
│   │   │   ├── sac_cale.py
│   │   │   └── utils.py
│   │   ├── environments/
│   │   │   ├── __init__.py
│   │   │   ├── brax/
│   │   │   │   ├── __init__.py
│   │   │   │   ├── brax_lib.py
│   │   │   │   ├── sac_brax.gin
│   │   │   │   └── train.py
│   │   │   └── minatar/
│   │   │       ├── __init__.py
│   │   │       ├── dqn_asterix.gin
│   │   │       ├── dqn_breakout.gin
│   │   │       ├── dqn_freeway.gin
│   │   │       ├── dqn_seaquest.gin
│   │   │       ├── dqn_space_invaders.gin
│   │   │       ├── minatar_env.py
│   │   │       ├── quantile_asterix.gin
│   │   │       ├── quantile_breakout.gin
│   │   │       ├── quantile_freeway.gin
│   │   │       ├── quantile_seaquest.gin
│   │   │       ├── quantile_space_invaders.gin
│   │   │       ├── rainbow_asterix.gin
│   │   │       ├── rainbow_breakout.gin
│   │   │       ├── rainbow_freeway.gin
│   │   │       ├── rainbow_seaquest.gin
│   │   │       └── rainbow_space_invaders.gin
│   │   ├── moes/
│   │   │   ├── README.md
│   │   │   ├── __init__.py
│   │   │   ├── agents/
│   │   │   │   ├── __init__.py
│   │   │   │   ├── dqn_moe_agent.py
│   │   │   │   ├── full_rainbow_moe_agent.py
│   │   │   │   ├── losses.py
│   │   │   │   ├── rainbow_100k_moe_agent.py
│   │   │   │   └── types.py
│   │   │   ├── architectures/
│   │   │   │   ├── __init__.py
│   │   │   │   ├── moe.py
│   │   │   │   ├── networks.py
│   │   │   │   ├── routers.py
│   │   │   │   ├── softmoe.py
│   │   │   │   └── types.py
│   │   │   ├── atari_100k_train.py
│   │   │   └── configs/
│   │   │       ├── DER.gin
│   │   │       ├── dqn.gin
│   │   │       ├── dqn_acrobot_moe.gin
│   │   │       ├── dqn_cartpole_moe.gin
│   │   │       ├── dqn_impala.gin
│   │   │       ├── dqn_lunarlander_moe.gin
│   │   │       ├── dqn_mountaincar_moe.gin
│   │   │       └── full_rainbow.gin
│   │   ├── offline_rl/
│   │   │   ├── __init__.py
│   │   │   ├── fixed_replay.py
│   │   │   ├── jax/
│   │   │   │   ├── configs/
│   │   │   │   │   ├── jax_classy_cql.gin
│   │   │   │   │   ├── jax_dqn.gin
│   │   │   │   │   ├── jax_dr3.gin
│   │   │   │   │   ├── jax_rainbow.gin
│   │   │   │   │   └── jax_return_conditioned_bc.gin
│   │   │   │   ├── networks.py
│   │   │   │   ├── offline_classy_cql_agent.py
│   │   │   │   ├── offline_dqn_agent.py
│   │   │   │   ├── offline_dr3_agent.py
│   │   │   │   ├── offline_rainbow_agent.py
│   │   │   │   ├── return_conditioned_bc_agent.py
│   │   │   │   ├── run_experiment.py
│   │   │   │   └── train.py
│   │   │   └── rlu_tfds/
│   │   │       ├── scaling_dataset_utils.py
│   │   │       ├── tfds_atari_utils.py
│   │   │       └── tfds_replay.py
│   │   ├── redo/
│   │   │   ├── __init__.py
│   │   │   ├── configs/
│   │   │   │   ├── DrQ_eps_dense.gin
│   │   │   │   ├── dqn_dense.gin
│   │   │   │   └── rainbow_dense.gin
│   │   │   ├── networks.py
│   │   │   ├── recycled_atari100k_rainbow_agent.py
│   │   │   ├── recycled_dqn_agents.py
│   │   │   ├── recycled_rainbow_agent.py
│   │   │   ├── tfagents/
│   │   │   │   ├── configs/
│   │   │   │   │   └── sac_mujoco_dense_config.gin
│   │   │   │   └── sac_train_eval.py
│   │   │   ├── train.py
│   │   │   └── weight_recyclers.py
│   │   ├── sac_from_pixels/
│   │   │   ├── README.md
│   │   │   ├── __init__.py
│   │   │   ├── continuous_networks.py
│   │   │   ├── deepmind_control_lib.py
│   │   │   └── sac_pixels.gin
│   │   └── tandem_dqn/
│   │       ├── README.md
│   │       ├── __init__.py
│   │       ├── requirements.txt
│   │       ├── run.sh
│   │       ├── run_experiment.py
│   │       ├── tandem_dqn_agent.py
│   │       └── train.py
│   ├── metrics/
│   │   ├── __init__.py
│   │   ├── collector.py
│   │   ├── collector_dispatcher.py
│   │   ├── console_collector.py
│   │   ├── pickle_collector.py
│   │   ├── statistics_instance.py
│   │   └── tensorboard_collector.py
│   ├── tf/
│   │   ├── __init__.py
│   │   ├── agents/
│   │   │   ├── __init__.py
│   │   │   ├── dqn/
│   │   │   │   ├── __init__.py
│   │   │   │   ├── configs/
│   │   │   │   │   ├── dqn.gin
│   │   │   │   │   ├── dqn_acrobot.gin
│   │   │   │   │   ├── dqn_cartpole.gin
│   │   │   │   │   ├── dqn_icml.gin
│   │   │   │   │   ├── dqn_lunarlander.gin
│   │   │   │   │   ├── dqn_mountaincar.gin
│   │   │   │   │   ├── dqn_nature.gin
│   │   │   │   │   └── dqn_profiling.gin
│   │   │   │   └── dqn_agent.py
│   │   │   ├── implicit_quantile/
│   │   │   │   ├── __init__.py
│   │   │   │   ├── configs/
│   │   │   │   │   ├── implicit_quantile.gin
│   │   │   │   │   ├── implicit_quantile_icml.gin
│   │   │   │   │   └── implicit_quantile_profiling.gin
│   │   │   │   └── implicit_quantile_agent.py
│   │   │   └── rainbow/
│   │   │       ├── __init__.py
│   │   │       ├── configs/
│   │   │       │   ├── c51.gin
│   │   │       │   ├── c51_acrobot.gin
│   │   │       │   ├── c51_cartpole.gin
│   │   │       │   ├── c51_icml.gin
│   │   │       │   ├── c51_profiling.gin
│   │   │       │   ├── rainbow.gin
│   │   │       │   ├── rainbow_aaai.gin
│   │   │       │   ├── rainbow_acrobot.gin
│   │   │       │   ├── rainbow_cartpole.gin
│   │   │       │   └── rainbow_profiling.gin
│   │   │       └── rainbow_agent.py
│   │   └── replay_memory/
│   │       ├── __init__.py
│   │       ├── circular_replay_buffer.py
│   │       ├── prioritized_replay_buffer.py
│   │       └── sum_tree.py
│   └── utils/
│       ├── __init__.py
│       ├── agent_visualizer.py
│       ├── atari_plotter.py
│       ├── bar_plotter.py
│       ├── example_viz.py
│       ├── example_viz_lib.py
│       ├── line_plotter.py
│       ├── plotter.py
│       └── test_utils.py
├── requirements.txt
├── setup.py
└── tests/
    └── dopamine/
        ├── atari_init_test.py
        ├── continuous_domains/
        │   └── run_experiment_test.py
        ├── discrete_domains/
        │   ├── atari_lib_test.py
        │   ├── checkpointer_test.py
        │   ├── gym_lib_test.py
        │   ├── iteration_statistics_test.py
        │   ├── logger_test.py
        │   └── run_experiment_test.py
        ├── jax/
        │   ├── agents/
        │   │   ├── dqn/
        │   │   │   └── dqn_agent_test.py
        │   │   ├── full_rainbow/
        │   │   │   └── full_rainbow_agent_test.py
        │   │   ├── implicit_quantile/
        │   │   │   └── implicit_quantile_agent_test.py
        │   │   ├── ppo/
        │   │   │   └── ppo_agent_test.py
        │   │   ├── quantile/
        │   │   │   └── quantile_agent_test.py
        │   │   ├── rainbow/
        │   │   │   └── rainbow_agent_test.py
        │   │   └── sac/
        │   │       └── sac_agent_test.py
        │   ├── checkpointers_test.py
        │   ├── continuous_networks_test.py
        │   ├── losses_test.py
        │   ├── networks_test.py
        │   ├── replay_memory/
        │   │   ├── accumulator_test.py
        │   │   ├── elements_test.py
        │   │   ├── replay_buffer_regression_test.py
        │   │   ├── replay_buffer_test.py
        │   │   ├── samplers_test.py
        │   │   └── sum_tree_test.py
        │   └── serialization_test.py
        ├── labs/
        │   ├── atari_100k/
        │   │   └── train_test.py
        │   ├── moes/
        │   │   └── architectures/
        │   │       └── networks_test.py
        │   ├── offline_rl/
        │   │   └── jax/
        │   │       └── offline_agent_test.py
        │   └── sac_from_pixels/
        │       ├── continuous_networks_test.py
        │       └── deepmind_control_lib_test.py
        ├── metrics/
        │   ├── collector_dispatcher_test.py
        │   ├── collector_test.py
        │   ├── console_collector_test.py
        │   ├── pickle_collector_test.py
        │   └── tensorboard_collector_test.py
        ├── tests/
        │   ├── gin_config_test.py
        │   ├── integration_test.py
        │   └── train_runner_integration_test.py
        ├── tf/
        │   ├── agents/
        │   │   ├── dqn/
        │   │   │   └── dqn_agent_test.py
        │   │   ├── implicit_quantile/
        │   │   │   └── implicit_quantile_agent_test.py
        │   │   └── rainbow/
        │   │       └── rainbow_agent_test.py
        │   └── replay_memory/
        │       ├── circular_replay_buffer_test.py
        │       ├── prioritized_replay_buffer_test.py
        │       └── sum_tree_test.py
        └── utils/
            └── agent_visualizer_test.py
Download .txt
SYMBOL INDEX (1721 symbols across 145 files)

FILE: dopamine/colab/utils.py
  function load_baselines (line 99) | def load_baselines(base_dir, verbose=False):
  function load_statistics (line 149) | def load_statistics(log_path, iteration_number=None, verbose=True):
  function get_latest_file (line 180) | def get_latest_file(path):
  function get_latest_iteration (line 196) | def get_latest_iteration(path):
  function summarize_data (line 221) | def summarize_data(data, summary_keys):
  function read_experiment (line 256) | def read_experiment(

FILE: dopamine/continuous_domains/run_experiment.py
  function create_continuous_agent (line 43) | def create_continuous_agent(
  function create_continuous_runner (line 112) | def create_continuous_runner(base_dir, schedule='continuous_train_and_ev...
  class ContinuousRunner (line 137) | class ContinuousRunner(base_run_experiment.Runner):
    method __init__ (line 144) | def __init__(
    method _use_legacy_logger (line 216) | def _use_legacy_logger(self):
    method _has_collector_dispatcher (line 222) | def _has_collector_dispatcher(self):
    method _fine_grained_print_to_console (line 228) | def _fine_grained_print_to_console(self):
    method _save_tensorboard_summaries (line 233) | def _save_tensorboard_summaries(
  class ContinuousTrainRunner (line 265) | class ContinuousTrainRunner(ContinuousRunner):
    method __init__ (line 272) | def __init__(
    method _run_one_iteration (line 291) | def _run_one_iteration(self, iteration):
    method _save_tensorboard_summaries (line 330) | def _save_tensorboard_summaries(

FILE: dopamine/continuous_domains/train.py
  function main (line 43) | def main(unused_argv):

FILE: dopamine/discrete_domains/atari_lib.py
  function create_atari_environment (line 71) | def create_atari_environment(
  function maybe_transform_variable_names (line 152) | def maybe_transform_variable_names(variables, legacy_checkpoint_load=Fal...
  class NatureDQNNetwork (line 179) | class NatureDQNNetwork(tf.keras.Model):
    method __init__ (line 182) | def __init__(self, num_actions, name=None):
    method call (line 226) | def call(self, state):
  class RainbowNetwork (line 252) | class RainbowNetwork(tf.keras.Model):
    method __init__ (line 255) | def __init__(self, num_actions, num_atoms, support, name=None):
    method call (line 316) | def call(self, state):
  class ImplicitQuantileNetwork (line 343) | class ImplicitQuantileNetwork(tf.keras.Model):
    method __init__ (line 346) | def __init__(self, num_actions, quantile_embedding_dim, name=None):
    method call (line 407) | def call(self, state, num_quantiles):
  class AtariPreprocessing (line 459) | class AtariPreprocessing(object):
    method __init__ (line 475) | def __init__(
    method observation_space (line 523) | def observation_space(self):
    method action_space (line 534) | def action_space(self):
    method reward_range (line 538) | def reward_range(self):
    method metadata (line 542) | def metadata(self):
    method close (line 545) | def close(self):
    method reset (line 548) | def reset(self):
    method render (line 561) | def render(self, mode):
    method step (line 577) | def step(self, action):
    method _fetch_grayscale_observation (line 631) | def _fetch_grayscale_observation(self, output):
    method _pool_and_resize (line 645) | def _pool_and_resize(self):
  class GameOverWrapper (line 671) | class GameOverWrapper(object):
    method __init__ (line 674) | def __init__(self, environment):
    method observation_space (line 679) | def observation_space(self):
    method action_space (line 683) | def action_space(self):
    method reset (line 686) | def reset(self):
    method step (line 689) | def step(self, action):

FILE: dopamine/discrete_domains/checkpointer.py
  function get_latest_checkpoint_number (line 59) | def get_latest_checkpoint_number(
  class Checkpointer (line 95) | class Checkpointer(object):
    method __init__ (line 98) | def __init__(
    method _generate_filename (line 139) | def _generate_filename(self, file_prefix, iteration_number):
    method _save_data_to_file (line 144) | def _save_data_to_file(self, data, filename):
    method save_checkpoint (line 149) | def save_checkpoint(self, iteration_number, data):
    method _clean_up_old_checkpoints (line 172) | def _clean_up_old_checkpoints(self, iteration_number):
    method _load_data_from_file (line 202) | def _load_data_from_file(self, filename):
    method load_checkpoint (line 208) | def load_checkpoint(self, iteration_number):

FILE: dopamine/discrete_domains/gym_lib.py
  function create_gym_environment (line 60) | def create_gym_environment(
  class BasicDiscreteDomainNetwork (line 105) | class BasicDiscreteDomainNetwork(tf.keras.layers.Layer):
    method __init__ (line 122) | def __init__(
    method call (line 153) | def call(self, state):
  class CartpoleDQNNetwork (line 168) | class CartpoleDQNNetwork(tf.keras.Model):
    method __init__ (line 171) | def __init__(self, num_actions, name=None):
    method call (line 185) | def call(self, state):
  class FourierBasis (line 191) | class FourierBasis(object):
    method __init__ (line 205) | def __init__(self, nvars, min_vals=0, max_vals=None, order=3):
    method scale (line 216) | def scale(self, values):
    method compute_features (line 223) | def compute_features(self, features):
  class FourierDQNNetwork (line 230) | class FourierDQNNetwork(tf.keras.Model):
    method __init__ (line 233) | def __init__(
    method call (line 264) | def call(self, state):
  class CartpoleFourierDQNNetwork (line 283) | class CartpoleFourierDQNNetwork(FourierDQNNetwork):
    method __init__ (line 286) | def __init__(self, num_actions, name=None):
  class CartpoleRainbowNetwork (line 301) | class CartpoleRainbowNetwork(tf.keras.Model):
    method __init__ (line 304) | def __init__(self, num_actions, num_atoms, support, name=None):
    method call (line 323) | def call(self, state):
  class AcrobotDQNNetwork (line 332) | class AcrobotDQNNetwork(tf.keras.Model):
    method __init__ (line 335) | def __init__(self, num_actions, name=None):
    method call (line 349) | def call(self, state):
  class AcrobotFourierDQNNetwork (line 355) | class AcrobotFourierDQNNetwork(FourierDQNNetwork):
    method __init__ (line 358) | def __init__(self, num_actions, name=None):
  class AcrobotRainbowNetwork (line 374) | class AcrobotRainbowNetwork(tf.keras.Model):
    method __init__ (line 377) | def __init__(self, num_actions, num_atoms, support, name=None):
    method call (line 396) | def call(self, state):
  class LunarLanderDQNNetwork (line 405) | class LunarLanderDQNNetwork(tf.keras.Model):
    method __init__ (line 408) | def __init__(self, num_actions, name=None):
    method call (line 418) | def call(self, state):
  class MountainCarDQNNetwork (line 425) | class MountainCarDQNNetwork(tf.keras.Model):
    method __init__ (line 428) | def __init__(self, num_actions, name=None):
    method call (line 440) | def call(self, state):
  class GymPreprocessing (line 447) | class GymPreprocessing(object):
    method __init__ (line 450) | def __init__(self, environment, use_legacy_gym=False):
    method observation_space (line 456) | def observation_space(self):
    method action_space (line 460) | def action_space(self):
    method reward_range (line 464) | def reward_range(self):
    method metadata (line 468) | def metadata(self):
    method reset (line 471) | def reset(self):
    method step (line 478) | def step(self, action):

FILE: dopamine/discrete_domains/iteration_statistics.py
  class IterationStatistics (line 22) | class IterationStatistics(object):
    method __init__ (line 36) | def __init__(self):
    method append (line 39) | def append(self, data_pairs):

FILE: dopamine/discrete_domains/legacy_networks.py
  function nature_dqn_network (line 25) | def nature_dqn_network(num_actions, network_type, state):
  function rainbow_network (line 41) | def rainbow_network(num_actions, num_atoms, support, network_type, state):
  function implicit_quantile_network (line 59) | def implicit_quantile_network(
  function _basic_discrete_domain_network (line 85) | def _basic_discrete_domain_network(
  function cartpole_dqn_network (line 108) | def cartpole_dqn_network(num_actions, network_type, state):
  function fourier_dqn_network (line 127) | def fourier_dqn_network(
  function cartpole_fourier_dqn_network (line 150) | def cartpole_fourier_dqn_network(num_actions, network_type, state):
  function cartpole_rainbow_network (line 169) | def cartpole_rainbow_network(
  function acrobot_dqn_network (line 190) | def acrobot_dqn_network(num_actions, network_type, state):
  function acrobot_fourier_dqn_network (line 209) | def acrobot_fourier_dqn_network(num_actions, network_type, state):
  function acrobot_rainbow_network (line 228) | def acrobot_rainbow_network(

FILE: dopamine/discrete_domains/logger.py
  class Logger (line 30) | class Logger(object):
    method __init__ (line 33) | def __init__(self, logging_dir, logs_duration=4):
    method __setitem__ (line 64) | def __setitem__(self, key, value):
    method _generate_filename (line 76) | def _generate_filename(self, filename_prefix, iteration_number):
    method log_to_file (line 80) | def log_to_file(self, filename_prefix, iteration_number):
    method is_logging_enabled (line 107) | def is_logging_enabled(self):

FILE: dopamine/discrete_domains/run_experiment.py
  function load_gin_configs (line 47) | def load_gin_configs(gin_files, gin_bindings):
  function create_agent (line 62) | def create_agent(
  function create_runner (line 136) | def create_runner(base_dir, schedule='continuous_train_and_eval'):
  class Runner (line 162) | class Runner(object):
    method __init__ (line 181) | def __init__(
    method _use_legacy_logger (line 280) | def _use_legacy_logger(self):
    method _has_collector_dispatcher (line 286) | def _has_collector_dispatcher(self):
    method _fine_grained_print_to_console (line 292) | def _fine_grained_print_to_console(self):
    method _create_directories (line 297) | def _create_directories(self):
    method _initialize_checkpointer_and_maybe_resume (line 307) | def _initialize_checkpointer_and_maybe_resume(self, checkpoint_file_pr...
    method _initialize_episode (line 355) | def _initialize_episode(self):
    method _run_one_step (line 364) | def _run_one_step(self, action):
    method _end_episode (line 377) | def _end_episode(self, reward, terminal=True):
    method _run_one_episode (line 390) | def _run_one_episode(self):
    method _run_continued_episode (line 430) | def _run_continued_episode(self, start_step_count, max_step_count):
    method _run_one_phase (line 470) | def _run_one_phase(self, min_steps, statistics, run_mode_str):
    method _run_train_phase (line 515) | def _run_train_phase(self, statistics):
    method _run_eval_phase (line 548) | def _run_eval_phase(self, statistics):
    method _run_one_iteration (line 572) | def _run_one_iteration(self, iteration):
    method _save_tensorboard_summaries (line 622) | def _save_tensorboard_summaries(
    method _log_experiment (line 685) | def _log_experiment(self, iteration, statistics):
    method _checkpoint_experiment (line 699) | def _checkpoint_experiment(self, iteration):
    method run_experiment (line 714) | def run_experiment(self):
  class TrainRunner (line 743) | class TrainRunner(Runner):
    method __init__ (line 751) | def __init__(
    method _run_one_iteration (line 772) | def _run_one_iteration(self, iteration):
    method _save_tensorboard_summaries (line 811) | def _save_tensorboard_summaries(

FILE: dopamine/discrete_domains/train.py
  function main (line 50) | def main(unused_argv):

FILE: dopamine/jax/agents/dqn/dqn_agent.py
  function identity_epsilon (line 46) | def identity_epsilon(
  function create_optimizer (line 53) | def create_optimizer(
  function train (line 111) | def train(
  function target_q (line 151) | def target_q(target_network, next_states, rewards, terminals, cumulative...
  function linearly_decaying_epsilon (line 170) | def linearly_decaying_epsilon(decay_period, step, warmup_steps, epsilon):
  function select_action (line 195) | def select_action(
  class JaxDQNAgent (line 255) | class JaxDQNAgent(object):
    method __init__ (line 258) | def __init__(
    method _build_networks_and_optimizer (line 400) | def _build_networks_and_optimizer(self):
    method _build_replay_buffer (line 408) | def _build_replay_buffer(self):
    method _sample_from_replay_buffer (line 423) | def _sample_from_replay_buffer(self):
    method _sync_weights (line 436) | def _sync_weights(self):
    method _reset_state (line 440) | def _reset_state(self):
    method _record_observation (line 444) | def _record_observation(self, observation):
    method begin_episode (line 460) | def begin_episode(self, observation):
    method step (line 492) | def step(self, reward, observation):
    method end_episode (line 529) | def end_episode(self, reward, terminal=True):
    method _train_step (line 551) | def _train_step(self):
    method _store_transition (line 604) | def _store_transition(
    method bundle_and_checkpoint (line 661) | def bundle_and_checkpoint(self, checkpoint_dir, iteration_number):
    method unbundle (line 690) | def unbundle(self, checkpoint_dir, iteration_number, bundle_dictionary):
    method set_collector_dispatcher (line 733) | def set_collector_dispatcher(self, collector_dispatcher):

FILE: dopamine/jax/agents/full_rainbow/full_rainbow_agent.py
  function zero_epsilon (line 51) | def zero_epsilon(
  function select_action (line 58) | def select_action(
  function get_logits (line 98) | def get_logits(model, states, rng):
  function get_q_values (line 103) | def get_q_values(model, states, rng):
  function train (line 118) | def train(
  function target_output (line 201) | def target_output(
  class JaxFullRainbowAgent (line 247) | class JaxFullRainbowAgent(dqn_agent.JaxDQNAgent):
    method __init__ (line 250) | def __init__(
    method _build_networks_and_optimizer (line 340) | def _build_networks_and_optimizer(self):
    method _build_replay_buffer (line 350) | def _build_replay_buffer(self):
    method _training_step_update (line 368) | def _training_step_update(self):
    method _store_transition (line 443) | def _store_transition(
    method _train_step (line 481) | def _train_step(self):
    method begin_episode (line 501) | def begin_episode(self, observation):
    method step (line 528) | def step(self, reward, observation):

FILE: dopamine/jax/agents/implicit_quantile/implicit_quantile_agent.py
  function target_quantile_values (line 39) | def target_quantile_values(
  function train (line 106) | def train(
  function select_action (line 209) | def select_action(
  class JaxImplicitQuantileAgent (line 279) | class JaxImplicitQuantileAgent(dqn_agent.JaxDQNAgent):
    method __init__ (line 282) | def __init__(
    method _build_networks_and_optimizer (line 394) | def _build_networks_and_optimizer(self):
    method begin_episode (line 403) | def begin_episode(self, observation):
    method step (line 436) | def step(self, reward, observation):
    method _train_step (line 474) | def _train_step(self):

FILE: dopamine/jax/agents/ppo/ppo_agent.py
  function train (line 45) | def train(
  function calculate_advantages_and_returns (line 192) | def calculate_advantages_and_returns(
  function create_minibatches_and_shuffle (line 222) | def create_minibatches_and_shuffle(
  function train_minibatch (line 279) | def train_minibatch(
  function select_action (line 391) | def select_action(network_def, params, state, rng):
  class PPOAgent (line 416) | class PPOAgent(dqn_agent.JaxDQNAgent):
    method __init__ (line 419) | def __init__(
    method _build_networks_and_optimizer (line 568) | def _build_networks_and_optimizer(self):
    method _build_replay_buffer (line 582) | def _build_replay_buffer(self):
    method begin_episode (line 597) | def begin_episode(self, observation):
    method step (line 621) | def step(self, reward, observation):
    method _train_step (line 650) | def _train_step(self):
    method bundle_and_checkpoint (line 707) | def bundle_and_checkpoint(self, checkpoint_dir, iteration_number):
    method unbundle (line 735) | def unbundle(self, checkpoint_dir, iteration_number, bundle_dictionary):

FILE: dopamine/jax/agents/quantile/quantile_agent.py
  function target_distribution (line 38) | def target_distribution(
  function train (line 65) | def train(
  class JaxQuantileAgent (line 131) | class JaxQuantileAgent(dqn_agent.JaxDQNAgent):
    method __init__ (line 134) | def __init__(
    method _build_networks_and_optimizer (line 225) | def _build_networks_and_optimizer(self):
    method _build_replay_buffer (line 232) | def _build_replay_buffer(self):
    method _train_step (line 250) | def _train_step(self):

FILE: dopamine/jax/agents/rainbow/rainbow_agent.py
  function train (line 54) | def train(
  function target_distribution (line 103) | def target_distribution(
  function select_action (line 146) | def select_action(
  class JaxRainbowAgent (line 208) | class JaxRainbowAgent(dqn_agent.JaxDQNAgent):
    method __init__ (line 211) | def __init__(
    method _build_networks_and_optimizer (line 308) | def _build_networks_and_optimizer(self):
    method _build_replay_buffer (line 318) | def _build_replay_buffer(self):
    method begin_episode (line 339) | def begin_episode(self, observation):
    method step (line 373) | def step(self, reward, observation):
    method _train_step (line 411) | def _train_step(self):
  function project_distribution (line 492) | def project_distribution(supports, weights, target_support):

FILE: dopamine/jax/agents/sac/sac_agent.py
  function train (line 72) | def train(
  function select_action (line 262) | def select_action(network_def, params, state, rng, eval_mode=False):
  class SACAgent (line 287) | class SACAgent(dqn_agent.JaxDQNAgent):
    method __init__ (line 290) | def __init__(
    method _build_networks_and_optimizer (line 438) | def _build_networks_and_optimizer(self):
    method _build_replay_buffer (line 455) | def _build_replay_buffer(self):
    method _maybe_sync_weights (line 470) | def _maybe_sync_weights(self):
    method begin_episode (line 488) | def begin_episode(self, observation):
    method step (line 523) | def step(self, reward, observation):
    method _train_step (line 563) | def _train_step(self):
    method bundle_and_checkpoint (line 631) | def bundle_and_checkpoint(self, checkpoint_dir, iteration_number):
    method unbundle (line 662) | def unbundle(self, checkpoint_dir, iteration_number, bundle_dictionary):

FILE: dopamine/jax/checkpointers.py
  class Checkpointable (line 71) | class Checkpointable(Protocol):
    method to_state_dict (line 74) | def to_state_dict(self) -> Dict[str, Any]:
    method from_state_dict (line 77) | def from_state_dict(self, state_dict: Dict[str, Any]) -> None:
  class CheckpointHandler (line 84) | class CheckpointHandler(checkpoint.CheckpointHandler, Generic[Checkpoint...
    method __init__ (line 87) | def __init__(self, filename: str = 'checkpoint.msgpack') -> None:
    method save (line 90) | def save(self, directory: epath.Path, item: CheckpointableT) -> None:
    method restore (line 106) | def restore(
    method restore (line 112) | def restore(self, directory: epath.Path, item: None = None) -> Dict[st...
    method restore (line 115) | def restore(
    method structure (line 133) | def structure(self, directory: epath.Path) -> None:

FILE: dopamine/jax/continuous_networks.py
  class ActorOutput (line 32) | class ActorOutput(NamedTuple):
  class CriticOutput (line 40) | class CriticOutput(NamedTuple):
  class ActorCriticOutput (line 47) | class ActorCriticOutput(NamedTuple):
  class PPOActorOutput (line 54) | class PPOActorOutput(NamedTuple):
  class PPOCriticOutput (line 62) | class PPOCriticOutput(NamedTuple):
  class PPOActorCriticOutput (line 68) | class PPOActorCriticOutput(NamedTuple):
  class _Tanh (line 75) | class _Tanh(tfb.Tanh):
    method _inverse (line 77) | def _inverse(self, y):
  function _transform_distribution (line 85) | def _transform_distribution(dist, mean, magnitude):
  function _shifted_uniform (line 104) | def _shifted_uniform(minval=0.0, maxval=1.0, dtype=jnp.float32):
  function create_activation (line 114) | def create_activation(
  class ActorNetwork (line 126) | class ActorNetwork(nn.Module):
    method __call__ (line 139) | def __call__(
  class CriticNetwork (line 187) | class CriticNetwork(nn.Module):
    method __call__ (line 198) | def __call__(self, state: jnp.ndarray, action: jnp.ndarray) -> jnp.nda...
  class ActorCriticNetwork (line 216) | class ActorCriticNetwork(nn.Module):
    method setup (line 228) | def setup(self):
    method __call__ (line 250) | def __call__(
    method actor (line 279) | def actor(self, state: jnp.ndarray, key: jnp.ndarray) -> ActorOutput:
    method critic (line 295) | def critic(self, state: jnp.ndarray, action: jnp.ndarray) -> CriticOut...
  class PPOActorNetwork (line 314) | class PPOActorNetwork(nn.Module):
    method __call__ (line 331) | def __call__(
  class PPOCriticNetwork (line 383) | class PPOCriticNetwork(nn.Module):
    method __call__ (line 397) | def __call__(self, state: jnp.ndarray) -> jnp.ndarray:
  class PPOActorCriticNetwork (line 412) | class PPOActorCriticNetwork(nn.Module):
    method setup (line 428) | def setup(self):
    method __call__ (line 440) | def __call__(
    method actor (line 462) | def actor(
    method critic (line 484) | def critic(self, state: jnp.ndarray) -> PPOCriticOutput:

FILE: dopamine/jax/losses.py
  function huber_loss (line 20) | def huber_loss(
  function mse_loss (line 41) | def mse_loss(targets: jnp.ndarray, predictions: jnp.ndarray) -> jnp.ndar...
  function softmax_cross_entropy_loss_with_logits (line 46) | def softmax_cross_entropy_loss_with_logits(

FILE: dopamine/jax/networks.py
  function preprocess_atari_inputs (line 53) | def preprocess_atari_inputs(x):
  class Stack (line 62) | class Stack(nn.Module):
    method __call__ (line 70) | def __call__(self, x):
  class ImpalaEncoder (line 100) | class ImpalaEncoder(nn.Module):
    method setup (line 107) | def setup(self):
    method __call__ (line 119) | def __call__(self, x):
  class ImpalaDQNNetwork (line 127) | class ImpalaDQNNetwork(nn.Module):
    method setup (line 134) | def setup(self):
    method __call__ (line 138) | def __call__(self, x):
  class NatureDQNNetwork (line 152) | class NatureDQNNetwork(nn.Module):
    method __call__ (line 159) | def __call__(self, x):
  class ClassicControlDQNNetwork (line 183) | class ClassicControlDQNNetwork(nn.Module):
    method setup (line 193) | def setup(self):
    method __call__ (line 207) | def __call__(self, x):
  class FourierBasis (line 222) | class FourierBasis(object):
    method __init__ (line 236) | def __init__(
    method scale (line 257) | def scale(self, values):
    method compute_features (line 264) | def compute_features(self, features):
  class JaxFourierDQNNetwork (line 271) | class JaxFourierDQNNetwork(nn.Module):
    method __call__ (line 280) | def __call__(self, x):
  class RainbowNetwork (line 298) | class RainbowNetwork(nn.Module):
    method __call__ (line 306) | def __call__(self, x, support):
  class ClassicControlRainbowNetwork (line 337) | class ClassicControlRainbowNetwork(nn.Module):
    method setup (line 348) | def setup(self):
    method __call__ (line 361) | def __call__(self, x, support):
  class ImplicitQuantileNetwork (line 380) | class ImplicitQuantileNetwork(nn.Module):
    method __call__ (line 388) | def __call__(self, x, num_quantiles, rng):
  class QuantileNetwork (line 433) | class QuantileNetwork(nn.Module):
    method __call__ (line 441) | def __call__(self, x):
  class NoisyNetwork (line 473) | class NoisyNetwork(nn.Module):
    method sample_noise (line 485) | def sample_noise(key, shape):
    method f (line 489) | def f(x):
    method __call__ (line 494) | def __call__(self, x, features, bias=True, kernel_init=None):
  function feature_layer (line 532) | def feature_layer(key, noisy, eval_mode=False):
  class FullRainbowNetwork (line 545) | class FullRainbowNetwork(nn.Module):
    method __call__ (line 564) | def __call__(self, x, support, eval_mode=False, key=None):
  class PPOSharedNetwork (line 610) | class PPOSharedNetwork(nn.Module):
    method __call__ (line 616) | def __call__(self, x) -> jnp.ndarray:
  class PPOActorNetwork (line 651) | class PPOActorNetwork(nn.Module):
    method __call__ (line 657) | def __call__(self, x) -> jnp.ndarray:
  class PPOCriticNetwork (line 662) | class PPOCriticNetwork(nn.Module):
    method __call__ (line 666) | def __call__(self, x) -> jnp.ndarray:
  class PPODiscreteActorCriticNetwork (line 672) | class PPODiscreteActorCriticNetwork(nn.Module):
    method setup (line 678) | def setup(self):
    method __call__ (line 684) | def __call__(
    method actor (line 691) | def actor(
    method critic (line 707) | def critic(self, state: jnp.ndarray) -> continuous_networks.PPOCriticO...

FILE: dopamine/jax/replay_memory/accumulator.py
  class Accumulator (line 32) | class Accumulator(checkpointers.Checkpointable, Protocol[ReplayElementT]):
    method accumulate (line 34) | def accumulate(
    method clear (line 39) | def clear(self) -> None:
  class TransitionAccumulator (line 43) | class TransitionAccumulator(Accumulator[elements.ReplayElement]):
    method __init__ (line 53) | def __init__(
    method _make_replay_element (line 70) | def _make_replay_element(self) -> 'elements.ReplayElement | None':
    method accumulate (line 152) | def accumulate(
    method clear (line 188) | def clear(self) -> None:
    method to_state_dict (line 192) | def to_state_dict(self) -> dict[str, Any]:
    method from_state_dict (line 202) | def from_state_dict(self, state_dict: dict[str, Any]) -> None:

FILE: dopamine/jax/replay_memory/elements.py
  class TransitionElement (line 28) | class TransitionElement(typing.NamedTuple):
  class ReplayElementProtocol (line 37) | class ReplayElementProtocol(Protocol):
    method pack (line 39) | def pack(self) -> 'ReplayElementProtocol':
    method unpack (line 42) | def unpack(self) -> 'ReplayElementProtocol':
    method is_compressed (line 46) | def is_compressed(self) -> bool:
  function compress (line 50) | def compress(buffer: npt.NDArray) -> npt.NDArray:
  function uncompress (line 77) | def uncompress(compressed: npt.NDArray) -> npt.NDArray:
  class ReplayElement (line 97) | class ReplayElement(ReplayElementProtocol, struct.PyTreeNode):
    method pack (line 107) | def pack(self) -> 'ReplayElement':
    method unpack (line 117) | def unpack(self) -> 'ReplayElement':
    method is_compressed (line 128) | def is_compressed(self) -> bool:

FILE: dopamine/jax/replay_memory/replay_buffer.py
  class ReplayBuffer (line 38) | class ReplayBuffer(checkpointers.Checkpointable, Generic[ReplayElementT]):
    method __init__ (line 65) | def __init__(
    method add (line 90) | def add(self, transition: elements.TransitionElement, **kwargs: Any) -...
    method sample (line 109) | def sample(
    method sample (line 118) | def sample(
    method sample (line 126) | def sample(
    method update (line 155) | def update(self, keys: npt.NDArray[ReplayItemID], **kwargs: Any) -> None:
    method update (line 159) | def update(self, keys: ReplayItemID, **kwargs: Any) -> None:
    method update (line 162) | def update(
    method clear (line 169) | def clear(self) -> None:
    method to_state_dict (line 176) | def to_state_dict(self) -> dict[str, Any]:
    method from_state_dict (line 198) | def from_state_dict(self, state_dict: dict[str, Any]) -> None:
    method _make_checkpoint_manager (line 228) | def _make_checkpoint_manager(
    method save (line 245) | def save(self, checkpoint_dir: str, iteration_number: int):
    method load (line 256) | def load(self, checkpoint_dir: str, iteration_number: int):

FILE: dopamine/jax/replay_memory/samplers.py
  class SampleMetadata (line 33) | class SampleMetadata:
  class SamplingDistribution (line 38) | class SamplingDistribution(checkpointers.Checkpointable, Protocol):
    method add (line 41) | def add(self, key: ReplayItemID, **kwargs: Any) -> None:
    method update (line 45) | def update(self, keys: npt.NDArray[ReplayItemID], **kwargs: Any) -> None:
    method update (line 49) | def update(self, key: ReplayItemID, **kwargs: Any) -> None:
    method update (line 52) | def update(
    method remove (line 57) | def remove(self, key: ReplayItemID) -> None:
    method sample (line 60) | def sample(self, size: int) -> SampleMetadata:
    method clear (line 63) | def clear(self) -> None:
  class UniformSamplingDistribution (line 67) | class UniformSamplingDistribution(SamplingDistribution):
    method __init__ (line 70) | def __init__(
    method size (line 99) | def size(self) -> int:
    method add (line 102) | def add(self, key: ReplayItemID, **kwargs: Any) -> None:
    method update (line 115) | def update(
    method update (line 121) | def update(self, key: ReplayItemID, *args: Any, **kwargs: Any) -> None:
    method update (line 124) | def update(
    method remove (line 134) | def remove(self, key: ReplayItemID) -> None:
    method sample (line 150) | def sample(self, size: int) -> SampleMetadata:
    method clear (line 164) | def clear(self) -> None:
    method to_state_dict (line 168) | def to_state_dict(self) -> dict[str, Any]:
    method from_state_dict (line 175) | def from_state_dict(self, state_dict: dict[str, Any]) -> None:
  class PrioritizedSampleMetadata (line 184) | class PrioritizedSampleMetadata(SampleMetadata):
  class PrioritizedSamplingDistribution (line 189) | class PrioritizedSamplingDistribution(UniformSamplingDistribution):
    method __init__ (line 192) | def __init__(
    method add (line 206) | def add(self, key: ReplayItemID, *, priority: float) -> None:
    method update (line 216) | def update(
    method update (line 225) | def update(self, keys: ReplayItemID, *, priorities: float) -> None:
    method update (line 228) | def update(
    method remove (line 245) | def remove(self, key: ReplayItemID) -> None:
    method sample (line 261) | def sample(self, size: int) -> PrioritizedSampleMetadata:
    method clear (line 280) | def clear(self) -> None:
    method to_state_dict (line 284) | def to_state_dict(self) -> dict[str, Any]:
    method from_state_dict (line 290) | def from_state_dict(self, state_dict: dict[str, Any]):
  class SequentialSamplingDistribution (line 295) | class SequentialSamplingDistribution(UniformSamplingDistribution):
    method __init__ (line 298) | def __init__(
    method sample (line 306) | def sample(self, size: int) -> SampleMetadata:

FILE: dopamine/jax/replay_memory/sum_tree.py
  class SumTree (line 25) | class SumTree(checkpointers.Checkpointable):
    method __init__ (line 28) | def __init__(self, capacity: int) -> None:
    method set (line 38) | def set(self, index: int, value: float) -> None:
    method set (line 42) | def set(
    method set (line 47) | def set(
    method get (line 81) | def get(self, index: int) -> float:
    method get (line 85) | def get(self, index: npt.NDArray[np.int_]) -> npt.NDArray[np.float64]:
    method get (line 88) | def get(
    method root (line 95) | def root(self) -> float:
    method query (line 100) | def query(self, target: float) -> int:
    method query (line 104) | def query(self, target: npt.NDArray[np.float64]) -> npt.NDArray[np.int_]:
    method query (line 107) | def query(
    method clear (line 155) | def clear(self) -> None:
    method to_state_dict (line 158) | def to_state_dict(self) -> dict[str, Any]:
    method from_state_dict (line 161) | def from_state_dict(self, state_dict: dict[str, Any]):

FILE: dopamine/jax/serialization.py
  class NumpyEncoding (line 35) | class NumpyEncoding(TypedDict, total=False):
  class LongIntegerEncoding (line 44) | class LongIntegerEncoding(TypedDict):
  function encode (line 51) | def encode(obj: Any, chain: Optional[Callable[[Any], Any]] = None) -> Any:
  function _ (line 59) | def _(
  function _ (line 84) | def _(
  function decode (line 98) | def decode(
  function decode (line 105) | def decode(
  function decode (line 111) | def decode(obj: Any, chain: Optional[Callable[[Any], Any]] = None) -> Any:

FILE: dopamine/labs/atari_100k/atari_100k_rainbow_agent.py
  function select_action (line 33) | def select_action(
  function _crop_with_indices (line 81) | def _crop_with_indices(img, x, y, cropped_shape):
  function _per_image_random_crop (line 86) | def _per_image_random_crop(key, img, cropped_shape):
  function _intensity_aug (line 99) | def _intensity_aug(key, x, scale=0.05):
  function drq_image_augmentation (line 107) | def drq_image_augmentation(key, obs, img_pad=4):
  function preprocess_inputs_with_augmentation (line 122) | def preprocess_inputs_with_augmentation(x, data_augmentation=False, rng=...
  class Atari100kRainbowAgent (line 133) | class Atari100kRainbowAgent(full_rainbow_agent.JaxFullRainbowAgent):
    method __init__ (line 136) | def __init__(
    method _training_step_update (line 177) | def _training_step_update(self):
    method step (line 231) | def step(self, reward=None, observation=None):
    method _reset_state (line 276) | def _reset_state(self, n_envs=None):
    method _record_observation (line 283) | def _record_observation(self, observation):
    method reset_all (line 305) | def reset_all(self, new_obs):
    method reset_one (line 311) | def reset_one(self, env_id):
    method delete_one (line 314) | def delete_one(self, env_id):
    method cache_train_state (line 319) | def cache_train_state(self):
    method restore_train_state (line 326) | def restore_train_state(self):
    method log_transition (line 331) | def log_transition(self, observation, action, reward, terminal, episod...
    method _store_transition (line 344) | def _store_transition(

FILE: dopamine/labs/atari_100k/atari_100k_runner.py
  function create_env_wrapper (line 35) | def create_env_wrapper(create_env_fn):
  class DataEfficientAtariRunner (line 46) | class DataEfficientAtariRunner(run_experiment.Runner):
    method __init__ (line 53) | def __init__(
    method _run_one_phase (line 116) | def _run_one_phase(
    method _initialize_episode (line 192) | def _initialize_episode(self, envs):
    method _run_parallel (line 218) | def _run_parallel(
    method _run_train_phase (line 359) | def _run_train_phase(self, statistics):
    method _run_eval_phase (line 425) | def _run_eval_phase(self, statistics):
    method _run_one_iteration (line 470) | def _run_one_iteration(self, iteration):
    method _maybe_save_single_summary (line 512) | def _maybe_save_single_summary(
    method _save_tensorboard_summaries (line 530) | def _save_tensorboard_summaries(
    method run_experiment (line 575) | def run_experiment(self):
  class LoggedDataEfficientAtariRunner (line 594) | class LoggedDataEfficientAtariRunner(DataEfficientAtariRunner):
    method __init__ (line 597) | def __init__(
    method run_experiment (line 606) | def run_experiment(self):
  function delete_ind_from_array (line 616) | def delete_ind_from_array(array, ind, axis=0):

FILE: dopamine/labs/atari_100k/eval_run_experiment.py
  class MaxEpisodeEvalRunner (line 26) | class MaxEpisodeEvalRunner(run_experiment.Runner):
    method __init__ (line 29) | def __init__(
    method _initialize_episode (line 39) | def _initialize_episode(self):
    method _run_no_ops (line 50) | def _run_no_ops(self):
    method _run_one_phase_fix_episodes (line 65) | def _run_one_phase_fix_episodes(self, max_episodes, statistics, run_mo...
    method _run_eval_phase (line 105) | def _run_eval_phase(self, statistics):

FILE: dopamine/labs/atari_100k/normalization_utils.py
  function normalize_score (line 136) | def normalize_score(ret, game):

FILE: dopamine/labs/atari_100k/replay_memory/deterministic_sum_tree.py
  function step (line 26) | def step(i, args):  # pylint: disable=unused-argument
  function parallel_stratified_sample (line 41) | def parallel_stratified_sample(rng, nodes, i, n, depth):
  class DeterministicSumTree (line 65) | class DeterministicSumTree(sum_tree.SumTree):
    method __init__ (line 73) | def __init__(self, capacity):
    method _total_priority (line 99) | def _total_priority(self):
    method sample (line 107) | def sample(self, rng, query_value=None):
    method stratified_sample (line 124) | def stratified_sample(self, batch_size, rng):
    method get (line 138) | def get(self, node_index):
    method reset_priorities (line 149) | def reset_priorities(self):
    method set (line 153) | def set(self, node_index, value):

FILE: dopamine/labs/atari_100k/replay_memory/subsequence_replay_buffer.py
  function modulo_range (line 49) | def modulo_range(start, length, modulo):
  function invalid_range (line 54) | def invalid_range(cursor, replay_capacity, stack_size, update_horizon):
  class JaxSubsequenceParallelEnvReplayBuffer (line 82) | class JaxSubsequenceParallelEnvReplayBuffer(object):
    method __init__ (line 101) | def __init__(
    method _create_storage (line 214) | def _create_storage(self):
    method get_add_args_signature (line 225) | def get_add_args_signature(self):
    method get_storage_signature (line 235) | def get_storage_signature(self):
    method _add_zero_transition (line 255) | def _add_zero_transition(self):
    method add (line 265) | def add(
    method _add (line 316) | def _add(self, *args):
    method _add_transition (line 328) | def _add_transition(self, transition):
    method _check_args_length (line 348) | def _check_args_length(self, *args):
    method _check_add_types (line 364) | def _check_add_types(self, *args):
    method is_empty (line 395) | def is_empty(self):
    method is_full (line 399) | def is_full(self):
    method ravel_indices (line 403) | def ravel_indices(self, indices_t, indices_b):
    method unravel_indices (line 408) | def unravel_indices(self, indices):
    method get_from_store (line 411) | def get_from_store(self, element_name, indices_t, indices_b):
    method cursor (line 415) | def cursor(self):
    method parallel_get_stack (line 419) | def parallel_get_stack(self, element_name, indices_t, indices_b, first...
    method get_terminal_stack (line 433) | def get_terminal_stack(self, index_t, index_b):
    method is_valid_transition (line 436) | def is_valid_transition(self, index_t, index_b):
    method _create_batch_arrays (line 485) | def _create_batch_arrays(self, batch_size):
    method num_elements (line 505) | def num_elements(self):
    method sample_index_batch (line 511) | def sample_index_batch(self, batch_size):
    method restore_leading_dims (line 579) | def restore_leading_dims(self, batch_size, subseq_len, tensor):
    method sample (line 582) | def sample(self, *args, **kwargs):
    method sample_transition_batch (line 585) | def sample_transition_batch(
    method get_transition_elements (line 736) | def get_transition_elements(self, batch_size=None, subseq_len=None):
    method _generate_filename (line 810) | def _generate_filename(self, checkpoint_dir, name, suffix):
    method _return_checkpointable_elements (line 813) | def _return_checkpointable_elements(self):
    method save (line 829) | def save(self, checkpoint_dir, iteration_number):
    method load (line 873) | def load(self, checkpoint_dir, suffix):
    method reset_priorities (line 907) | def reset_priorities(self):
  class PrioritizedJaxSubsequenceParallelEnvReplayBuffer (line 912) | class PrioritizedJaxSubsequenceParallelEnvReplayBuffer(
    method __init__ (line 917) | def __init__(
    method get_add_args_signature (line 957) | def get_add_args_signature(self):
    method _add (line 965) | def _add(self, *args):
    method sample_index_batch (line 988) | def sample_index_batch(self, batch_size):
    method sample_transition_batch (line 1028) | def sample_transition_batch(
    method set_priority (line 1049) | def set_priority(self, indices, priorities):
    method get_priority (line 1059) | def get_priority(self, indices):
    method get_transition_elements (line 1068) | def get_transition_elements(self, batch_size=None):
    method reset_priorities (line 1076) | def reset_priorities(self):

FILE: dopamine/labs/atari_100k/spr_agent.py
  function get_logits (line 57) | def get_logits(model, states, actions, do_rollout, rng):
  function get_q_values (line 65) | def get_q_values(model, states, actions, do_rollout, rng):
  function get_spr_targets (line 71) | def get_spr_targets(model, states, key):
  function train (line 87) | def train(
  function target_output (line 243) | def target_output(
  class SPRAgent (line 288) | class SPRAgent(atari_100k_rainbow_agent.Atari100kRainbowAgent):
    method __init__ (line 291) | def __init__(
    method _build_networks_and_optimizer (line 334) | def _build_networks_and_optimizer(self):
    method _build_replay_buffer (line 347) | def _build_replay_buffer(self):
    method _sample_from_replay_buffer (line 370) | def _sample_from_replay_buffer(self):
    method _training_step_update (line 378) | def _training_step_update(self):

FILE: dopamine/labs/atari_100k/spr_networks.py
  function _absolute_dims (line 43) | def _absolute_dims(rank, dims):
  class NoisyNetwork (line 52) | class NoisyNetwork(nn.Module):
    method sample_noise (line 58) | def sample_noise(key, shape):
    method f (line 62) | def f(x):
    method __call__ (line 67) | def __call__(self, x, rng_key, bias=True, kernel_init=None, eval_mode=...
  class NoStatsBatchNorm (line 124) | class NoStatsBatchNorm(nn.Module):
    method __call__ (line 159) | def __call__(self, x, use_running_average: Optional[bool] = None):
  function feature_layer (line 216) | def feature_layer(noisy, features):
  function renormalize (line 232) | def renormalize(tensor, has_batch=False):
  class ConvTMCell (line 242) | class ConvTMCell(nn.Module):
    method setup (line 255) | def setup(self):
    method __call__ (line 259) | def __call__(self, x, action, eval_mode=False, key=None):
  class RainbowCNN (line 289) | class RainbowCNN(nn.Module):
    method __call__ (line 302) | def __call__(self, x):
  class TransitionModel (line 319) | class TransitionModel(nn.Module):
    method __call__ (line 333) | def __call__(self, x, action):
  class SPRNetwork (line 349) | class SPRNetwork(nn.Module):
    method setup (line 370) | def setup(self):
    method encode (line 380) | def encode(self, x):
    method project (line 386) | def project(self, x, key, eval_mode):
    method spr_predict (line 393) | def spr_predict(self, x, key, eval_mode):
    method spr_rollout (line 400) | def spr_rollout(self, latent, actions, key):
    method __call__ (line 408) | def __call__(

FILE: dopamine/labs/atari_100k/train.py
  function create_agent (line 61) | def create_agent(
  function set_random_seed (line 84) | def set_random_seed(seed):
  function main (line 92) | def main(unused_argv):

FILE: dopamine/labs/cale/networks.py
  class NatureDQNEncoder (line 30) | class NatureDQNEncoder(nn.Module):
    method __call__ (line 36) | def __call__(self, x):
  class SACImpalaEncoder (line 71) | class SACImpalaEncoder(nn.Module):
    method setup (line 79) | def setup(self):
    method __call__ (line 93) | def __call__(self, x):
  class SACCALEConvNetwork (line 115) | class SACCALEConvNetwork(nn.Module):
    method setup (line 125) | def setup(self):
    method __call__ (line 147) | def __call__(
    method actor (line 177) | def actor(
    method critic (line 196) | def critic(
  class PPOCALEConvNetwork (line 216) | class PPOCALEConvNetwork(nn.Module):
    method setup (line 234) | def setup(self):
    method __call__ (line 255) | def __call__(
    method actor (line 278) | def actor(
    method critic (line 301) | def critic(self, state: jnp.ndarray) -> continuous_networks.PPOCriticO...

FILE: dopamine/labs/cale/ppo_cale.py
  function select_action_eps_greedy (line 41) | def select_action_eps_greedy(
  class PPOCALEAgent (line 75) | class PPOCALEAgent(ppo_agent.PPOAgent):
    method __init__ (line 78) | def __init__(
    method _select_action (line 109) | def _select_action(self):
    method _maybe_log_action_distribution (line 126) | def _maybe_log_action_distribution(self):
    method begin_episode (line 133) | def begin_episode(self, observation):
    method step (line 147) | def step(self, reward, observation):
    method bundle_and_checkpoint (line 165) | def bundle_and_checkpoint(self, checkpoint_dir, iteration_number):

FILE: dopamine/labs/cale/sac_cale.py
  function select_action_eps_greedy (line 42) | def select_action_eps_greedy(
  class SACCALEAgent (line 82) | class SACCALEAgent(sac_agent.SACAgent):
    method __init__ (line 85) | def __init__(
    method _select_action (line 120) | def _select_action(self):
    method _maybe_log_action_distribution (line 139) | def _maybe_log_action_distribution(self):
    method begin_episode (line 146) | def begin_episode(self, observation):
    method step (line 160) | def step(self, reward, observation):
    method bundle_and_checkpoint (line 178) | def bundle_and_checkpoint(self, checkpoint_dir, iteration_number):

FILE: dopamine/labs/cale/utils.py
  function _polar_to_cartesian (line 68) | def _polar_to_cartesian(r, theta):
  function _polar_to_discrete_action (line 72) | def _polar_to_discrete_action(r, theta, fire, threshold=0.5):
  function get_action_number (line 91) | def get_action_number(r, theta, fire, threshold=0.5):

FILE: dopamine/labs/environments/brax/brax_lib.py
  class BraxEnv (line 30) | class BraxEnv(object):
    method __init__ (line 33) | def __init__(self, env_name: str, seed: Optional[int] = None):
    method observation_space (line 42) | def observation_space(self) -> onp.ndarray:
    method action_space (line 46) | def action_space(self) -> int:
    method reward_range (line 50) | def reward_range(self):
    method metadata (line 54) | def metadata(self):
    method reset (line 57) | def reset(self) -> onp.ndarray:
    method step (line 63) | def step(
  function create_brax_environment (line 77) | def create_brax_environment(env_name, seed=None) -> BraxEnv:
  function create_brax_agent (line 83) | def create_brax_agent(
  function create_brax_runner (line 107) | def create_brax_runner(

FILE: dopamine/labs/environments/brax/train.py
  function main (line 42) | def main(unused_argv):

FILE: dopamine/labs/environments/minatar/minatar_env.py
  class MinAtarEnv (line 34) | class MinAtarEnv(object):
    method __init__ (line 37) | def __init__(self, game_name):
    method observation_space (line 43) | def observation_space(self):
    method action_space (line 47) | def action_space(self):
    method reward_range (line 51) | def reward_range(self):
    method metadata (line 55) | def metadata(self):
    method reset (line 58) | def reset(self):
    method step (line 63) | def step(self, action):
  class StickyMinAtarEnv (line 69) | class StickyMinAtarEnv(MinAtarEnv):
    method __init__ (line 72) | def __init__(self, game_name, action_repeat_probability, seed=None):
    method reset (line 79) | def reset(self):
    method step (line 83) | def step(self, action):
  function create_minatar_env (line 94) | def create_minatar_env(
  class MinatarDQNNetwork (line 108) | class MinatarDQNNetwork(nn.Module):
    method __call__ (line 115) | def __call__(self, x: jnp.ndarray) -> jnp.ndarray:
  class MinatarRainbowNetwork (line 128) | class MinatarRainbowNetwork(nn.Module):
    method __call__ (line 136) | def __call__(self, x: jnp.ndarray, support: jnp.ndarray) -> jnp.ndarray:
  class MinatarQuantileNetwork (line 154) | class MinatarQuantileNetwork(nn.Module):
    method __call__ (line 162) | def __call__(self, x: jnp.ndarray) -> jnp.ndarray:

FILE: dopamine/labs/moes/agents/dqn_moe_agent.py
  function train (line 44) | def train(
  function target_q (line 212) | def target_q(
  function select_action (line 248) | def select_action(
  class DQNMoEAgent (line 284) | class DQNMoEAgent(dqn_agent.JaxDQNAgent):
    method __init__ (line 287) | def __init__(
    method _build_networks_and_optimizer (line 308) | def _build_networks_and_optimizer(self):
    method begin_episode (line 318) | def begin_episode(self, observation):
    method step (line 345) | def step(self, reward, observation):
    method _train_step (line 371) | def _train_step(self):
    method _training_step_update (line 383) | def _training_step_update(self):

FILE: dopamine/labs/moes/agents/full_rainbow_moe_agent.py
  function train (line 47) | def train(
  class JaxFullRainbowMoEAgent (line 270) | class JaxFullRainbowMoEAgent(full_rainbow_agent.JaxFullRainbowAgent):
    method __init__ (line 273) | def __init__(
    method _train_step (line 290) | def _train_step(self):
    method _training_step_update (line 301) | def _training_step_update(self):

FILE: dopamine/labs/moes/agents/losses.py
  function entropy (line 29) | def entropy(x):
  function naive_entropy (line 37) | def naive_entropy(
  function importance_loss (line 85) | def importance_loss(
  function load_loss (line 135) | def load_loss(loss_parameters: types.MoELossParameters) -> types.MoELoss...
  function aux_loss (line 214) | def aux_loss(

FILE: dopamine/labs/moes/agents/rainbow_100k_moe_agent.py
  function train (line 46) | def train(
  class Atari100kRainbowMoEAgent (line 207) | class Atari100kRainbowMoEAgent(base_100k_rainbow.Atari100kRainbowAgent):
    method __init__ (line 210) | def __init__(
    method _train_step (line 225) | def _train_step(self):
    method _training_step_update (line 236) | def _training_step_update(self):

FILE: dopamine/labs/moes/agents/types.py
  class MoELossParameters (line 45) | class MoELossParameters:
  function loss_params_flatten (line 58) | def loss_params_flatten(v):
  function loss_params_unflatten (line 72) | def loss_params_unflatten(aux_data, children):
  class MoELossStatistic (line 84) | class MoELossStatistic:
  function loss_stat_flatten (line 90) | def loss_stat_flatten(v):
  function loss_stat_unflatten (line 97) | def loss_stat_unflatten(aux_data, children):
  class MoELossReturn (line 109) | class MoELossReturn:
  function loss_return_flatten (line 114) | def loss_return_flatten(v):
  function loss_return_unflatten (line 121) | def loss_return_unflatten(aux_data, children):

FILE: dopamine/labs/moes/architectures/moe.py
  class MoE (line 30) | class MoE(nn.Module):
    method setup (line 42) | def setup(self):
    method __call__ (line 46) | def __call__(self, x: jax.Array, *, key: jax.Array) -> types.MoEModule...

FILE: dopamine/labs/moes/architectures/networks.py
  class ExpertModel (line 34) | class ExpertModel(nn.Module):
    method setup (line 44) | def setup(self):
    method __call__ (line 57) | def __call__(self, x):
  class BigExpertModel (line 74) | class BigExpertModel(nn.Module):
    method setup (line 87) | def setup(self):
    method __call__ (line 106) | def __call__(self, x):
  class RoutingType (line 130) | class RoutingType(enum.Enum):
  class MoEType (line 139) | class MoEType(enum.Enum):
  function _maybe_create_moe_module (line 148) | def _maybe_create_moe_module(
  class ImpalaMoE (line 195) | class ImpalaMoE(nn.Module):
    method setup (line 215) | def setup(self):
    method create_moe (line 228) | def create_moe(self, rng_key, noisy):
    method __call__ (line 242) | def __call__(self, x: jax.Array, *, key: jax.Array) -> types.NetworkRe...
  class NatureDQNMoE (line 324) | class NatureDQNMoE(nn.Module):
    method setup (line 344) | def setup(self):
    method create_moe (line 356) | def create_moe(self, rng_key, noisy):
    method __call__ (line 370) | def __call__(self, x: jax.Array, *, key: jax.Array) -> types.NetworkRe...
  class RainbowCNNet (line 461) | class RainbowCNNet(nn.Module):
    method __call__ (line 468) | def __call__(self, x):
  class FullRainbowMoENetwork (line 493) | class FullRainbowMoENetwork(nn.Module):
    method setup (line 517) | def setup(self):
    method create_moe (line 539) | def create_moe(self, rng_key, noisy):
    method __call__ (line 554) | def __call__(self, x, support, eval_mode=False, key=None):

FILE: dopamine/labs/moes/architectures/routers.py
  class RandomRouter (line 26) | class RandomRouter(nn.Module):
    method setup (line 32) | def setup(self):
    method __call__ (line 36) | def __call__(
  class TopKRouter (line 64) | class TopKRouter(nn.Module):
    method setup (line 72) | def setup(self):
    method __call__ (line 76) | def __call__(

FILE: dopamine/labs/moes/architectures/softmoe.py
  function l2_normalize (line 26) | def l2_normalize(x, axis, eps=1e-6):
  class SoftMoE (line 32) | class SoftMoE(nn.Module):
    method __call__ (line 44) | def __call__(self, x: jax.Array, *, key: jax.Array) -> types.MoEModule...

FILE: dopamine/labs/moes/architectures/types.py
  class RouterReturn (line 22) | class RouterReturn:
  function router_flatten (line 29) | def router_flatten(v):
  function router_unflatten (line 36) | def router_unflatten(aux_data, children):
  class MoEModuleReturn (line 48) | class MoEModuleReturn:
  function module_flatten (line 54) | def module_flatten(v):
  function module_unflatten (line 61) | def module_unflatten(aux_data, children):
  class MoENetworkReturn (line 73) | class MoENetworkReturn:
  function network_flatten (line 81) | def network_flatten(v):
  function network_unflatten (line 88) | def network_unflatten(aux_data, children):
  class BaselineNetworkReturn (line 100) | class BaselineNetworkReturn:
  function baseline_network_flatten (line 107) | def baseline_network_flatten(v):
  function baseline_network_unflatten (line 114) | def baseline_network_unflatten(aux_data, children):

FILE: dopamine/labs/moes/atari_100k_train.py
  function create_agent (line 56) | def create_agent(
  function set_random_seed (line 73) | def set_random_seed(seed):
  function main (line 81) | def main(unused_argv):

FILE: dopamine/labs/offline_rl/fixed_replay.py
  class JaxFixedReplayBuffer (line 26) | class JaxFixedReplayBuffer(fixed_replay_buffer.FixedReplayBuffer):
    method __init__ (line 29) | def __init__(
    method _load_buffer (line 98) | def _load_buffer(self, suffix):
    method replay_capacity (line 138) | def replay_capacity(self):
    method reload_data (line 141) | def reload_data(self):

FILE: dopamine/labs/offline_rl/jax/networks.py
  function preprocess_atari_inputs (line 34) | def preprocess_atari_inputs(x):
  function transform_and_concat_return (line 39) | def transform_and_concat_return(x, return_to_condition):
  class Stack (line 48) | class Stack(nn.Module):
    method __call__ (line 56) | def __call__(self, x):
  class CNNEncoder (line 86) | class CNNEncoder(nn.Module):
    method __call__ (line 95) | def __call__(self, x):
  class ImpalaEncoder (line 111) | class ImpalaEncoder(nn.Module):
    method setup (line 118) | def setup(self):
    method __call__ (line 125) | def __call__(self, x):
  class ImpalaNetworkWithRepresentations (line 132) | class ImpalaNetworkWithRepresentations(nn.Module):
    method setup (line 139) | def setup(self):
    method __call__ (line 143) | def __call__(self, x, stop_grad_representation=False):
  class JAXDQNNetworkWithRepresentations (line 176) | class JAXDQNNetworkWithRepresentations(nn.Module):
    method __call__ (line 183) | def __call__(self, x, stop_grad_representation=False):
  class ParameterizedRainbowNetwork (line 212) | class ParameterizedRainbowNetwork(nn.Module):
    method setup (line 234) | def setup(self):
    method __call__ (line 241) | def __call__(

FILE: dopamine/labs/offline_rl/jax/offline_classy_cql_agent.py
  class ClassyLoss (line 41) | class ClassyLoss(enum.StrEnum):
  class TargetType (line 48) | class TargetType(enum.StrEnum):
  function get_network_outputs (line 55) | def get_network_outputs(model, states, rng):
  function target_output (line 67) | def target_output(
  function train (line 119) | def train(
  class OfflineClassyCQLAgent (line 209) | class OfflineClassyCQLAgent(full_rainbow_agent.JaxFullRainbowAgent):
    method __init__ (line 212) | def __init__(
    method train_step (line 315) | def train_step(self):
    method _training_step_update (line 320) | def _training_step_update(self):
    method _build_replay_buffer (line 385) | def _build_replay_buffer(self):
    method log_gradient_steps_per_epoch (line 413) | def log_gradient_steps_per_epoch(self):
    method _sample_from_replay_buffer (line 422) | def _sample_from_replay_buffer(self):
    method reload_data (line 428) | def reload_data(self):
    method step (line 432) | def step(self, reward, observation):

FILE: dopamine/labs/offline_rl/jax/offline_dqn_agent.py
  class OfflineJaxDQNAgent (line 27) | class OfflineJaxDQNAgent(dqn_agent.JaxDQNAgent):
    method __init__ (line 30) | def __init__(
    method _build_replay_buffer (line 65) | def _build_replay_buffer(self):
    method _sample_from_replay_buffer (line 92) | def _sample_from_replay_buffer(self):
    method reload_data (line 98) | def reload_data(self):
    method step (line 102) | def step(self, reward, observation):
    method train_step (line 130) | def train_step(self):

FILE: dopamine/labs/offline_rl/jax/offline_dr3_agent.py
  function train (line 33) | def train(
  function compute_dr3_loss (line 124) | def compute_dr3_loss(state_representations, next_state_representations):
  class OfflineJaxDR3Agent (line 134) | class OfflineJaxDR3Agent(offline_dqn_agent.OfflineJaxDQNAgent):
    method __init__ (line 137) | def __init__(
    method train_step (line 173) | def train_step(self):

FILE: dopamine/labs/offline_rl/jax/offline_rainbow_agent.py
  function get_logits_and_q_values (line 37) | def get_logits_and_q_values(model, states, rng):
  function train (line 54) | def train(
  class OfflineJaxRainbowAgent (line 135) | class OfflineJaxRainbowAgent(full_rainbow_agent.JaxFullRainbowAgent):
    method __init__ (line 138) | def __init__(
    method _training_step_update (line 179) | def _training_step_update(self):
    method _build_replay_buffer (line 231) | def _build_replay_buffer(self):
    method log_gradient_steps_per_epoch (line 259) | def log_gradient_steps_per_epoch(self):
    method _sample_from_replay_buffer (line 268) | def _sample_from_replay_buffer(self):
    method reload_data (line 274) | def reload_data(self):
    method train_step (line 278) | def train_step(self):
    method step (line 281) | def step(self, reward, observation):

FILE: dopamine/labs/offline_rl/jax/return_conditioned_bc_agent.py
  function get_q_values (line 36) | def get_q_values(model, states, returns_to_condition):
  function train (line 42) | def train(
  class WrappedNetworkDef (line 83) | class WrappedNetworkDef(object):
    method __init__ (line 86) | def __init__(self, network_def, min_return, max_return):
    method set_return_to_condition (line 92) | def set_return_to_condition(self, return_multiplier=1.0):
    method apply (line 100) | def apply(self, params, x, support, key=None):
  class JaxReturnConditionedBCAgent (line 111) | class JaxReturnConditionedBCAgent(offline_rainbow_agent.OfflineJaxRainbo...
    method __init__ (line 114) | def __init__(
    method _training_step_update (line 137) | def _training_step_update(self):
    method _build_networks_and_optimizer (line 166) | def _build_networks_and_optimizer(self):
    method _create_wrapped_network (line 178) | def _create_wrapped_network(self):
    method set_return_to_condition (line 184) | def set_return_to_condition(self, return_multiplier):
    method step (line 187) | def step(self, reward, observation):
    method _get_action (line 200) | def _get_action(self):
    method begin_episode (line 220) | def begin_episode(self, observation):

FILE: dopamine/labs/offline_rl/jax/run_experiment.py
  class FixedReplayRunner (line 29) | class FixedReplayRunner(run_experiment.Runner):
    method __init__ (line 32) | def __init__(self, base_dir, create_agent_fn, num_epochs=None):
    method _run_train_phase (line 48) | def _run_train_phase(self):
    method _run_one_iteration (line 70) | def _run_one_iteration(self, iteration):
    method _save_tensorboard_summaries (line 96) | def _save_tensorboard_summaries(

FILE: dopamine/labs/offline_rl/jax/train.py
  function create_offline_agent (line 62) | def create_offline_agent(
  function create_replay_dir (line 108) | def create_replay_dir(xm_parameters):
  function main (line 123) | def main(unused_argv):

FILE: dopamine/labs/offline_rl/rlu_tfds/scaling_dataset_utils.py
  function _parallel_lookup (line 30) | def _parallel_lookup(
  function choose_indices (line 80) | def choose_indices(
  function _get_dataset_with_idxs (line 133) | def _get_dataset_with_idxs(game, idxs, num_datasets):
  function create_dataset_with_expertise (line 160) | def create_dataset_with_expertise(

FILE: dopamine/labs/offline_rl/rlu_tfds/tfds_atari_utils.py
  class BatchToTransition (line 21) | class BatchToTransition(object):
    method __init__ (line 24) | def __init__(
    method create_transitions (line 39) | def create_transitions(self, batch, rtg_batch=None, episode_return=None):
  function get_transition_dataset_fn (line 62) | def get_transition_dataset_fn(
  function load_data_splits (line 101) | def load_data_splits(dataset_name, data_splits):
  function uniformly_subsampled_atari_data (line 117) | def uniformly_subsampled_atari_data(dataset_name, data_percent):
  function create_atari_ds_loader (line 132) | def create_atari_ds_loader(
  function create_ds_iterator (line 159) | def create_ds_iterator(ds, batch_size=32, repeat=True):
  function build_tfds_replay (line 167) | def build_tfds_replay(

FILE: dopamine/labs/offline_rl/rlu_tfds/tfds_replay.py
  function get_atari_ds_name_from_replay (line 25) | def get_atari_ds_name_from_replay(
  function game_from_dataset_name (line 38) | def game_from_dataset_name(dataset_name: str) -> str:
  class JaxFixedReplayBufferTFDS (line 43) | class JaxFixedReplayBufferTFDS(object):
    method __init__ (line 46) | def __init__(
    method min_max_returns (line 110) | def min_max_returns(self):
    method _load_buffer (line 116) | def _load_buffer(self, suffix):
    method load_single_buffer (line 120) | def load_single_buffer(self, suffix):
    method _load_replay_buffers (line 123) | def _load_replay_buffers(self, unused_num_buffers):
    method get_transition_elements (line 126) | def get_transition_elements(self):
    method sample_transition_batch (line 129) | def sample_transition_batch(self):
    method load (line 133) | def load(self, *args, **kwargs):  # pylint: disable=unused-argument
    method reload_buffer (line 136) | def reload_buffer(self, num_buffers):
    method save (line 139) | def save(self, *args, **kwargs):  # pylint: disable=unused-argument
    method add (line 142) | def add(self, *args, **kwargs):  # pylint: disable=unused-argument
    method add_count (line 146) | def add_count(self):
    method gradient_steps_per_epoch (line 150) | def gradient_steps_per_epoch(self):
    method replay_capacity (line 154) | def replay_capacity(self):
    method reload_data (line 157) | def reload_data(self):

FILE: dopamine/labs/redo/networks.py
  class IdentityLayer (line 24) | class IdentityLayer(nn.Module):
    method __call__ (line 28) | def __call__(self, x: jnp.ndarray) -> jnp.ndarray:
  class ScalableNatureDQNNetwork (line 33) | class ScalableNatureDQNNetwork(nn.Module):
    method _record_activations (line 40) | def _record_activations(self, x, layer):
    method __call__ (line 47) | def __call__(self, x):
  class Stack (line 88) | class Stack(nn.Module):
    method _record_activations (line 95) | def _record_activations(self, x, layer):
    method __call__ (line 102) | def __call__(self, x):
  class ScalableDQNResNet (line 138) | class ScalableDQNResNet(nn.Module):
    method _record_activations (line 145) | def _record_activations(self, x, layer):
    method __call__ (line 152) | def __call__(self, x):
  class ScalableRainbowNetwork (line 191) | class ScalableRainbowNetwork(nn.Module):
    method _record_activations (line 200) | def _record_activations(self, x, layer):
    method __call__ (line 207) | def __call__(self, x, support):
  class FullRainbowNetwork (line 256) | class FullRainbowNetwork(nn.Module):
    method _record_activations (line 275) | def _record_activations(self, x, layer):
    method __call__ (line 282) | def __call__(self, x, support, eval_mode=False, key=None):

FILE: dopamine/labs/redo/recycled_atari100k_rainbow_agent.py
  class RecycledAtari100kRainbowAgent (line 29) | class RecycledAtari100kRainbowAgent(
    method __init__ (line 34) | def __init__(
    method _log_stats (line 86) | def _log_stats(self, log_dict, step):
    method _train_step (line 96) | def _train_step(self):
    method _training_step_update (line 118) | def _training_step_update(self):
    method _weight_recycle (line 172) | def _weight_recycle(self, update_step, online_params):
    method _sample_batch_for_statistics (line 203) | def _sample_batch_for_statistics(self):
    method get_intermediates (line 214) | def get_intermediates(self, online_params):

FILE: dopamine/labs/redo/recycled_dqn_agents.py
  function loss_fn (line 30) | def loss_fn(params, target, state, action, apply_fn):
  function get_gradients (line 45) | def get_gradients(
  function apply_updates_jitted (line 79) | def apply_updates_jitted(online_params, grad, optimizer_state, optimizer):
  class RecycledDQNAgent (line 88) | class RecycledDQNAgent(dqn_agent.JaxDQNAgent):
    method __init__ (line 91) | def __init__(
    method _log_stats (line 145) | def _log_stats(self, log_dict, step):
    method _train_step (line 155) | def _train_step(self):
    method _training_step_update (line 177) | def _training_step_update(self):
    method _sample_batch_for_statistics (line 238) | def _sample_batch_for_statistics(self):
    method get_intermediates (line 249) | def get_intermediates(self, online_params):

FILE: dopamine/labs/redo/recycled_rainbow_agent.py
  class RecycledRainbowAgent (line 29) | class RecycledRainbowAgent(rainbow_agent.JaxRainbowAgent):
    method __init__ (line 32) | def __init__(
    method _log_stats (line 80) | def _log_stats(self, log_dict, step):
    method _train_step (line 90) | def _train_step(self):
    method _training_step_update (line 112) | def _training_step_update(self):
    method _sample_batch_for_statistics (line 183) | def _sample_batch_for_statistics(self):
    method get_intermediates (line 194) | def get_intermediates(self, online_params):

FILE: dopamine/labs/redo/tfagents/sac_train_eval.py
  function custom_call (line 81) | def custom_call(self, inputs):
  function get_all_layers (line 87) | def get_all_layers(model, filter_fn=lambda _: True):
  function is_dense_layer (line 109) | def is_dense_layer(layer):
  function scale_width (line 113) | def scale_width(num_units: int, width: float):
  function get_intermedieates (line 118) | def get_intermedieates(*networks):
  function create_fc_layers (line 134) | def create_fc_layers(layer_units, width=1.0, weight_decay=0):
  function create_identity_layer (line 145) | def create_identity_layer():
  function create_sequential_critic_network (line 149) | def create_sequential_critic_network(
  class _TanhNormalProjectionNetworkWrapper (line 223) | class _TanhNormalProjectionNetworkWrapper(
    method __init__ (line 228) | def __init__(self, sample_spec, predefined_outer_rank=1, weight_decay=...
    method call (line 234) | def call(self, inputs, network_state=(), **kwargs):
  function create_sequential_actor_network (line 243) | def create_sequential_actor_network(
  class RecycledSacAgent (line 278) | class RecycledSacAgent(sac_agent.SacAgent):
    method __init__ (line 281) | def __init__(
    method _train (line 340) | def _train(self, experience, weights):
    method log_weights_mean (line 486) | def log_weights_mean(self, model_name, model):
    method is_dead_neurons_log_iter (line 494) | def is_dead_neurons_log_iter(self):
    method log_deadneurons_models (line 501) | def log_deadneurons_models(self):
    method calculate_neuron_score_all_layers (line 518) | def calculate_neuron_score_all_layers(
    method log_dead_neurons_count (line 563) | def log_dead_neurons_count(
    method log_histogram (line 606) | def log_histogram(self, name, activation):
    method is_reset_iter (line 609) | def is_reset_iter(self):
    method reset_models (line 616) | def reset_models(self):
    method reset_momentum (line 624) | def reset_momentum(self, optimizer, var, mask):
    method reset_model_weights (line 631) | def reset_model_weights(self):
    method reset_weights (line 644) | def reset_weights(self, optimizer, model, target_model=None):
    method create_new_weights (line 682) | def create_new_weights(
    method reset_model_neurons (line 717) | def reset_model_neurons(self):
    method get_dead_neurons (line 743) | def get_dead_neurons(self, neuron_score):
    method get_mask_dead_neurons_weights (line 752) | def get_mask_dead_neurons_weights(self, act, act_grad, model):
    method reset_dead_neurons (line 781) | def reset_dead_neurons(
    method _rescale_weights (line 893) | def _rescale_weights(self, neuron_mask, var, new_weights, axis, scaler):
    method create_mask_helper (line 905) | def create_mask_helper(self, neuron_mask, prev_layer_size, next_layer_...
  function train_eval (line 931) | def train_eval(
  function main (line 1208) | def main(_):

FILE: dopamine/labs/redo/train.py
  function create_agent_recycled (line 60) | def create_agent_recycled(
  function create_runner_recycled (line 106) | def create_runner_recycled(
  function main (line 139) | def main(unused_argv):

FILE: dopamine/labs/redo/weight_recyclers.py
  function leastk_mask (line 27) | def leastk_mask(scores, ones_fraction):
  function reset_momentum (line 51) | def reset_momentum(momentum, mask):
  function weight_reinit_zero (line 56) | def weight_reinit_zero(param, mask):
  function weight_reinit_random (line 65) | def weight_reinit_random(
  function _weight_normalization_per_neuron_norm (line 114) | def _weight_normalization_per_neuron_norm(param, axes):
  function _get_norm_per_neuron (line 121) | def _get_norm_per_neuron(param, axes):
  class BaseRecycler (line 126) | class BaseRecycler:
    method __init__ (line 144) | def __init__(
    method update_reset_layers (line 165) | def update_reset_layers(self, reset_start_layer_idx):
    method is_update_iter (line 168) | def is_update_iter(self, step):
    method update_weights (line 171) | def update_weights(self, intermediates, params, key, opt_state):
    method maybe_update_weights (line 174) | def maybe_update_weights(
    method is_reset (line 186) | def is_reset(self, update_step):
    method is_intermediated_required (line 190) | def is_intermediated_required(self, update_step):
    method is_logging_step (line 193) | def is_logging_step(self, step):
    method maybe_log_deadneurons (line 196) | def maybe_log_deadneurons(self, update_step, intermediates):
    method intersected_dead_neurons_with_last_reset (line 203) | def intersected_dead_neurons_with_last_reset(
    method log_intersected_dead_neurons (line 212) | def log_intersected_dead_neurons(self, intermediates):
    method log_dead_neurons_count (line 261) | def log_dead_neurons_count(self, intermediates):
    method estimate_neuron_score (line 303) | def estimate_neuron_score(self, activation, is_cbp=False):
  class LayerReset (line 330) | class LayerReset(BaseRecycler):
    method is_reset (line 339) | def is_reset(self, update_step):
    method update_weights (line 346) | def update_weights(self, intermediates, params, key, opt_state):
  class NeuronRecycler (line 393) | class NeuronRecycler(BaseRecycler):
    method __init__ (line 406) | def __init__(
    method intersected_dead_neurons_with_last_reset (line 442) | def intersected_dead_neurons_with_last_reset(
    method is_reset (line 451) | def is_reset(self, update_step):
    method is_intermediated_required (line 458) | def is_intermediated_required(self, update_step):
    method update_reset_layers (line 463) | def update_reset_layers(self, reset_start_layer_idx):
    method update_weights (line 467) | def update_weights(self, intermediates, params, key, opt_state):
    method recycle_dead_neurons (line 473) | def recycle_dead_neurons(self, intermedieates, params, key, opt_state):
    method _score2mask (line 567) | def _score2mask(self, activation, param, next_param, key):
    method create_masks (line 572) | def create_masks(self, param_dict, activations_dict, key):
    method create_mask_helper (line 652) | def create_mask_helper(self, neuron_mask, current_param, next_param):
  class NeuronRecyclerScheduled (line 701) | class NeuronRecyclerScheduled(NeuronRecycler):
    method __init__ (line 704) | def __init__(
    method _score2mask (line 715) | def _score2mask(self, activation, param, next_param, key):

FILE: dopamine/labs/sac_from_pixels/continuous_networks.py
  class SACEncoderOutputs (line 28) | class SACEncoderOutputs:
  class SACEncoderNetwork (line 35) | class SACEncoderNetwork(nn.Module):
    method __call__ (line 47) | def __call__(self, x):
  class SACConvNetwork (line 90) | class SACConvNetwork(nn.Module):
    method setup (line 102) | def setup(self):
    method __call__ (line 111) | def __call__(
    method actor (line 141) | def actor(
    method critic (line 160) | def critic(

FILE: dopamine/labs/sac_from_pixels/deepmind_control_lib.py
  function create_deepmind_control_environment (line 36) | def create_deepmind_control_environment(
  class DeepmindControlPreprocessing (line 67) | class DeepmindControlPreprocessing(gym.Env):
    method __init__ (line 75) | def __init__(self, environment: control.Environment, action_repeat: in...
    method observation_space (line 91) | def observation_space(self) -> spaces.Box:
    method action_space (line 111) | def action_space(self) -> spaces.Box:
    method reward_range (line 119) | def reward_range(self) -> Tuple[float, float]:
    method metadata (line 124) | def metadata(self) -> Mapping[Any, Any]:
    method reset (line 128) | def reset(self) -> np.ndarray:
    method step (line 137) | def step(
    method _get_observation (line 168) | def _get_observation(self, timestep: dm_env.TimeStep) -> np.ndarray:
  class DeepmindControlWithImagesPreprocessing (line 174) | class DeepmindControlWithImagesPreprocessing(DeepmindControlPreprocessing):
    method __init__ (line 177) | def __init__(
    method observation_space (line 195) | def observation_space(self) -> spaces.Box:
    method _get_observation (line 206) | def _get_observation(self, timestep: dm_env.TimeStep) -> np.ndarray:
    method _render_image (line 209) | def _render_image(self) -> np.ndarray:

FILE: dopamine/labs/tandem_dqn/run_experiment.py
  function create_tandem_agents_and_checkpoints (line 32) | def create_tandem_agents_and_checkpoints(
  class TandemRunner (line 60) | class TandemRunner(run_experiment.Runner):
    method __init__ (line 63) | def __init__(self, base_dir, create_agent_fn, suite='atari'):
    method _initialize_episode (line 76) | def _initialize_episode(self, agent_type='active'):
    method _run_one_episode (line 88) | def _run_one_episode(self, agent_type='active'):
    method _run_one_phase (line 132) | def _run_one_phase(
    method _run_eval_phase (line 178) | def _run_eval_phase(self, statistics, agent_type='active'):
    method _run_one_iteration (line 204) | def _run_one_iteration(self, iteration):
    method _save_tensorboard_summaries (line 242) | def _save_tensorboard_summaries(

FILE: dopamine/labs/tandem_dqn/tandem_dqn_agent.py
  function train (line 31) | def train(
  function target_q (line 83) | def target_q(
  class TandemDQNAgent (line 111) | class TandemDQNAgent(dqn_agent.JaxDQNAgent):
    method __init__ (line 114) | def __init__(self, num_actions, double_dqn=True, summary_writer=None):
    method _build_networks_and_optimizer (line 118) | def _build_networks_and_optimizer(self):
    method _sync_weights (line 137) | def _sync_weights(self):
    method _select_action (line 142) | def _select_action(self, params):
    method begin_episode (line 160) | def begin_episode(self, agent_type, observation):
    method step (line 175) | def step(self, agent_type, reward, observation):
    method _train_step (line 193) | def _train_step(self):
    method bundle_and_checkpoint (line 260) | def bundle_and_checkpoint(self, checkpoint_dir, iteration_number):
    method unbundle (line 292) | def unbundle(self, checkpoint_dir, iteration_number, bundle_dictionary):

FILE: dopamine/labs/tandem_dqn/train.py
  function main (line 47) | def main(unused_argv):

FILE: dopamine/metrics/collector.py
  class Collector (line 38) | class Collector(abc.ABC):
    method __init__ (line 41) | def __init__(
    method get_name (line 57) | def get_name(self) -> str:
    method check_type (line 60) | def check_type(self, data_type: str) -> bool:
    method write (line 64) | def write(
    method flush (line 69) | def flush(self) -> None:
    method close (line 72) | def close(self) -> None:

FILE: dopamine/metrics/collector_dispatcher.py
  function add_collector (line 61) | def add_collector(name: str, constructor: CollectorConstructorType) -> N...
  class CollectorDispatcher (line 66) | class CollectorDispatcher(object):
    method __init__ (line 69) | def __init__(
    method write (line 83) | def write(
    method flush (line 102) | def flush(self) -> None:
    method close (line 106) | def close(self) -> None:

FILE: dopamine/metrics/console_collector.py
  class ConsoleCollector (line 28) | class ConsoleCollector(collector.Collector):
    method __init__ (line 31) | def __init__(self, base_dir: Union[str, None], save_to_file: bool = Tr...
    method get_name (line 39) | def get_name(self) -> str:
    method write (line 42) | def write(
    method close (line 56) | def close(self) -> None:

FILE: dopamine/metrics/pickle_collector.py
  class PickleCollector (line 28) | class PickleCollector(collector.Collector):
    method __init__ (line 31) | def __init__(self, base_dir: str):
    method get_name (line 39) | def get_name(self) -> str:
    method write (line 42) | def write(
    method flush (line 53) | def flush(self):

FILE: dopamine/metrics/statistics_instance.py
  class StatisticsInstance (line 22) | class StatisticsInstance:

FILE: dopamine/metrics/tensorboard_collector.py
  class TensorboardCollector (line 23) | class TensorboardCollector(collector.Collector):
    method __init__ (line 26) | def __init__(self, base_dir: str):
    method get_name (line 34) | def get_name(self) -> str:
    method write (line 37) | def write(
    method flush (line 46) | def flush(self):

FILE: dopamine/tf/agents/dqn/dqn_agent.py
  function linearly_decaying_epsilon (line 41) | def linearly_decaying_epsilon(decay_period, step, warmup_steps, epsilon):
  function identity_epsilon (line 66) | def identity_epsilon(
  class DQNAgent (line 73) | class DQNAgent(object):
    method __init__ (line 76) | def __init__(
    method _create_network (line 243) | def _create_network(self, name):
    method _build_networks (line 256) | def _build_networks(self):
    method _build_replay_buffer (line 284) | def _build_replay_buffer(self, use_staging):
    method _build_target_q_op (line 303) | def _build_target_q_op(self):
    method _build_train_op (line 324) | def _build_train_op(self):
    method _build_sync_op (line 348) | def _build_sync_op(self):
    method begin_episode (line 371) | def begin_episode(self, observation):
    method step (line 389) | def step(self, reward, observation):
    method end_episode (line 412) | def end_episode(self, reward):
    method _select_action (line 424) | def _select_action(self):
    method _train_step (line 449) | def _train_step(self):
    method _record_observation (line 477) | def _record_observation(self, observation):
    method _store_transition (line 493) | def _store_transition(self, last_observation, action, reward, is_termi...
    method _reset_state (line 511) | def _reset_state(self):
    method bundle_and_checkpoint (line 515) | def bundle_and_checkpoint(self, checkpoint_dir, iteration_number):
    method unbundle (line 546) | def unbundle(self, checkpoint_dir, iteration_number, bundle_dictionary):

FILE: dopamine/tf/agents/implicit_quantile/implicit_quantile_agent.py
  class ImplicitQuantileAgent (line 34) | class ImplicitQuantileAgent(rainbow_agent.RainbowAgent):
    method __init__ (line 37) | def __init__(
    method _create_network (line 99) | def _create_network(self, name):
    method _build_networks (line 114) | def _build_networks(self):
    method _build_target_quantile_values_op (line 185) | def _build_target_quantile_values_op(self):
    method _build_train_op (line 229) | def _build_train_op(self):

FILE: dopamine/tf/agents/rainbow/rainbow_agent.py
  class RainbowAgent (line 50) | class RainbowAgent(dqn_agent.DQNAgent):
    method __init__ (line 53) | def __init__(
    method _create_network (line 161) | def _create_network(self, name):
    method _build_replay_buffer (line 176) | def _build_replay_buffer(self, use_staging):
    method _build_target_distribution (line 202) | def _build_target_distribution(self):
    method _build_train_op (line 259) | def _build_train_op(self):
    method _store_transition (line 314) | def _store_transition(
  function project_distribution (line 344) | def project_distribution(

FILE: dopamine/tf/replay_memory/circular_replay_buffer.py
  function modulo_range (line 50) | def modulo_range(start, length, modulo):
  function invalid_range (line 55) | def invalid_range(cursor, replay_capacity, stack_size, update_horizon):
  class OutOfGraphReplayBuffer (line 85) | class OutOfGraphReplayBuffer(object):
    method __init__ (line 105) | def __init__(
    method _episode_end_indices (line 209) | def _episode_end_indices(self):
    method _create_storage (line 217) | def _create_storage(self):
    method get_add_args_signature (line 226) | def get_add_args_signature(self):
    method get_storage_signature (line 237) | def get_storage_signature(self):
    method _add_zero_transition (line 258) | def _add_zero_transition(self):
    method add (line 268) | def add(
    method _add (line 324) | def _add(self, *args):
    method _add_transition (line 336) | def _add_transition(self, transition):
    method _check_args_length (line 355) | def _check_args_length(self, *args):
    method _check_add_types (line 371) | def _check_add_types(self, *args):
    method is_empty (line 398) | def is_empty(self):
    method is_full (line 402) | def is_full(self):
    method cursor (line 406) | def cursor(self):
    method get_range (line 410) | def get_range(self, array, start_index, end_index):
    method get_observation_stack (line 443) | def get_observation_stack(self, index):
    method _get_element_stack (line 446) | def _get_element_stack(self, index, element_name):
    method get_terminal_stack (line 453) | def get_terminal_stack(self, index):
    method is_valid_transition (line 458) | def is_valid_transition(self, index):
    method _create_batch_arrays (line 498) | def _create_batch_arrays(self, batch_size):
    method sample_index_batch (line 518) | def sample_index_batch(self, batch_size):
    method sample_transition_batch (line 567) | def sample_transition_batch(self, batch_size=None, indices=None):
    method get_transition_elements (line 652) | def get_transition_elements(self, batch_size=None):
    method _generate_filename (line 700) | def _generate_filename(self, checkpoint_dir, name, suffix):
    method _return_checkpointable_elements (line 703) | def _return_checkpointable_elements(self):
    method save (line 719) | def save(self, checkpoint_dir, iteration_number):
    method load (line 771) | def load(self, checkpoint_dir, suffix):
  class WrappedReplayBuffer (line 822) | class WrappedReplayBuffer(object):
    method __init__ (line 834) | def __init__(
    method add (line 920) | def add(self, observation, action, reward, terminal, *args):
    method create_sampling_ops (line 939) | def create_sampling_ops(self, use_staging):
    method _set_transition_shape (line 963) | def _set_transition_shape(self, transition, transition_type):
    method _set_up_staging (line 974) | def _set_up_staging(self, transition):
    method unpack_transition (line 991) | def unpack_transition(self, transition_tensors, transition_type):
    method save (line 1013) | def save(self, checkpoint_dir, iteration_number):
    method load (line 1024) | def load(self, checkpoint_dir, suffix):

FILE: dopamine/tf/replay_memory/prioritized_replay_buffer.py
  class OutOfGraphPrioritizedReplayBuffer (line 36) | class OutOfGraphPrioritizedReplayBuffer(
    method __init__ (line 44) | def __init__(
    method get_add_args_signature (line 104) | def get_add_args_signature(self):
    method _add (line 122) | def _add(self, *args):
    method sample_index_batch (line 147) | def sample_index_batch(self, batch_size):
    method sample_transition_batch (line 180) | def sample_transition_batch(self, batch_size=None, indices=None):
    method set_priority (line 211) | def set_priority(self, indices, priorities):
    method get_priority (line 228) | def get_priority(self, indices):
    method get_transition_elements (line 250) | def get_transition_elements(self, batch_size=None):
  class WrappedPrioritizedReplayBuffer (line 272) | class WrappedPrioritizedReplayBuffer(
    method __init__ (line 286) | def __init__(
    method tf_set_priority (line 368) | def tf_set_priority(self, indices, priorities):
    method tf_get_priority (line 385) | def tf_get_priority(self, indices):

FILE: dopamine/tf/replay_memory/sum_tree.py
  class SumTree (line 30) | class SumTree(object):
    method __init__ (line 65) | def __init__(self, capacity):
    method _total_priority (line 92) | def _total_priority(self):
    method sample (line 100) | def sample(self, query_value=None):
    method stratified_sample (line 144) | def stratified_sample(self, batch_size):
    method get (line 170) | def get(self, node_index):
    method set (line 181) | def set(self, node_index, value):

FILE: dopamine/utils/agent_visualizer.py
  class AgentVisualizer (line 38) | class AgentVisualizer(object):
    method __init__ (line 41) | def __init__(
    method visualize (line 87) | def visualize(self):
    method save_frame (line 96) | def save_frame(self):
    method generate_video (line 115) | def generate_video(self, video_file='video.mp4'):

FILE: dopamine/utils/atari_plotter.py
  class AtariPlotter (line 29) | class AtariPlotter(plotter.Plotter):
    method __init__ (line 41) | def __init__(self, parameter_dict=None):
    method draw (line 55) | def draw(self):

FILE: dopamine/utils/bar_plotter.py
  class BarPlotter (line 41) | class BarPlotter(plotter.Plotter):
    method __init__ (line 62) | def __init__(self, parameter_dict=None):
    method draw (line 83) | def draw(self):

FILE: dopamine/utils/example_viz.py
  function main (line 65) | def main(_):

FILE: dopamine/utils/example_viz_lib.py
  class MyDQNAgent (line 51) | class MyDQNAgent(dqn_agent.DQNAgent):
    method __init__ (line 54) | def __init__(self, sess, num_actions, summary_writer=None):
    method step (line 61) | def step(self, reward, observation):
    method _select_action (line 65) | def _select_action(self):
    method reload_checkpoint (line 74) | def reload_checkpoint(self, checkpoint_path, use_legacy_checkpoint=Fal...
    method get_q_values (line 96) | def get_q_values(self):
    method get_rewards (line 99) | def get_rewards(self):
  class MyRainbowAgent (line 103) | class MyRainbowAgent(rainbow_agent.RainbowAgent):
    method __init__ (line 106) | def __init__(self, sess, num_actions, summary_writer=None):
    method step (line 112) | def step(self, reward, observation):
    method reload_checkpoint (line 116) | def reload_checkpoint(self, checkpoint_path, use_legacy_checkpoint=Fal...
    method get_probabilities (line 138) | def get_probabilities(self):
    method get_rewards (line 143) | def get_rewards(self):
  class MyRunner (line 147) | class MyRunner(run_experiment.Runner):
    method __init__ (line 150) | def __init__(
    method _initialize_checkpointer_and_maybe_resume (line 161) | def _initialize_checkpointer_and_maybe_resume(self, checkpoint_file_pr...
    method _run_one_iteration (line 167) | def _run_one_iteration(self, iteration):
    method visualize (line 173) | def visualize(self, record_path, num_global_steps=500):
  function create_dqn_agent (line 253) | def create_dqn_agent(sess, environment, summary_writer=None):
  function create_rainbow_agent (line 261) | def create_rainbow_agent(sess, environment, summary_writer=None):
  function create_runner (line 269) | def create_runner(
  function run (line 278) | def run(

FILE: dopamine/utils/line_plotter.py
  class LinePlotter (line 41) | class LinePlotter(plotter.Plotter):
    method __init__ (line 63) | def __init__(self, parameter_dict=None):
    method draw (line 83) | def draw(self):

FILE: dopamine/utils/plotter.py
  class Plotter (line 32) | class Plotter(object):
    method __init__ (line 37) | def __init__(self, parameter_dict=None):
    method _setup_plot (line 53) | def _setup_plot(self):
    method draw (line 81) | def draw(self):
    method x (line 90) | def x(self):
    method y (line 94) | def y(self):

FILE: dopamine/utils/test_utils.py
  class MockReplayBuffer (line 27) | class MockReplayBuffer(object):
    method __init__ (line 30) | def __init__(self, is_jax=False):

FILE: tests/dopamine/atari_init_test.py
  class AtariInitTest (line 31) | class AtariInitTest(tf.test.TestCase):
    method setUp (line 33) | def setUp(self):
    method test_atari_init (line 47) | def test_atari_init(self):

FILE: tests/dopamine/continuous_domains/run_experiment_test.py
  class RunExperimentTest (line 30) | class RunExperimentTest(parameterized.TestCase):
    method setUp (line 32) | def setUp(self):
    method testCreateContinuousAgentReturnsAgent (line 53) | def testCreateContinuousAgentReturnsAgent(self):
    method testCreateContinuousAgentWithInvalidNameRaisesException (line 58) | def testCreateContinuousAgentWithInvalidNameRaisesException(self):
    method testCreateContinuousRunnerCreatesCorrectRunner (line 74) | def testCreateContinuousRunnerCreatesCorrectRunner(
    method testCreateContinuousRunnerFailsWithInvalidName (line 85) | def testCreateContinuousRunnerFailsWithInvalidName(self):

FILE: tests/dopamine/discrete_domains/atari_lib_test.py
  class AtariLibTest (line 30) | class AtariLibTest(tf.test.TestCase):
    method testCreateAtariEnvironmentWithoutGameName (line 33) | def testCreateAtariEnvironmentWithoutGameName(self):
    method testCreateAtariEnvironment (line 39) | def testCreateAtariEnvironment(self, mock_gym_make, mock_atari_lib):
  class MockALE (line 57) | class MockALE(object):
    method __init__ (line 60) | def __init__(self):
    method lives (line 63) | def lives(self):
    method getScreenGrayscale (line 66) | def getScreenGrayscale(self, screen):  # pylint: disable=invalid-name
  class MockEnvALEWrapper (line 70) | class MockEnvALEWrapper(object):
    method __init__ (line 73) | def __init__(self):
  class MockEnvironment (line 77) | class MockEnvironment(object):
    method __init__ (line 80) | def __init__(self, screen_size=10, max_steps=10):
    method reset (line 87) | def reset(self):
    method get_observation (line 92) | def get_observation(self):
    method step (line 96) | def step(self, action):
    method render (line 105) | def render(self, mode):
  class AtariPreprocessingTest (line 109) | class AtariPreprocessingTest(tf.test.TestCase):
    method testResetPassesObservation (line 111) | def testResetPassesObservation(self):
    method testTerminalPassedThrough (line 118) | def testTerminalPassedThrough(self):
    method testFrameSkipAccumulatesReward (line 132) | def testFrameSkipAccumulatesReward(self):
    method testMaxFramePooling (line 143) | def testMaxFramePooling(self):

FILE: tests/dopamine/discrete_domains/checkpointer_test.py
  class CheckpointerTest (line 32) | class CheckpointerTest(tf.test.TestCase):
    method testCheckpointingInitialization (line 34) | def testCheckpointingInitialization(self):
    method testLogToFileWithValidDirectoryDefaultPrefix (line 54) | def testLogToFileWithValidDirectoryDefaultPrefix(self):
    method testLogToFileWithValidDirectoryCustomPrefix (line 64) | def testLogToFileWithValidDirectoryCustomPrefix(self):
    method testLoadLatestCheckpointWithInvalidDir (line 77) | def testLoadLatestCheckpointWithInvalidDir(self):
    method testLoadLatestCheckpointWithEmptyDir (line 82) | def testLoadLatestCheckpointWithEmptyDir(self):
    method testLoadLatestCheckpointWithOverride (line 86) | def testLoadLatestCheckpointWithOverride(self):
    method testLoadLatestCheckpoint (line 95) | def testLoadLatestCheckpoint(self):
    method testGarbageCollection (line 106) | def testGarbageCollection(self):
    method testGarbageCollectionWithCheckpointFrequency (line 126) | def testGarbageCollectionWithCheckpointFrequency(self):
    method testGarbageCollectionWithCheckpointDuration (line 158) | def testGarbageCollectionWithCheckpointDuration(self):
    method testGarbageCollectionWithKeepEvery (line 189) | def testGarbageCollectionWithKeepEvery(self):

FILE: tests/dopamine/discrete_domains/gym_lib_test.py
  class MockGymEnvironment (line 22) | class MockGymEnvironment(object):
    method __init__ (line 25) | def __init__(self, legacy_gym_api):
    method reset (line 32) | def reset(self):
    method step (line 37) | def step(self, unused_action):
  class GymPreprocessingTest (line 43) | class GymPreprocessingTest(parameterized.TestCase):
    method testAll (line 46) | def testAll(self, use_legacy_gym):

FILE: tests/dopamine/discrete_domains/iteration_statistics_test.py
  class IterationStatisticsTest (line 27) | class IterationStatisticsTest(tf.test.TestCase):
    method testMissingValue (line 29) | def testMissingValue(self):
    method testAddOneValue (line 34) | def testAddOneValue(self):
    method testAddManyValues (line 46) | def testAddManyValues(self):

FILE: tests/dopamine/discrete_domains/logger_test.py
  class LoggerTest (line 34) | class LoggerTest(parameterized.TestCase):
    method setUp (line 36) | def setUp(self):
    method testLoggingDisabledWithEmptyDirectory (line 42) | def testLoggingDisabledWithEmptyDirectory(self):
    method testLoggingDisabledWithInvalidDirectory (line 46) | def testLoggingDisabledWithInvalidDirectory(self):
    method testLoggingEnabledWithValidDirectory (line 50) | def testLoggingEnabledWithValidDirectory(self):
    method testSetEntry (line 54) | def testSetEntry(self):
    method testLogToFileWithInvalidDirectory (line 70) | def testLogToFileWithInvalidDirectory(self):
    method testLogToFileWithValidDirectory (line 75) | def testLogToFileWithValidDirectory(self):
    method testGarbageCollectionWithDefaults (line 97) | def testGarbageCollectionWithDefaults(self, logs_duration):

FILE: tests/dopamine/discrete_domains/run_experiment_test.py
  function _create_mock_checkpointer (line 43) | def _create_mock_checkpointer():
  class MockEnvironment (line 50) | class MockEnvironment(object):
    method __init__ (line 53) | def __init__(self, max_steps=10):
    method reset (line 58) | def reset(self):
    method step (line 62) | def step(self, action):
    method render (line 72) | def render(self, mode):
  class MockLogger (line 76) | class MockLogger(object):
    method __init__ (line 79) | def __init__(self, test_cls=None, run_asserts=True, data=None):
    method __setitem__ (line 87) | def __setitem__(self, key, val):
    method log_to_file (line 94) | def log_to_file(self, filename_prefix, iteration_number):
  class RunExperimentTest (line 103) | class RunExperimentTest(tf.test.TestCase):
    method testLoadGinConfigs (line 106) | def testLoadGinConfigs(self, mock_parse_config_files_and_bindings):
    method testNoAgentName (line 116) | def testNoAgentName(self):
    method testCreateDQNAgent (line 121) | def testCreateDQNAgent(self, mock_dqn_agent):
    method testCreateRainbowAgent (line 137) | def testCreateRainbowAgent(self, mock_rainbow_agent):
    method testCreateImplicitQuantileAgent (line 153) | def testCreateImplicitQuantileAgent(self, mock_implicit_quantile_agent):
    method testCreateRunnerUnknown (line 168) | def testCreateRunnerUnknown(self):
    method testCreateRunner (line 175) | def testCreateRunner(self, mock_create_agent, mock_runner_constructor):
    method testCreateTrainRunner (line 185) | def testCreateTrainRunner(self, mock_create_agent, mock_runner_constru...
  class RunnerTest (line 194) | class RunnerTest(tf.test.TestCase):
    method _agent_step (line 196) | def _agent_step(self, reward, observation):
    method setUp (line 203) | def setUp(self):
    method testInitializeCheckpointingWithNoCheckpointFile (line 225) | def testInitializeCheckpointingWithNoCheckpointFile(self, mock_get_lat...
    method testInitializeCheckpointingWhenCheckpointUnbundleFails (line 234) | def testInitializeCheckpointingWhenCheckpointUnbundleFails(
    method testInitializeCheckpointingWhenCheckpointUnbundleSucceeds (line 261) | def testInitializeCheckpointingWhenCheckpointUnbundleSucceeds(
    method testRunOneEpisode (line 287) | def testRunOneEpisode(self):
    method testRunOneEpisodeWithLowMaxSteps (line 303) | def testRunOneEpisodeWithLowMaxSteps(self):
    method testRunOneContinuedEpisode (line 318) | def testRunOneContinuedEpisode(self):
    method testRunOneContinuedEpisodeWithLowMaxSteps (line 336) | def testRunOneContinuedEpisodeWithLowMaxSteps(self):
    method testRunOnePhase (line 353) | def testRunOnePhase(self):
    method testRunOneIteration (line 380) | def testRunOneIteration(self, mock_collector_dispatcher):
    method testLogExperiment (line 431) | def testLogExperiment(self, mock_logger_constructor):
    method testLogExperimentWithoutLegacyLogging (line 453) | def testLogExperimentWithoutLegacyLogging(self, mock_logger_constructor):
    method testCheckpointExperiment (line 477) | def testCheckpointExperiment(
    method testRunExperimentWithInconsistentRange (line 508) | def testRunExperimentWithInconsistentRange(
    method testRunExperiment (line 526) | def testRunExperiment(
    method testCollectorDispatcherSetup (line 574) | def testCollectorDispatcherSetup(self, mock_collector_dispatcher):

FILE: tests/dopamine/jax/agents/dqn/dqn_agent_test.py
  class DQNAgentTest (line 37) | class DQNAgentTest(absltest.TestCase):
    method setUp (line 39) | def setUp(self):
    method _create_test_agent (line 57) | def _create_test_agent(self, allow_partial_reload=False):
    method testCreateAgentWithDefaults (line 104) | def testCreateAgentWithDefaults(self):
    method testPreprocessFnParam (line 112) | def testPreprocessFnParam(self):
    method testBeginEpisode (line 143) | def testBeginEpisode(self):
    method testStepEval (line 182) | def testStepEval(self):
    method testStepTrain (line 217) | def testStepTrain(self):
    method testNonTupleObservationShape (line 272) | def testNonTupleObservationShape(self):
    method _custom_shapes_test (line 277) | def _custom_shapes_test(self, shape, dtype, stack_size):
    method testStepTrainCustomObservationShapes (line 332) | def testStepTrainCustomObservationShapes(self):
    method testStepTrainCustomTypes (line 337) | def testStepTrainCustomTypes(self):
    method testStepTrainCustomStackSizes (line 342) | def testStepTrainCustomStackSizes(self):
    method testBundlingWithNonexistentDirectory (line 347) | def testBundlingWithNonexistentDirectory(self):
    method testUnbundlingWithFailingReplayBuffer (line 351) | def testUnbundlingWithFailingReplayBuffer(self):
    method testUnbundlingWithNoBundleDictionary (line 359) | def testUnbundlingWithNoBundleDictionary(self):
    method testPartialUnbundling (line 364) | def testPartialUnbundling(self):
    method testBundling (line 376) | def testBundling(self):
    method testLinearlyDecayingEpsilon (line 396) | def testLinearlyDecayingEpsilon(self):

FILE: tests/dopamine/jax/agents/full_rainbow/full_rainbow_agent_test.py
  class FullRainbowAgentTest (line 30) | class FullRainbowAgentTest(absltest.TestCase):
    method setUp (line 32) | def setUp(self):
    method _create_test_agent (line 50) | def _create_test_agent(self):
    method testCreateAgentWithDefaults (line 111) | def testCreateAgentWithDefaults(self):
    method testShapesAndValues (line 119) | def testShapesAndValues(self):
    method testBeginEpisode (line 136) | def testBeginEpisode(self):
    method testStepEval (line 171) | def testStepEval(self):
    method testStepTrain (line 206) | def testStepTrain(self):
    method testStoreTransitionWithUniformSampling (line 241) | def testStoreTransitionWithUniformSampling(self):
    method testStoreTransitionWithPrioritizedSampling (line 256) | def testStoreTransitionWithPrioritizedSampling(self):

FILE: tests/dopamine/jax/agents/implicit_quantile/implicit_quantile_agent_test.py
  class ImplicitQuantileAgentTest (line 34) | class ImplicitQuantileAgentTest(absltest.TestCase):
    method setUp (line 36) | def setUp(self):
    method _create_test_agent (line 49) | def _create_test_agent(self):
    method testCreateAgentWithDefaults (line 91) | def testCreateAgentWithDefaults(self):
    method testShapes (line 99) | def testShapes(self):
    method testQValueComputation (line 119) | def testQValueComputation(self):
    method testReplayQuantileValueShape (line 139) | def testReplayQuantileValueShape(self):
    method testBeginEpisode (line 163) | def testBeginEpisode(self):

FILE: tests/dopamine/jax/agents/ppo/ppo_agent_test.py
  function create_agent (line 33) | def create_agent(
  function get_agent_params (line 52) | def get_agent_params(
  class PPOAgentTest (line 58) | class PPOAgentTest(parameterized.TestCase):
    method assertAgentParametersEqual (line 60) | def assertAgentParametersEqual(
    method assertAgentParametersNotEqual (line 77) | def assertAgentParametersNotEqual(
    method setUp (line 96) | def setUp(self):
    method test_integer_shaped_actions_match_shapes (line 105) | def test_integer_shaped_actions_match_shapes(self, eval_mode: bool):
    method test_tuple_shaped_actions_match_shapes (line 124) | def test_tuple_shaped_actions_match_shapes(
    method test_restore_agent_from_bundle_restores_parameters (line 138) | def test_restore_agent_from_bundle_restores_parameters(self):
    method test_calculate_advantages_and_returns_shapes (line 160) | def test_calculate_advantages_and_returns_shapes(self):
    method test_calculate_advantages_and_returns_discounting (line 213) | def test_calculate_advantages_and_returns_discounting(
    method test_calculate_advantages_and_returns_q_value_calculations (line 263) | def test_calculate_advantages_and_returns_q_value_calculations(
    method test_create_minibatches_and_shuffle_shapes (line 282) | def test_create_minibatches_and_shuffle_shapes(self):
    method test_create_minibatches_and_shuffle_incorrect_batch_size (line 320) | def test_create_minibatches_and_shuffle_incorrect_batch_size(self):
    method test_select_action_shapes (line 347) | def test_select_action_shapes(self, action_shape):

FILE: tests/dopamine/jax/agents/quantile/quantile_agent_test.py
  class JaxQuantileAgentTest (line 34) | class JaxQuantileAgentTest(absltest.TestCase):
    method setUp (line 36) | def setUp(self):
    method _create_test_agent (line 52) | def _create_test_agent(self):
    method testCreateAgentWithDefaults (line 109) | def testCreateAgentWithDefaults(self):
    method testShapesAndValues (line 117) | def testShapesAndValues(self):
    method testBeginEpisode (line 139) | def testBeginEpisode(self):
    method testStepEval (line 174) | def testStepEval(self):
    method testStepTrain (line 209) | def testStepTrain(self):

FILE: tests/dopamine/jax/agents/rainbow/rainbow_agent_test.py
  class ProjectDistributionTest (line 35) | class ProjectDistributionTest(absltest.TestCase):
    method _vmapped_projection (line 37) | def _vmapped_projection(self, supports, weights, target_support):
    method testProjectSingleIdenticalDistribution (line 42) | def testProjectSingleIdenticalDistribution(self):
    method testProjectSingleDifferentDistribution (line 50) | def testProjectSingleDifferentDistribution(self):
    method testProjectFromNonMonotonicSupport (line 58) | def testProjectFromNonMonotonicSupport(self):
    method testExampleFromCodeComments (line 66) | def testExampleFromCodeComments(self):
    method testProjectBatchOfDifferentDistributions (line 80) | def testProjectBatchOfDifferentDistributions(self):
    method testUsingPlaceholders (line 101) | def testUsingPlaceholders(self):
    method testProjectBatchOfDifferentDistributionsWithLargerDelta (line 117) | def testProjectBatchOfDifferentDistributionsWithLargerDelta(self):
  class RainbowAgentTest (line 134) | class RainbowAgentTest(absltest.TestCase):
    method setUp (line 136) | def setUp(self):
    method _create_test_agent (line 153) | def _create_test_agent(self):
    method testCreateAgentWithDefaults (line 210) | def testCreateAgentWithDefaults(self):
    method testShapesAndValues (line 218) | def testShapesAndValues(self):
    method testBeginEpisode (line 235) | def testBeginEpisode(self):
    method testStepEval (line 270) | def testStepEval(self):
    method testStepTrain (line 305) | def testStepTrain(self):
    method testStoreTransitionWithUniformSampling (line 340) | def testStoreTransitionWithUniformSampling(self):
    method testStoreTransitionWithPrioritizedSamplingy (line 355) | def testStoreTransitionWithPrioritizedSamplingy(self):

FILE: tests/dopamine/jax/agents/sac/sac_agent_test.py
  function get_mock_batch (line 40) | def get_mock_batch(
  function create_agent (line 77) | def create_agent(
  function get_agent_params (line 100) | def get_agent_params(
  class SacAgentTest (line 106) | class SacAgentTest(parameterized.TestCase):
    method assertAgentParametersEqual (line 108) | def assertAgentParametersEqual(
    method assertAgentParametersNotEqual (line 125) | def assertAgentParametersNotEqual(
    method setUp (line 144) | def setUp(self):
    method testIntegerShapedActionsMatchShapes (line 154) | def testIntegerShapedActionsMatchShapes(self, eval_mode: bool):
    method testTupleShapedActionsMatchShapes (line 173) | def testTupleShapedActionsMatchShapes(
    method testAgentParametersUpdateWhenTrained (line 191) | def testAgentParametersUpdateWhenTrained(self, action_shape: Tuple[int...
    method testAgentParametersNotUpdatedDuringEval (line 215) | def testAgentParametersNotUpdatedDuringEval(self):
    method testRestoreAgentFromBundleRestoresParameters (line 238) | def testRestoreAgentFromBundleRestoresParameters(self):
    method testAgentTrainsWithImageObservations (line 260) | def testAgentTrainsWithImageObservations(self):

FILE: tests/dopamine/jax/checkpointers_test.py
  class CheckpointTest (line 27) | class CheckpointTest(parameterized.TestCase):
    method setUp (line 29) | def setUp(self):
    method make_checkpoint_manager (line 33) | def make_checkpoint_manager(self) -> orbax.CheckpointManager:
    method testInvalidCheckpointProtocol (line 39) | def testInvalidCheckpointProtocol(self):
    method testCheckpointable (line 75) | def testCheckpointable(self, data: Any):

FILE: tests/dopamine/jax/continuous_networks_test.py
  class ActorNetworkTest (line 26) | class ActorNetworkTest(parameterized.TestCase):
    method setUp (line 28) | def setUp(self):
    method test_actor_network_outputs_correct_shaped_values (line 34) | def test_actor_network_outputs_correct_shaped_values(self):
    method test_network_has_specified_number_of_layers (line 46) | def test_network_has_specified_number_of_layers(self):
    method test_network_activation_initializer (line 61) | def test_network_activation_initializer(self, activation):
    method test_network_kernel_initializer (line 72) | def test_network_kernel_initializer(self, kernel_initializer):
  class CriticNetworkTest (line 79) | class CriticNetworkTest(parameterized.TestCase):
    method setUp (line 81) | def setUp(self):
    method test_critic_network_outputs_single_value (line 88) | def test_critic_network_outputs_single_value(self):
    method test_network_has_specified_number_of_layers (line 96) | def test_network_has_specified_number_of_layers(self):
    method test_network_activation_initializer (line 110) | def test_network_activation_initializer(self, activation):
    method test_network_kernel_initializer (line 119) | def test_network_kernel_initializer(self, kernel_initializer):
  class ActorCriticNetworkTest (line 126) | class ActorCriticNetworkTest(absltest.TestCase):
    method setUp (line 128) | def setUp(self):
    method assert_actor_shapes_are_correct (line 142) | def assert_actor_shapes_are_correct(
    method assert_critic_shapes_are_correct (line 152) | def assert_critic_shapes_are_correct(
    method test_actor_critic_network_call_outputs_correct_shaped_values (line 160) | def test_actor_critic_network_call_outputs_correct_shaped_values(self):
    method test_actor_critic_network_actor_outputs_correct_shaped_values (line 167) | def test_actor_critic_network_actor_outputs_correct_shaped_values(self):
    method test_actor_critic_network_critic_outputs_correct_shaped_values (line 175) | def test_actor_critic_network_critic_outputs_correct_shaped_values(self):
    method test_network_has_specified_number_of_layers (line 186) | def test_network_has_specified_number_of_layers(self):
  class PPOActorNetworkTest (line 208) | class PPOActorNetworkTest(parameterized.TestCase):
    method setUp (line 210) | def setUp(self):
    method test_ppo_actor_network_outputs_correct_shaped_values (line 216) | def test_ppo_actor_network_outputs_correct_shaped_values(self):
    method test_ppo_network_has_specified_number_of_layers (line 228) | def test_ppo_network_has_specified_number_of_layers(self):
    method test_ppo_network_activation_initializer (line 244) | def test_ppo_network_activation_initializer(self, activation):
    method test_scale_diag_set_to_zero (line 250) | def test_scale_diag_set_to_zero(self):
  class PPOCriticNetworkTest (line 263) | class PPOCriticNetworkTest(parameterized.TestCase):
    method setUp (line 265) | def setUp(self):
    method test_ppo_critic_network_outputs_single_value (line 271) | def test_ppo_critic_network_outputs_single_value(self):
    method test_ppo_network_has_specified_number_of_layers (line 279) | def test_ppo_network_has_specified_number_of_layers(self):
    method test_ppo_network_activation_initializer (line 293) | def test_ppo_network_activation_initializer(self, activation):
  class PPOActorCriticNetworkTest (line 298) | class PPOActorCriticNetworkTest(absltest.TestCase):
    method setUp (line 300) | def setUp(self):
    method assert_ppo_actor_shapes_are_correct (line 313) | def assert_ppo_actor_shapes_are_correct(
    method assert_ppo_critic_shapes_are_correct (line 323) | def assert_ppo_critic_shapes_are_correct(
    method test_ppo_actor_critic_network_call_outputs_correct_shaped_values (line 329) | def test_ppo_actor_critic_network_call_outputs_correct_shaped_values(s...
    method test_ppo_actor_critic_network_actor_outputs_correct_shaped_values (line 336) | def test_ppo_actor_critic_network_actor_outputs_correct_shaped_values(...
    method test_ppo_actor_critic_network_critic_outputs_correct_shaped_values (line 344) | def test_ppo_actor_critic_network_critic_outputs_correct_shaped_values...
    method test_network_has_specified_number_of_layers (line 354) | def test_network_has_specified_number_of_layers(self):
  class ContinousNetworksHelperTest (line 370) | class ContinousNetworksHelperTest(parameterized.TestCase):
    method test_create_activation (line 373) | def test_create_activation(self, name, activation):
    method test_create_activation_raises_error (line 377) | def test_create_activation_raises_error(self):

FILE: tests/dopamine/jax/losses_test.py
  class LossesTest (line 25) | class LossesTest(parameterized.TestCase):
    method testHuberLoss (line 57) | def testHuberLoss(
    method testMSELoss (line 84) | def testMSELoss(

FILE: tests/dopamine/jax/networks_test.py
  class NetworksTest (line 25) | class NetworksTest(parameterized.TestCase):
    method setUp (line 27) | def setUp(self):
    method testOutputShape (line 51) | def testOutputShape(self, network: nn.Module):
    method testPPOOutputShape (line 80) | def testPPOOutputShape(self):

FILE: tests/dopamine/jax/replay_memory/accumulator_test.py
  class TransitionAccumulatorTest (line 26) | class TransitionAccumulatorTest(parameterized.TestCase):
    method _verify_accumulator_transition (line 28) | def _verify_accumulator_transition(
    method _add (line 48) | def _add(
    method setUp (line 55) | def setUp(self):
    method testInitializer (line 65) | def testInitializer(self):
    method testReset (line 71) | def testReset(self):
    method testOneElementTrajectoriesAreInvalid (line 84) | def testOneElementTrajectoriesAreInvalid(self):
    method testAddSingleTrajectory (line 99) | def testAddSingleTrajectory(self, n: int, valid: bool):
    method testAccumulate (line 136) | def testAccumulate(self, n):
    method testAccumulateWithInvalidFirstTrajectory (line 151) | def testAccumulateWithInvalidFirstTrajectory(self):
    method testClear (line 196) | def testClear(self):

FILE: tests/dopamine/jax/replay_memory/elements_test.py
  class ElementsTest (line 26) | class ElementsTest(parameterized.TestCase):
    method test_pack_unpack (line 28) | def test_pack_unpack(self) -> None:

FILE: tests/dopamine/jax/replay_memory/replay_buffer_regression_test.py
  class ReplayBufferRegressionTest (line 37) | class ReplayBufferRegressionTest(parameterized.TestCase):
    method setUp (line 39) | def setUp(self):
    method testNSteprewards (line 54) | def testNSteprewards(self):
    method testGetStack (line 74) | def testGetStack(self):
    method testSampleTransitionBatch (line 107) | def testSampleTransitionBatch(self):
    method testSamplingWithTerminalInTrajectory (line 183) | def testSamplingWithTerminalInTrajectory(self):

FILE: tests/dopamine/jax/replay_memory/replay_buffer_test.py
  class ReplayBufferTest (line 36) | class ReplayBufferTest(parameterized.TestCase):
    method setUp (line 38) | def setUp(self):
    method testWithInvalidCheckpointDuration (line 53) | def testWithInvalidCheckpointDuration(self, cd):
    method testCreateReplayBuffer (line 63) | def testCreateReplayBuffer(self):
    method testAddWithEmptyAccumulatorReturn (line 73) | def testAddWithEmptyAccumulatorReturn(self, mock_accumulator):
    method testAddWithoutCompress (line 87) | def testAddWithoutCompress(self, mock_accumulator):
    method testAddWithValidAccumulatorReturn (line 102) | def testAddWithValidAccumulatorReturn(self, mock_accumulator):
    method testAddUpToCapacity (line 128) | def testAddUpToCapacity(self, mock_accumulator):
    method testSampleWithNoElements (line 163) | def testSampleWithNoElements(self):
    method testSample (line 196) | def testSample(self, mock_accumulator, use_default_bs, compress):
    method testSave (line 256) | def testSave(self, compress):
    method testGarbageCollection (line 297) | def testGarbageCollection(self, cd):
    method testLoad (line 317) | def testLoad(self):
    method testSaveAndLoad (line 345) | def testSaveAndLoad(self):
    method testKeyMappingsForSampling (line 418) | def testKeyMappingsForSampling(self):
    method testClearBuffer (line 497) | def testClearBuffer(self):

FILE: tests/dopamine/jax/replay_memory/samplers_test.py
  class UniformSamplingTest (line 23) | class UniformSamplingTest(parameterized.TestCase):
    method setUp (line 25) | def setUp(self):
    method test_update_does_not_raise_and_logs (line 29) | def test_update_does_not_raise_and_logs(self):
    method test_additional_kwargs_to_add_logs (line 35) | def test_additional_kwargs_to_add_logs(self):
    method test_sample_when_empty (line 41) | def test_sample_when_empty(self):
    method test_removal_of_invalid_key_raises (line 45) | def test_removal_of_invalid_key_raises(self):
    method test_invalid_sample_size_raises (line 50) | def test_invalid_sample_size_raises(self, size: int):
    method test_add_and_remove (line 54) | def test_add_and_remove(self):
    method test_sample (line 58) | def test_sample(self):
    method test_serializes (line 65) | def test_serializes(self):
    method test_clear_sampler (line 77) | def test_clear_sampler(self):
  class PrioritizedSamplingTest (line 86) | class PrioritizedSamplingTest(parameterized.TestCase):
    method setUp (line 88) | def setUp(self):
    method test_priorities_can_be_updated (line 94) | def test_priorities_can_be_updated(self):
    method test_priorities_can_be_removed (line 115) | def test_priorities_can_be_removed(self):
    method test_zero_priorities_is_uniform_sampling (line 129) | def test_zero_priorities_is_uniform_sampling(self):
    method test_positive_priorities_computes_probabilities (line 136) | def test_positive_priorities_computes_probabilities(self):
    method test_removal_wont_sample_removed_index (line 144) | def test_removal_wont_sample_removed_index(self, index_to_remove: int):
    method test_clear_sampler (line 152) | def test_clear_sampler(self):
  class SequentialSamplingTest (line 165) | class SequentialSamplingTest(parameterized.TestCase):
    method setUp (line 167) | def setUp(self):
    method test_sample_when_empty (line 171) | def test_sample_when_empty(self):
    method test_sample_when_not_empty (line 175) | def test_sample_when_not_empty(self):
    method test_order_is_sequential_after_add (line 185) | def test_order_is_sequential_after_add(self):
    method test_order_is_sequential_after_remove (line 197) | def test_order_is_sequential_after_remove(self):
    method test_order_with_unsorted_add (line 209) | def test_order_with_unsorted_add(self):
    method test_clear_sampler (line 220) | def test_clear_sampler(self):
    method test_unsorted_add_with_sort_samples_false (line 229) | def test_unsorted_add_with_sort_samples_false(self):

FILE: tests/dopamine/jax/replay_memory/sum_tree_test.py
  class SumTreeTest (line 23) | class SumTreeTest(parameterized.TestCase):
    method setUp (line 25) | def setUp(self):
    method test_negative_capacity_raises (line 29) | def test_negative_capacity_raises(self):
    method test_negative_value_raises (line 33) | def test_negative_value_raises(self):
    method test_set_small_capacity (line 37) | def test_set_small_capacity(self):
    method test_set_and_get_value (line 42) | def test_set_and_get_value(self):
    method test_set_and_get_values_vectorized (line 52) | def test_set_and_get_values_vectorized(self):
    method test_set_with_duplicates (line 61) | def test_set_with_duplicates(self):
    method test_capacity_greater_than_requested (line 70) | def test_capacity_greater_than_requested(self):
    method test_query_empty_tree (line 73) | def test_query_empty_tree(self):
    method test_query_value (line 77) | def test_query_value(self):
    method test_query_values_vectorized (line 81) | def test_query_values_vectorized(self):
    method test_update_sum_values (line 102) | def test_update_sum_values(self):
    method test_query_values_vectorized_large_tree (line 121) | def test_query_values_vectorized_large_tree(self):
    method test_serialization (line 143) | def test_serialization(self):
    method test_clear (line 152) | def test_clear(self):
    method test_max_recorded_priority (line 158) | def test_max_recorded_priority(self):

FILE: tests/dopamine/jax/serialization_test.py
  class SerializationTest (line 25) | class SerializationTest(parameterized.TestCase):
    method testEncodeNumpy (line 45) | def testEncodeNumpy(self, array: Union[np.ndarray, np.bool_, np.number]):
    method testEncodeLongIntegers (line 58) | def testEncodeLongIntegers(self, integer: int):

FILE: tests/dopamine/labs/atari_100k/train_test.py
  function QuickAgentFlags (line 30) | def QuickAgentFlags():
  function SetAgentConfig (line 44) | def SetAgentConfig(agent_name='der'):
  class RunnerIntegrationTest (line 52) | class RunnerIntegrationTest(parameterized.TestCase):
    method setUp (line 57) | def setUp(self):
    method VerifyFilesCreated (line 64) | def VerifyFilesCreated(self):
    method testIntegration (line 79) | def testIntegration(self, agent_name):

FILE: tests/dopamine/labs/moes/architectures/networks_test.py
  class NetworksTest (line 26) | class NetworksTest(parameterized.TestCase):
    method setUp (line 28) | def setUp(self):
    method testExpertModel (line 41) | def testExpertModel(self, maintain_token_size):
    method testImpalaMoEWithInvalidMoEType (line 57) | def testImpalaMoEWithInvalidMoEType(self):
    method testImpalaMoEWithInvalidRoutingType (line 64) | def testImpalaMoEWithInvalidRoutingType(self):
    method testImpalaMoEBaseline (line 71) | def testImpalaMoEBaseline(self):
    method _create_network_and_apply (line 82) | def _create_network_and_apply(self, network_class, moe_type, state,
    method _create_impala_network_and_apply (line 97) | def _create_impala_network_and_apply(self, moe_type, routing_type):
    method _test_network_outputs (line 106) | def _test_network_outputs(
    method testImpalaMoE (line 153) | def testImpalaMoE(self, routing_type, expected_moe_output_shape):
    method testImpalaSoftMoE (line 184) | def testImpalaSoftMoE(self, routing_type, expected_moe_output_shape):
    method testNatureDQNMoEWithInvalidMoEType (line 197) | def testNatureDQNMoEWithInvalidMoEType(self):
    method testNatureDQNMoEWithInvalidRoutingType (line 204) | def testNatureDQNMoEWithInvalidRoutingType(self):
    method testNatureDQNMoEBaseline (line 211) | def testNatureDQNMoEBaseline(self):
    method _create_nature_network_and_apply (line 222) | def _create_nature_network_and_apply(self, moe_type, routing_type):
    method testNatureDQNMoE (line 253) | def testNatureDQNMoE(self, routing_type, expected_moe_output_shape):
    method testNatureDQNSoftMoE (line 284) | def testNatureDQNSoftMoE(self, routing_type, expected_moe_output_shape):
    method _create_full_rainbow_network_and_apply (line 294) | def _create_full_rainbow_network_and_apply(self, moe_type, routing_type):
    method testFullRainbowMoE (line 329) | def testFullRainbowMoE(self, routing_type, expected_moe_output_shape):
    method testFullRainbowSoftMoE (line 359) | def testFullRainbowSoftMoE(self, routing_type, expected_moe_output_sha...

FILE: tests/dopamine/labs/offline_rl/jax/offline_agent_test.py
  class OfflineAgentTest (line 35) | class OfflineAgentTest(parameterized.TestCase):
    method setUp (line 37) | def setUp(self):
    method _create_agent_fn (line 71) | def _create_agent_fn(self, agent_name):
    method _test_train_step_updates_weights (line 86) | def _test_train_step_updates_weights(self, agent_name):
    method test_train_step_updates_weights (line 112) | def test_train_step_updates_weights(self, agent_name):
    method test_target_type (line 116) | def test_target_type(self, target_type):
    method test_hl_loss_type (line 123) | def test_hl_loss_type(self, hl_loss_type):
    method test_impala (line 127) | def test_impala(self):

FILE: tests/dopamine/labs/sac_from_pixels/continuous_networks_test.py
  class SACEncoderNetworkTest (line 23) | class SACEncoderNetworkTest(absltest.TestCase):
    method setUp (line 25) | def setUp(self):
    method test_network_outputs_correct_shapes (line 31) | def test_network_outputs_correct_shapes(self):
    method test_network_correctly_handles_stacked_rgb_frames (line 43) | def test_network_correctly_handles_stacked_rgb_frames(self):
    method test_actor_cant_update_conv_weights (line 57) | def test_actor_cant_update_conv_weights(self):
    method test_critic_can_update_conv_weights (line 77) | def test_critic_can_update_conv_weights(self):

FILE: tests/dopamine/labs/sac_from_pixels/deepmind_control_lib_test.py
  function get_mock_render (line 44) | def get_mock_render(  # pytype: disable=annotation-type-mismatch  # nump...
  class MockDeepmindControlSuiteEnvironment (line 55) | class MockDeepmindControlSuiteEnvironment(control.Environment):
    method __init__ (line 57) | def __init__(
    method action_spec (line 67) | def action_spec(self) -> specs.BoundedArray:
    method observation_spec (line 75) | def observation_spec(self) -> Mapping[str, specs.BoundedArray]:
    method reset (line 88) | def reset(self) -> dm_env.TimeStep:
    method step (line 99) | def step(self, action: np.ndarray) -> dm_env.TimeStep:
  class DeepmindControlLibTest (line 122) | class DeepmindControlLibTest(parameterized.TestCase):
    method setUp (line 124) | def setUp(self):
    method create_env (line 134) | def create_env(self) -> control.Environment:
    method test_preprocessing (line 142) | def test_preprocessing(self):
    method test_image_wrapper_returns_image_observation_on_reset (line 174) | def test_image_wrapper_returns_image_observation_on_reset(self):
    method test_image_wrapper_returns_image_observation_on_step (line 185) | def test_image_wrapper_returns_image_observation_on_step(self):
    method test_float_image_observation_is_scaled_correctly_to_uint (line 201) | def test_float_image_observation_is_scaled_correctly_to_uint(
    method test_action_repeats_successfully_apply_repeated_action (line 216) | def test_action_repeats_successfully_apply_repeated_action(self):
    method test_action_repeats_obey_end_of_episode (line 238) | def test_action_repeats_obey_end_of_episode(self):

FILE: tests/dopamine/metrics/collector_dispatcher_test.py
  class CollectorDispatcherTest (line 25) | class CollectorDispatcherTest(parameterized.TestCase):
    method setUp (line 27) | def setUp(self):
    method test_with_no_collectors (line 31) | def test_with_no_collectors(self):
    method test_with_default_collectors (line 43) | def test_with_default_collectors(self):
    method test_with_simple_collector (line 57) | def test_with_simple_collector(self, allowlist):

FILE: tests/dopamine/metrics/collector_test.py
  class SimpleCollector (line 25) | class SimpleCollector(collector.Collector):
    method get_name (line 27) | def get_name(self) -> str:
    method write (line 30) | def write(self, unused_statistics) -> None:
    method flush (line 33) | def flush(self, unused_statistics) -> None:
    method close (line 36) | def close(self) -> None:
  class CollectorTest (line 40) | class CollectorTest(absltest.TestCase):
    method setUp (line 42) | def setUp(self):
    method test_instantiate_abstract_class (line 46) | def test_instantiate_abstract_class(self):
    method test_valid_subclass (line 51) | def test_valid_subclass(self):
    method test_valid_subclass_with_no_basedir (line 58) | def test_valid_subclass_with_no_basedir(self):

FILE: tests/dopamine/metrics/console_collector_test.py
  class ConsoleCollectorTest (line 27) | class ConsoleCollectorTest(absltest.TestCase):
    method setUp (line 29) | def setUp(self):
    method test_valid_creation (line 34) | def test_valid_creation(self):
    method test_valid_creation_no_base_dir (line 47) | def test_valid_creation_no_base_dir(self):
    method test_valid_creation_no_save_to_file (line 54) | def test_valid_creation_no_save_to_file(self):
    method test_step_with_fine_grained_logging (line 64) | def test_step_with_fine_grained_logging(self):
    method test_no_write_with_unsupported_type (line 79) | def test_no_write_with_unsupported_type(self):
    method test_full_run (line 95) | def test_full_run(self):

FILE: tests/dopamine/metrics/pickle_collector_test.py
  class PickleCollectorTest (line 27) | class PickleCollectorTest(absltest.TestCase):
    method setUp (line 29) | def setUp(self):
    method test_with_none_base_dir (line 33) | def test_with_none_base_dir(self):
    method test_valid_creation (line 37) | def test_valid_creation(self):
    method test_write (line 44) | def test_write(self):
    method test_no_write_with_unsupported_type (line 56) | def test_no_write_with_unsupported_type(self):
    method test_flush (line 67) | def test_flush(self):
    method test_full_run (line 77) | def test_full_run(self):

FILE: tests/dopamine/metrics/tensorboard_collector_test.py
  class TensorboardCollectorTest (line 26) | class TensorboardCollectorTest(absltest.TestCase):
    method test_with_invalid_base_dir_raises_value_error (line 28) | def test_with_invalid_base_dir_raises_value_error(self):
    method test_valid_creation_with_all_required_parameters (line 32) | def test_valid_creation_with_all_required_parameters(self):
    method test_write (line 45) | def test_write(self):
    method test_no_write_with_unsupported_type (line 65) | def test_no_write_with_unsupported_type(self):
    method test_full_run (line 79) | def test_full_run(self):

FILE: tests/dopamine/tests/gin_config_test.py
  class GinConfigTest (line 33) | class GinConfigTest(tf.test.TestCase):
    method setUp (line 38) | def setUp(self):
    method testDefaultGinDqn (line 49) | def testDefaultGinDqn(self):
    method testOverrideRunnerParams (line 69) | def testOverrideRunnerParams(self):
    method testDefaultGinRmspropDqn (line 89) | def testDefaultGinRmspropDqn(self):
    method testOverrideGinDqn (line 109) | def testOverrideGinDqn(self):
    method testDefaultGinRainbow (line 130) | def testDefaultGinRainbow(self):
    method testOverrideGinRainbow (line 152) | def testOverrideGinRainbow(self):
    method testDefaultDQNConfig (line 174) | def testDefaultDQNConfig(self):
    method testDefaultC51Config (line 193) | def testDefaultC51Config(self):
    method testDefaultRainbowConfig (line 217) | def testDefaultRainbowConfig(self):
    method testDefaultGinImplicitQuantile (line 241) | def testDefaultGinImplicitQuantile(self):
    method testOverrideGinImplicitQuantile (line 265) | def testOverrideGinImplicitQuantile(self):

FILE: tests/dopamine/tests/integration_test.py
  class AtariIntegrationTest (line 31) | class AtariIntegrationTest(tf.test.TestCase):
    method setUp (line 36) | def setUp(self):
    method quick_dqn_flags (line 47) | def quick_dqn_flags(self):
    method quick_rainbow_flags (line 59) | def quick_rainbow_flags(self):
    method verify_files_created (line 74) | def verify_files_created(self):
    method testIntegrationDqn (line 88) | def testIntegrationDqn(self):
    method testIntegrationRainbow (line 97) | def testIntegrationRainbow(self):

FILE: tests/dopamine/tests/train_runner_integration_test.py
  class TrainRunnerIntegrationTest (line 29) | class TrainRunnerIntegrationTest(tf.test.TestCase):
    method setUp (line 34) | def setUp(self):
    method quick_dqn_flags (line 43) | def quick_dqn_flags(self):
    method verify_files_created (line 57) | def verify_files_created(self):
    method testIntegrationDqn (line 71) | def testIntegrationDqn(self):

FILE: tests/dopamine/tf/agents/dqn/dqn_agent_test.py
  class DQNAgentTest (line 37) | class DQNAgentTest(tf.test.TestCase):
    method setUp (line 39) | def setUp(self):
    method _create_test_agent (line 58) | def _create_test_agent(self, sess, allow_partial_reload=False):
    method testCreateAgentWithDefaults (line 105) | def testCreateAgentWithDefaults(self):
    method testBeginEpisode (line 115) | def testBeginEpisode(self):
    method testStepEval (line 151) | def testStepEval(self):
    method testStepTrain (line 188) | def testStepTrain(self):
    method testNonTupleObservationShape (line 241) | def testNonTupleObservationShape(self):
    method _test_custom_shapes (line 247) | def _test_custom_shapes(self, shape, dtype, stack_size):
    method testStepTrainCustomObservationShapes (line 300) | def testStepTrainCustomObservationShapes(self):
    method testStepTrainCustomTypes (line 305) | def testStepTrainCustomTypes(self):
    method testStepTrainCustomStackSizes (line 310) | def testStepTrainCustomStackSizes(self):
    method testLinearlyDecayingEpsilon (line 315) | def testLinearlyDecayingEpsilon(self):
    method testBundlingWithNonexistentDirectory (line 334) | def testBundlingWithNonexistentDirectory(self):
    method testUnbundlingWithFailingReplayBuffer (line 339) | def testUnbundlingWithFailingReplayBuffer(self):
    method testUnbundlingWithNoBundleDictionary (line 348) | def testUnbundlingWithNoBundleDictionary(self):
    method testPartialUnbundling (line 354) | def testPartialUnbundling(self):
    method testBundling (line 367) | def testBundling(self):
    method testSyncOpWithNameScopes (line 386) | def testSyncOpWithNameScopes(self):

FILE: tests/dopamine/tf/agents/implicit_quantile/implicit_quantile_agent_test.py
  class ImplicitQuantileAgentTest (line 30) | class ImplicitQuantileAgentTest(tf.test.TestCase):
    method setUp (line 32) | def setUp(self):
    method _create_test_agent (line 42) | def _create_test_agent(self, sess):
    method testCreateAgentWithDefaults (line 90) | def testCreateAgentWithDefaults(self):
    method testShapes (line 100) | def testShapes(self):
    method test_q_value_computation (line 145) | def test_q_value_computation(self):
    method test_replay_quantile_value_computation (line 170) | def test_replay_quantile_value_computation(self):

FILE: tests/dopamine/tf/agents/rainbow/rainbow_agent_test.py
  class ProjectDistributionTest (line 31) | class ProjectDistributionTest(tf.test.TestCase):
    method testInconsistentSupportsAndWeightsParameters (line 33) | def testInconsistentSupportsAndWeightsParameters(self):
    method testInconsistentSupportsAndWeightsWithPlaceholders (line 42) | def testInconsistentSupportsAndWeightsWithPlaceholders(self):
    method testInconsistentSupportsAndTargetSupportParameters (line 66) | def testInconsistentSupportsAndTargetSupportParameters(self):
    method testInconsistentSupportsAndTargetSupportWithPlaceholders (line 75) | def testInconsistentSupportsAndTargetSupportWithPlaceholders(self):
    method testZeroDimensionalTargetSupport (line 99) | def testZeroDimensionalTargetSupport(self):
    method testZeroDimensionalTargetSupportWithPlaceholders (line 108) | def testZeroDimensionalTargetSupportWithPlaceholders(self):
    method testMultiDimensionalTargetSupport (line 130) | def testMultiDimensionalTargetSupport(self):
    method testMultiDimensionalTargetSupportWithPlaceholders (line 139) | def testMultiDimensionalTargetSupportWithPlaceholders(self):
    method testProjectWithNonMonotonicTargetSupport (line 161) | def testProjectWithNonMonotonicTargetSupport(self):
    method testProjectNewSupportHasInconsistentDeltask (line 177) | def testProjectNewSupportHasInconsistentDeltask(self):
    method testProjectSingleIdenticalDistribution (line 193) | def testProjectSingleIdenticalDistribution(self):
    method testProjectSingleDifferentDistribution (line 206) | def testProjectSingleDifferentDistribution(self):
    method testProjectFromNonMonotonicSupport (line 219) | def testProjectFromNonMonotonicSupport(self):
    method testExampleFromCodeComments (line 232) | def testExampleFromCodeComments(self):
    method testProjectBatchOfDifferentDistributions (line 250) | def testProjectBatchOfDifferentDistributions(self):
    method testUsingPlaceholders (line 276) | def testUsingPlaceholders(self):
    method testProjectBatchOfDifferentDistributionsWithLargerDelta (line 307) | def testProjectBatchOfDifferentDistributionsWithLargerDelta(self):
  class RainbowAgentTest (line 328) | class RainbowAgentTest(tf.test.TestCase):
    method setUp (line 330) | def setUp(self):
    method _create_test_agent (line 344) | def _create_test_agent(self, sess):
    method testCreateAgentWithDefaults (line 405) | def testCreateAgentWithDefaults(self):
    method testShapesAndValues (line 415) | def testShapesAndValues(self):
    method testBeginEpisode (line 448) | def testBeginEpisode(self):
    method testStepEval (line 484) | def testStepEval(self):
    method testStepTrain (line 521) | def testStepTrain(self):
    method testStoreTransitionWithUniformSampling (line 561) | def testStoreTransitionWithUniformSampling(self):
    method testStoreTransitionWithPrioritizedSamplingy (line 577) | def testStoreTransitionWithPrioritizedSamplingy(self):

FILE: tests/dopamine/tf/replay_memory/circular_replay_buffer_test.py
  class CheckpointableClass (line 41) | class CheckpointableClass(object):
    method __init__ (line 43) | def __init__(self):
  class OutOfGraphReplayBufferTest (line 47) | class OutOfGraphReplayBufferTest(tf.test.TestCase):
    method setUp (line 49) | def setUp(self):
    method testWithNontupleObservationShape (line 62) | def testWithNontupleObservationShape(self):
    method testConstructor (line 71) | def testConstructor(self):
    method testAdd (line 98) | def testAdd(self):
    method testExtraAdd (line 111) | def testExtraAdd(self):
    method testCheckAddTypes (line 131) | def testCheckAddTypes(self):
    method testLowCapacity (line 149) | def testLowCapacity(self):
    method testGetRangeInvalidIndexOrder (line 181) | def testGetRangeInvalidIndexOrder(self):
    method testGetRangeNoWraparound (line 204) | def testGetRangeNoWraparound(self):
    method testGetRangeWithWraparound (line 232) | def testGetRangeWithWraparound(self):
    method testNSteprewardum (line 263) | def testNSteprewardum(self):
    method testGetStack (line 281) | def testGetStack(self):
    method testSampleTransitionBatch (line 310) | def testSampleTransitionBatch(self):
    method testSampleTransitionBatchExtra (line 373) | def testSampleTransitionBatchExtra(self):
    method testSamplingWithterminalInTrajectory (line 445) | def testSamplingWithterminalInTrajectory(self):
    method testInvalidRange (line 487) | def testInvalidRange(self):
    method testIsTransitionValid (line 515) | def testIsTransitionValid(self):
    method testSave (line 538) | def testSave(self):
    method testEpisodeEndIndicesAreCorrectlySaved (line 571) | def testEpisodeEndIndicesAreCorrectlySaved(self):
    method testEpisodeEndIndicesAreCorrectlyLoaded (line 596) | def testEpisodeEndIndicesAreCorrectlyLoaded(self):
    method testSaveWithKeepEvery (line 626) | def testSaveWithKeepEvery(self):
    method testSaveNonNDArrayAttributes (line 658) | def testSaveNonNDArrayAttributes(self):
    method testLoadFromNonexistentDirectory (line 694) | def testLoadFromNonexistentDirectory(self):
    method testPartialLoadFails (line 718) | def testPartialLoadFails(self):
    method testLoad (line 764) | def testLoad(self):
  class WrappedReplayBufferTest (line 806) | class WrappedReplayBufferTest(tf.test.TestCase):
    method setUp (line 808) | def setUp(self):
    method testConstructorCapacityNotLargeEnough (line 821) | def testConstructorCapacityNotLargeEnough(self):
    method testConstructorWithZeroUpdateHorizon (line 834) | def testConstructorWithZeroUpdateHorizon(self):
    method testConstructorWithOutOfBoundsDiscountFactor (line 844) | def testConstructorWithOutOfBoundsDiscountFactor(self):
    method testConstructorWithExtraStorageTypes (line 855) | def testConstructorWithExtraStorageTypes(self):
    method _verify_sampled_trajectories (line 865) | def _verify_sampled_trajectories(self, batch):
    method testConstructorWithNoStaging (line 899) | def testConstructorWithNoStaging(self):
    method testConstructorWithStaging (line 913) | def testConstructorWithStaging(self):
    method testWrapperSave (line 927) | def testWrapperSave(self):
    method testWrapperLoad (line 947) | def testWrapperLoad(self):
    method testDefaultObsDataType (line 998) | def testDefaultObsDataType(self):
    method testCustomObsDataType (line 1008) | def testCustomObsDataType(self):

FILE: tests/dopamine/tf/replay_memory/prioritized_replay_buffer_test.py
  class OutOfGraphPrioritizedReplayBufferTest (line 35) | class OutOfGraphPrioritizedReplayBufferTest(tf.test.TestCase):
    method create_default_memory (line 37) | def create_default_memory(self, extra_storage_types=None):
    method add_blank (line 47) | def add_blank(self, memory, action=0, reward=0.0, terminal=0, priority...
    method testAddWithAndWithoutPriority (line 66) | def testAddWithAndWithoutPriority(self):
    method testAddWithAdditionalArgsAndPriority (line 80) | def testAddWithAdditionalArgsAndPriority(self):
    method testDummyScreensAddedToNewMemory (line 98) | def testDummyScreensAddedToNewMemory(self):
    method testGetPriorityWithInvalidIndices (line 104) | def testGetPriorityWithInvalidIndices(self):
    method testSetAndGetPriority (line 114) | def testSetAndGetPriority(self):
    method testNewElementHasHighPriority (line 128) | def testNewElementHasHighPriority(self):
    method testLowPriorityElementNotFrequentlySampled (line 135) | def testLowPriorityElementNotFrequentlySampled(self):
    method testSampleIndexBatchTooManyFailedRetries (line 150) | def testSampleIndexBatchTooManyFailedRetries(self):
    method testSampleIndexBatch (line 166) | def testSampleIndexBatch(self):
  class WrappedPrioritizedReplayBufferTest (line 187) | class WrappedPrioritizedReplayBufferTest(tf.test.TestCase):
    method create_default_memory (line 190) | def create_default_memory(self):
    method add_blank (line 200) | def add_blank(self, replay):
    method testSetAndGetPriority (line 203) | def testSetAndGetPriority(self):
    method testSampleBatch (line 221) | def testSampleBatch(self):
    method testConstructorWithExtraStorageTypes (line 232) | def testConstructorWithExtraStorageTypes(self):

FILE: tests/dopamine/tf/replay_memory/sum_tree_test.py
  class SumTreeTest (line 28) | class SumTreeTest(tf.test.TestCase):
    method setUp (line 30) | def setUp(self):
    method testNegativeCapacity (line 34) | def testNegativeCapacity(self):
    method testSetNegativeValue (line 40) | def testSetNegativeValue(self):
    method testSmallCapacityConstructor (line 46) | def testSmallCapacityConstructor(self):
    method testSetValueSmallCapacity (line 52) | def testSetValueSmallCapacity(self):
    method testSetValue (line 57) | def testSetValue(self):
    method testCapacityGreaterThanRequested (line 68) | def testCapacityGreaterThanRequested(self):
    method testSampleFromEmptyTree (line 71) | def testSampleFromEmptyTree(self):
    method testSampleWithInvalidQueryValue (line 77) | def testSampleWithInvalidQueryValue(self):
    method testSampleSingleton (line 84) | def testSampleSingleton(self):
    method testSamplePairWithUnevenProbabilities (line 90) | def testSamplePairWithUnevenProbabilities(self):
    method testSamplePairWithUnevenProbabilitiesWithQueryValue (line 98) | def testSamplePairWithUnevenProbabilitiesWithQueryValue(self):
    method testSamplingWithSeedDoesNotAffectFutureCalls (line 105) | def testSamplingWithSeedDoesNotAffectFutureCalls(self):
    method testStratifiedSamplingFromEmptyTree (line 138) | def testStratifiedSamplingFromEmptyTree(self):
    method testStratifiedSampling (line 144) | def testStratifiedSampling(self):
    method testMaxRecordedProbability (line 153) | def testMaxRecordedProbability(self):

FILE: tests/dopamine/utils/agent_visualizer_test.py
  class AgentVisualizerTest (line 36) | class AgentVisualizerTest(tf.test.TestCase):
    method setUp (line 38) | def setUp(self):
    method test_agent_visualizer_save_frame (line 44) | def test_agent_visualizer_save_frame(self):
Copy disabled (too large) Download .json
Condensed preview — 932 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (94,387K chars).
[
  {
    "path": "AUTHORS",
    "chars": 298,
    "preview": "# This is the list of Dopamine authors for copyright purposes.\n#\n# This does not necessarily list everyone who has contr"
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 490,
    "preview": "# How to Contribute\n\n# Issues\n\n* Please tag your issue with `bug`, `feature request`, or `question` to help us\n  effecti"
  },
  {
    "path": "LICENSE",
    "chars": 11417,
    "preview": "Copyright 2018 The Dopamine Authors.  All rights reserved.\n\n                                 Apache License\n            "
  },
  {
    "path": "README.md",
    "chars": 6139,
    "preview": "# Dopamine\n[Getting Started](#getting-started) |\n[Docs][docs] |\n[Baseline Results][baselines] |\n[Changelist](https://goo"
  },
  {
    "path": "baselines/README.md",
    "chars": 184,
    "preview": "# Baseline Data\n\nView baselines for:\n\n* [Atari](https://google.github.io/dopamine/baselines/atari/plots.html)\n* [Mujoco]"
  },
  {
    "path": "baselines/atari/README.md",
    "chars": 4408,
    "preview": "# Baseline data\n\nThis directory provides information about the baseline data provided by\nDopamine. The default hyperpara"
  },
  {
    "path": "baselines/atari/data/airraid.json",
    "chars": 468518,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 514.9805447470817,\n  \"Agent\": \"DQN\"\n },\n {\n  \"Iteration\": 1,\n  \"Value\": 367.6892950391"
  },
  {
    "path": "baselines/atari/data/airraid.vg.json",
    "chars": 575,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/airraid.json\"}, \"height\": 400, \"wid"
  },
  {
    "path": "baselines/atari/data/airraid_CNN.json",
    "chars": 370941,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 546.1458333333334,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 558.512931"
  },
  {
    "path": "baselines/atari/data/airraid_CNN.vg.json",
    "chars": 578,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/airraid_CNN.json\"}, \"height\": 400, "
  },
  {
    "path": "baselines/atari/data/airraid_Impala.json",
    "chars": 370644,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 527.4089935760171,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 531.422505"
  },
  {
    "path": "baselines/atari/data/airraid_Impala.vg.json",
    "chars": 581,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/airraid_Impala.json\"}, \"height\": 40"
  },
  {
    "path": "baselines/atari/data/alien.json",
    "chars": 473098,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 297.5725593667546,\n  \"Agent\": \"DQN\"\n },\n {\n  \"Iteration\": 1,\n  \"Value\": 461.6183574879"
  },
  {
    "path": "baselines/atari/data/alien.vg.json",
    "chars": 573,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/alien.json\"}, \"height\": 400, \"width"
  },
  {
    "path": "baselines/atari/data/alien_CNN.json",
    "chars": 374004,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 310.5882352941176,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 323.402061"
  },
  {
    "path": "baselines/atari/data/alien_CNN.vg.json",
    "chars": 576,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/alien_CNN.json\"}, \"height\": 400, \"w"
  },
  {
    "path": "baselines/atari/data/alien_Impala.json",
    "chars": 371232,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 325.84856396866843,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 311.42487"
  },
  {
    "path": "baselines/atari/data/alien_Impala.vg.json",
    "chars": 579,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/alien_Impala.json\"}, \"height\": 400,"
  },
  {
    "path": "baselines/atari/data/amidar.json",
    "chars": 470384,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 18.35326086956522,\n  \"Agent\": \"DQN\"\n },\n {\n  \"Iteration\": 1,\n  \"Value\": 38.09439528023"
  },
  {
    "path": "baselines/atari/data/amidar.vg.json",
    "chars": 574,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/amidar.json\"}, \"height\": 400, \"widt"
  },
  {
    "path": "baselines/atari/data/amidar_CNN.json",
    "chars": 372414,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 25.703125,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 24.167525773195877"
  },
  {
    "path": "baselines/atari/data/amidar_CNN.vg.json",
    "chars": 577,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/amidar_CNN.json\"}, \"height\": 400, \""
  },
  {
    "path": "baselines/atari/data/amidar_Impala.json",
    "chars": 372192,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 24.327365728900254,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 22.926208"
  },
  {
    "path": "baselines/atari/data/amidar_Impala.vg.json",
    "chars": 580,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/amidar_Impala.json\"}, \"height\": 400"
  },
  {
    "path": "baselines/atari/data/assault.json",
    "chars": 472715,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 240.61194029850745,\n  \"Agent\": \"DQN\"\n },\n {\n  \"Iteration\": 1,\n  \"Value\": 360.108860759"
  },
  {
    "path": "baselines/atari/data/assault.vg.json",
    "chars": 575,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/assault.json\"}, \"height\": 400, \"wid"
  },
  {
    "path": "baselines/atari/data/assault_CNN.json",
    "chars": 373595,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 251.2005076142132,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 260.641025"
  },
  {
    "path": "baselines/atari/data/assault_CNN.vg.json",
    "chars": 578,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/assault_CNN.json\"}, \"height\": 400, "
  },
  {
    "path": "baselines/atari/data/assault_Impala.json",
    "chars": 372500,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 301.64539007092196,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 301.74224"
  },
  {
    "path": "baselines/atari/data/assault_Impala.vg.json",
    "chars": 581,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/assault_Impala.json\"}, \"height\": 40"
  },
  {
    "path": "baselines/atari/data/asterix.json",
    "chars": 472574,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 285.60042507970246,\n  \"Agent\": \"DQN\"\n },\n {\n  \"Iteration\": 1,\n  \"Value\": 406.270270270"
  },
  {
    "path": "baselines/atari/data/asterix.vg.json",
    "chars": 575,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/asterix.json\"}, \"height\": 400, \"wid"
  },
  {
    "path": "baselines/atari/data/asterix_CNN.json",
    "chars": 373465,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 252.80641466208476,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 264.41969"
  },
  {
    "path": "baselines/atari/data/asterix_CNN.vg.json",
    "chars": 578,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/asterix_CNN.json\"}, \"height\": 400, "
  },
  {
    "path": "baselines/atari/data/asterix_Impala.json",
    "chars": 372104,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 248.05122494432072,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 262.62740"
  },
  {
    "path": "baselines/atari/data/asterix_Impala.vg.json",
    "chars": 581,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/asterix_Impala.json\"}, \"height\": 40"
  },
  {
    "path": "baselines/atari/data/asteroids.json",
    "chars": 473463,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 806.0553633217993,\n  \"Agent\": \"DQN\"\n },\n {\n  \"Iteration\": 1,\n  \"Value\": 516.0493827160"
  },
  {
    "path": "baselines/atari/data/asteroids.vg.json",
    "chars": 577,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/asteroids.json\"}, \"height\": 400, \"w"
  },
  {
    "path": "baselines/atari/data/asteroids_CNN.json",
    "chars": 374903,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 842.5454545454545,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 802.377622"
  },
  {
    "path": "baselines/atari/data/asteroids_CNN.vg.json",
    "chars": 580,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/asteroids_CNN.json\"}, \"height\": 400"
  },
  {
    "path": "baselines/atari/data/asteroids_Impala.json",
    "chars": 373884,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 867.2627737226277,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 882.727272"
  },
  {
    "path": "baselines/atari/data/asteroids_Impala.vg.json",
    "chars": 583,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/asteroids_Impala.json\"}, \"height\": "
  },
  {
    "path": "baselines/atari/data/atlantis.json",
    "chars": 432145,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 14404.128440366972,\n  \"Agent\": \"DQN\"\n },\n {\n  \"Iteration\": 1,\n  \"Value\": 7188.10289389"
  },
  {
    "path": "baselines/atari/data/atlantis.vg.json",
    "chars": 576,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/atlantis.json\"}, \"height\": 400, \"wi"
  },
  {
    "path": "baselines/atari/data/atlantis_CNN.json",
    "chars": 336011,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 12781.858407079646,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 13112.554"
  },
  {
    "path": "baselines/atari/data/atlantis_CNN.vg.json",
    "chars": 579,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/atlantis_CNN.json\"}, \"height\": 400,"
  },
  {
    "path": "baselines/atari/data/atlantis_Impala.json",
    "chars": 349145,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 14532.863849765257,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 13998.636"
  },
  {
    "path": "baselines/atari/data/atlantis_Impala.vg.json",
    "chars": 582,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/atlantis_Impala.json\"}, \"height\": 4"
  },
  {
    "path": "baselines/atari/data/bankheist.json",
    "chars": 471008,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 13.726415094339623,\n  \"Agent\": \"DQN\"\n },\n {\n  \"Iteration\": 1,\n  \"Value\": 17.9937304075"
  },
  {
    "path": "baselines/atari/data/bankheist.vg.json",
    "chars": 577,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/bankheist.json\"}, \"height\": 400, \"w"
  },
  {
    "path": "baselines/atari/data/bankheist_CNN.json",
    "chars": 373932,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 12.864197530864198,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 13.865336"
  },
  {
    "path": "baselines/atari/data/bankheist_CNN.vg.json",
    "chars": 580,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/bankheist_CNN.json\"}, \"height\": 400"
  },
  {
    "path": "baselines/atari/data/bankheist_Impala.json",
    "chars": 373936,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 12.995169082125605,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 13.486682"
  },
  {
    "path": "baselines/atari/data/bankheist_Impala.vg.json",
    "chars": 583,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/bankheist_Impala.json\"}, \"height\": "
  },
  {
    "path": "baselines/atari/data/battlezone.json",
    "chars": 470952,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 3519.125683060109,\n  \"Agent\": \"DQN\"\n },\n {\n  \"Iteration\": 1,\n  \"Value\": 3549.668874172"
  },
  {
    "path": "baselines/atari/data/battlezone.vg.json",
    "chars": 578,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/battlezone.json\"}, \"height\": 400, \""
  },
  {
    "path": "baselines/atari/data/battlezone_CNN.json",
    "chars": 374334,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 2625.615763546798,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 2548.22335"
  },
  {
    "path": "baselines/atari/data/battlezone_CNN.vg.json",
    "chars": 581,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/battlezone_CNN.json\"}, \"height\": 40"
  },
  {
    "path": "baselines/atari/data/battlezone_Impala.json",
    "chars": 373179,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 2381.9095477386936,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 2883.8383"
  },
  {
    "path": "baselines/atari/data/battlezone_Impala.vg.json",
    "chars": 584,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/battlezone_Impala.json\"}, \"height\":"
  },
  {
    "path": "baselines/atari/data/beamrider.json",
    "chars": 466510,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 357.7081081081081,\n  \"Agent\": \"DQN\"\n },\n {\n  \"Iteration\": 1,\n  \"Value\": 338.5555555555"
  },
  {
    "path": "baselines/atari/data/beamrider.vg.json",
    "chars": 577,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/beamrider.json\"}, \"height\": 400, \"w"
  },
  {
    "path": "baselines/atari/data/beamrider_CNN.json",
    "chars": 368493,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 367.9347826086956,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 365.956521"
  },
  {
    "path": "baselines/atari/data/beamrider_CNN.vg.json",
    "chars": 580,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/beamrider_CNN.json\"}, \"height\": 400"
  },
  {
    "path": "baselines/atari/data/beamrider_Impala.json",
    "chars": 368746,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 352.7368421052632,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 333.851063"
  },
  {
    "path": "baselines/atari/data/beamrider_Impala.vg.json",
    "chars": 583,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/beamrider_Impala.json\"}, \"height\": "
  },
  {
    "path": "baselines/atari/data/berzerk.json",
    "chars": 471894,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 162.23709369024857,\n  \"Agent\": \"DQN\"\n },\n {\n  \"Iteration\": 1,\n  \"Value\": 302.237871674"
  },
  {
    "path": "baselines/atari/data/berzerk.vg.json",
    "chars": 575,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/berzerk.json\"}, \"height\": 400, \"wid"
  },
  {
    "path": "baselines/atari/data/berzerk_CNN.json",
    "chars": 372664,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 164.0556088207095,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 165.437079"
  },
  {
    "path": "baselines/atari/data/berzerk_CNN.vg.json",
    "chars": 578,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/berzerk_CNN.json\"}, \"height\": 400, "
  },
  {
    "path": "baselines/atari/data/berzerk_Impala.json",
    "chars": 372151,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 162.4785510009533,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 159.096153"
  },
  {
    "path": "baselines/atari/data/berzerk_Impala.vg.json",
    "chars": 581,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/berzerk_Impala.json\"}, \"height\": 40"
  },
  {
    "path": "baselines/atari/data/bowling.json",
    "chars": 470662,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 24.949579831932773,\n  \"Agent\": \"DQN\"\n },\n {\n  \"Iteration\": 1,\n  \"Value\": 28.1769911504"
  },
  {
    "path": "baselines/atari/data/bowling.vg.json",
    "chars": 575,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/bowling.json\"}, \"height\": 400, \"wid"
  },
  {
    "path": "baselines/atari/data/bowling_CNN.json",
    "chars": 370376,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 24.949152542372882,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 26.491525"
  },
  {
    "path": "baselines/atari/data/bowling_CNN.vg.json",
    "chars": 578,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/bowling_CNN.json\"}, \"height\": 400, "
  },
  {
    "path": "baselines/atari/data/bowling_Impala.json",
    "chars": 372471,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 25.6864406779661,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 24.43220338"
  },
  {
    "path": "baselines/atari/data/bowling_Impala.vg.json",
    "chars": 581,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/bowling_Impala.json\"}, \"height\": 40"
  },
  {
    "path": "baselines/atari/data/boxing.json",
    "chars": 470368,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": -3.1214285714285714,\n  \"Agent\": \"DQN\"\n },\n {\n  \"Iteration\": 1,\n  \"Value\": -13.82142857"
  },
  {
    "path": "baselines/atari/data/boxing.vg.json",
    "chars": 574,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/boxing.json\"}, \"height\": 400, \"widt"
  },
  {
    "path": "baselines/atari/data/boxing_CNN.json",
    "chars": 371897,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": -6.214285714285714,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": -5.921428"
  },
  {
    "path": "baselines/atari/data/boxing_CNN.vg.json",
    "chars": 577,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/boxing_CNN.json\"}, \"height\": 400, \""
  },
  {
    "path": "baselines/atari/data/boxing_Impala.json",
    "chars": 372196,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": -4.621428571428571,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": -3.892857"
  },
  {
    "path": "baselines/atari/data/boxing_Impala.vg.json",
    "chars": 580,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/boxing_Impala.json\"}, \"height\": 400"
  },
  {
    "path": "baselines/atari/data/breakout.json",
    "chars": 472022,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 1.571078431372549,\n  \"Agent\": \"DQN\"\n },\n {\n  \"Iteration\": 1,\n  \"Value\": 2.964383561643"
  },
  {
    "path": "baselines/atari/data/breakout.vg.json",
    "chars": 576,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/breakout.json\"}, \"height\": 400, \"wi"
  },
  {
    "path": "baselines/atari/data/breakout_CNN.json",
    "chars": 372047,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 1.7016528925619834,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 1.7154673"
  },
  {
    "path": "baselines/atari/data/breakout_CNN.vg.json",
    "chars": 579,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/breakout_CNN.json\"}, \"height\": 400,"
  },
  {
    "path": "baselines/atari/data/breakout_Impala.json",
    "chars": 372714,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 3.5673469387755103,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 3.2819512"
  },
  {
    "path": "baselines/atari/data/breakout_Impala.vg.json",
    "chars": 582,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/breakout_Impala.json\"}, \"height\": 4"
  },
  {
    "path": "baselines/atari/data/carnival.json",
    "chars": 472681,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 633.6333333333333,\n  \"Agent\": \"DQN\"\n },\n {\n  \"Iteration\": 1,\n  \"Value\": 463.2558139534"
  },
  {
    "path": "baselines/atari/data/carnival.vg.json",
    "chars": 576,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/carnival.json\"}, \"height\": 400, \"wi"
  },
  {
    "path": "baselines/atari/data/carnival_CNN.json",
    "chars": 373455,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 699.5652173913044,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 700.322003"
  },
  {
    "path": "baselines/atari/data/carnival_CNN.vg.json",
    "chars": 579,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/carnival_CNN.json\"}, \"height\": 400,"
  },
  {
    "path": "baselines/atari/data/carnival_Impala.json",
    "chars": 373499,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 723.1541218637993,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 701.065719"
  },
  {
    "path": "baselines/atari/data/carnival_Impala.vg.json",
    "chars": 582,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/carnival_Impala.json\"}, \"height\": 4"
  },
  {
    "path": "baselines/atari/data/centipede.json",
    "chars": 473731,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 2258.67335243553,\n  \"Agent\": \"DQN\"\n },\n {\n  \"Iteration\": 1,\n  \"Value\": 2728.8170731707"
  },
  {
    "path": "baselines/atari/data/centipede.vg.json",
    "chars": 577,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/centipede.json\"}, \"height\": 400, \"w"
  },
  {
    "path": "baselines/atari/data/centipede_CNN.json",
    "chars": 374602,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 2447.801801801802,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 2458.58006"
  },
  {
    "path": "baselines/atari/data/centipede_CNN.vg.json",
    "chars": 580,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/centipede_CNN.json\"}, \"height\": 400"
  },
  {
    "path": "baselines/atari/data/centipede_Impala.json",
    "chars": 373912,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 2371.510144927536,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 2346.01764"
  },
  {
    "path": "baselines/atari/data/centipede_Impala.vg.json",
    "chars": 583,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/centipede_Impala.json\"}, \"height\": "
  },
  {
    "path": "baselines/atari/data/choppercommand.json",
    "chars": 467262,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 630.2083333333334,\n  \"Agent\": \"DQN\"\n },\n {\n  \"Iteration\": 1,\n  \"Value\": 467.4121405750"
  },
  {
    "path": "baselines/atari/data/choppercommand.vg.json",
    "chars": 582,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/choppercommand.json\"}, \"height\": 40"
  },
  {
    "path": "baselines/atari/data/choppercommand_CNN.json",
    "chars": 359343,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 786.9565217391304,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 694.736842"
  },
  {
    "path": "baselines/atari/data/choppercommand_CNN.vg.json",
    "chars": 585,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/choppercommand_CNN.json\"}, \"height\""
  },
  {
    "path": "baselines/atari/data/choppercommand_Impala.json",
    "chars": 361808,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 685.0,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 835.2941176470588,\n  \""
  },
  {
    "path": "baselines/atari/data/choppercommand_Impala.vg.json",
    "chars": 588,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/choppercommand_Impala.json\"}, \"heig"
  },
  {
    "path": "baselines/atari/data/crazyclimber.json",
    "chars": 469833,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 16017.64705882353,\n  \"Agent\": \"DQN\"\n },\n {\n  \"Iteration\": 1,\n  \"Value\": 31122.07792207"
  },
  {
    "path": "baselines/atari/data/crazyclimber.vg.json",
    "chars": 580,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/crazyclimber.json\"}, \"height\": 400,"
  },
  {
    "path": "baselines/atari/data/crazyclimber_CNN.json",
    "chars": 371639,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 12404.301075268817,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 12940.909"
  },
  {
    "path": "baselines/atari/data/crazyclimber_CNN.vg.json",
    "chars": 583,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/crazyclimber_CNN.json\"}, \"height\": "
  },
  {
    "path": "baselines/atari/data/crazyclimber_Impala.json",
    "chars": 372067,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 14308.510638297872,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 17077.011"
  },
  {
    "path": "baselines/atari/data/crazyclimber_Impala.vg.json",
    "chars": 586,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/crazyclimber_Impala.json\"}, \"height"
  },
  {
    "path": "baselines/atari/data/demonattack.json",
    "chars": 468371,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 158.3050847457627,\n  \"Agent\": \"DQN\"\n },\n {\n  \"Iteration\": 1,\n  \"Value\": 122.9080118694"
  },
  {
    "path": "baselines/atari/data/demonattack.vg.json",
    "chars": 579,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/demonattack.json\"}, \"height\": 400, "
  },
  {
    "path": "baselines/atari/data/demonattack_CNN.json",
    "chars": 369998,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 160.61264822134387,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 164.27685"
  },
  {
    "path": "baselines/atari/data/demonattack_CNN.vg.json",
    "chars": 582,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/demonattack_CNN.json\"}, \"height\": 4"
  },
  {
    "path": "baselines/atari/data/demonattack_Impala.json",
    "chars": 365461,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 181.31048387096774,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 181.51260"
  },
  {
    "path": "baselines/atari/data/demonattack_Impala.vg.json",
    "chars": 585,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/demonattack_Impala.json\"}, \"height\""
  },
  {
    "path": "baselines/atari/data/doubledunk.json",
    "chars": 473563,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": -18.333333333333332,\n  \"Agent\": \"DQN\"\n },\n {\n  \"Iteration\": 1,\n  \"Value\": -21.28440366"
  },
  {
    "path": "baselines/atari/data/doubledunk.vg.json",
    "chars": 578,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/doubledunk.json\"}, \"height\": 400, \""
  },
  {
    "path": "baselines/atari/data/doubledunk_CNN.json",
    "chars": 373722,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": -19.083969465648856,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": -19.3282"
  },
  {
    "path": "baselines/atari/data/doubledunk_CNN.vg.json",
    "chars": 581,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/doubledunk_CNN.json\"}, \"height\": 40"
  },
  {
    "path": "baselines/atari/data/doubledunk_Impala.json",
    "chars": 373612,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": -18.713178294573645,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": -18.7669"
  },
  {
    "path": "baselines/atari/data/doubledunk_Impala.vg.json",
    "chars": 584,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/doubledunk_Impala.json\"}, \"height\":"
  },
  {
    "path": "baselines/atari/data/elevatoraction.json",
    "chars": 421616,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 4518.181818181818,\n  \"Agent\": \"DQN\"\n },\n {\n  \"Iteration\": 1,\n  \"Value\": 0.0,\n  \"Agent\""
  },
  {
    "path": "baselines/atari/data/elevatoraction.vg.json",
    "chars": 582,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/elevatoraction.json\"}, \"height\": 40"
  },
  {
    "path": "baselines/atari/data/elevatoraction_CNN.json",
    "chars": 331313,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 710.0,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 0.0,\n  \"Agent\": \"Rainb"
  },
  {
    "path": "baselines/atari/data/elevatoraction_CNN.vg.json",
    "chars": 585,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/elevatoraction_CNN.json\"}, \"height\""
  },
  {
    "path": "baselines/atari/data/elevatoraction_Impala.json",
    "chars": 326522,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 4270.0,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 4720.0,\n  \"Agent\": \"R"
  },
  {
    "path": "baselines/atari/data/elevatoraction_Impala.vg.json",
    "chars": 588,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/elevatoraction_Impala.json\"}, \"heig"
  },
  {
    "path": "baselines/atari/data/enduro.json",
    "chars": 448274,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 0.0,\n  \"Agent\": \"DQN\"\n },\n {\n  \"Iteration\": 1,\n  \"Value\": 1.131578947368421,\n  \"Agent\""
  },
  {
    "path": "baselines/atari/data/enduro.vg.json",
    "chars": 574,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/enduro.json\"}, \"height\": 400, \"widt"
  },
  {
    "path": "baselines/atari/data/enduro_CNN.json",
    "chars": 347341,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 0.06578947368421052,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 0.210526"
  },
  {
    "path": "baselines/atari/data/enduro_CNN.vg.json",
    "chars": 577,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/enduro_CNN.json\"}, \"height\": 400, \""
  },
  {
    "path": "baselines/atari/data/enduro_Impala.json",
    "chars": 331910,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 0.09210526315789473,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 0.0,\n  \""
  },
  {
    "path": "baselines/atari/data/enduro_Impala.vg.json",
    "chars": 580,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/enduro_Impala.json\"}, \"height\": 400"
  },
  {
    "path": "baselines/atari/data/fishingderby.json",
    "chars": 473061,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": -90.22627737226277,\n  \"Agent\": \"DQN\"\n },\n {\n  \"Iteration\": 1,\n  \"Value\": -88.5,\n  \"Age"
  },
  {
    "path": "baselines/atari/data/fishingderby.vg.json",
    "chars": 580,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/fishingderby.json\"}, \"height\": 400,"
  },
  {
    "path": "baselines/atari/data/fishingderby_CNN.json",
    "chars": 373399,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": -90.67164179104478,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": -90.21481"
  },
  {
    "path": "baselines/atari/data/fishingderby_CNN.vg.json",
    "chars": 583,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/fishingderby_CNN.json\"}, \"height\": "
  },
  {
    "path": "baselines/atari/data/fishingderby_Impala.json",
    "chars": 373465,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": -90.57894736842105,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": -91.54814"
  },
  {
    "path": "baselines/atari/data/fishingderby_Impala.vg.json",
    "chars": 586,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/fishingderby_Impala.json\"}, \"height"
  },
  {
    "path": "baselines/atari/data/freeway.json",
    "chars": 465460,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 0.016260162601626018,\n  \"Agent\": \"DQN\"\n },\n {\n  \"Iteration\": 1,\n  \"Value\": 0.0,\n  \"Age"
  },
  {
    "path": "baselines/atari/data/freeway.vg.json",
    "chars": 575,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/freeway.json\"}, \"height\": 400, \"wid"
  },
  {
    "path": "baselines/atari/data/freeway_CNN.json",
    "chars": 369064,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 0.9512195121951219,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 0.5121951"
  },
  {
    "path": "baselines/atari/data/freeway_CNN.vg.json",
    "chars": 578,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/freeway_CNN.json\"}, \"height\": 400, "
  },
  {
    "path": "baselines/atari/data/freeway_Impala.json",
    "chars": 375003,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 0.056910569105691054,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 0.00813"
  },
  {
    "path": "baselines/atari/data/freeway_Impala.vg.json",
    "chars": 581,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/freeway_Impala.json\"}, \"height\": 40"
  },
  {
    "path": "baselines/atari/data/frostbite.json",
    "chars": 471517,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 81.03338632750398,\n  \"Agent\": \"DQN\"\n },\n {\n  \"Iteration\": 1,\n  \"Value\": 210.0406504065"
  },
  {
    "path": "baselines/atari/data/frostbite.vg.json",
    "chars": 577,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/frostbite.json\"}, \"height\": 400, \"w"
  },
  {
    "path": "baselines/atari/data/frostbite_CNN.json",
    "chars": 371870,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 75.31587057010786,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 72.1962616"
  },
  {
    "path": "baselines/atari/data/frostbite_CNN.vg.json",
    "chars": 580,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/frostbite_CNN.json\"}, \"height\": 400"
  },
  {
    "path": "baselines/atari/data/frostbite_Impala.json",
    "chars": 371896,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 101.30217028380635,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 103.70617"
  },
  {
    "path": "baselines/atari/data/frostbite_Impala.vg.json",
    "chars": 583,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/frostbite_Impala.json\"}, \"height\": "
  },
  {
    "path": "baselines/atari/data/gopher.json",
    "chars": 468669,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 372.2962962962963,\n  \"Agent\": \"DQN\"\n },\n {\n  \"Iteration\": 1,\n  \"Value\": 439.0076335877"
  },
  {
    "path": "baselines/atari/data/gopher.vg.json",
    "chars": 574,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/gopher.json\"}, \"height\": 400, \"widt"
  },
  {
    "path": "baselines/atari/data/gopher_CNN.json",
    "chars": 370127,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 384.149377593361,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 380.6694560"
  },
  {
    "path": "baselines/atari/data/gopher_CNN.vg.json",
    "chars": 577,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/gopher_CNN.json\"}, \"height\": 400, \""
  },
  {
    "path": "baselines/atari/data/gopher_Impala.json",
    "chars": 371660,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 427.78242677824267,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 373.55371"
  },
  {
    "path": "baselines/atari/data/gopher_Impala.vg.json",
    "chars": 580,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/gopher_Impala.json\"}, \"height\": 400"
  },
  {
    "path": "baselines/atari/data/gravitar.json",
    "chars": 472911,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 184.46601941747574,\n  \"Agent\": \"DQN\"\n },\n {\n  \"Iteration\": 1,\n  \"Value\": 80.0,\n  \"Agen"
  },
  {
    "path": "baselines/atari/data/gravitar.vg.json",
    "chars": 576,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/gravitar.json\"}, \"height\": 400, \"wi"
  },
  {
    "path": "baselines/atari/data/gravitar_CNN.json",
    "chars": 374291,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 182.2418136020151,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 186.246786"
  },
  {
    "path": "baselines/atari/data/gravitar_CNN.vg.json",
    "chars": 579,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/gravitar_CNN.json\"}, \"height\": 400,"
  },
  {
    "path": "baselines/atari/data/gravitar_Impala.json",
    "chars": 374277,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 165.51724137931035,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 178.44611"
  },
  {
    "path": "baselines/atari/data/gravitar_Impala.vg.json",
    "chars": 582,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/gravitar_Impala.json\"}, \"height\": 4"
  },
  {
    "path": "baselines/atari/data/hero.json",
    "chars": 472543,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 786.4921465968587,\n  \"Agent\": \"DQN\"\n },\n {\n  \"Iteration\": 1,\n  \"Value\": 2170.071428571"
  },
  {
    "path": "baselines/atari/data/hero.vg.json",
    "chars": 572,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/hero.json\"}, \"height\": 400, \"width\""
  },
  {
    "path": "baselines/atari/data/hero_CNN.json",
    "chars": 373169,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 1458.5495283018868,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 1515.2117"
  },
  {
    "path": "baselines/atari/data/hero_CNN.vg.json",
    "chars": 575,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/hero_CNN.json\"}, \"height\": 400, \"wi"
  },
  {
    "path": "baselines/atari/data/hero_Impala.json",
    "chars": 372395,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 1226.39798488665,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 1810.267175"
  },
  {
    "path": "baselines/atari/data/hero_Impala.vg.json",
    "chars": 578,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/hero_Impala.json\"}, \"height\": 400, "
  },
  {
    "path": "baselines/atari/data/icehockey.json",
    "chars": 471326,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": -12.486486486486486,\n  \"Agent\": \"DQN\"\n },\n {\n  \"Iteration\": 1,\n  \"Value\": -14.93150684"
  },
  {
    "path": "baselines/atari/data/icehockey.vg.json",
    "chars": 577,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/icehockey.json\"}, \"height\": 400, \"w"
  },
  {
    "path": "baselines/atari/data/icehockey_CNN.json",
    "chars": 374070,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": -12.173333333333334,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": -12.4189"
  },
  {
    "path": "baselines/atari/data/icehockey_CNN.vg.json",
    "chars": 580,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/icehockey_CNN.json\"}, \"height\": 400"
  },
  {
    "path": "baselines/atari/data/icehockey_Impala.json",
    "chars": 372742,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": -12.783783783783784,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": -12.4133"
  },
  {
    "path": "baselines/atari/data/icehockey_Impala.vg.json",
    "chars": 583,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/icehockey_Impala.json\"}, \"height\": "
  },
  {
    "path": "baselines/atari/data/jamesbond.json",
    "chars": 469478,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 40.27196652719665,\n  \"Agent\": \"DQN\"\n },\n {\n  \"Iteration\": 1,\n  \"Value\": 35.04784688995"
  },
  {
    "path": "baselines/atari/data/jamesbond.vg.json",
    "chars": 577,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/jamesbond.json\"}, \"height\": 400, \"w"
  },
  {
    "path": "baselines/atari/data/jamesbond_CNN.json",
    "chars": 371458,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 35.560344827586206,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 39.065817"
  },
  {
    "path": "baselines/atari/data/jamesbond_CNN.vg.json",
    "chars": 580,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/jamesbond_CNN.json\"}, \"height\": 400"
  },
  {
    "path": "baselines/atari/data/jamesbond_Impala.json",
    "chars": 371559,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 37.63213530655391,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 37.9237288"
  },
  {
    "path": "baselines/atari/data/jamesbond_Impala.vg.json",
    "chars": 583,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/jamesbond_Impala.json\"}, \"height\": "
  },
  {
    "path": "baselines/atari/data/journeyescape.json",
    "chars": 482480,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": -16232.743362831858,\n  \"Agent\": \"DQN\"\n },\n {\n  \"Iteration\": 1,\n  \"Value\": -6748.672566"
  },
  {
    "path": "baselines/atari/data/journeyescape.vg.json",
    "chars": 581,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/journeyescape.json\"}, \"height\": 400"
  },
  {
    "path": "baselines/atari/data/journeyescape_CNN.json",
    "chars": 382293,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": -18608.849557522124,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": -18962.8"
  },
  {
    "path": "baselines/atari/data/journeyescape_CNN.vg.json",
    "chars": 584,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/journeyescape_CNN.json\"}, \"height\":"
  },
  {
    "path": "baselines/atari/data/journeyescape_Impala.json",
    "chars": 380996,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": -19719.174041297934,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": -18601.7"
  },
  {
    "path": "baselines/atari/data/journeyescape_Impala.vg.json",
    "chars": 587,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/journeyescape_Impala.json\"}, \"heigh"
  },
  {
    "path": "baselines/atari/data/kangaroo.json",
    "chars": 470998,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 78.23529411764706,\n  \"Agent\": \"DQN\"\n },\n {\n  \"Iteration\": 1,\n  \"Value\": 181.9521178637"
  },
  {
    "path": "baselines/atari/data/kangaroo.vg.json",
    "chars": 576,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/kangaroo.json\"}, \"height\": 400, \"wi"
  },
  {
    "path": "baselines/atari/data/kangaroo_CNN.json",
    "chars": 372735,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 45.283018867924525,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 48.669201"
  },
  {
    "path": "baselines/atari/data/kangaroo_CNN.vg.json",
    "chars": 579,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/kangaroo_CNN.json\"}, \"height\": 400,"
  },
  {
    "path": "baselines/atari/data/kangaroo_Impala.json",
    "chars": 371352,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 46.51162790697674,\n  \"Agent\": \"Rainbow\"\n },\n {\n  \"Iteration\": 0,\n  \"Value\": 45.5769230"
  },
  {
    "path": "baselines/atari/data/kangaroo_Impala.vg.json",
    "chars": 582,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/kangaroo_Impala.json\"}, \"height\": 4"
  },
  {
    "path": "baselines/atari/data/krull.json",
    "chars": 471149,
    "preview": "[\n {\n  \"Iteration\": 0,\n  \"Value\": 2330.3582887700536,\n  \"Agent\": \"DQN\"\n },\n {\n  \"Iteration\": 1,\n  \"Value\": 1849.55063291"
  },
  {
    "path": "baselines/atari/data/krull.vg.json",
    "chars": 573,
    "preview": "{\"$schema\": \"https://vega.github.io/schema/vega-lite/v3.json\", \"data\": {\"url\": \"data/krull.json\"}, \"height\": 400, \"width"
  }
]

// ... and 732 more files (download for full content)

About this extraction

This page contains the full source code of the google/dopamine GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 932 files (77.9 MB), approximately 20.5M tokens, and a symbol index with 1721 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!