From 98c7b39d7d217e9e63d501284781c8bae77150a4 Mon Sep 17 00:00:00 2001 From: Theresa Eimer Date: Thu, 30 May 2024 11:24:21 +0200 Subject: [PATCH] example update --- examples/Readme.md | 9 +- examples/configs/epsilon_heuristic.yaml | 4 +- examples/configs/gradient_lr.yaml | 4 +- examples/configs/smac.yaml | 2 +- examples/hypersweeper_tuning.ipynb | 4994 +++++++++++++++++++++++ examples/run_heuristic_schedule.py | 9 + examples/run_reactive_schedule.py | 13 +- examples/schedules.ipynb | 214 + 8 files changed, 5239 insertions(+), 10 deletions(-) create mode 100644 examples/hypersweeper_tuning.ipynb create mode 100644 examples/schedules.ipynb diff --git a/examples/Readme.md b/examples/Readme.md index c5cfabbf7..de7dc428d 100644 --- a/examples/Readme.md +++ b/examples/Readme.md @@ -6,10 +6,17 @@ We provide three different categories of examples: 3. Running a reactive schedule based on the gradient history We use 'hydra' as a command line interface for these experiments, you'll find the corresponding configurations (including some variations on the algorithms and environments) in the 'configs' directory. +The "hypersweeper_tuning" and "schedules" notebooks can help you run these examples and inspect their results. ## 1. Black-Box HPO -We use the 'hypersweeper' package to demonstrate how ARLBench can be used for black-box HPO. Since it's hydra-based, we simply set up a script which takes a configuration, runs it and returns the evaluation reward at the end. You can try a single run like this: +We use the 'hypersweeper' package to demonstrate how ARLBench can be used for black-box HPO. Since it's hydra-based, we simply set up a script which takes a configuration, runs it and returns the evaluation reward at the end. First, use pip to install the hypersweeper: + +```bash +pip install hypersweeper +``` + +You can try a single run of arlbench first: ```bash python run_arlbench.py diff --git a/examples/configs/epsilon_heuristic.yaml b/examples/configs/epsilon_heuristic.yaml index 21424f7ea..29ba27856 100644 --- a/examples/configs/epsilon_heuristic.yaml +++ b/examples/configs/epsilon_heuristic.yaml @@ -4,9 +4,9 @@ defaults: hydra: run: - dir: results/${algorithm}_${environment.name}/${autorl.seed} + dir: results/heuristic_schedule_${algorithm}_${environment.name}/${autorl.seed} sweep: - dir: results/${algorithm}_${environment.name}/${autorl.seed} + dir: results/heuristic_schedule_${algorithm}_${environment.name}/${autorl.seed} job: chdir: true diff --git a/examples/configs/gradient_lr.yaml b/examples/configs/gradient_lr.yaml index 7d2ff1bca..df17abc46 100644 --- a/examples/configs/gradient_lr.yaml +++ b/examples/configs/gradient_lr.yaml @@ -4,9 +4,9 @@ defaults: hydra: run: - dir: results/${algorithm}_${environment.name}/${autorl.seed} + dir: results/reactive_schedule_${algorithm}_${environment.name}/${autorl.seed} sweep: - dir: results/${algorithm}_${environment.name}/${autorl.seed} + dir: results/reactive_schedule_${algorithm}_${environment.name}/${autorl.seed} job: chdir: true diff --git a/examples/configs/smac.yaml b/examples/configs/smac.yaml index 639ea4e8f..dd671da52 100644 --- a/examples/configs/smac.yaml +++ b/examples/configs/smac.yaml @@ -31,7 +31,7 @@ hydra: n_workers: 1 output_directory: ${hydra.sweep.dir} seeds: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] - maximize: true + maximize: false run: dir: results/smac/${algorithm}_${autorl.env_name}/${smac_seed}/${seed} sweep: diff --git a/examples/hypersweeper_tuning.ipynb b/examples/hypersweeper_tuning.ipynb new file mode 100644 index 000000000..9d3ac9a81 --- /dev/null +++ b/examples/hypersweeper_tuning.ipynb @@ -0,0 +1,4994 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Black-Box Hyperparameter Optimization With ARLBench\n", + "\n", + "The most common way of optimizing hyperparameters is probably black-box optimization, i.e. using a reward or cost as the sole decision factor for a configuration's quality.\n", + "There are many great tools that do this integrated into hydra, so let's use one to tune our trusty CartPole DQN: the Hypersweeper." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "First, let's use the provided runscript to do a random search:" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Couldn't import CARP-S, the CARP-S Hypersweeper will not be available.\n", + "Couldn't import DEHB, the DEHB Hypersweeper will not be available.\n", + "Couldn't import HEBO, the HEBO Hypersweeper will not be available.\n", + "Couldn't import Nevergrad, the Nevergrad Hypersweeper will not be available.\n", + "Config \u001b[1m{\u001b[0m\u001b[32m'hydra'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'run'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'dir'\u001b[0m: \n", + "\u001b[32m'results/sobol/$\u001b[0m\u001b[32m{\u001b[0m\u001b[32malgorithm\u001b[0m\u001b[32m}\u001b[0m\u001b[32m_$\u001b[0m\u001b[32m{\u001b[0m\u001b[32mautorl.env_name\u001b[0m\u001b[32m}\u001b[0m\u001b[32m/$\u001b[0m\u001b[32m{\u001b[0m\u001b[32mautorl.seed\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'sweep'\u001b[0m: \n", + "\u001b[1m{\u001b[0m\u001b[32m'dir'\u001b[0m: \u001b[32m'results/sobol/$\u001b[0m\u001b[32m{\u001b[0m\u001b[32malgorithm\u001b[0m\u001b[32m}\u001b[0m\u001b[32m_$\u001b[0m\u001b[32m{\u001b[0m\u001b[32mautorl.env_name\u001b[0m\u001b[32m}\u001b[0m\u001b[32m/$\u001b[0m\u001b[32m{\u001b[0m\u001b[32mautorl.seed\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m, \n", + "\u001b[32m'subdir'\u001b[0m: \u001b[32m'$\u001b[0m\u001b[32m{\u001b[0m\u001b[32mhydra.job.num\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'launcher'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'_target_'\u001b[0m: \n", + "\u001b[32m'hydra._internal.core_plugins.basic_launcher.BasicLauncher'\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'sweeper'\u001b[0m: \n", + "\u001b[1m{\u001b[0m\u001b[32m'_target_'\u001b[0m: \u001b[32m'hydra_plugins.hypersweeper.hypersweeper.Hypersweeper'\u001b[0m, \n", + "\u001b[32m'opt_constructor'\u001b[0m: \u001b[32m'hydra_plugins.hyper_rs.hyper_rs.make_rs'\u001b[0m, \u001b[32m'search_space'\u001b[0m: \n", + "\u001b[32m'$\u001b[0m\u001b[32m{\u001b[0m\u001b[32msearch_space\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m, \u001b[32m'resume'\u001b[0m: \u001b[3;91mFalse\u001b[0m, \u001b[32m'budget'\u001b[0m: \u001b[3;35mNone\u001b[0m, \u001b[32m'n_trials'\u001b[0m: \u001b[1;36m16\u001b[0m, \n", + "\u001b[32m'budget_variable'\u001b[0m: \u001b[3;35mNone\u001b[0m, \u001b[32m'loading_variable'\u001b[0m: \u001b[3;35mNone\u001b[0m, \u001b[32m'saving_variable'\u001b[0m: \u001b[3;35mNone\u001b[0m, \n", + "\u001b[32m'sweeper_kwargs'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'max_parallelization'\u001b[0m: \u001b[1;36m1\u001b[0m\u001b[1m}\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'help'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'app_name'\u001b[0m: \n", + "\u001b[32m'$\u001b[0m\u001b[32m{\u001b[0m\u001b[32mhydra.job.name\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m, \u001b[32m'header'\u001b[0m: \u001b[32m'$\u001b[0m\u001b[32m{\u001b[0m\u001b[32mhydra.help.app_name\u001b[0m\u001b[32m}\u001b[0m\u001b[32m is powered by Hydra.\\n'\u001b[0m, \n", + "\u001b[32m'footer'\u001b[0m: \u001b[32m'Powered by Hydra \u001b[0m\u001b[32m(\u001b[0m\u001b[32mhttps://hydra.cc\u001b[0m\u001b[32m)\u001b[0m\u001b[32m\\nUse --hydra-help to view Hydra \u001b[0m\n", + "\u001b[32mspecific help\\n'\u001b[0m, \u001b[32m'template'\u001b[0m: \u001b[32m'$\u001b[0m\u001b[32m{\u001b[0m\u001b[32mhydra.help.header\u001b[0m\u001b[32m}\u001b[0m\u001b[32m\\\u001b[0m\u001b[32mn\u001b[0m\u001b[32m== Configuration groups \u001b[0m\n", + "\u001b[32m==\\nCompose your configuration from those groups \u001b[0m\n", + "\u001b[32m(\u001b[0m\u001b[32mgroup\u001b[0m\u001b[32m=\u001b[0m\u001b[32moption\u001b[0m\u001b[32m)\u001b[0m\u001b[32m\\n\\n$APP_CONFIG_GROUPS\\n\\\u001b[0m\u001b[32mn\u001b[0m\u001b[32m== Config ==\\nOverride anything in the \u001b[0m\n", + "\u001b[32mconfig \u001b[0m\u001b[32m(\u001b[0m\u001b[32mfoo.\u001b[0m\u001b[32mbar\u001b[0m\u001b[32m=\u001b[0m\u001b[32mvalue\u001b[0m\u001b[32m)\u001b[0m\u001b[32m\\n\\n$CONFIG\\n\\n$\u001b[0m\u001b[32m{\u001b[0m\u001b[32mhydra.help.footer\u001b[0m\u001b[32m}\u001b[0m\u001b[32m\\n'\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'hydra_help'\u001b[0m: \n", + "\u001b[1m{\u001b[0m\u001b[32m'template'\u001b[0m: \u001b[32m\"Hydra \u001b[0m\u001b[32m(\u001b[0m\u001b[32m$\u001b[0m\u001b[32m{\u001b[0m\u001b[32mhydra.runtime.version\u001b[0m\u001b[32m}\u001b[0m\u001b[32m)\u001b[0m\u001b[32m\\nSee https://hydra.cc for more \u001b[0m\n", + "\u001b[32minfo.\\n\\\u001b[0m\u001b[32mn\u001b[0m\u001b[32m== Flags ==\\n$FLAGS_HELP\\n\\\u001b[0m\u001b[32mn\u001b[0m\u001b[32m== Configuration groups ==\\nCompose your \u001b[0m\n", + "\u001b[32mconfiguration from those groups \u001b[0m\u001b[32m(\u001b[0m\u001b[32mFor example, append hydra/\u001b[0m\u001b[32mjob_logging\u001b[0m\u001b[32m=\u001b[0m\u001b[32mdisabled\u001b[0m\u001b[32m \u001b[0m\n", + "\u001b[32mto command line\u001b[0m\u001b[32m)\u001b[0m\u001b[32m\\n\\n$HYDRA_CONFIG_GROUPS\\n\\nUse '--cfg hydra' to Show the Hydra \u001b[0m\n", + "\u001b[32mconfig.\\n\"\u001b[0m, \u001b[32m'hydra_help'\u001b[0m: \u001b[32m'???'\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'hydra_logging'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'version'\u001b[0m: \u001b[1;36m1\u001b[0m, \u001b[32m'formatters'\u001b[0m: \n", + "\u001b[1m{\u001b[0m\u001b[32m'simple'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'format'\u001b[0m: \u001b[32m'\u001b[0m\u001b[32m[\u001b[0m\u001b[32m%\u001b[0m\u001b[32m(\u001b[0m\u001b[32masctime\u001b[0m\u001b[32m)\u001b[0m\u001b[32ms\u001b[0m\u001b[32m]\u001b[0m\u001b[32m[\u001b[0m\u001b[32mHYDRA\u001b[0m\u001b[32m]\u001b[0m\u001b[32m %\u001b[0m\u001b[32m(\u001b[0m\u001b[32mmessage\u001b[0m\u001b[32m)\u001b[0m\u001b[32ms'\u001b[0m\u001b[1m}\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'handlers'\u001b[0m: \n", + "\u001b[1m{\u001b[0m\u001b[32m'console'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'class'\u001b[0m: \u001b[32m'logging.StreamHandler'\u001b[0m, \u001b[32m'formatter'\u001b[0m: \u001b[32m'simple'\u001b[0m, \u001b[32m'stream'\u001b[0m: \n", + "\u001b[32m'ext://sys.stdout'\u001b[0m\u001b[1m}\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'root'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'level'\u001b[0m: \u001b[32m'INFO'\u001b[0m, \u001b[32m'handlers'\u001b[0m: \u001b[1m[\u001b[0m\u001b[32m'console'\u001b[0m\u001b[1m]\u001b[0m\u001b[1m}\u001b[0m, \n", + "\u001b[32m'loggers'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'logging_example'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'level'\u001b[0m: \u001b[32m'DEBUG'\u001b[0m\u001b[1m}\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'disable_existing_loggers'\u001b[0m: \n", + "\u001b[3;91mFalse\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'job_logging'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'version'\u001b[0m: \u001b[1;36m1\u001b[0m, \u001b[32m'formatters'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'simple'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'format'\u001b[0m: \n", + "\u001b[32m'\u001b[0m\u001b[32m[\u001b[0m\u001b[32m%\u001b[0m\u001b[32m(\u001b[0m\u001b[32masctime\u001b[0m\u001b[32m)\u001b[0m\u001b[32ms\u001b[0m\u001b[32m]\u001b[0m\u001b[32m[\u001b[0m\u001b[32m%\u001b[0m\u001b[32m(\u001b[0m\u001b[32mname\u001b[0m\u001b[32m)\u001b[0m\u001b[32ms\u001b[0m\u001b[32m]\u001b[0m\u001b[32m[\u001b[0m\u001b[32m%\u001b[0m\u001b[32m(\u001b[0m\u001b[32mlevelname\u001b[0m\u001b[32m)\u001b[0m\u001b[32ms\u001b[0m\u001b[32m]\u001b[0m\u001b[32m - %\u001b[0m\u001b[32m(\u001b[0m\u001b[32mmessage\u001b[0m\u001b[32m)\u001b[0m\u001b[32ms'\u001b[0m\u001b[1m}\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'handlers'\u001b[0m: \n", + "\u001b[1m{\u001b[0m\u001b[32m'console'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'class'\u001b[0m: \u001b[32m'logging.StreamHandler'\u001b[0m, \u001b[32m'formatter'\u001b[0m: \u001b[32m'simple'\u001b[0m, \u001b[32m'stream'\u001b[0m: \n", + "\u001b[32m'ext://sys.stdout'\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'file'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'class'\u001b[0m: \u001b[32m'logging.FileHandler'\u001b[0m, \u001b[32m'formatter'\u001b[0m: \n", + "\u001b[32m'simple'\u001b[0m, \u001b[32m'filename'\u001b[0m: \u001b[32m'$\u001b[0m\u001b[32m{\u001b[0m\u001b[32mhydra.runtime.output_dir\u001b[0m\u001b[32m}\u001b[0m\u001b[32m/$\u001b[0m\u001b[32m{\u001b[0m\u001b[32mhydra.job.name\u001b[0m\u001b[32m}\u001b[0m\u001b[32m.log'\u001b[0m\u001b[1m}\u001b[0m\u001b[1m}\u001b[0m, \n", + "\u001b[32m'root'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'level'\u001b[0m: \u001b[32m'INFO'\u001b[0m, \u001b[32m'handlers'\u001b[0m: \u001b[1m[\u001b[0m\u001b[32m'console'\u001b[0m, \u001b[32m'file'\u001b[0m\u001b[1m]\u001b[0m\u001b[1m}\u001b[0m, \n", + "\u001b[32m'disable_existing_loggers'\u001b[0m: \u001b[3;91mFalse\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'env'\u001b[0m: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'mode'\u001b[0m: \u001b[1m<\u001b[0m\u001b[1;95mRunMode.MULTIRUN:\u001b[0m\u001b[39m \u001b[0m\u001b[1;36m2\u001b[0m\u001b[1m>\u001b[0m, \n", + "\u001b[32m'searchpath'\u001b[0m: \u001b[1m[\u001b[0m\u001b[1m]\u001b[0m, \u001b[32m'callbacks'\u001b[0m: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'output_subdir'\u001b[0m: \u001b[32m'.hydra'\u001b[0m, \u001b[32m'overrides'\u001b[0m: \n", + "\u001b[1m{\u001b[0m\u001b[32m'hydra'\u001b[0m: \u001b[1m[\u001b[0m\u001b[32m'hydra.\u001b[0m\u001b[32mmode\u001b[0m\u001b[32m=\u001b[0m\u001b[32mMULTIRUN\u001b[0m\u001b[32m'\u001b[0m\u001b[1m]\u001b[0m, \u001b[32m'task'\u001b[0m: \u001b[1m[\u001b[0m\u001b[1m]\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'job'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'name'\u001b[0m: \u001b[32m'run_arlbench'\u001b[0m, \n", + "\u001b[32m'chdir'\u001b[0m: \u001b[3;92mTrue\u001b[0m, \u001b[32m'override_dirname'\u001b[0m: \u001b[32m''\u001b[0m, \u001b[32m'id'\u001b[0m: \u001b[32m'???'\u001b[0m, \u001b[32m'num'\u001b[0m: \u001b[32m'???'\u001b[0m, \u001b[32m'config_name'\u001b[0m:\n", + "\u001b[32m'random_search'\u001b[0m, \u001b[32m'env_set'\u001b[0m: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'env_copy'\u001b[0m: \u001b[1m[\u001b[0m\u001b[1m]\u001b[0m, \u001b[32m'config'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'override_dirname'\u001b[0m: \n", + "\u001b[1m{\u001b[0m\u001b[32m'kv_sep'\u001b[0m: \u001b[32m'='\u001b[0m, \u001b[32m'item_sep'\u001b[0m: \u001b[32m','\u001b[0m, \u001b[32m'exclude_keys'\u001b[0m: \u001b[1m[\u001b[0m\u001b[1m]\u001b[0m\u001b[1m}\u001b[0m\u001b[1m}\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'runtime'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'version'\u001b[0m: \n", + "\u001b[32m'1.3.2'\u001b[0m, \u001b[32m'version_base'\u001b[0m: \u001b[32m'1.3'\u001b[0m, \u001b[32m'cwd'\u001b[0m: \n", + "\u001b[32m'/Users/theeimer/Documents/git/arlbench/examples'\u001b[0m, \u001b[32m'config_sources'\u001b[0m: \u001b[1m[\u001b[0m\u001b[1m{\u001b[0m\u001b[32m'path'\u001b[0m: \n", + "\u001b[32m'hydra.conf'\u001b[0m, \u001b[32m'schema'\u001b[0m: \u001b[32m'pkg'\u001b[0m, \u001b[32m'provider'\u001b[0m: \u001b[32m'hydra'\u001b[0m\u001b[1m}\u001b[0m, \u001b[1m{\u001b[0m\u001b[32m'path'\u001b[0m: \n", + "\u001b[32m'/Users/theeimer/Documents/git/arlbench/examples/configs'\u001b[0m, \u001b[32m'schema'\u001b[0m: \u001b[32m'file'\u001b[0m, \n", + "\u001b[32m'provider'\u001b[0m: \u001b[32m'main'\u001b[0m\u001b[1m}\u001b[0m, \u001b[1m{\u001b[0m\u001b[32m'path'\u001b[0m: \u001b[32m'hydra_plugins.hydra_colorlog.conf'\u001b[0m, \u001b[32m'schema'\u001b[0m: \n", + "\u001b[32m'pkg'\u001b[0m, \u001b[32m'provider'\u001b[0m: \u001b[32m'hydra-colorlog'\u001b[0m\u001b[1m}\u001b[0m, \u001b[1m{\u001b[0m\u001b[32m'path'\u001b[0m: \u001b[32m''\u001b[0m, \u001b[32m'schema'\u001b[0m: \u001b[32m'structured'\u001b[0m, \n", + "\u001b[32m'provider'\u001b[0m: \u001b[32m'schema'\u001b[0m\u001b[1m}\u001b[0m\u001b[1m]\u001b[0m, \u001b[32m'output_dir'\u001b[0m: \u001b[32m'???'\u001b[0m, \u001b[32m'choices'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'search_space'\u001b[0m: \u001b[32m'dqn'\u001b[0m, \n", + "\u001b[32m'environment'\u001b[0m: \u001b[32m'cc_cartpole'\u001b[0m, \u001b[32m'algorithm'\u001b[0m: \u001b[32m'dqn'\u001b[0m, \u001b[32m'hydra/env'\u001b[0m: \u001b[32m'default'\u001b[0m, \n", + "\u001b[32m'hydra/callbacks'\u001b[0m: \u001b[3;35mNone\u001b[0m, \u001b[32m'hydra/job_logging'\u001b[0m: \u001b[32m'default'\u001b[0m, \u001b[32m'hydra/hydra_logging'\u001b[0m: \n", + "\u001b[32m'default'\u001b[0m, \u001b[32m'hydra/hydra_help'\u001b[0m: \u001b[32m'default'\u001b[0m, \u001b[32m'hydra/help'\u001b[0m: \u001b[32m'default'\u001b[0m, \n", + "\u001b[32m'hydra/sweeper'\u001b[0m: \u001b[32m'HyperRS'\u001b[0m, \u001b[32m'hydra/launcher'\u001b[0m: \u001b[32m'basic'\u001b[0m, \u001b[32m'hydra/output'\u001b[0m: \n", + "\u001b[32m'default'\u001b[0m\u001b[1m}\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'verbose'\u001b[0m: \u001b[3;91mFalse\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'load_checkpoint'\u001b[0m: \u001b[32m''\u001b[0m, \u001b[32m'jax_enable_x64'\u001b[0m: \u001b[3;91mFalse\u001b[0m, \n", + "\u001b[32m'search_space.seed'\u001b[0m: \u001b[1;36m0\u001b[0m, \u001b[32m'autorl'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'seed'\u001b[0m: \u001b[1;36m42\u001b[0m, \u001b[32m'env_framework'\u001b[0m: \n", + "\u001b[32m'$\u001b[0m\u001b[32m{\u001b[0m\u001b[32menvironment.framework\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m, \u001b[32m'env_name'\u001b[0m: \u001b[32m'$\u001b[0m\u001b[32m{\u001b[0m\u001b[32menvironment.name\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m, \u001b[32m'env_kwargs'\u001b[0m: \n", + "\u001b[32m'$\u001b[0m\u001b[32m{\u001b[0m\u001b[32menvironment.kwargs\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m, \u001b[32m'eval_env_kwargs'\u001b[0m: \u001b[32m'$\u001b[0m\u001b[32m{\u001b[0m\u001b[32menvironment.eval_kwargs\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m, \n", + "\u001b[32m'n_envs'\u001b[0m: \u001b[32m'$\u001b[0m\u001b[32m{\u001b[0m\u001b[32menvironment.n_envs\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m, \u001b[32m'algorithm'\u001b[0m: \u001b[32m'$\u001b[0m\u001b[32m{\u001b[0m\u001b[32malgorithm\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m, \u001b[32m'cnn_policy'\u001b[0m: \n", + "\u001b[32m'$\u001b[0m\u001b[32m{\u001b[0m\u001b[32menvironment.cnn_policy\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m, \u001b[32m'deterministic_eval'\u001b[0m: \n", + "\u001b[32m'$\u001b[0m\u001b[32m{\u001b[0m\u001b[32menvironment.deterministic_eval\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m, \u001b[32m'nas_config'\u001b[0m: \u001b[32m'$\u001b[0m\u001b[32m{\u001b[0m\u001b[32mnas_config\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m, \n", + "\u001b[32m'n_total_timesteps'\u001b[0m: \u001b[32m'$\u001b[0m\u001b[32m{\u001b[0m\u001b[32menvironment.n_total_timesteps\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m, \u001b[32m'checkpoint'\u001b[0m: \u001b[1m[\u001b[0m\u001b[1m]\u001b[0m, \n", + "\u001b[32m'checkpoint_name'\u001b[0m: \u001b[32m'default_checkpoint'\u001b[0m, \u001b[32m'checkpoint_dir'\u001b[0m: \u001b[32m'/tmp'\u001b[0m, \n", + "\u001b[32m'state_features'\u001b[0m: \u001b[1m[\u001b[0m\u001b[1m]\u001b[0m, \u001b[32m'objectives'\u001b[0m: \u001b[1m[\u001b[0m\u001b[32m'reward_mean'\u001b[0m\u001b[1m]\u001b[0m, \u001b[32m'optimize_objectives'\u001b[0m: \n", + "\u001b[32m'upper'\u001b[0m, \u001b[32m'n_steps'\u001b[0m: \u001b[1;36m10\u001b[0m, \u001b[32m'n_eval_steps'\u001b[0m: \u001b[1;36m10\u001b[0m, \u001b[32m'n_eval_episodes'\u001b[0m: \u001b[1;36m128\u001b[0m\u001b[1m}\u001b[0m, \n", + "\u001b[32m'algorithm'\u001b[0m: \u001b[32m'dqn'\u001b[0m, \u001b[32m'hp_config'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'buffer_prio_sampling'\u001b[0m: \u001b[3;91mFalse\u001b[0m, \u001b[32m'buffer_alpha'\u001b[0m:\n", + "\u001b[1;36m0.9\u001b[0m, \u001b[32m'buffer_beta'\u001b[0m: \u001b[1;36m0.9\u001b[0m, \u001b[32m'buffer_epsilon'\u001b[0m: \u001b[1;36m0.001\u001b[0m, \u001b[32m'buffer_batch_size'\u001b[0m: \u001b[1;36m16\u001b[0m, \n", + "\u001b[32m'buffer_size'\u001b[0m: \u001b[1;36m1000000\u001b[0m, \u001b[32m'initial_epsilon'\u001b[0m: \u001b[1;36m1.0\u001b[0m, \u001b[32m'target_epsilon'\u001b[0m: \u001b[1;36m0.05\u001b[0m, \u001b[32m'gamma'\u001b[0m:\n", + "\u001b[1;36m0.99\u001b[0m, \u001b[32m'gradient_steps'\u001b[0m: \u001b[1;36m1\u001b[0m, \u001b[32m'learning_rate'\u001b[0m: \u001b[1;36m0.0003\u001b[0m, \u001b[32m'learning_starts'\u001b[0m: \u001b[1;36m128\u001b[0m, \n", + "\u001b[32m'normalize_observations'\u001b[0m: \u001b[3;91mFalse\u001b[0m, \u001b[32m'train_freq'\u001b[0m: \u001b[1;36m4\u001b[0m, \u001b[32m'use_target_network'\u001b[0m: \u001b[3;92mTrue\u001b[0m, \n", + "\u001b[32m'target_update_interval'\u001b[0m: \u001b[1;36m1000\u001b[0m, \u001b[32m'tau'\u001b[0m: \u001b[1;36m1.0\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'nas_config'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'activation'\u001b[0m: \n", + "\u001b[32m'tanh'\u001b[0m, \u001b[32m'hidden_size'\u001b[0m: \u001b[1;36m64\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'environment'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'name'\u001b[0m: \u001b[32m'CartPole-v1'\u001b[0m, \u001b[32m'framework'\u001b[0m: \n", + "\u001b[32m'gymnax'\u001b[0m, \u001b[32m'n_total_timesteps'\u001b[0m: \u001b[1;36m100000.0\u001b[0m, \u001b[32m'kwargs'\u001b[0m: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'eval_kwargs'\u001b[0m: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m, \n", + "\u001b[32m'cnn_policy'\u001b[0m: \u001b[3;91mFalse\u001b[0m, \u001b[32m'deterministic_eval'\u001b[0m: \u001b[3;92mTrue\u001b[0m, \u001b[32m'n_envs'\u001b[0m: \u001b[1;36m8\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'search_space'\u001b[0m: \n", + "\u001b[1m{\u001b[0m\u001b[32m'seed'\u001b[0m: \u001b[1;36m0\u001b[0m, \u001b[32m'hyperparameters'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'hp_config.buffer_alpha'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'type'\u001b[0m: \n", + "\u001b[32m'uniform_float'\u001b[0m, \u001b[32m'upper'\u001b[0m: \u001b[1;36m1.0\u001b[0m, \u001b[32m'lower'\u001b[0m: \u001b[1;36m0.01\u001b[0m, \u001b[32m'default'\u001b[0m: \u001b[1;36m0.9\u001b[0m, \u001b[32m'log'\u001b[0m: \u001b[3;91mFalse\u001b[0m\u001b[1m}\u001b[0m, \n", + "\u001b[32m'hp_config.buffer_batch_size'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'type'\u001b[0m: \u001b[32m'categorical'\u001b[0m, \u001b[32m'choices'\u001b[0m: \u001b[1m[\u001b[0m\u001b[1;36m4\u001b[0m, \u001b[1;36m8\u001b[0m, \u001b[1;36m16\u001b[0m, \n", + "\u001b[1;36m32\u001b[0m\u001b[1m]\u001b[0m, \u001b[32m'default'\u001b[0m: \u001b[1;36m16\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'hp_config.buffer_beta'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'type'\u001b[0m: \u001b[32m'uniform_float'\u001b[0m, \u001b[32m'upper'\u001b[0m:\n", + "\u001b[1;36m1.0\u001b[0m, \u001b[32m'lower'\u001b[0m: \u001b[1;36m0.01\u001b[0m, \u001b[32m'default'\u001b[0m: \u001b[1;36m0.9\u001b[0m, \u001b[32m'log'\u001b[0m: \u001b[3;91mFalse\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'hp_config.buffer_epsilon'\u001b[0m: \n", + "\u001b[1m{\u001b[0m\u001b[32m'type'\u001b[0m: \u001b[32m'uniform_float'\u001b[0m, \u001b[32m'upper'\u001b[0m: \u001b[1;36m0.001\u001b[0m, \u001b[32m'lower'\u001b[0m: \u001b[1;36m1e-07\u001b[0m, \u001b[32m'default'\u001b[0m: \u001b[1;36m1e-06\u001b[0m, \n", + "\u001b[32m'log'\u001b[0m: \u001b[3;92mTrue\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'hp_config.buffer_prio_sampling'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'type'\u001b[0m: \u001b[32m'categorical'\u001b[0m, \n", + "\u001b[32m'choices'\u001b[0m: \u001b[1m[\u001b[0m\u001b[3;92mTrue\u001b[0m, \u001b[3;91mFalse\u001b[0m\u001b[1m]\u001b[0m, \u001b[32m'default'\u001b[0m: \u001b[3;91mFalse\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'hp_config.buffer_size'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'type'\u001b[0m: \n", + "\u001b[32m'uniform_int'\u001b[0m, \u001b[32m'upper'\u001b[0m: \u001b[1;36m10000000\u001b[0m, \u001b[32m'lower'\u001b[0m: \u001b[1;36m1024\u001b[0m, \u001b[32m'default'\u001b[0m: \u001b[1;36m1000000\u001b[0m, \u001b[32m'log'\u001b[0m: \n", + "\u001b[3;91mFalse\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'hp_config.initial_epsilon'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'type'\u001b[0m: \u001b[32m'uniform_float'\u001b[0m, \u001b[32m'upper'\u001b[0m: \u001b[1;36m1.0\u001b[0m, \n", + "\u001b[32m'lower'\u001b[0m: \u001b[1;36m0.5\u001b[0m, \u001b[32m'default'\u001b[0m: \u001b[1;36m1.0\u001b[0m, \u001b[32m'log'\u001b[0m: \u001b[3;91mFalse\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'hp_config.target_epsilon'\u001b[0m: \n", + "\u001b[1m{\u001b[0m\u001b[32m'type'\u001b[0m: \u001b[32m'uniform_float'\u001b[0m, \u001b[32m'upper'\u001b[0m: \u001b[1;36m0.2\u001b[0m, \u001b[32m'lower'\u001b[0m: \u001b[1;36m0.001\u001b[0m, \u001b[32m'default'\u001b[0m: \u001b[1;36m0.05\u001b[0m, \u001b[32m'log'\u001b[0m: \n", + "\u001b[3;91mFalse\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'hp_config.learning_rate'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'type'\u001b[0m: \u001b[32m'uniform_float'\u001b[0m, \u001b[32m'upper'\u001b[0m: \u001b[1;36m0.1\u001b[0m, \n", + "\u001b[32m'lower'\u001b[0m: \u001b[1;36m1e-06\u001b[0m, \u001b[32m'default'\u001b[0m: \u001b[1;36m0.0003\u001b[0m, \u001b[32m'log'\u001b[0m: \u001b[3;92mTrue\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'hp_config.learning_starts'\u001b[0m: \n", + "\u001b[1m{\u001b[0m\u001b[32m'type'\u001b[0m: \u001b[32m'uniform_int'\u001b[0m, \u001b[32m'upper'\u001b[0m: \u001b[1;36m1024\u001b[0m, \u001b[32m'lower'\u001b[0m: \u001b[1;36m0\u001b[0m, \u001b[32m'default'\u001b[0m: \u001b[1;36m128\u001b[0m, \u001b[32m'log'\u001b[0m: \n", + "\u001b[3;91mFalse\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'hp_config.use_target_network'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'type'\u001b[0m: \u001b[32m'categorical'\u001b[0m, \u001b[32m'choices'\u001b[0m: \n", + "\u001b[1m[\u001b[0m\u001b[3;92mTrue\u001b[0m, \u001b[3;91mFalse\u001b[0m\u001b[1m]\u001b[0m, \u001b[32m'default'\u001b[0m: \u001b[3;92mTrue\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'hp_config.target_update_interval'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'type'\u001b[0m: \n", + "\u001b[32m'uniform_int'\u001b[0m, \u001b[32m'upper'\u001b[0m: \u001b[1;36m1000\u001b[0m, \u001b[32m'lower'\u001b[0m: \u001b[1;36m1\u001b[0m, \u001b[32m'default'\u001b[0m: \u001b[1;36m1000\u001b[0m, \u001b[32m'log'\u001b[0m: \u001b[3;91mFalse\u001b[0m\u001b[1m}\u001b[0m, \n", + "\u001b[32m'hp_config.tau'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'type'\u001b[0m: \u001b[32m'uniform_float'\u001b[0m, \u001b[32m'upper'\u001b[0m: \u001b[1;36m1.0\u001b[0m, \u001b[32m'lower'\u001b[0m: \u001b[1;36m0.01\u001b[0m, \n", + "\u001b[32m'default'\u001b[0m: \u001b[1;36m1.0\u001b[0m, \u001b[32m'log'\u001b[0m: \u001b[3;91mFalse\u001b[0m\u001b[1m}\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'conditions'\u001b[0m: \u001b[1m[\u001b[0m\u001b[1m{\u001b[0m\u001b[32m'child'\u001b[0m: \n", + "\u001b[32m'hp_config.target_update_interval'\u001b[0m, \u001b[32m'parent'\u001b[0m: \u001b[32m'hp_config.use_target_network'\u001b[0m, \n", + "\u001b[32m'value'\u001b[0m: \u001b[3;92mTrue\u001b[0m, \u001b[32m'type'\u001b[0m: \u001b[32m'EQ'\u001b[0m\u001b[1m}\u001b[0m, \u001b[1m{\u001b[0m\u001b[32m'child'\u001b[0m: \u001b[32m'hp_config.tau'\u001b[0m, \u001b[32m'parent'\u001b[0m: \n", + "\u001b[32m'hp_config.use_target_network'\u001b[0m, \u001b[32m'value'\u001b[0m: \u001b[3;92mTrue\u001b[0m, \u001b[32m'type'\u001b[0m: \u001b[32m'EQ'\u001b[0m\u001b[1m}\u001b[0m, \u001b[1m{\u001b[0m\u001b[32m'child'\u001b[0m: \n", + "\u001b[32m'hp_config.buffer_epsilon'\u001b[0m, \u001b[32m'parent'\u001b[0m: \u001b[32m'hp_config.buffer_prio_sampling'\u001b[0m, \u001b[32m'value'\u001b[0m:\n", + "\u001b[3;92mTrue\u001b[0m, \u001b[32m'type'\u001b[0m: \u001b[32m'EQ'\u001b[0m\u001b[1m}\u001b[0m, \u001b[1m{\u001b[0m\u001b[32m'child'\u001b[0m: \u001b[32m'hp_config.buffer_alpha'\u001b[0m, \u001b[32m'parent'\u001b[0m: \n", + "\u001b[32m'hp_config.buffer_prio_sampling'\u001b[0m, \u001b[32m'value'\u001b[0m: \u001b[3;92mTrue\u001b[0m, \u001b[32m'type'\u001b[0m: \u001b[32m'EQ'\u001b[0m\u001b[1m}\u001b[0m, \u001b[1m{\u001b[0m\u001b[32m'child'\u001b[0m: \n", + "\u001b[32m'hp_config.buffer_beta'\u001b[0m, \u001b[32m'parent'\u001b[0m: \u001b[32m'hp_config.buffer_prio_sampling'\u001b[0m, \u001b[32m'value'\u001b[0m: \n", + "\u001b[3;92mTrue\u001b[0m, \u001b[32m'type'\u001b[0m: \u001b[32m'EQ'\u001b[0m\u001b[1m}\u001b[0m\u001b[1m]\u001b[0m\u001b[1m}\u001b[0m\u001b[1m}\u001b[0m\n", + "Hydra context\n", + "\u001b[1;35mHydraContext\u001b[0m\u001b[1m(\u001b[0m\n", + " \u001b[33mconfig_loader\u001b[0m=\u001b[1m<\u001b[0m\u001b[1;95mhydra._internal.config_loader_impl.ConfigLoaderImpl\u001b[0m\u001b[39m object at\u001b[0m\n", + "\u001b[1;36m0x319e96830\u001b[0m\u001b[39m>,\u001b[0m\n", + "\u001b[39m \u001b[0m\u001b[33mcallbacks\u001b[0m\u001b[39m=\u001b[0m\n", + "\u001b[1m)\u001b[0m\n", + "[2024-05-29 17:03:44,978][HYDRA] Sweep doesn't override default config.\n", + "[2024-05-29 17:03:44,988][HYDRA] Starting Sweep\n", + "[2024-05-29 17:03:44,992][HYDRA] Launching 16 jobs locally\n", + "[2024-05-29 17:03:44,992][HYDRA] \t#0 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=False hp_config.buffer_size=6028041 hp_config.initial_epsilon=0.7724415914984484 hp_config.learning_rate=0.0001313028028065861 hp_config.learning_starts=662 hp_config.target_epsilon=0.08807985504127581 hp_config.use_target_network=False\n", + "[2024-05-29 17:03:45,088][jax._src.xla_bridge][INFO] - Unable to initialize backend 'cuda': \n", + "[2024-05-29 17:03:45,088][jax._src.xla_bridge][INFO] - Unable to initialize backend 'rocm': module 'jaxlib.xla_extension' has no attribute 'GpuAllocatorConfig'\n", + "[2024-05-29 17:03:45,089][jax._src.xla_bridge][INFO] - Unable to initialize backend 'tpu': INTERNAL: Failed to open libtpu.so: dlopen(libtpu.so, 0x0001): tried: 'libtpu.so' (no such file), '/System/Volumes/Preboot/Cryptexes/OSlibtpu.so' (no such file), '/Users/theeimer/anaconda3/envs/arlbench/bin/../lib/libtpu.so' (no such file), '/usr/lib/libtpu.so' (no such file, not in dyld cache), 'libtpu.so' (no such file), '/usr/local/lib/libtpu.so' (no such file), '/usr/lib/libtpu.so' (no such file, not in dyld cache)\n", + "[2024-05-29 17:03:45,090][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:03:45,090][root][INFO] - seed: 42\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "deterministic_eval: ${environment.deterministic_eval}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: ${environment.n_total_timesteps}\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:03:45,090][root][INFO] - Training started.\n", + "[2024-05-29 17:03:49,273][root][INFO] - Training finished.\n", + "[2024-05-29 17:03:49,280][HYDRA] \t#1 : hp_config.buffer_batch_size=32 hp_config.buffer_prio_sampling=True hp_config.buffer_size=872227 hp_config.initial_epsilon=0.5101091987201629 hp_config.learning_rate=0.014557916623227784 hp_config.learning_starts=797 hp_config.target_epsilon=0.17413241750111702 hp_config.use_target_network=False hp_config.buffer_alpha=0.8011669785745563 hp_config.buffer_beta=0.46686456863040254 hp_config.buffer_epsilon=0.00013246974647468452\n", + "[2024-05-29 17:03:49,364][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:03:49,365][root][INFO] - seed: 42\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "deterministic_eval: ${environment.deterministic_eval}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: ${environment.n_total_timesteps}\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:03:49,366][root][INFO] - Training started.\n", + "[2024-05-29 17:03:52,785][root][INFO] - Training finished.\n", + "[2024-05-29 17:03:52,787][HYDRA] \t#2 : hp_config.buffer_batch_size=4 hp_config.buffer_prio_sampling=False hp_config.buffer_size=5218973 hp_config.initial_epsilon=0.7073309699952618 hp_config.learning_rate=2.1027036109989307e-05 hp_config.learning_starts=793 hp_config.target_epsilon=0.09177391611109317 hp_config.use_target_network=False\n", + "[2024-05-29 17:03:52,868][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:03:52,869][root][INFO] - seed: 42\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "deterministic_eval: ${environment.deterministic_eval}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: ${environment.n_total_timesteps}\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:03:52,869][root][INFO] - Training started.\n", + "[2024-05-29 17:03:55,990][root][INFO] - Training finished.\n", + "[2024-05-29 17:03:55,995][HYDRA] \t#3 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=4370896 hp_config.initial_epsilon=0.8488155979636325 hp_config.learning_rate=2.0004484210638855e-06 hp_config.learning_starts=683 hp_config.target_epsilon=0.13445693605401374 hp_config.use_target_network=True hp_config.buffer_alpha=0.1376370346783048 hp_config.buffer_beta=0.322274067414942 hp_config.buffer_epsilon=2.849988343697159e-06 hp_config.target_update_interval=571 hp_config.tau=0.44421549832769713\n", + "[2024-05-29 17:03:56,078][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:03:56,079][root][INFO] - seed: 42\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "deterministic_eval: ${environment.deterministic_eval}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: ${environment.n_total_timesteps}\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:03:56,079][root][INFO] - Training started.\n", + "[2024-05-29 17:03:59,482][root][INFO] - Training finished.\n", + "[2024-05-29 17:03:59,486][HYDRA] \t#4 : hp_config.buffer_batch_size=32 hp_config.buffer_prio_sampling=True hp_config.buffer_size=2089577 hp_config.initial_epsilon=0.5806547589424982 hp_config.learning_rate=0.0018430691395340175 hp_config.learning_starts=259 hp_config.target_epsilon=0.09379584379840496 hp_config.use_target_network=True hp_config.buffer_alpha=0.16737988780906454 hp_config.buffer_beta=0.11927138975266208 hp_config.buffer_epsilon=4.2200573971950144e-05 hp_config.target_update_interval=139 hp_config.tau=0.20461653806325297\n", + "[2024-05-29 17:03:59,570][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:03:59,571][root][INFO] - seed: 42\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "deterministic_eval: ${environment.deterministic_eval}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: ${environment.n_total_timesteps}\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:03:59,571][root][INFO] - Training started.\n", + "[2024-05-29 17:04:02,968][root][INFO] - Training finished.\n", + "[2024-05-29 17:04:02,971][HYDRA] \t#5 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=False hp_config.buffer_size=971937 hp_config.initial_epsilon=0.918972453749402 hp_config.learning_rate=3.0233751521472095e-06 hp_config.learning_starts=1000 hp_config.target_epsilon=0.09426158912789262 hp_config.use_target_network=False\n", + "[2024-05-29 17:04:03,052][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:04:03,053][root][INFO] - seed: 42\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "deterministic_eval: ${environment.deterministic_eval}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: ${environment.n_total_timesteps}\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:04:03,053][root][INFO] - Training started.\n", + "[2024-05-29 17:04:06,164][root][INFO] - Training finished.\n", + "[2024-05-29 17:04:06,167][HYDRA] \t#6 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=True hp_config.buffer_size=3180530 hp_config.initial_epsilon=0.707131497257335 hp_config.learning_rate=2.0928470088911824e-06 hp_config.learning_starts=709 hp_config.target_epsilon=0.11375368938710846 hp_config.use_target_network=True hp_config.buffer_alpha=0.5280155729320327 hp_config.buffer_beta=0.10300110565085725 hp_config.buffer_epsilon=2.0127321428268346e-05 hp_config.target_update_interval=930 hp_config.tau=0.3253832629268104\n", + "[2024-05-29 17:04:06,249][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:04:06,250][root][INFO] - seed: 42\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "deterministic_eval: ${environment.deterministic_eval}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: ${environment.n_total_timesteps}\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:04:06,250][root][INFO] - Training started.\n", + "[2024-05-29 17:04:09,594][root][INFO] - Training finished.\n", + "[2024-05-29 17:04:09,598][HYDRA] \t#7 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=7163563 hp_config.initial_epsilon=0.6447030464736005 hp_config.learning_rate=8.24056159732675e-06 hp_config.learning_starts=601 hp_config.target_epsilon=0.005001401691311217 hp_config.use_target_network=False hp_config.buffer_alpha=0.014648521430621595 hp_config.buffer_beta=0.6810383714282678 hp_config.buffer_epsilon=1.2023527271263151e-06\n", + "[2024-05-29 17:04:09,680][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:04:09,682][root][INFO] - seed: 42\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "deterministic_eval: ${environment.deterministic_eval}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: ${environment.n_total_timesteps}\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:04:09,682][root][INFO] - Training started.\n", + "[2024-05-29 17:04:12,849][root][INFO] - Training finished.\n", + "[2024-05-29 17:04:12,856][HYDRA] \t#8 : hp_config.buffer_batch_size=4 hp_config.buffer_prio_sampling=False hp_config.buffer_size=5920837 hp_config.initial_epsilon=0.7861259528954367 hp_config.learning_rate=1.3043921100581493e-05 hp_config.learning_starts=976 hp_config.target_epsilon=0.08997795034490785 hp_config.use_target_network=False\n", + "[2024-05-29 17:04:12,936][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:04:12,937][root][INFO] - seed: 42\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "deterministic_eval: ${environment.deterministic_eval}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: ${environment.n_total_timesteps}\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:04:12,937][root][INFO] - Training started.\n", + "[2024-05-29 17:04:16,111][root][INFO] - Training finished.\n", + "[2024-05-29 17:04:16,117][HYDRA] \t#9 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=False hp_config.buffer_size=6925631 hp_config.initial_epsilon=0.8626271399098202 hp_config.learning_rate=0.0003210863990696919 hp_config.learning_starts=979 hp_config.target_epsilon=0.12915404964669785 hp_config.use_target_network=True hp_config.target_update_interval=661 hp_config.tau=0.29717683113833965\n", + "[2024-05-29 17:04:16,199][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:04:16,200][root][INFO] - seed: 42\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "deterministic_eval: ${environment.deterministic_eval}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: ${environment.n_total_timesteps}\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:04:16,200][root][INFO] - Training started.\n", + "[2024-05-29 17:04:19,631][root][INFO] - Training finished.\n", + "[2024-05-29 17:04:19,637][HYDRA] \t#10 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=1355626 hp_config.initial_epsilon=0.6491411629780154 hp_config.learning_rate=0.0007076598458663513 hp_config.learning_starts=605 hp_config.target_epsilon=0.11529072452106619 hp_config.use_target_network=False hp_config.buffer_alpha=0.655582237301672 hp_config.buffer_beta=0.43710425107963424 hp_config.buffer_epsilon=0.00038564382646811196\n", + "[2024-05-29 17:04:19,718][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:04:19,720][root][INFO] - seed: 42\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "deterministic_eval: ${environment.deterministic_eval}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: ${environment.n_total_timesteps}\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:04:19,720][root][INFO] - Training started.\n", + "[2024-05-29 17:04:22,854][root][INFO] - Training finished.\n", + "[2024-05-29 17:04:22,857][HYDRA] \t#11 : hp_config.buffer_batch_size=32 hp_config.buffer_prio_sampling=False hp_config.buffer_size=7039189 hp_config.initial_epsilon=0.5501134436561506 hp_config.learning_rate=0.03957428423834935 hp_config.learning_starts=732 hp_config.target_epsilon=0.19977055430700544 hp_config.use_target_network=True hp_config.target_update_interval=124 hp_config.tau=0.849528147029012\n", + "[2024-05-29 17:04:22,936][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:04:22,937][root][INFO] - seed: 42\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "deterministic_eval: ${environment.deterministic_eval}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: ${environment.n_total_timesteps}\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:04:22,937][root][INFO] - Training started.\n", + "[2024-05-29 17:04:26,236][root][INFO] - Training finished.\n", + "[2024-05-29 17:04:26,243][HYDRA] \t#12 : hp_config.buffer_batch_size=32 hp_config.buffer_prio_sampling=False hp_config.buffer_size=4072440 hp_config.initial_epsilon=0.534583497727569 hp_config.learning_rate=0.0030700388104416038 hp_config.learning_starts=464 hp_config.target_epsilon=0.14468906429459924 hp_config.use_target_network=False\n", + "[2024-05-29 17:04:26,324][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:04:26,325][root][INFO] - seed: 42\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "deterministic_eval: ${environment.deterministic_eval}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: ${environment.n_total_timesteps}\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:04:26,325][root][INFO] - Training started.\n", + "[2024-05-29 17:04:29,498][root][INFO] - Training finished.\n", + "[2024-05-29 17:04:29,503][HYDRA] \t#13 : hp_config.buffer_batch_size=4 hp_config.buffer_prio_sampling=False hp_config.buffer_size=544348 hp_config.initial_epsilon=0.5999982624482001 hp_config.learning_rate=1.237681707595936e-06 hp_config.learning_starts=813 hp_config.target_epsilon=0.04556101292401565 hp_config.use_target_network=True hp_config.target_update_interval=165 hp_config.tau=0.6252636174847659\n", + "[2024-05-29 17:04:29,585][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:04:29,586][root][INFO] - seed: 42\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "deterministic_eval: ${environment.deterministic_eval}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: ${environment.n_total_timesteps}\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:04:29,586][root][INFO] - Training started.\n", + "[2024-05-29 17:04:32,983][root][INFO] - Training finished.\n", + "[2024-05-29 17:04:32,985][HYDRA] \t#14 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9342208 hp_config.initial_epsilon=0.806982977982948 hp_config.learning_rate=0.0004766109491313375 hp_config.learning_starts=604 hp_config.target_epsilon=0.14629428387383717 hp_config.use_target_network=True hp_config.buffer_alpha=0.40423885159393097 hp_config.buffer_beta=0.21774531148537093 hp_config.buffer_epsilon=5.55612520113227e-07 hp_config.target_update_interval=945 hp_config.tau=0.7421552870987946\n", + "[2024-05-29 17:04:33,068][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:04:33,069][root][INFO] - seed: 42\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "deterministic_eval: ${environment.deterministic_eval}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: ${environment.n_total_timesteps}\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:04:33,069][root][INFO] - Training started.\n", + "[2024-05-29 17:04:36,643][root][INFO] - Training finished.\n", + "[2024-05-29 17:04:36,650][HYDRA] \t#15 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=True hp_config.buffer_size=2544328 hp_config.initial_epsilon=0.5290145801619378 hp_config.learning_rate=0.00014862200906842985 hp_config.learning_starts=319 hp_config.target_epsilon=0.13957235427427644 hp_config.use_target_network=True hp_config.buffer_alpha=0.18780764078403847 hp_config.buffer_beta=0.034431941107417915 hp_config.buffer_epsilon=1.8577981490658524e-07 hp_config.target_update_interval=680 hp_config.tau=0.45915987611048487\n", + "[2024-05-29 17:04:36,732][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:04:36,733][root][INFO] - seed: 42\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "deterministic_eval: ${environment.deterministic_eval}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: ${environment.n_total_timesteps}\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:04:36,733][root][INFO] - Training started.\n", + "[2024-05-29 17:04:39,933][root][INFO] - Training finished.\n", + "[2024-05-29 17:04:39,939][HYDRA] Finished Iteration 1!\n", + "[2024-05-29 17:04:39,949][HYDRA] Current incumbent has a performance of 21.770000457763672.\n", + "[2024-05-29 17:04:39,949][HYDRA] Finished Sweep! Total duration was 54.96s, incumbent had a performance of 21.770000457763672\n", + "[2024-05-29 17:04:39,949][HYDRA] The incumbent configuration is Configuration(values={\n", + " 'hp_config.buffer_batch_size': 16,\n", + " 'hp_config.buffer_prio_sampling': False,\n", + " 'hp_config.buffer_size': 6028041,\n", + " 'hp_config.initial_epsilon': 0.7724415914984484,\n", + " 'hp_config.learning_rate': 0.0001313028028065861,\n", + " 'hp_config.learning_starts': 662,\n", + " 'hp_config.target_epsilon': 0.08807985504127581,\n", + " 'hp_config.use_target_network': False,\n", + "})\n", + "\n" + ] + } + ], + "source": [ + "!python run_arlbench.py --config-name=random_search --multirun" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now let's look how well the random search worked, let's plot the performance of each configuration:" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "results_file = 'results/sobol/dqn_CartPole-v1/42/runhistory.csv'\n", + "runhistory = pd.read_csv(results_file)\n", + "runhistory.plot(x='run_id', y='performance', kind='line', title='Configuration Performance over Time')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "And what worked best?" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Best performance: 370.4\n", + "\n", + "run_id 9\n", + "budget NaN\n", + "performance 370.398438\n", + "hp_config.buffer_batch_size 16\n", + "hp_config.buffer_prio_sampling False\n", + "hp_config.buffer_size 6925631\n", + "hp_config.initial_epsilon 0.862627\n", + "hp_config.learning_rate 0.000321\n", + "hp_config.learning_starts 979\n", + "hp_config.target_epsilon 0.129154\n", + "hp_config.use_target_network True\n", + "hp_config.buffer_alpha NaN\n", + "hp_config.buffer_beta NaN\n", + "hp_config.buffer_epsilon NaN\n", + "hp_config.target_update_interval 661.0\n", + "hp_config.tau 0.297177\n", + "Name: 9, dtype: object\n" + ] + } + ], + "source": [ + "print(\"Best performance: \", np.round(max(runhistory['performance']), decimals=2))\n", + "print(\"\")\n", + "print(runhistory.loc[runhistory['performance'].idxmax()])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now let's try a different optimizer, how about SMAC:" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Couldn't import CARP-S, the CARP-S Hypersweeper will not be available.\n", + "Couldn't import DEHB, the DEHB Hypersweeper will not be available.\n", + "Couldn't import HEBO, the HEBO Hypersweeper will not be available.\n", + "Couldn't import Nevergrad, the Nevergrad Hypersweeper will not be available.\n", + "Config \u001b[1m{\u001b[0m\u001b[32m'hydra'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'run'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'dir'\u001b[0m: \n", + "\u001b[32m'results/smac/$\u001b[0m\u001b[32m{\u001b[0m\u001b[32malgorithm\u001b[0m\u001b[32m}\u001b[0m\u001b[32m_$\u001b[0m\u001b[32m{\u001b[0m\u001b[32mautorl.env_name\u001b[0m\u001b[32m}\u001b[0m\u001b[32m/$\u001b[0m\u001b[32m{\u001b[0m\u001b[32msmac_seed\u001b[0m\u001b[32m}\u001b[0m\u001b[32m/$\u001b[0m\u001b[32m{\u001b[0m\u001b[32mseed\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'sweep'\u001b[0m: \n", + "\u001b[1m{\u001b[0m\u001b[32m'dir'\u001b[0m: \u001b[32m'results/smac/$\u001b[0m\u001b[32m{\u001b[0m\u001b[32malgorithm\u001b[0m\u001b[32m}\u001b[0m\u001b[32m_$\u001b[0m\u001b[32m{\u001b[0m\u001b[32mautorl.env_name\u001b[0m\u001b[32m}\u001b[0m\u001b[32m/$\u001b[0m\u001b[32m{\u001b[0m\u001b[32msmac_seed\u001b[0m\u001b[32m}\u001b[0m\u001b[32m/$\u001b[0m\u001b[32m{\u001b[0m\u001b[32mseed\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m, \n", + "\u001b[32m'subdir'\u001b[0m: \u001b[32m'$\u001b[0m\u001b[32m{\u001b[0m\u001b[32mhydra.job.num\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'launcher'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'_target_'\u001b[0m: \n", + "\u001b[32m'hydra._internal.core_plugins.basic_launcher.BasicLauncher'\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'sweeper'\u001b[0m: \n", + "\u001b[1m{\u001b[0m\u001b[32m'_target_'\u001b[0m: \u001b[32m'hydra_plugins.hypersweeper.hypersweeper.Hypersweeper'\u001b[0m, \n", + "\u001b[32m'opt_constructor'\u001b[0m: \u001b[32m'hydra_plugins.hyper_smac.hyper_smac.make_smac'\u001b[0m, \n", + "\u001b[32m'search_space'\u001b[0m: \u001b[32m'$\u001b[0m\u001b[32m{\u001b[0m\u001b[32msearch_space\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m, \u001b[32m'resume'\u001b[0m: \u001b[3;91mFalse\u001b[0m, \u001b[32m'budget'\u001b[0m: \u001b[3;35mNone\u001b[0m, \u001b[32m'n_trials'\u001b[0m: \n", + "\u001b[1;36m16\u001b[0m, \u001b[32m'budget_variable'\u001b[0m: \u001b[32m'autorl.n_total_timesteps'\u001b[0m, \u001b[32m'loading_variable'\u001b[0m: \u001b[3;35mNone\u001b[0m, \n", + "\u001b[32m'saving_variable'\u001b[0m: \u001b[3;35mNone\u001b[0m, \u001b[32m'sweeper_kwargs'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'min_budget'\u001b[0m: \u001b[1;36m10000\u001b[0m, \u001b[32m'max_budget'\u001b[0m: \n", + "\u001b[32m'$\u001b[0m\u001b[32m{\u001b[0m\u001b[32menvironment.n_total_timesteps\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m, \u001b[32m'optimizer_kwargs'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'smac_facade'\u001b[0m: \n", + "\u001b[1m{\u001b[0m\u001b[32m'_target_'\u001b[0m: \u001b[32m'smac.facade.multi_fidelity_facade.MultiFidelityFacade'\u001b[0m, \n", + "\u001b[32m'_partial_'\u001b[0m: \u001b[3;92mTrue\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'intensifier'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'_target_'\u001b[0m: \n", + "\u001b[32m'smac.facade.multi_fidelity_facade.MultiFidelityFacade.get_intensifier'\u001b[0m, \n", + "\u001b[32m'_partial_'\u001b[0m: \u001b[3;92mTrue\u001b[0m, \u001b[32m'eta'\u001b[0m: \u001b[1;36m2\u001b[0m, \u001b[32m'n_seeds'\u001b[0m: \u001b[1;36m1\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'scenario'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'seed'\u001b[0m: \u001b[32m'$\u001b[0m\u001b[32m{\u001b[0m\u001b[32msmac_seed\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m,\n", + "\u001b[32m'n_trials'\u001b[0m: \u001b[32m'$\u001b[0m\u001b[32m{\u001b[0m\u001b[32mhydra.sweeper.n_trials\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m, \u001b[32m'min_budget'\u001b[0m: \n", + "\u001b[32m'$\u001b[0m\u001b[32m{\u001b[0m\u001b[32mhydra.sweeper.sweeper_kwargs.min_budget\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m, \u001b[32m'max_budget'\u001b[0m: \n", + "\u001b[32m'$\u001b[0m\u001b[32m{\u001b[0m\u001b[32menvironment.n_total_timesteps\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m, \u001b[32m'deterministic'\u001b[0m: \u001b[3;91mFalse\u001b[0m, \u001b[32m'n_workers'\u001b[0m: \u001b[1;36m1\u001b[0m, \n", + "\u001b[32m'output_directory'\u001b[0m: \u001b[32m'$\u001b[0m\u001b[32m{\u001b[0m\u001b[32mhydra.sweep.dir\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\u001b[1m}\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'seeds'\u001b[0m: \u001b[1m[\u001b[0m\u001b[1;36m0\u001b[0m, \u001b[1;36m1\u001b[0m, \u001b[1;36m2\u001b[0m, \u001b[1;36m3\u001b[0m, \u001b[1;36m4\u001b[0m, \u001b[1;36m5\u001b[0m, \u001b[1;36m6\u001b[0m, \u001b[1;36m7\u001b[0m, \u001b[1;36m8\u001b[0m,\n", + "\u001b[1;36m9\u001b[0m\u001b[1m]\u001b[0m, \u001b[32m'maximize'\u001b[0m: \u001b[3;91mFalse\u001b[0m\u001b[1m}\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'help'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'app_name'\u001b[0m: \u001b[32m'$\u001b[0m\u001b[32m{\u001b[0m\u001b[32mhydra.job.name\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m, \u001b[32m'header'\u001b[0m: \n", + "\u001b[32m'$\u001b[0m\u001b[32m{\u001b[0m\u001b[32mhydra.help.app_name\u001b[0m\u001b[32m}\u001b[0m\u001b[32m is powered by Hydra.\\n'\u001b[0m, \u001b[32m'footer'\u001b[0m: \u001b[32m'Powered by Hydra \u001b[0m\n", + "\u001b[32m(\u001b[0m\u001b[32mhttps://hydra.cc\u001b[0m\u001b[32m)\u001b[0m\u001b[32m\\nUse --hydra-help to view Hydra specific help\\n'\u001b[0m, \u001b[32m'template'\u001b[0m:\n", + "\u001b[32m'$\u001b[0m\u001b[32m{\u001b[0m\u001b[32mhydra.help.header\u001b[0m\u001b[32m}\u001b[0m\u001b[32m\\\u001b[0m\u001b[32mn\u001b[0m\u001b[32m== Configuration groups ==\\nCompose your configuration \u001b[0m\n", + "\u001b[32mfrom those groups \u001b[0m\u001b[32m(\u001b[0m\u001b[32mgroup\u001b[0m\u001b[32m=\u001b[0m\u001b[32moption\u001b[0m\u001b[32m)\u001b[0m\u001b[32m\\n\\n$APP_CONFIG_GROUPS\\n\\\u001b[0m\u001b[32mn\u001b[0m\u001b[32m== Config ==\\nOverride\u001b[0m\n", + "\u001b[32manything in the config \u001b[0m\u001b[32m(\u001b[0m\u001b[32mfoo.\u001b[0m\u001b[32mbar\u001b[0m\u001b[32m=\u001b[0m\u001b[32mvalue\u001b[0m\u001b[32m)\u001b[0m\u001b[32m\\n\\n$CONFIG\\n\\n$\u001b[0m\u001b[32m{\u001b[0m\u001b[32mhydra.help.footer\u001b[0m\u001b[32m}\u001b[0m\u001b[32m\\n'\u001b[0m\u001b[1m}\u001b[0m, \n", + "\u001b[32m'hydra_help'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'template'\u001b[0m: \u001b[32m\"Hydra \u001b[0m\u001b[32m(\u001b[0m\u001b[32m$\u001b[0m\u001b[32m{\u001b[0m\u001b[32mhydra.runtime.version\u001b[0m\u001b[32m}\u001b[0m\u001b[32m)\u001b[0m\u001b[32m\\nSee \u001b[0m\n", + "\u001b[32mhttps://hydra.cc for more info.\\n\\\u001b[0m\u001b[32mn\u001b[0m\u001b[32m== Flags ==\\n$FLAGS_HELP\\n\\\u001b[0m\u001b[32mn\u001b[0m\u001b[32m== Configuration \u001b[0m\n", + "\u001b[32mgroups ==\\nCompose your configuration from those groups \u001b[0m\u001b[32m(\u001b[0m\u001b[32mFor example, append \u001b[0m\n", + "\u001b[32mhydra/\u001b[0m\u001b[32mjob_logging\u001b[0m\u001b[32m=\u001b[0m\u001b[32mdisabled\u001b[0m\u001b[32m to command line\u001b[0m\u001b[32m)\u001b[0m\u001b[32m\\n\\n$HYDRA_CONFIG_GROUPS\\n\\nUse \u001b[0m\n", + "\u001b[32m'--cfg hydra' to Show the Hydra config.\\n\"\u001b[0m, \u001b[32m'hydra_help'\u001b[0m: \u001b[32m'???'\u001b[0m\u001b[1m}\u001b[0m, \n", + "\u001b[32m'hydra_logging'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'version'\u001b[0m: \u001b[1;36m1\u001b[0m, \u001b[32m'formatters'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'simple'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'format'\u001b[0m: \n", + "\u001b[32m'\u001b[0m\u001b[32m[\u001b[0m\u001b[32m%\u001b[0m\u001b[32m(\u001b[0m\u001b[32masctime\u001b[0m\u001b[32m)\u001b[0m\u001b[32ms\u001b[0m\u001b[32m]\u001b[0m\u001b[32m[\u001b[0m\u001b[32mHYDRA\u001b[0m\u001b[32m]\u001b[0m\u001b[32m %\u001b[0m\u001b[32m(\u001b[0m\u001b[32mmessage\u001b[0m\u001b[32m)\u001b[0m\u001b[32ms'\u001b[0m\u001b[1m}\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'handlers'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'console'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'class'\u001b[0m: \n", + "\u001b[32m'logging.StreamHandler'\u001b[0m, \u001b[32m'formatter'\u001b[0m: \u001b[32m'simple'\u001b[0m, \u001b[32m'stream'\u001b[0m: \u001b[32m'ext://sys.stdout'\u001b[0m\u001b[1m}\u001b[0m\u001b[1m}\u001b[0m, \n", + "\u001b[32m'root'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'level'\u001b[0m: \u001b[32m'INFO'\u001b[0m, \u001b[32m'handlers'\u001b[0m: \u001b[1m[\u001b[0m\u001b[32m'console'\u001b[0m\u001b[1m]\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'loggers'\u001b[0m: \n", + "\u001b[1m{\u001b[0m\u001b[32m'logging_example'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'level'\u001b[0m: \u001b[32m'DEBUG'\u001b[0m\u001b[1m}\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'disable_existing_loggers'\u001b[0m: \u001b[3;91mFalse\u001b[0m\u001b[1m}\u001b[0m, \n", + "\u001b[32m'job_logging'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'version'\u001b[0m: \u001b[1;36m1\u001b[0m, \u001b[32m'formatters'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'simple'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'format'\u001b[0m: \n", + "\u001b[32m'\u001b[0m\u001b[32m[\u001b[0m\u001b[32m%\u001b[0m\u001b[32m(\u001b[0m\u001b[32masctime\u001b[0m\u001b[32m)\u001b[0m\u001b[32ms\u001b[0m\u001b[32m]\u001b[0m\u001b[32m[\u001b[0m\u001b[32m%\u001b[0m\u001b[32m(\u001b[0m\u001b[32mname\u001b[0m\u001b[32m)\u001b[0m\u001b[32ms\u001b[0m\u001b[32m]\u001b[0m\u001b[32m[\u001b[0m\u001b[32m%\u001b[0m\u001b[32m(\u001b[0m\u001b[32mlevelname\u001b[0m\u001b[32m)\u001b[0m\u001b[32ms\u001b[0m\u001b[32m]\u001b[0m\u001b[32m - %\u001b[0m\u001b[32m(\u001b[0m\u001b[32mmessage\u001b[0m\u001b[32m)\u001b[0m\u001b[32ms'\u001b[0m\u001b[1m}\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'handlers'\u001b[0m: \n", + "\u001b[1m{\u001b[0m\u001b[32m'console'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'class'\u001b[0m: \u001b[32m'logging.StreamHandler'\u001b[0m, \u001b[32m'formatter'\u001b[0m: \u001b[32m'simple'\u001b[0m, \u001b[32m'stream'\u001b[0m: \n", + "\u001b[32m'ext://sys.stdout'\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'file'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'class'\u001b[0m: \u001b[32m'logging.FileHandler'\u001b[0m, \u001b[32m'formatter'\u001b[0m: \n", + "\u001b[32m'simple'\u001b[0m, \u001b[32m'filename'\u001b[0m: \u001b[32m'$\u001b[0m\u001b[32m{\u001b[0m\u001b[32mhydra.runtime.output_dir\u001b[0m\u001b[32m}\u001b[0m\u001b[32m/$\u001b[0m\u001b[32m{\u001b[0m\u001b[32mhydra.job.name\u001b[0m\u001b[32m}\u001b[0m\u001b[32m.log'\u001b[0m\u001b[1m}\u001b[0m\u001b[1m}\u001b[0m, \n", + "\u001b[32m'root'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'level'\u001b[0m: \u001b[32m'INFO'\u001b[0m, \u001b[32m'handlers'\u001b[0m: \u001b[1m[\u001b[0m\u001b[32m'console'\u001b[0m, \u001b[32m'file'\u001b[0m\u001b[1m]\u001b[0m\u001b[1m}\u001b[0m, \n", + "\u001b[32m'disable_existing_loggers'\u001b[0m: \u001b[3;91mFalse\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'env'\u001b[0m: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'mode'\u001b[0m: \u001b[1m<\u001b[0m\u001b[1;95mRunMode.MULTIRUN:\u001b[0m\u001b[39m \u001b[0m\u001b[1;36m2\u001b[0m\u001b[1m>\u001b[0m, \n", + "\u001b[32m'searchpath'\u001b[0m: \u001b[1m[\u001b[0m\u001b[1m]\u001b[0m, \u001b[32m'callbacks'\u001b[0m: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'output_subdir'\u001b[0m: \u001b[32m'.hydra'\u001b[0m, \u001b[32m'overrides'\u001b[0m: \n", + "\u001b[1m{\u001b[0m\u001b[32m'hydra'\u001b[0m: \u001b[1m[\u001b[0m\u001b[32m'hydra.\u001b[0m\u001b[32mmode\u001b[0m\u001b[32m=\u001b[0m\u001b[32mMULTIRUN\u001b[0m\u001b[32m'\u001b[0m\u001b[1m]\u001b[0m, \u001b[32m'task'\u001b[0m: \u001b[1m[\u001b[0m\u001b[1m]\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'job'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'name'\u001b[0m: \u001b[32m'run_arlbench'\u001b[0m, \n", + "\u001b[32m'chdir'\u001b[0m: \u001b[3;92mTrue\u001b[0m, \u001b[32m'override_dirname'\u001b[0m: \u001b[32m''\u001b[0m, \u001b[32m'id'\u001b[0m: \u001b[32m'???'\u001b[0m, \u001b[32m'num'\u001b[0m: \u001b[32m'???'\u001b[0m, \u001b[32m'config_name'\u001b[0m:\n", + "\u001b[32m'smac'\u001b[0m, \u001b[32m'env_set'\u001b[0m: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'env_copy'\u001b[0m: \u001b[1m[\u001b[0m\u001b[1m]\u001b[0m, \u001b[32m'config'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'override_dirname'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'kv_sep'\u001b[0m:\n", + "\u001b[32m'='\u001b[0m, \u001b[32m'item_sep'\u001b[0m: \u001b[32m','\u001b[0m, \u001b[32m'exclude_keys'\u001b[0m: \u001b[1m[\u001b[0m\u001b[1m]\u001b[0m\u001b[1m}\u001b[0m\u001b[1m}\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'runtime'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'version'\u001b[0m: \u001b[32m'1.3.2'\u001b[0m, \n", + "\u001b[32m'version_base'\u001b[0m: \u001b[32m'1.3'\u001b[0m, \u001b[32m'cwd'\u001b[0m: \u001b[32m'/Users/theeimer/Documents/git/arlbench/examples'\u001b[0m,\n", + "\u001b[32m'config_sources'\u001b[0m: \u001b[1m[\u001b[0m\u001b[1m{\u001b[0m\u001b[32m'path'\u001b[0m: \u001b[32m'hydra.conf'\u001b[0m, \u001b[32m'schema'\u001b[0m: \u001b[32m'pkg'\u001b[0m, \u001b[32m'provider'\u001b[0m: \u001b[32m'hydra'\u001b[0m\u001b[1m}\u001b[0m,\n", + "\u001b[1m{\u001b[0m\u001b[32m'path'\u001b[0m: \u001b[32m'/Users/theeimer/Documents/git/arlbench/examples/configs'\u001b[0m, \u001b[32m'schema'\u001b[0m: \n", + "\u001b[32m'file'\u001b[0m, \u001b[32m'provider'\u001b[0m: \u001b[32m'main'\u001b[0m\u001b[1m}\u001b[0m, \u001b[1m{\u001b[0m\u001b[32m'path'\u001b[0m: \u001b[32m'hydra_plugins.hydra_colorlog.conf'\u001b[0m, \n", + "\u001b[32m'schema'\u001b[0m: \u001b[32m'pkg'\u001b[0m, \u001b[32m'provider'\u001b[0m: \u001b[32m'hydra-colorlog'\u001b[0m\u001b[1m}\u001b[0m, \u001b[1m{\u001b[0m\u001b[32m'path'\u001b[0m: \u001b[32m''\u001b[0m, \u001b[32m'schema'\u001b[0m: \n", + "\u001b[32m'structured'\u001b[0m, \u001b[32m'provider'\u001b[0m: \u001b[32m'schema'\u001b[0m\u001b[1m}\u001b[0m\u001b[1m]\u001b[0m, \u001b[32m'output_dir'\u001b[0m: \u001b[32m'???'\u001b[0m, \u001b[32m'choices'\u001b[0m: \n", + "\u001b[1m{\u001b[0m\u001b[32m'search_space'\u001b[0m: \u001b[32m'dqn'\u001b[0m, \u001b[32m'environment'\u001b[0m: \u001b[32m'cc_cartpole'\u001b[0m, \u001b[32m'algorithm'\u001b[0m: \u001b[32m'dqn'\u001b[0m, \n", + "\u001b[32m'hydra/env'\u001b[0m: \u001b[32m'default'\u001b[0m, \u001b[32m'hydra/callbacks'\u001b[0m: \u001b[3;35mNone\u001b[0m, \u001b[32m'hydra/job_logging'\u001b[0m: \u001b[32m'default'\u001b[0m,\n", + "\u001b[32m'hydra/hydra_logging'\u001b[0m: \u001b[32m'default'\u001b[0m, \u001b[32m'hydra/hydra_help'\u001b[0m: \u001b[32m'default'\u001b[0m, \u001b[32m'hydra/help'\u001b[0m: \n", + "\u001b[32m'default'\u001b[0m, \u001b[32m'hydra/sweeper'\u001b[0m: \u001b[32m'HyperSMAC'\u001b[0m, \u001b[32m'hydra/launcher'\u001b[0m: \u001b[32m'basic'\u001b[0m, \n", + "\u001b[32m'hydra/output'\u001b[0m: \u001b[32m'default'\u001b[0m\u001b[1m}\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'verbose'\u001b[0m: \u001b[3;91mFalse\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'load_checkpoint'\u001b[0m: \u001b[32m''\u001b[0m, \n", + "\u001b[32m'smac_seed'\u001b[0m: \u001b[1;36m0\u001b[0m, \u001b[32m'jax_enable_x64'\u001b[0m: \u001b[3;91mFalse\u001b[0m, \u001b[32m'seed'\u001b[0m: \u001b[1;36m42\u001b[0m, \u001b[32m'autorl'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'seed'\u001b[0m: \n", + "\u001b[32m'$\u001b[0m\u001b[32m{\u001b[0m\u001b[32mseed\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m, \u001b[32m'env_framework'\u001b[0m: \u001b[32m'$\u001b[0m\u001b[32m{\u001b[0m\u001b[32menvironment.framework\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m, \u001b[32m'env_name'\u001b[0m: \n", + "\u001b[32m'$\u001b[0m\u001b[32m{\u001b[0m\u001b[32menvironment.name\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m, \u001b[32m'env_kwargs'\u001b[0m: \u001b[32m'$\u001b[0m\u001b[32m{\u001b[0m\u001b[32menvironment.kwargs\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m, \u001b[32m'eval_env_kwargs'\u001b[0m:\n", + "\u001b[32m'$\u001b[0m\u001b[32m{\u001b[0m\u001b[32menvironment.eval_kwargs\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m, \u001b[32m'n_envs'\u001b[0m: \u001b[32m'$\u001b[0m\u001b[32m{\u001b[0m\u001b[32menvironment.n_envs\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m, \u001b[32m'algorithm'\u001b[0m: \n", + "\u001b[32m'$\u001b[0m\u001b[32m{\u001b[0m\u001b[32malgorithm\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m, \u001b[32m'cnn_policy'\u001b[0m: \u001b[32m'$\u001b[0m\u001b[32m{\u001b[0m\u001b[32menvironment.cnn_policy\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m, \u001b[32m'nas_config'\u001b[0m: \n", + "\u001b[32m'$\u001b[0m\u001b[32m{\u001b[0m\u001b[32mnas_config\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m, \u001b[32m'n_total_timesteps'\u001b[0m: \u001b[32m'$\u001b[0m\u001b[32m{\u001b[0m\u001b[32menvironment.n_total_timesteps\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m, \n", + "\u001b[32m'checkpoint'\u001b[0m: \u001b[1m[\u001b[0m\u001b[1m]\u001b[0m, \u001b[32m'checkpoint_name'\u001b[0m: \u001b[32m'default_checkpoint'\u001b[0m, \u001b[32m'checkpoint_dir'\u001b[0m: \n", + "\u001b[32m'/tmp'\u001b[0m, \u001b[32m'state_features'\u001b[0m: \u001b[1m[\u001b[0m\u001b[1m]\u001b[0m, \u001b[32m'objectives'\u001b[0m: \u001b[1m[\u001b[0m\u001b[32m'reward_mean'\u001b[0m\u001b[1m]\u001b[0m, \n", + "\u001b[32m'optimize_objectives'\u001b[0m: \u001b[32m'upper'\u001b[0m, \u001b[32m'n_steps'\u001b[0m: \u001b[1;36m10\u001b[0m, \u001b[32m'n_eval_steps'\u001b[0m: \u001b[1;36m10\u001b[0m, \n", + "\u001b[32m'n_eval_episodes'\u001b[0m: \u001b[1;36m128\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'algorithm'\u001b[0m: \u001b[32m'dqn'\u001b[0m, \u001b[32m'hp_config'\u001b[0m: \n", + "\u001b[1m{\u001b[0m\u001b[32m'buffer_prio_sampling'\u001b[0m: \u001b[3;91mFalse\u001b[0m, \u001b[32m'buffer_alpha'\u001b[0m: \u001b[1;36m0.9\u001b[0m, \u001b[32m'buffer_beta'\u001b[0m: \u001b[1;36m0.9\u001b[0m, \n", + "\u001b[32m'buffer_epsilon'\u001b[0m: \u001b[1;36m0.001\u001b[0m, \u001b[32m'buffer_batch_size'\u001b[0m: \u001b[1;36m16\u001b[0m, \u001b[32m'buffer_size'\u001b[0m: \u001b[1;36m1000000\u001b[0m, \n", + "\u001b[32m'initial_epsilon'\u001b[0m: \u001b[1;36m1.0\u001b[0m, \u001b[32m'target_epsilon'\u001b[0m: \u001b[1;36m0.05\u001b[0m, \u001b[32m'gamma'\u001b[0m: \u001b[1;36m0.99\u001b[0m, \u001b[32m'gradient_steps'\u001b[0m:\n", + "\u001b[1;36m1\u001b[0m, \u001b[32m'learning_rate'\u001b[0m: \u001b[1;36m0.0003\u001b[0m, \u001b[32m'learning_starts'\u001b[0m: \u001b[1;36m128\u001b[0m, \u001b[32m'normalize_observations'\u001b[0m: \n", + "\u001b[3;91mFalse\u001b[0m, \u001b[32m'train_freq'\u001b[0m: \u001b[1;36m4\u001b[0m, \u001b[32m'use_target_network'\u001b[0m: \u001b[3;92mTrue\u001b[0m, \u001b[32m'target_update_interval'\u001b[0m: \n", + "\u001b[1;36m1000\u001b[0m, \u001b[32m'tau'\u001b[0m: \u001b[1;36m1.0\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'nas_config'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'activation'\u001b[0m: \u001b[32m'tanh'\u001b[0m, \u001b[32m'hidden_size'\u001b[0m: \u001b[1;36m64\u001b[0m\u001b[1m}\u001b[0m, \n", + "\u001b[32m'environment'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'name'\u001b[0m: \u001b[32m'CartPole-v1'\u001b[0m, \u001b[32m'framework'\u001b[0m: \u001b[32m'gymnax'\u001b[0m, \n", + "\u001b[32m'n_total_timesteps'\u001b[0m: \u001b[1;36m100000.0\u001b[0m, \u001b[32m'kwargs'\u001b[0m: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'eval_kwargs'\u001b[0m: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'cnn_policy'\u001b[0m: \n", + "\u001b[3;91mFalse\u001b[0m, \u001b[32m'deterministic_eval'\u001b[0m: \u001b[3;92mTrue\u001b[0m, \u001b[32m'n_envs'\u001b[0m: \u001b[1;36m8\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'search_space'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'seed'\u001b[0m: \u001b[1;36m0\u001b[0m, \n", + "\u001b[32m'hyperparameters'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'hp_config.buffer_alpha'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'type'\u001b[0m: \u001b[32m'uniform_float'\u001b[0m, \u001b[32m'upper'\u001b[0m:\n", + "\u001b[1;36m1.0\u001b[0m, \u001b[32m'lower'\u001b[0m: \u001b[1;36m0.01\u001b[0m, \u001b[32m'default'\u001b[0m: \u001b[1;36m0.9\u001b[0m, \u001b[32m'log'\u001b[0m: \u001b[3;91mFalse\u001b[0m\u001b[1m}\u001b[0m, \n", + "\u001b[32m'hp_config.buffer_batch_size'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'type'\u001b[0m: \u001b[32m'categorical'\u001b[0m, \u001b[32m'choices'\u001b[0m: \u001b[1m[\u001b[0m\u001b[1;36m4\u001b[0m, \u001b[1;36m8\u001b[0m, \u001b[1;36m16\u001b[0m, \n", + "\u001b[1;36m32\u001b[0m\u001b[1m]\u001b[0m, \u001b[32m'default'\u001b[0m: \u001b[1;36m16\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'hp_config.buffer_beta'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'type'\u001b[0m: \u001b[32m'uniform_float'\u001b[0m, \u001b[32m'upper'\u001b[0m:\n", + "\u001b[1;36m1.0\u001b[0m, \u001b[32m'lower'\u001b[0m: \u001b[1;36m0.01\u001b[0m, \u001b[32m'default'\u001b[0m: \u001b[1;36m0.9\u001b[0m, \u001b[32m'log'\u001b[0m: \u001b[3;91mFalse\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'hp_config.buffer_epsilon'\u001b[0m: \n", + "\u001b[1m{\u001b[0m\u001b[32m'type'\u001b[0m: \u001b[32m'uniform_float'\u001b[0m, \u001b[32m'upper'\u001b[0m: \u001b[1;36m0.001\u001b[0m, \u001b[32m'lower'\u001b[0m: \u001b[1;36m1e-07\u001b[0m, \u001b[32m'default'\u001b[0m: \u001b[1;36m1e-06\u001b[0m, \n", + "\u001b[32m'log'\u001b[0m: \u001b[3;92mTrue\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'hp_config.buffer_prio_sampling'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'type'\u001b[0m: \u001b[32m'categorical'\u001b[0m, \n", + "\u001b[32m'choices'\u001b[0m: \u001b[1m[\u001b[0m\u001b[3;92mTrue\u001b[0m, \u001b[3;91mFalse\u001b[0m\u001b[1m]\u001b[0m, \u001b[32m'default'\u001b[0m: \u001b[3;91mFalse\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'hp_config.buffer_size'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'type'\u001b[0m: \n", + "\u001b[32m'uniform_int'\u001b[0m, \u001b[32m'upper'\u001b[0m: \u001b[1;36m10000000\u001b[0m, \u001b[32m'lower'\u001b[0m: \u001b[1;36m1024\u001b[0m, \u001b[32m'default'\u001b[0m: \u001b[1;36m1000000\u001b[0m, \u001b[32m'log'\u001b[0m: \n", + "\u001b[3;91mFalse\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'hp_config.initial_epsilon'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'type'\u001b[0m: \u001b[32m'uniform_float'\u001b[0m, \u001b[32m'upper'\u001b[0m: \u001b[1;36m1.0\u001b[0m, \n", + "\u001b[32m'lower'\u001b[0m: \u001b[1;36m0.5\u001b[0m, \u001b[32m'default'\u001b[0m: \u001b[1;36m1.0\u001b[0m, \u001b[32m'log'\u001b[0m: \u001b[3;91mFalse\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'hp_config.target_epsilon'\u001b[0m: \n", + "\u001b[1m{\u001b[0m\u001b[32m'type'\u001b[0m: \u001b[32m'uniform_float'\u001b[0m, \u001b[32m'upper'\u001b[0m: \u001b[1;36m0.2\u001b[0m, \u001b[32m'lower'\u001b[0m: \u001b[1;36m0.001\u001b[0m, \u001b[32m'default'\u001b[0m: \u001b[1;36m0.05\u001b[0m, \u001b[32m'log'\u001b[0m: \n", + "\u001b[3;91mFalse\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'hp_config.learning_rate'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'type'\u001b[0m: \u001b[32m'uniform_float'\u001b[0m, \u001b[32m'upper'\u001b[0m: \u001b[1;36m0.1\u001b[0m, \n", + "\u001b[32m'lower'\u001b[0m: \u001b[1;36m1e-06\u001b[0m, \u001b[32m'default'\u001b[0m: \u001b[1;36m0.0003\u001b[0m, \u001b[32m'log'\u001b[0m: \u001b[3;92mTrue\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'hp_config.learning_starts'\u001b[0m: \n", + "\u001b[1m{\u001b[0m\u001b[32m'type'\u001b[0m: \u001b[32m'uniform_int'\u001b[0m, \u001b[32m'upper'\u001b[0m: \u001b[1;36m1024\u001b[0m, \u001b[32m'lower'\u001b[0m: \u001b[1;36m0\u001b[0m, \u001b[32m'default'\u001b[0m: \u001b[1;36m128\u001b[0m, \u001b[32m'log'\u001b[0m: \n", + "\u001b[3;91mFalse\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'hp_config.use_target_network'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'type'\u001b[0m: \u001b[32m'categorical'\u001b[0m, \u001b[32m'choices'\u001b[0m: \n", + "\u001b[1m[\u001b[0m\u001b[3;92mTrue\u001b[0m, \u001b[3;91mFalse\u001b[0m\u001b[1m]\u001b[0m, \u001b[32m'default'\u001b[0m: \u001b[3;92mTrue\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'hp_config.target_update_interval'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'type'\u001b[0m: \n", + "\u001b[32m'uniform_int'\u001b[0m, \u001b[32m'upper'\u001b[0m: \u001b[1;36m1000\u001b[0m, \u001b[32m'lower'\u001b[0m: \u001b[1;36m1\u001b[0m, \u001b[32m'default'\u001b[0m: \u001b[1;36m1000\u001b[0m, \u001b[32m'log'\u001b[0m: \u001b[3;91mFalse\u001b[0m\u001b[1m}\u001b[0m, \n", + "\u001b[32m'hp_config.tau'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'type'\u001b[0m: \u001b[32m'uniform_float'\u001b[0m, \u001b[32m'upper'\u001b[0m: \u001b[1;36m1.0\u001b[0m, \u001b[32m'lower'\u001b[0m: \u001b[1;36m0.01\u001b[0m, \n", + "\u001b[32m'default'\u001b[0m: \u001b[1;36m1.0\u001b[0m, \u001b[32m'log'\u001b[0m: \u001b[3;91mFalse\u001b[0m\u001b[1m}\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'conditions'\u001b[0m: \u001b[1m[\u001b[0m\u001b[1m{\u001b[0m\u001b[32m'child'\u001b[0m: \n", + "\u001b[32m'hp_config.target_update_interval'\u001b[0m, \u001b[32m'parent'\u001b[0m: \u001b[32m'hp_config.use_target_network'\u001b[0m, \n", + "\u001b[32m'value'\u001b[0m: \u001b[3;92mTrue\u001b[0m, \u001b[32m'type'\u001b[0m: \u001b[32m'EQ'\u001b[0m\u001b[1m}\u001b[0m, \u001b[1m{\u001b[0m\u001b[32m'child'\u001b[0m: \u001b[32m'hp_config.tau'\u001b[0m, \u001b[32m'parent'\u001b[0m: \n", + "\u001b[32m'hp_config.use_target_network'\u001b[0m, \u001b[32m'value'\u001b[0m: \u001b[3;92mTrue\u001b[0m, \u001b[32m'type'\u001b[0m: \u001b[32m'EQ'\u001b[0m\u001b[1m}\u001b[0m, \u001b[1m{\u001b[0m\u001b[32m'child'\u001b[0m: \n", + "\u001b[32m'hp_config.buffer_epsilon'\u001b[0m, \u001b[32m'parent'\u001b[0m: \u001b[32m'hp_config.buffer_prio_sampling'\u001b[0m, \u001b[32m'value'\u001b[0m:\n", + "\u001b[3;92mTrue\u001b[0m, \u001b[32m'type'\u001b[0m: \u001b[32m'EQ'\u001b[0m\u001b[1m}\u001b[0m, \u001b[1m{\u001b[0m\u001b[32m'child'\u001b[0m: \u001b[32m'hp_config.buffer_alpha'\u001b[0m, \u001b[32m'parent'\u001b[0m: \n", + "\u001b[32m'hp_config.buffer_prio_sampling'\u001b[0m, \u001b[32m'value'\u001b[0m: \u001b[3;92mTrue\u001b[0m, \u001b[32m'type'\u001b[0m: \u001b[32m'EQ'\u001b[0m\u001b[1m}\u001b[0m, \u001b[1m{\u001b[0m\u001b[32m'child'\u001b[0m: \n", + "\u001b[32m'hp_config.buffer_beta'\u001b[0m, \u001b[32m'parent'\u001b[0m: \u001b[32m'hp_config.buffer_prio_sampling'\u001b[0m, \u001b[32m'value'\u001b[0m: \n", + "\u001b[3;92mTrue\u001b[0m, \u001b[32m'type'\u001b[0m: \u001b[32m'EQ'\u001b[0m\u001b[1m}\u001b[0m\u001b[1m]\u001b[0m\u001b[1m}\u001b[0m\u001b[1m}\u001b[0m\n", + "Hydra context\n", + "\u001b[1;35mHydraContext\u001b[0m\u001b[1m(\u001b[0m\n", + " \u001b[33mconfig_loader\u001b[0m=\u001b[1m<\u001b[0m\u001b[1;95mhydra._internal.config_loader_impl.ConfigLoaderImpl\u001b[0m\u001b[39m object at\u001b[0m\n", + "\u001b[1;36m0x317196800\u001b[0m\u001b[39m>,\u001b[0m\n", + "\u001b[39m \u001b[0m\u001b[33mcallbacks\u001b[0m\u001b[39m=\u001b[0m\n", + "\u001b[1m)\u001b[0m\n", + "[2024-05-29 17:28:19,872][HYDRA] Sweep doesn't override default config.\n", + "[INFO][abstract_initial_design.py:95] Reducing the number of initial configurations from 130 to 4 (max_ratio == 0.25).\n", + "[INFO][abstract_initial_design.py:147] Using 4 initial design configurations and 0 additional configurations.\n", + "[INFO][hypersweeper_sweeper.py:402] Starting Sweep\n", + "[INFO][successive_halving.py:164] Successive Halving uses budget type BUDGETS with eta 2, min budget 10000, and max budget 100000.0.\n", + "[INFO][successive_halving.py:323] Number of configs in stage:\n", + "[INFO][successive_halving.py:325] --- Bracket 0: [8, 4, 2, 1]\n", + "[INFO][successive_halving.py:325] --- Bracket 1: [6, 3, 1]\n", + "[INFO][successive_halving.py:325] --- Bracket 2: [4, 2]\n", + "[INFO][successive_halving.py:325] --- Bracket 3: [4]\n", + "[INFO][successive_halving.py:327] Budgets in stage:\n", + "[INFO][successive_halving.py:329] --- Bracket 0: [12500.0, 25000.0, 50000.0, 100000.0]\n", + "[INFO][successive_halving.py:329] --- Bracket 1: [25000.0, 50000.0, 100000.0]\n", + "[INFO][successive_halving.py:329] --- Bracket 2: [50000.0, 100000.0]\n", + "[INFO][successive_halving.py:329] --- Bracket 3: [100000.0]\n", + "[2024-05-29 17:28:19,884][HYDRA] Launching 10 jobs locally\n", + "[2024-05-29 17:28:19,884][HYDRA] \t#0 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=12500.0 seed=0\n", + "[2024-05-29 17:28:19,984][jax._src.xla_bridge][INFO] - Unable to initialize backend 'cuda': \n", + "[2024-05-29 17:28:19,985][jax._src.xla_bridge][INFO] - Unable to initialize backend 'rocm': module 'jaxlib.xla_extension' has no attribute 'GpuAllocatorConfig'\n", + "[2024-05-29 17:28:19,985][jax._src.xla_bridge][INFO] - Unable to initialize backend 'tpu': INTERNAL: Failed to open libtpu.so: dlopen(libtpu.so, 0x0001): tried: 'libtpu.so' (no such file), '/System/Volumes/Preboot/Cryptexes/OSlibtpu.so' (no such file), '/Users/theeimer/anaconda3/envs/arlbench/bin/../lib/libtpu.so' (no such file), '/usr/lib/libtpu.so' (no such file, not in dyld cache), 'libtpu.so' (no such file), '/usr/local/lib/libtpu.so' (no such file), '/usr/lib/libtpu.so' (no such file, not in dyld cache)\n", + "[2024-05-29 17:28:19,985][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:28:19,986][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:28:19,986][root][INFO] - Training started.\n", + "[2024-05-29 17:28:23,854][root][INFO] - Training finished.\n", + "[2024-05-29 17:28:23,862][HYDRA] \t#1 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=12500.0 seed=1\n", + "[2024-05-29 17:28:23,948][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:28:23,949][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:28:23,949][root][INFO] - Training started.\n", + "[2024-05-29 17:28:26,876][root][INFO] - Training finished.\n", + "[2024-05-29 17:28:26,882][HYDRA] \t#2 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=12500.0 seed=2\n", + "[2024-05-29 17:28:26,967][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:28:26,967][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:28:26,968][root][INFO] - Training started.\n", + "[2024-05-29 17:28:30,420][root][INFO] - Training finished.\n", + "[2024-05-29 17:28:30,427][HYDRA] \t#3 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=12500.0 seed=3\n", + "[2024-05-29 17:28:30,513][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:28:30,513][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:28:30,513][root][INFO] - Training started.\n", + "[2024-05-29 17:28:33,521][root][INFO] - Training finished.\n", + "[2024-05-29 17:28:33,528][HYDRA] \t#4 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=12500.0 seed=4\n", + "[2024-05-29 17:28:33,720][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:28:33,720][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:28:33,721][root][INFO] - Training started.\n", + "[2024-05-29 17:28:36,621][root][INFO] - Training finished.\n", + "[2024-05-29 17:28:36,628][HYDRA] \t#5 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=12500.0 seed=5\n", + "[2024-05-29 17:28:36,714][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:28:36,715][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:28:36,715][root][INFO] - Training started.\n", + "[2024-05-29 17:28:39,570][root][INFO] - Training finished.\n", + "[2024-05-29 17:28:39,576][HYDRA] \t#6 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=12500.0 seed=6\n", + "[2024-05-29 17:28:39,658][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:28:39,659][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:28:39,659][root][INFO] - Training started.\n", + "[2024-05-29 17:28:42,715][root][INFO] - Training finished.\n", + "[2024-05-29 17:28:42,721][HYDRA] \t#7 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=12500.0 seed=7\n", + "[2024-05-29 17:28:42,806][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:28:42,806][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:28:42,806][root][INFO] - Training started.\n", + "[2024-05-29 17:28:45,653][root][INFO] - Training finished.\n", + "[2024-05-29 17:28:45,660][HYDRA] \t#8 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=12500.0 seed=8\n", + "[2024-05-29 17:28:45,747][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:28:45,748][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:28:45,748][root][INFO] - Training started.\n", + "[2024-05-29 17:28:48,571][root][INFO] - Training finished.\n", + "[2024-05-29 17:28:48,576][HYDRA] \t#9 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=12500.0 seed=9\n", + "[2024-05-29 17:28:48,666][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:28:48,666][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:28:48,666][root][INFO] - Training started.\n", + "[2024-05-29 17:28:51,599][root][INFO] - Training finished.\n", + "[2024-05-29 17:28:51,609][HYDRA] Added config 3ae65a as new incumbent because there are no incumbents yet.\n", + "[2024-05-29 17:28:51,610][HYDRA] Finished Iteration 1!\n", + "[2024-05-29 17:28:51,610][HYDRA] Current incumbent has a performance of 35.34000015258789.\n", + "[2024-05-29 17:28:51,612][HYDRA] Launching 10 jobs locally\n", + "[2024-05-29 17:28:51,612][HYDRA] \t#10 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=False hp_config.buffer_size=3835046 hp_config.initial_epsilon=0.9627983191463305 hp_config.learning_rate=0.014557916623227784 hp_config.learning_starts=819 hp_config.target_epsilon=0.12834428324417724 hp_config.use_target_network=True hp_config.target_update_interval=671 hp_config.tau=0.3700736632331964 autorl.n_total_timesteps=12500.0 seed=0\n", + "[2024-05-29 17:28:51,700][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:28:51,700][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:28:51,700][root][INFO] - Training started.\n", + "[2024-05-29 17:28:54,804][root][INFO] - Training finished.\n", + "[2024-05-29 17:28:54,808][HYDRA] \t#11 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=False hp_config.buffer_size=3835046 hp_config.initial_epsilon=0.9627983191463305 hp_config.learning_rate=0.014557916623227784 hp_config.learning_starts=819 hp_config.target_epsilon=0.12834428324417724 hp_config.use_target_network=True hp_config.target_update_interval=671 hp_config.tau=0.3700736632331964 autorl.n_total_timesteps=12500.0 seed=1\n", + "[2024-05-29 17:28:54,889][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:28:54,890][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:28:54,890][root][INFO] - Training started.\n", + "[2024-05-29 17:28:57,703][root][INFO] - Training finished.\n", + "[2024-05-29 17:28:57,706][HYDRA] \t#12 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=False hp_config.buffer_size=3835046 hp_config.initial_epsilon=0.9627983191463305 hp_config.learning_rate=0.014557916623227784 hp_config.learning_starts=819 hp_config.target_epsilon=0.12834428324417724 hp_config.use_target_network=True hp_config.target_update_interval=671 hp_config.tau=0.3700736632331964 autorl.n_total_timesteps=12500.0 seed=2\n", + "[2024-05-29 17:28:57,798][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:28:57,798][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:28:57,798][root][INFO] - Training started.\n", + "[2024-05-29 17:29:00,666][root][INFO] - Training finished.\n", + "[2024-05-29 17:29:00,670][HYDRA] \t#13 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=False hp_config.buffer_size=3835046 hp_config.initial_epsilon=0.9627983191463305 hp_config.learning_rate=0.014557916623227784 hp_config.learning_starts=819 hp_config.target_epsilon=0.12834428324417724 hp_config.use_target_network=True hp_config.target_update_interval=671 hp_config.tau=0.3700736632331964 autorl.n_total_timesteps=12500.0 seed=3\n", + "[2024-05-29 17:29:00,750][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:29:00,751][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:29:00,751][root][INFO] - Training started.\n", + "[2024-05-29 17:29:03,673][root][INFO] - Training finished.\n", + "[2024-05-29 17:29:03,677][HYDRA] \t#14 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=False hp_config.buffer_size=3835046 hp_config.initial_epsilon=0.9627983191463305 hp_config.learning_rate=0.014557916623227784 hp_config.learning_starts=819 hp_config.target_epsilon=0.12834428324417724 hp_config.use_target_network=True hp_config.target_update_interval=671 hp_config.tau=0.3700736632331964 autorl.n_total_timesteps=12500.0 seed=4\n", + "[2024-05-29 17:29:03,758][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:29:03,759][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:29:03,759][root][INFO] - Training started.\n", + "[2024-05-29 17:29:06,587][root][INFO] - Training finished.\n", + "[2024-05-29 17:29:06,590][HYDRA] \t#15 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=False hp_config.buffer_size=3835046 hp_config.initial_epsilon=0.9627983191463305 hp_config.learning_rate=0.014557916623227784 hp_config.learning_starts=819 hp_config.target_epsilon=0.12834428324417724 hp_config.use_target_network=True hp_config.target_update_interval=671 hp_config.tau=0.3700736632331964 autorl.n_total_timesteps=12500.0 seed=5\n", + "[2024-05-29 17:29:06,671][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:29:06,672][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:29:06,672][root][INFO] - Training started.\n", + "[2024-05-29 17:29:09,637][root][INFO] - Training finished.\n", + "[2024-05-29 17:29:09,641][HYDRA] \t#16 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=False hp_config.buffer_size=3835046 hp_config.initial_epsilon=0.9627983191463305 hp_config.learning_rate=0.014557916623227784 hp_config.learning_starts=819 hp_config.target_epsilon=0.12834428324417724 hp_config.use_target_network=True hp_config.target_update_interval=671 hp_config.tau=0.3700736632331964 autorl.n_total_timesteps=12500.0 seed=6\n", + "[2024-05-29 17:29:09,730][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:29:09,730][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:29:09,730][root][INFO] - Training started.\n", + "[2024-05-29 17:29:12,583][root][INFO] - Training finished.\n", + "[2024-05-29 17:29:12,587][HYDRA] \t#17 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=False hp_config.buffer_size=3835046 hp_config.initial_epsilon=0.9627983191463305 hp_config.learning_rate=0.014557916623227784 hp_config.learning_starts=819 hp_config.target_epsilon=0.12834428324417724 hp_config.use_target_network=True hp_config.target_update_interval=671 hp_config.tau=0.3700736632331964 autorl.n_total_timesteps=12500.0 seed=7\n", + "[2024-05-29 17:29:12,669][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:29:12,669][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:29:12,669][root][INFO] - Training started.\n", + "[2024-05-29 17:29:15,464][root][INFO] - Training finished.\n", + "[2024-05-29 17:29:15,468][HYDRA] \t#18 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=False hp_config.buffer_size=3835046 hp_config.initial_epsilon=0.9627983191463305 hp_config.learning_rate=0.014557916623227784 hp_config.learning_starts=819 hp_config.target_epsilon=0.12834428324417724 hp_config.use_target_network=True hp_config.target_update_interval=671 hp_config.tau=0.3700736632331964 autorl.n_total_timesteps=12500.0 seed=8\n", + "[2024-05-29 17:29:15,548][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:29:15,549][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:29:15,549][root][INFO] - Training started.\n", + "[2024-05-29 17:29:18,538][root][INFO] - Training finished.\n", + "[2024-05-29 17:29:18,541][HYDRA] \t#19 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=False hp_config.buffer_size=3835046 hp_config.initial_epsilon=0.9627983191463305 hp_config.learning_rate=0.014557916623227784 hp_config.learning_starts=819 hp_config.target_epsilon=0.12834428324417724 hp_config.use_target_network=True hp_config.target_update_interval=671 hp_config.tau=0.3700736632331964 autorl.n_total_timesteps=12500.0 seed=9\n", + "[2024-05-29 17:29:18,623][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:29:18,624][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:29:18,624][root][INFO] - Training started.\n", + "[2024-05-29 17:29:21,475][root][INFO] - Training finished.\n", + "[2024-05-29 17:29:21,479][HYDRA] Finished Iteration 2!\n", + "[2024-05-29 17:29:21,479][HYDRA] Current incumbent has a performance of 35.34000015258789.\n", + "[2024-05-29 17:29:21,481][HYDRA] Launching 10 jobs locally\n", + "[2024-05-29 17:29:21,481][HYDRA] \t#20 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=7917464 hp_config.initial_epsilon=0.5355180290989434 hp_config.learning_rate=0.0077764924510783885 hp_config.learning_starts=473 hp_config.target_epsilon=0.029527304194400236 hp_config.use_target_network=True hp_config.buffer_alpha=0.028601902431991594 hp_config.buffer_beta=0.9443105977294779 hp_config.buffer_epsilon=6.173405204074314e-05 hp_config.target_update_interval=211 hp_config.tau=0.5744948027137008 autorl.n_total_timesteps=12500.0 seed=0\n", + "[2024-05-29 17:29:21,567][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:29:21,568][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:29:21,568][root][INFO] - Training started.\n", + "[2024-05-29 17:29:24,755][root][INFO] - Training finished.\n", + "[2024-05-29 17:29:24,764][HYDRA] \t#21 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=7917464 hp_config.initial_epsilon=0.5355180290989434 hp_config.learning_rate=0.0077764924510783885 hp_config.learning_starts=473 hp_config.target_epsilon=0.029527304194400236 hp_config.use_target_network=True hp_config.buffer_alpha=0.028601902431991594 hp_config.buffer_beta=0.9443105977294779 hp_config.buffer_epsilon=6.173405204074314e-05 hp_config.target_update_interval=211 hp_config.tau=0.5744948027137008 autorl.n_total_timesteps=12500.0 seed=1\n", + "[2024-05-29 17:29:24,905][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:29:24,907][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:29:24,909][root][INFO] - Training started.\n", + "[2024-05-29 17:29:28,211][root][INFO] - Training finished.\n", + "[2024-05-29 17:29:28,216][HYDRA] \t#22 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=7917464 hp_config.initial_epsilon=0.5355180290989434 hp_config.learning_rate=0.0077764924510783885 hp_config.learning_starts=473 hp_config.target_epsilon=0.029527304194400236 hp_config.use_target_network=True hp_config.buffer_alpha=0.028601902431991594 hp_config.buffer_beta=0.9443105977294779 hp_config.buffer_epsilon=6.173405204074314e-05 hp_config.target_update_interval=211 hp_config.tau=0.5744948027137008 autorl.n_total_timesteps=12500.0 seed=2\n", + "[2024-05-29 17:29:28,308][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:29:28,309][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:29:28,309][root][INFO] - Training started.\n", + "[2024-05-29 17:29:31,655][root][INFO] - Training finished.\n", + "[2024-05-29 17:29:31,661][HYDRA] \t#23 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=7917464 hp_config.initial_epsilon=0.5355180290989434 hp_config.learning_rate=0.0077764924510783885 hp_config.learning_starts=473 hp_config.target_epsilon=0.029527304194400236 hp_config.use_target_network=True hp_config.buffer_alpha=0.028601902431991594 hp_config.buffer_beta=0.9443105977294779 hp_config.buffer_epsilon=6.173405204074314e-05 hp_config.target_update_interval=211 hp_config.tau=0.5744948027137008 autorl.n_total_timesteps=12500.0 seed=3\n", + "[2024-05-29 17:29:31,756][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:29:31,756][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:29:31,756][root][INFO] - Training started.\n", + "[2024-05-29 17:29:35,036][root][INFO] - Training finished.\n", + "[2024-05-29 17:29:35,042][HYDRA] \t#24 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=7917464 hp_config.initial_epsilon=0.5355180290989434 hp_config.learning_rate=0.0077764924510783885 hp_config.learning_starts=473 hp_config.target_epsilon=0.029527304194400236 hp_config.use_target_network=True hp_config.buffer_alpha=0.028601902431991594 hp_config.buffer_beta=0.9443105977294779 hp_config.buffer_epsilon=6.173405204074314e-05 hp_config.target_update_interval=211 hp_config.tau=0.5744948027137008 autorl.n_total_timesteps=12500.0 seed=4\n", + "[2024-05-29 17:29:35,135][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:29:35,136][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:29:35,136][root][INFO] - Training started.\n", + "[2024-05-29 17:29:38,656][root][INFO] - Training finished.\n", + "[2024-05-29 17:29:38,663][HYDRA] \t#25 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=7917464 hp_config.initial_epsilon=0.5355180290989434 hp_config.learning_rate=0.0077764924510783885 hp_config.learning_starts=473 hp_config.target_epsilon=0.029527304194400236 hp_config.use_target_network=True hp_config.buffer_alpha=0.028601902431991594 hp_config.buffer_beta=0.9443105977294779 hp_config.buffer_epsilon=6.173405204074314e-05 hp_config.target_update_interval=211 hp_config.tau=0.5744948027137008 autorl.n_total_timesteps=12500.0 seed=5\n", + "[2024-05-29 17:29:38,749][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:29:38,749][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:29:38,749][root][INFO] - Training started.\n", + "[2024-05-29 17:29:42,113][root][INFO] - Training finished.\n", + "[2024-05-29 17:29:42,120][HYDRA] \t#26 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=7917464 hp_config.initial_epsilon=0.5355180290989434 hp_config.learning_rate=0.0077764924510783885 hp_config.learning_starts=473 hp_config.target_epsilon=0.029527304194400236 hp_config.use_target_network=True hp_config.buffer_alpha=0.028601902431991594 hp_config.buffer_beta=0.9443105977294779 hp_config.buffer_epsilon=6.173405204074314e-05 hp_config.target_update_interval=211 hp_config.tau=0.5744948027137008 autorl.n_total_timesteps=12500.0 seed=6\n", + "[2024-05-29 17:29:42,206][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:29:42,207][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:29:42,207][root][INFO] - Training started.\n", + "[2024-05-29 17:29:45,213][root][INFO] - Training finished.\n", + "[2024-05-29 17:29:45,219][HYDRA] \t#27 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=7917464 hp_config.initial_epsilon=0.5355180290989434 hp_config.learning_rate=0.0077764924510783885 hp_config.learning_starts=473 hp_config.target_epsilon=0.029527304194400236 hp_config.use_target_network=True hp_config.buffer_alpha=0.028601902431991594 hp_config.buffer_beta=0.9443105977294779 hp_config.buffer_epsilon=6.173405204074314e-05 hp_config.target_update_interval=211 hp_config.tau=0.5744948027137008 autorl.n_total_timesteps=12500.0 seed=7\n", + "[2024-05-29 17:29:45,335][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:29:45,336][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:29:45,336][root][INFO] - Training started.\n", + "[2024-05-29 17:29:48,212][root][INFO] - Training finished.\n", + "[2024-05-29 17:29:48,217][HYDRA] \t#28 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=7917464 hp_config.initial_epsilon=0.5355180290989434 hp_config.learning_rate=0.0077764924510783885 hp_config.learning_starts=473 hp_config.target_epsilon=0.029527304194400236 hp_config.use_target_network=True hp_config.buffer_alpha=0.028601902431991594 hp_config.buffer_beta=0.9443105977294779 hp_config.buffer_epsilon=6.173405204074314e-05 hp_config.target_update_interval=211 hp_config.tau=0.5744948027137008 autorl.n_total_timesteps=12500.0 seed=8\n", + "[2024-05-29 17:29:48,302][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:29:48,303][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:29:48,303][root][INFO] - Training started.\n", + "[2024-05-29 17:29:51,361][root][INFO] - Training finished.\n", + "[2024-05-29 17:29:51,367][HYDRA] \t#29 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=7917464 hp_config.initial_epsilon=0.5355180290989434 hp_config.learning_rate=0.0077764924510783885 hp_config.learning_starts=473 hp_config.target_epsilon=0.029527304194400236 hp_config.use_target_network=True hp_config.buffer_alpha=0.028601902431991594 hp_config.buffer_beta=0.9443105977294779 hp_config.buffer_epsilon=6.173405204074314e-05 hp_config.target_update_interval=211 hp_config.tau=0.5744948027137008 autorl.n_total_timesteps=12500.0 seed=9\n", + "[2024-05-29 17:29:51,455][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:29:51,456][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:29:51,456][root][INFO] - Training started.\n", + "[2024-05-29 17:29:54,303][root][INFO] - Training finished.\n", + "[2024-05-29 17:29:54,311][HYDRA] Finished Iteration 3!\n", + "[2024-05-29 17:29:54,311][HYDRA] Current incumbent has a performance of 35.34000015258789.\n", + "[2024-05-29 17:29:54,312][HYDRA] Launching 10 jobs locally\n", + "[2024-05-29 17:29:54,312][HYDRA] \t#30 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=False hp_config.buffer_size=5289432 hp_config.initial_epsilon=0.5435646498507704 hp_config.learning_rate=0.022390342721683703 hp_config.learning_starts=800 hp_config.target_epsilon=0.1889891144928672 hp_config.use_target_network=False autorl.n_total_timesteps=12500.0 seed=0\n", + "[2024-05-29 17:29:54,395][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:29:54,396][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:29:54,396][root][INFO] - Training started.\n", + "[2024-05-29 17:29:57,197][root][INFO] - Training finished.\n", + "[2024-05-29 17:29:57,202][HYDRA] \t#31 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=False hp_config.buffer_size=5289432 hp_config.initial_epsilon=0.5435646498507704 hp_config.learning_rate=0.022390342721683703 hp_config.learning_starts=800 hp_config.target_epsilon=0.1889891144928672 hp_config.use_target_network=False autorl.n_total_timesteps=12500.0 seed=1\n", + "[2024-05-29 17:29:57,285][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:29:57,286][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:29:57,286][root][INFO] - Training started.\n", + "[2024-05-29 17:30:00,044][root][INFO] - Training finished.\n", + "[2024-05-29 17:30:00,050][HYDRA] \t#32 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=False hp_config.buffer_size=5289432 hp_config.initial_epsilon=0.5435646498507704 hp_config.learning_rate=0.022390342721683703 hp_config.learning_starts=800 hp_config.target_epsilon=0.1889891144928672 hp_config.use_target_network=False autorl.n_total_timesteps=12500.0 seed=2\n", + "[2024-05-29 17:30:00,134][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:30:00,134][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:30:00,135][root][INFO] - Training started.\n", + "[2024-05-29 17:30:02,948][root][INFO] - Training finished.\n", + "[2024-05-29 17:30:02,955][HYDRA] \t#33 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=False hp_config.buffer_size=5289432 hp_config.initial_epsilon=0.5435646498507704 hp_config.learning_rate=0.022390342721683703 hp_config.learning_starts=800 hp_config.target_epsilon=0.1889891144928672 hp_config.use_target_network=False autorl.n_total_timesteps=12500.0 seed=3\n", + "[2024-05-29 17:30:03,042][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:30:03,043][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:30:03,043][root][INFO] - Training started.\n", + "[2024-05-29 17:30:05,762][root][INFO] - Training finished.\n", + "[2024-05-29 17:30:05,769][HYDRA] \t#34 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=False hp_config.buffer_size=5289432 hp_config.initial_epsilon=0.5435646498507704 hp_config.learning_rate=0.022390342721683703 hp_config.learning_starts=800 hp_config.target_epsilon=0.1889891144928672 hp_config.use_target_network=False autorl.n_total_timesteps=12500.0 seed=4\n", + "[2024-05-29 17:30:05,849][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:30:05,849][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:30:05,849][root][INFO] - Training started.\n", + "[2024-05-29 17:30:08,853][root][INFO] - Training finished.\n", + "[2024-05-29 17:30:08,859][HYDRA] \t#35 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=False hp_config.buffer_size=5289432 hp_config.initial_epsilon=0.5435646498507704 hp_config.learning_rate=0.022390342721683703 hp_config.learning_starts=800 hp_config.target_epsilon=0.1889891144928672 hp_config.use_target_network=False autorl.n_total_timesteps=12500.0 seed=5\n", + "[2024-05-29 17:30:08,942][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:30:08,943][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:30:08,943][root][INFO] - Training started.\n", + "[2024-05-29 17:30:11,639][root][INFO] - Training finished.\n", + "[2024-05-29 17:30:11,655][HYDRA] \t#36 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=False hp_config.buffer_size=5289432 hp_config.initial_epsilon=0.5435646498507704 hp_config.learning_rate=0.022390342721683703 hp_config.learning_starts=800 hp_config.target_epsilon=0.1889891144928672 hp_config.use_target_network=False autorl.n_total_timesteps=12500.0 seed=6\n", + "[2024-05-29 17:30:11,738][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:30:11,738][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:30:11,738][root][INFO] - Training started.\n", + "[2024-05-29 17:30:14,413][root][INFO] - Training finished.\n", + "[2024-05-29 17:30:14,420][HYDRA] \t#37 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=False hp_config.buffer_size=5289432 hp_config.initial_epsilon=0.5435646498507704 hp_config.learning_rate=0.022390342721683703 hp_config.learning_starts=800 hp_config.target_epsilon=0.1889891144928672 hp_config.use_target_network=False autorl.n_total_timesteps=12500.0 seed=7\n", + "[2024-05-29 17:30:14,501][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:30:14,502][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:30:14,502][root][INFO] - Training started.\n", + "[2024-05-29 17:30:17,193][root][INFO] - Training finished.\n", + "[2024-05-29 17:30:17,199][HYDRA] \t#38 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=False hp_config.buffer_size=5289432 hp_config.initial_epsilon=0.5435646498507704 hp_config.learning_rate=0.022390342721683703 hp_config.learning_starts=800 hp_config.target_epsilon=0.1889891144928672 hp_config.use_target_network=False autorl.n_total_timesteps=12500.0 seed=8\n", + "[2024-05-29 17:30:17,280][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:30:17,281][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:30:17,281][root][INFO] - Training started.\n", + "[2024-05-29 17:30:20,027][root][INFO] - Training finished.\n", + "[2024-05-29 17:30:20,033][HYDRA] \t#39 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=False hp_config.buffer_size=5289432 hp_config.initial_epsilon=0.5435646498507704 hp_config.learning_rate=0.022390342721683703 hp_config.learning_starts=800 hp_config.target_epsilon=0.1889891144928672 hp_config.use_target_network=False autorl.n_total_timesteps=12500.0 seed=9\n", + "[2024-05-29 17:30:20,115][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:30:20,116][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:30:20,116][root][INFO] - Training started.\n", + "[2024-05-29 17:30:22,849][root][INFO] - Training finished.\n", + "[2024-05-29 17:30:22,856][HYDRA] Finished Iteration 4!\n", + "[2024-05-29 17:30:22,856][HYDRA] Current incumbent has a performance of 35.34000015258789.\n", + "[2024-05-29 17:30:22,858][HYDRA] Launching 10 jobs locally\n", + "[2024-05-29 17:30:22,858][HYDRA] \t#40 : hp_config.buffer_batch_size=32 hp_config.buffer_prio_sampling=True hp_config.buffer_size=2089577 hp_config.initial_epsilon=0.5806547589424982 hp_config.learning_rate=0.0018430691395340175 hp_config.learning_starts=259 hp_config.target_epsilon=0.09379584379840496 hp_config.use_target_network=True hp_config.buffer_alpha=0.16737988780906454 hp_config.buffer_beta=0.11927138975266208 hp_config.buffer_epsilon=4.2200573971950144e-05 hp_config.target_update_interval=139 hp_config.tau=0.20461653806325297 autorl.n_total_timesteps=12500.0 seed=0\n", + "[2024-05-29 17:30:22,948][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:30:22,949][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:30:22,949][root][INFO] - Training started.\n", + "[2024-05-29 17:30:25,965][root][INFO] - Training finished.\n", + "[2024-05-29 17:30:25,968][HYDRA] \t#41 : hp_config.buffer_batch_size=32 hp_config.buffer_prio_sampling=True hp_config.buffer_size=2089577 hp_config.initial_epsilon=0.5806547589424982 hp_config.learning_rate=0.0018430691395340175 hp_config.learning_starts=259 hp_config.target_epsilon=0.09379584379840496 hp_config.use_target_network=True hp_config.buffer_alpha=0.16737988780906454 hp_config.buffer_beta=0.11927138975266208 hp_config.buffer_epsilon=4.2200573971950144e-05 hp_config.target_update_interval=139 hp_config.tau=0.20461653806325297 autorl.n_total_timesteps=12500.0 seed=1\n", + "[2024-05-29 17:30:26,379][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:30:26,379][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:30:26,379][root][INFO] - Training started.\n", + "[2024-05-29 17:30:29,422][root][INFO] - Training finished.\n", + "[2024-05-29 17:30:29,426][HYDRA] \t#42 : hp_config.buffer_batch_size=32 hp_config.buffer_prio_sampling=True hp_config.buffer_size=2089577 hp_config.initial_epsilon=0.5806547589424982 hp_config.learning_rate=0.0018430691395340175 hp_config.learning_starts=259 hp_config.target_epsilon=0.09379584379840496 hp_config.use_target_network=True hp_config.buffer_alpha=0.16737988780906454 hp_config.buffer_beta=0.11927138975266208 hp_config.buffer_epsilon=4.2200573971950144e-05 hp_config.target_update_interval=139 hp_config.tau=0.20461653806325297 autorl.n_total_timesteps=12500.0 seed=2\n", + "[2024-05-29 17:30:29,515][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:30:29,516][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:30:29,516][root][INFO] - Training started.\n", + "[2024-05-29 17:30:32,683][root][INFO] - Training finished.\n", + "[2024-05-29 17:30:32,685][HYDRA] \t#43 : hp_config.buffer_batch_size=32 hp_config.buffer_prio_sampling=True hp_config.buffer_size=2089577 hp_config.initial_epsilon=0.5806547589424982 hp_config.learning_rate=0.0018430691395340175 hp_config.learning_starts=259 hp_config.target_epsilon=0.09379584379840496 hp_config.use_target_network=True hp_config.buffer_alpha=0.16737988780906454 hp_config.buffer_beta=0.11927138975266208 hp_config.buffer_epsilon=4.2200573971950144e-05 hp_config.target_update_interval=139 hp_config.tau=0.20461653806325297 autorl.n_total_timesteps=12500.0 seed=3\n", + "[2024-05-29 17:30:32,772][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:30:32,773][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:30:32,773][root][INFO] - Training started.\n", + "[2024-05-29 17:30:35,749][root][INFO] - Training finished.\n", + "[2024-05-29 17:30:35,752][HYDRA] \t#44 : hp_config.buffer_batch_size=32 hp_config.buffer_prio_sampling=True hp_config.buffer_size=2089577 hp_config.initial_epsilon=0.5806547589424982 hp_config.learning_rate=0.0018430691395340175 hp_config.learning_starts=259 hp_config.target_epsilon=0.09379584379840496 hp_config.use_target_network=True hp_config.buffer_alpha=0.16737988780906454 hp_config.buffer_beta=0.11927138975266208 hp_config.buffer_epsilon=4.2200573971950144e-05 hp_config.target_update_interval=139 hp_config.tau=0.20461653806325297 autorl.n_total_timesteps=12500.0 seed=4\n", + "[2024-05-29 17:30:35,839][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:30:35,840][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:30:35,840][root][INFO] - Training started.\n", + "[2024-05-29 17:30:39,326][root][INFO] - Training finished.\n", + "[2024-05-29 17:30:39,329][HYDRA] \t#45 : hp_config.buffer_batch_size=32 hp_config.buffer_prio_sampling=True hp_config.buffer_size=2089577 hp_config.initial_epsilon=0.5806547589424982 hp_config.learning_rate=0.0018430691395340175 hp_config.learning_starts=259 hp_config.target_epsilon=0.09379584379840496 hp_config.use_target_network=True hp_config.buffer_alpha=0.16737988780906454 hp_config.buffer_beta=0.11927138975266208 hp_config.buffer_epsilon=4.2200573971950144e-05 hp_config.target_update_interval=139 hp_config.tau=0.20461653806325297 autorl.n_total_timesteps=12500.0 seed=5\n", + "[2024-05-29 17:30:39,418][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:30:39,418][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:30:39,418][root][INFO] - Training started.\n", + "[2024-05-29 17:30:42,640][root][INFO] - Training finished.\n", + "[2024-05-29 17:30:42,643][HYDRA] \t#46 : hp_config.buffer_batch_size=32 hp_config.buffer_prio_sampling=True hp_config.buffer_size=2089577 hp_config.initial_epsilon=0.5806547589424982 hp_config.learning_rate=0.0018430691395340175 hp_config.learning_starts=259 hp_config.target_epsilon=0.09379584379840496 hp_config.use_target_network=True hp_config.buffer_alpha=0.16737988780906454 hp_config.buffer_beta=0.11927138975266208 hp_config.buffer_epsilon=4.2200573971950144e-05 hp_config.target_update_interval=139 hp_config.tau=0.20461653806325297 autorl.n_total_timesteps=12500.0 seed=6\n", + "[2024-05-29 17:30:42,725][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:30:42,726][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:30:42,726][root][INFO] - Training started.\n", + "[2024-05-29 17:30:45,636][root][INFO] - Training finished.\n", + "[2024-05-29 17:30:45,639][HYDRA] \t#47 : hp_config.buffer_batch_size=32 hp_config.buffer_prio_sampling=True hp_config.buffer_size=2089577 hp_config.initial_epsilon=0.5806547589424982 hp_config.learning_rate=0.0018430691395340175 hp_config.learning_starts=259 hp_config.target_epsilon=0.09379584379840496 hp_config.use_target_network=True hp_config.buffer_alpha=0.16737988780906454 hp_config.buffer_beta=0.11927138975266208 hp_config.buffer_epsilon=4.2200573971950144e-05 hp_config.target_update_interval=139 hp_config.tau=0.20461653806325297 autorl.n_total_timesteps=12500.0 seed=7\n", + "[2024-05-29 17:30:45,763][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:30:45,763][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:30:45,763][root][INFO] - Training started.\n", + "[2024-05-29 17:30:48,721][root][INFO] - Training finished.\n", + "[2024-05-29 17:30:48,724][HYDRA] \t#48 : hp_config.buffer_batch_size=32 hp_config.buffer_prio_sampling=True hp_config.buffer_size=2089577 hp_config.initial_epsilon=0.5806547589424982 hp_config.learning_rate=0.0018430691395340175 hp_config.learning_starts=259 hp_config.target_epsilon=0.09379584379840496 hp_config.use_target_network=True hp_config.buffer_alpha=0.16737988780906454 hp_config.buffer_beta=0.11927138975266208 hp_config.buffer_epsilon=4.2200573971950144e-05 hp_config.target_update_interval=139 hp_config.tau=0.20461653806325297 autorl.n_total_timesteps=12500.0 seed=8\n", + "[2024-05-29 17:30:48,810][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:30:48,810][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:30:48,810][root][INFO] - Training started.\n", + "[2024-05-29 17:30:52,290][root][INFO] - Training finished.\n", + "[2024-05-29 17:30:52,293][HYDRA] \t#49 : hp_config.buffer_batch_size=32 hp_config.buffer_prio_sampling=True hp_config.buffer_size=2089577 hp_config.initial_epsilon=0.5806547589424982 hp_config.learning_rate=0.0018430691395340175 hp_config.learning_starts=259 hp_config.target_epsilon=0.09379584379840496 hp_config.use_target_network=True hp_config.buffer_alpha=0.16737988780906454 hp_config.buffer_beta=0.11927138975266208 hp_config.buffer_epsilon=4.2200573971950144e-05 hp_config.target_update_interval=139 hp_config.tau=0.20461653806325297 autorl.n_total_timesteps=12500.0 seed=9\n", + "[2024-05-29 17:30:52,379][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:30:52,379][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:30:52,380][root][INFO] - Training started.\n", + "[2024-05-29 17:30:55,471][root][INFO] - Training finished.\n", + "[2024-05-29 17:30:55,475][HYDRA] Finished Iteration 5!\n", + "[2024-05-29 17:30:55,475][HYDRA] Current incumbent has a performance of 35.34000015258789.\n", + "[2024-05-29 17:30:55,477][HYDRA] Launching 10 jobs locally\n", + "[2024-05-29 17:30:55,477][HYDRA] \t#50 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=False hp_config.buffer_size=971937 hp_config.initial_epsilon=0.918972453749402 hp_config.learning_rate=3.0233751521472095e-06 hp_config.learning_starts=1000 hp_config.target_epsilon=0.09426158912789262 hp_config.use_target_network=False autorl.n_total_timesteps=12500.0 seed=0\n", + "[2024-05-29 17:30:55,564][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:30:55,565][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:30:55,565][root][INFO] - Training started.\n", + "[2024-05-29 17:30:58,417][root][INFO] - Training finished.\n", + "[2024-05-29 17:30:58,419][HYDRA] \t#51 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=False hp_config.buffer_size=971937 hp_config.initial_epsilon=0.918972453749402 hp_config.learning_rate=3.0233751521472095e-06 hp_config.learning_starts=1000 hp_config.target_epsilon=0.09426158912789262 hp_config.use_target_network=False autorl.n_total_timesteps=12500.0 seed=1\n", + "[2024-05-29 17:30:58,508][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:30:58,508][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:30:58,509][root][INFO] - Training started.\n", + "[2024-05-29 17:31:01,297][root][INFO] - Training finished.\n", + "[2024-05-29 17:31:01,299][HYDRA] \t#52 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=False hp_config.buffer_size=971937 hp_config.initial_epsilon=0.918972453749402 hp_config.learning_rate=3.0233751521472095e-06 hp_config.learning_starts=1000 hp_config.target_epsilon=0.09426158912789262 hp_config.use_target_network=False autorl.n_total_timesteps=12500.0 seed=2\n", + "[2024-05-29 17:31:01,380][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:31:01,381][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:31:01,381][root][INFO] - Training started.\n", + "[2024-05-29 17:31:04,314][root][INFO] - Training finished.\n", + "[2024-05-29 17:31:04,316][HYDRA] \t#53 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=False hp_config.buffer_size=971937 hp_config.initial_epsilon=0.918972453749402 hp_config.learning_rate=3.0233751521472095e-06 hp_config.learning_starts=1000 hp_config.target_epsilon=0.09426158912789262 hp_config.use_target_network=False autorl.n_total_timesteps=12500.0 seed=3\n", + "[2024-05-29 17:31:04,404][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:31:04,405][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:31:04,405][root][INFO] - Training started.\n", + "[2024-05-29 17:31:07,307][root][INFO] - Training finished.\n", + "[2024-05-29 17:31:07,310][HYDRA] \t#54 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=False hp_config.buffer_size=971937 hp_config.initial_epsilon=0.918972453749402 hp_config.learning_rate=3.0233751521472095e-06 hp_config.learning_starts=1000 hp_config.target_epsilon=0.09426158912789262 hp_config.use_target_network=False autorl.n_total_timesteps=12500.0 seed=4\n", + "[2024-05-29 17:31:07,392][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:31:07,392][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:31:07,392][root][INFO] - Training started.\n", + "[2024-05-29 17:31:10,327][root][INFO] - Training finished.\n", + "[2024-05-29 17:31:10,329][HYDRA] \t#55 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=False hp_config.buffer_size=971937 hp_config.initial_epsilon=0.918972453749402 hp_config.learning_rate=3.0233751521472095e-06 hp_config.learning_starts=1000 hp_config.target_epsilon=0.09426158912789262 hp_config.use_target_network=False autorl.n_total_timesteps=12500.0 seed=5\n", + "[2024-05-29 17:31:10,412][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:31:10,412][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:31:10,412][root][INFO] - Training started.\n", + "[2024-05-29 17:31:13,194][root][INFO] - Training finished.\n", + "[2024-05-29 17:31:13,196][HYDRA] \t#56 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=False hp_config.buffer_size=971937 hp_config.initial_epsilon=0.918972453749402 hp_config.learning_rate=3.0233751521472095e-06 hp_config.learning_starts=1000 hp_config.target_epsilon=0.09426158912789262 hp_config.use_target_network=False autorl.n_total_timesteps=12500.0 seed=6\n", + "[2024-05-29 17:31:13,804][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:31:13,804][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:31:13,804][root][INFO] - Training started.\n", + "[2024-05-29 17:31:16,697][root][INFO] - Training finished.\n", + "[2024-05-29 17:31:16,699][HYDRA] \t#57 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=False hp_config.buffer_size=971937 hp_config.initial_epsilon=0.918972453749402 hp_config.learning_rate=3.0233751521472095e-06 hp_config.learning_starts=1000 hp_config.target_epsilon=0.09426158912789262 hp_config.use_target_network=False autorl.n_total_timesteps=12500.0 seed=7\n", + "[2024-05-29 17:31:16,813][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:31:16,813][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:31:16,813][root][INFO] - Training started.\n", + "[2024-05-29 17:31:19,872][root][INFO] - Training finished.\n", + "[2024-05-29 17:31:19,874][HYDRA] \t#58 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=False hp_config.buffer_size=971937 hp_config.initial_epsilon=0.918972453749402 hp_config.learning_rate=3.0233751521472095e-06 hp_config.learning_starts=1000 hp_config.target_epsilon=0.09426158912789262 hp_config.use_target_network=False autorl.n_total_timesteps=12500.0 seed=8\n", + "[2024-05-29 17:31:19,966][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:31:19,967][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:31:19,967][root][INFO] - Training started.\n", + "[2024-05-29 17:31:23,150][root][INFO] - Training finished.\n", + "[2024-05-29 17:31:23,152][HYDRA] \t#59 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=False hp_config.buffer_size=971937 hp_config.initial_epsilon=0.918972453749402 hp_config.learning_rate=3.0233751521472095e-06 hp_config.learning_starts=1000 hp_config.target_epsilon=0.09426158912789262 hp_config.use_target_network=False autorl.n_total_timesteps=12500.0 seed=9\n", + "[2024-05-29 17:31:23,238][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:31:23,239][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:31:23,239][root][INFO] - Training started.\n", + "[2024-05-29 17:31:26,307][root][INFO] - Training finished.\n", + "[2024-05-29 17:31:26,311][HYDRA] Finished Iteration 6!\n", + "[2024-05-29 17:31:26,311][HYDRA] Current incumbent has a performance of 35.34000015258789.\n", + "[2024-05-29 17:31:26,312][HYDRA] Launching 10 jobs locally\n", + "[2024-05-29 17:31:26,313][HYDRA] \t#60 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=True hp_config.buffer_size=3180530 hp_config.initial_epsilon=0.707131497257335 hp_config.learning_rate=2.0928470088911824e-06 hp_config.learning_starts=709 hp_config.target_epsilon=0.11375368938710846 hp_config.use_target_network=True hp_config.buffer_alpha=0.5280155729320327 hp_config.buffer_beta=0.10300110565085725 hp_config.buffer_epsilon=2.0127321428268346e-05 hp_config.target_update_interval=930 hp_config.tau=0.3253832629268104 autorl.n_total_timesteps=12500.0 seed=0\n", + "[2024-05-29 17:31:26,404][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:31:26,405][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:31:26,405][root][INFO] - Training started.\n", + "[2024-05-29 17:31:29,677][root][INFO] - Training finished.\n", + "[2024-05-29 17:31:29,682][HYDRA] \t#61 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=True hp_config.buffer_size=3180530 hp_config.initial_epsilon=0.707131497257335 hp_config.learning_rate=2.0928470088911824e-06 hp_config.learning_starts=709 hp_config.target_epsilon=0.11375368938710846 hp_config.use_target_network=True hp_config.buffer_alpha=0.5280155729320327 hp_config.buffer_beta=0.10300110565085725 hp_config.buffer_epsilon=2.0127321428268346e-05 hp_config.target_update_interval=930 hp_config.tau=0.3253832629268104 autorl.n_total_timesteps=12500.0 seed=1\n", + "[2024-05-29 17:31:29,776][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:31:29,776][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:31:29,776][root][INFO] - Training started.\n", + "[2024-05-29 17:31:32,770][root][INFO] - Training finished.\n", + "[2024-05-29 17:31:32,773][HYDRA] \t#62 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=True hp_config.buffer_size=3180530 hp_config.initial_epsilon=0.707131497257335 hp_config.learning_rate=2.0928470088911824e-06 hp_config.learning_starts=709 hp_config.target_epsilon=0.11375368938710846 hp_config.use_target_network=True hp_config.buffer_alpha=0.5280155729320327 hp_config.buffer_beta=0.10300110565085725 hp_config.buffer_epsilon=2.0127321428268346e-05 hp_config.target_update_interval=930 hp_config.tau=0.3253832629268104 autorl.n_total_timesteps=12500.0 seed=2\n", + "[2024-05-29 17:31:32,867][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:31:32,868][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:31:32,868][root][INFO] - Training started.\n", + "[2024-05-29 17:31:35,891][root][INFO] - Training finished.\n", + "[2024-05-29 17:31:35,895][HYDRA] \t#63 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=True hp_config.buffer_size=3180530 hp_config.initial_epsilon=0.707131497257335 hp_config.learning_rate=2.0928470088911824e-06 hp_config.learning_starts=709 hp_config.target_epsilon=0.11375368938710846 hp_config.use_target_network=True hp_config.buffer_alpha=0.5280155729320327 hp_config.buffer_beta=0.10300110565085725 hp_config.buffer_epsilon=2.0127321428268346e-05 hp_config.target_update_interval=930 hp_config.tau=0.3253832629268104 autorl.n_total_timesteps=12500.0 seed=3\n", + "[2024-05-29 17:31:35,983][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:31:35,984][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:31:35,984][root][INFO] - Training started.\n", + "[2024-05-29 17:31:39,071][root][INFO] - Training finished.\n", + "[2024-05-29 17:31:39,075][HYDRA] \t#64 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=True hp_config.buffer_size=3180530 hp_config.initial_epsilon=0.707131497257335 hp_config.learning_rate=2.0928470088911824e-06 hp_config.learning_starts=709 hp_config.target_epsilon=0.11375368938710846 hp_config.use_target_network=True hp_config.buffer_alpha=0.5280155729320327 hp_config.buffer_beta=0.10300110565085725 hp_config.buffer_epsilon=2.0127321428268346e-05 hp_config.target_update_interval=930 hp_config.tau=0.3253832629268104 autorl.n_total_timesteps=12500.0 seed=4\n", + "[2024-05-29 17:31:39,162][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:31:39,162][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:31:39,162][root][INFO] - Training started.\n", + "[2024-05-29 17:31:42,616][root][INFO] - Training finished.\n", + "[2024-05-29 17:31:42,620][HYDRA] \t#65 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=True hp_config.buffer_size=3180530 hp_config.initial_epsilon=0.707131497257335 hp_config.learning_rate=2.0928470088911824e-06 hp_config.learning_starts=709 hp_config.target_epsilon=0.11375368938710846 hp_config.use_target_network=True hp_config.buffer_alpha=0.5280155729320327 hp_config.buffer_beta=0.10300110565085725 hp_config.buffer_epsilon=2.0127321428268346e-05 hp_config.target_update_interval=930 hp_config.tau=0.3253832629268104 autorl.n_total_timesteps=12500.0 seed=5\n", + "[2024-05-29 17:31:42,700][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:31:42,701][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:31:42,701][root][INFO] - Training started.\n", + "[2024-05-29 17:31:45,513][root][INFO] - Training finished.\n", + "[2024-05-29 17:31:45,517][HYDRA] \t#66 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=True hp_config.buffer_size=3180530 hp_config.initial_epsilon=0.707131497257335 hp_config.learning_rate=2.0928470088911824e-06 hp_config.learning_starts=709 hp_config.target_epsilon=0.11375368938710846 hp_config.use_target_network=True hp_config.buffer_alpha=0.5280155729320327 hp_config.buffer_beta=0.10300110565085725 hp_config.buffer_epsilon=2.0127321428268346e-05 hp_config.target_update_interval=930 hp_config.tau=0.3253832629268104 autorl.n_total_timesteps=12500.0 seed=6\n", + "[2024-05-29 17:31:45,603][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:31:45,603][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:31:45,603][root][INFO] - Training started.\n", + "[2024-05-29 17:31:48,535][root][INFO] - Training finished.\n", + "[2024-05-29 17:31:48,539][HYDRA] \t#67 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=True hp_config.buffer_size=3180530 hp_config.initial_epsilon=0.707131497257335 hp_config.learning_rate=2.0928470088911824e-06 hp_config.learning_starts=709 hp_config.target_epsilon=0.11375368938710846 hp_config.use_target_network=True hp_config.buffer_alpha=0.5280155729320327 hp_config.buffer_beta=0.10300110565085725 hp_config.buffer_epsilon=2.0127321428268346e-05 hp_config.target_update_interval=930 hp_config.tau=0.3253832629268104 autorl.n_total_timesteps=12500.0 seed=7\n", + "[2024-05-29 17:31:48,623][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:31:48,624][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:31:48,624][root][INFO] - Training started.\n", + "[2024-05-29 17:31:51,893][root][INFO] - Training finished.\n", + "[2024-05-29 17:31:51,896][HYDRA] \t#68 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=True hp_config.buffer_size=3180530 hp_config.initial_epsilon=0.707131497257335 hp_config.learning_rate=2.0928470088911824e-06 hp_config.learning_starts=709 hp_config.target_epsilon=0.11375368938710846 hp_config.use_target_network=True hp_config.buffer_alpha=0.5280155729320327 hp_config.buffer_beta=0.10300110565085725 hp_config.buffer_epsilon=2.0127321428268346e-05 hp_config.target_update_interval=930 hp_config.tau=0.3253832629268104 autorl.n_total_timesteps=12500.0 seed=8\n", + "[2024-05-29 17:31:51,982][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:31:51,982][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:31:51,983][root][INFO] - Training started.\n", + "[2024-05-29 17:31:54,903][root][INFO] - Training finished.\n", + "[2024-05-29 17:31:54,906][HYDRA] \t#69 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=True hp_config.buffer_size=3180530 hp_config.initial_epsilon=0.707131497257335 hp_config.learning_rate=2.0928470088911824e-06 hp_config.learning_starts=709 hp_config.target_epsilon=0.11375368938710846 hp_config.use_target_network=True hp_config.buffer_alpha=0.5280155729320327 hp_config.buffer_beta=0.10300110565085725 hp_config.buffer_epsilon=2.0127321428268346e-05 hp_config.target_update_interval=930 hp_config.tau=0.3253832629268104 autorl.n_total_timesteps=12500.0 seed=9\n", + "[2024-05-29 17:31:54,992][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:31:54,993][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:31:54,993][root][INFO] - Training started.\n", + "[2024-05-29 17:31:57,856][root][INFO] - Training finished.\n", + "[2024-05-29 17:31:57,861][HYDRA] Added config b8886b and rejected config 3ae65a as incumbent because it is not better than the incumbents on 1 instances:\n", + "[2024-05-29 17:31:57,862][HYDRA] Finished Iteration 7!\n", + "[2024-05-29 17:31:57,862][HYDRA] Current incumbent has a performance of 34.900001525878906.\n", + "[2024-05-29 17:31:57,864][HYDRA] Launching 10 jobs locally\n", + "[2024-05-29 17:31:57,864][HYDRA] \t#70 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=7163563 hp_config.initial_epsilon=0.6447030464736005 hp_config.learning_rate=8.24056159732675e-06 hp_config.learning_starts=601 hp_config.target_epsilon=0.005001401691311217 hp_config.use_target_network=False hp_config.buffer_alpha=0.014648521430621595 hp_config.buffer_beta=0.6810383714282678 hp_config.buffer_epsilon=1.2023527271263151e-06 autorl.n_total_timesteps=12500.0 seed=0\n", + "[2024-05-29 17:31:57,949][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:31:57,950][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:31:57,950][root][INFO] - Training started.\n", + "[2024-05-29 17:32:01,171][root][INFO] - Training finished.\n", + "[2024-05-29 17:32:01,178][HYDRA] \t#71 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=7163563 hp_config.initial_epsilon=0.6447030464736005 hp_config.learning_rate=8.24056159732675e-06 hp_config.learning_starts=601 hp_config.target_epsilon=0.005001401691311217 hp_config.use_target_network=False hp_config.buffer_alpha=0.014648521430621595 hp_config.buffer_beta=0.6810383714282678 hp_config.buffer_epsilon=1.2023527271263151e-06 autorl.n_total_timesteps=12500.0 seed=1\n", + "[2024-05-29 17:32:01,272][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:32:01,273][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:32:01,273][root][INFO] - Training started.\n", + "[2024-05-29 17:32:04,446][root][INFO] - Training finished.\n", + "[2024-05-29 17:32:04,454][HYDRA] \t#72 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=7163563 hp_config.initial_epsilon=0.6447030464736005 hp_config.learning_rate=8.24056159732675e-06 hp_config.learning_starts=601 hp_config.target_epsilon=0.005001401691311217 hp_config.use_target_network=False hp_config.buffer_alpha=0.014648521430621595 hp_config.buffer_beta=0.6810383714282678 hp_config.buffer_epsilon=1.2023527271263151e-06 autorl.n_total_timesteps=12500.0 seed=2\n", + "[2024-05-29 17:32:04,547][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:32:04,547][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:32:04,547][root][INFO] - Training started.\n", + "[2024-05-29 17:32:08,691][root][INFO] - Training finished.\n", + "[2024-05-29 17:32:08,697][HYDRA] \t#73 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=7163563 hp_config.initial_epsilon=0.6447030464736005 hp_config.learning_rate=8.24056159732675e-06 hp_config.learning_starts=601 hp_config.target_epsilon=0.005001401691311217 hp_config.use_target_network=False hp_config.buffer_alpha=0.014648521430621595 hp_config.buffer_beta=0.6810383714282678 hp_config.buffer_epsilon=1.2023527271263151e-06 autorl.n_total_timesteps=12500.0 seed=3\n", + "[2024-05-29 17:32:08,856][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:32:08,857][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:32:08,858][root][INFO] - Training started.\n", + "[2024-05-29 17:32:12,030][root][INFO] - Training finished.\n", + "[2024-05-29 17:32:12,037][HYDRA] \t#74 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=7163563 hp_config.initial_epsilon=0.6447030464736005 hp_config.learning_rate=8.24056159732675e-06 hp_config.learning_starts=601 hp_config.target_epsilon=0.005001401691311217 hp_config.use_target_network=False hp_config.buffer_alpha=0.014648521430621595 hp_config.buffer_beta=0.6810383714282678 hp_config.buffer_epsilon=1.2023527271263151e-06 autorl.n_total_timesteps=12500.0 seed=4\n", + "[2024-05-29 17:32:12,139][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:32:12,140][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:32:12,141][root][INFO] - Training started.\n", + "[2024-05-29 17:32:15,103][root][INFO] - Training finished.\n", + "[2024-05-29 17:32:15,110][HYDRA] \t#75 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=7163563 hp_config.initial_epsilon=0.6447030464736005 hp_config.learning_rate=8.24056159732675e-06 hp_config.learning_starts=601 hp_config.target_epsilon=0.005001401691311217 hp_config.use_target_network=False hp_config.buffer_alpha=0.014648521430621595 hp_config.buffer_beta=0.6810383714282678 hp_config.buffer_epsilon=1.2023527271263151e-06 autorl.n_total_timesteps=12500.0 seed=5\n", + "[2024-05-29 17:32:15,214][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:32:15,215][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:32:15,215][root][INFO] - Training started.\n", + "[2024-05-29 17:32:18,113][root][INFO] - Training finished.\n", + "[2024-05-29 17:32:18,119][HYDRA] \t#76 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=7163563 hp_config.initial_epsilon=0.6447030464736005 hp_config.learning_rate=8.24056159732675e-06 hp_config.learning_starts=601 hp_config.target_epsilon=0.005001401691311217 hp_config.use_target_network=False hp_config.buffer_alpha=0.014648521430621595 hp_config.buffer_beta=0.6810383714282678 hp_config.buffer_epsilon=1.2023527271263151e-06 autorl.n_total_timesteps=12500.0 seed=6\n", + "[2024-05-29 17:32:18,248][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:32:18,249][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:32:18,249][root][INFO] - Training started.\n", + "[2024-05-29 17:32:21,230][root][INFO] - Training finished.\n", + "[2024-05-29 17:32:21,236][HYDRA] \t#77 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=7163563 hp_config.initial_epsilon=0.6447030464736005 hp_config.learning_rate=8.24056159732675e-06 hp_config.learning_starts=601 hp_config.target_epsilon=0.005001401691311217 hp_config.use_target_network=False hp_config.buffer_alpha=0.014648521430621595 hp_config.buffer_beta=0.6810383714282678 hp_config.buffer_epsilon=1.2023527271263151e-06 autorl.n_total_timesteps=12500.0 seed=7\n", + "[2024-05-29 17:32:21,322][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:32:21,322][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:32:21,322][root][INFO] - Training started.\n", + "[2024-05-29 17:32:24,228][root][INFO] - Training finished.\n", + "[2024-05-29 17:32:24,234][HYDRA] \t#78 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=7163563 hp_config.initial_epsilon=0.6447030464736005 hp_config.learning_rate=8.24056159732675e-06 hp_config.learning_starts=601 hp_config.target_epsilon=0.005001401691311217 hp_config.use_target_network=False hp_config.buffer_alpha=0.014648521430621595 hp_config.buffer_beta=0.6810383714282678 hp_config.buffer_epsilon=1.2023527271263151e-06 autorl.n_total_timesteps=12500.0 seed=8\n", + "[2024-05-29 17:32:24,322][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:32:24,322][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:32:24,322][root][INFO] - Training started.\n", + "[2024-05-29 17:32:27,192][root][INFO] - Training finished.\n", + "[2024-05-29 17:32:27,198][HYDRA] \t#79 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=7163563 hp_config.initial_epsilon=0.6447030464736005 hp_config.learning_rate=8.24056159732675e-06 hp_config.learning_starts=601 hp_config.target_epsilon=0.005001401691311217 hp_config.use_target_network=False hp_config.buffer_alpha=0.014648521430621595 hp_config.buffer_beta=0.6810383714282678 hp_config.buffer_epsilon=1.2023527271263151e-06 autorl.n_total_timesteps=12500.0 seed=9\n", + "[2024-05-29 17:32:27,283][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:32:27,284][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 12500.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:32:27,284][root][INFO] - Training started.\n", + "[2024-05-29 17:32:30,562][root][INFO] - Training finished.\n", + "[2024-05-29 17:32:30,570][HYDRA] Finished Iteration 8!\n", + "[2024-05-29 17:32:30,570][HYDRA] Current incumbent has a performance of 34.900001525878906.\n", + "[2024-05-29 17:32:30,573][HYDRA] Launching 10 jobs locally\n", + "[2024-05-29 17:32:30,573][HYDRA] \t#80 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=True hp_config.buffer_size=3180530 hp_config.initial_epsilon=0.707131497257335 hp_config.learning_rate=2.0928470088911824e-06 hp_config.learning_starts=709 hp_config.target_epsilon=0.11375368938710846 hp_config.use_target_network=True hp_config.buffer_alpha=0.5280155729320327 hp_config.buffer_beta=0.10300110565085725 hp_config.buffer_epsilon=2.0127321428268346e-05 hp_config.target_update_interval=930 hp_config.tau=0.3253832629268104 autorl.n_total_timesteps=25000.0 seed=0\n", + "[2024-05-29 17:32:30,662][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:32:30,662][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:32:30,662][root][INFO] - Training started.\n", + "[2024-05-29 17:32:33,857][root][INFO] - Training finished.\n", + "[2024-05-29 17:32:33,861][HYDRA] \t#81 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=True hp_config.buffer_size=3180530 hp_config.initial_epsilon=0.707131497257335 hp_config.learning_rate=2.0928470088911824e-06 hp_config.learning_starts=709 hp_config.target_epsilon=0.11375368938710846 hp_config.use_target_network=True hp_config.buffer_alpha=0.5280155729320327 hp_config.buffer_beta=0.10300110565085725 hp_config.buffer_epsilon=2.0127321428268346e-05 hp_config.target_update_interval=930 hp_config.tau=0.3253832629268104 autorl.n_total_timesteps=25000.0 seed=1\n", + "[2024-05-29 17:32:33,949][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:32:33,950][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:32:33,950][root][INFO] - Training started.\n", + "[2024-05-29 17:32:37,014][root][INFO] - Training finished.\n", + "[2024-05-29 17:32:37,019][HYDRA] \t#82 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=True hp_config.buffer_size=3180530 hp_config.initial_epsilon=0.707131497257335 hp_config.learning_rate=2.0928470088911824e-06 hp_config.learning_starts=709 hp_config.target_epsilon=0.11375368938710846 hp_config.use_target_network=True hp_config.buffer_alpha=0.5280155729320327 hp_config.buffer_beta=0.10300110565085725 hp_config.buffer_epsilon=2.0127321428268346e-05 hp_config.target_update_interval=930 hp_config.tau=0.3253832629268104 autorl.n_total_timesteps=25000.0 seed=2\n", + "[2024-05-29 17:32:37,114][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:32:37,114][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:32:37,115][root][INFO] - Training started.\n", + "[2024-05-29 17:32:41,240][root][INFO] - Training finished.\n", + "[2024-05-29 17:32:41,244][HYDRA] \t#83 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=True hp_config.buffer_size=3180530 hp_config.initial_epsilon=0.707131497257335 hp_config.learning_rate=2.0928470088911824e-06 hp_config.learning_starts=709 hp_config.target_epsilon=0.11375368938710846 hp_config.use_target_network=True hp_config.buffer_alpha=0.5280155729320327 hp_config.buffer_beta=0.10300110565085725 hp_config.buffer_epsilon=2.0127321428268346e-05 hp_config.target_update_interval=930 hp_config.tau=0.3253832629268104 autorl.n_total_timesteps=25000.0 seed=3\n", + "[2024-05-29 17:32:41,335][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:32:41,336][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:32:41,336][root][INFO] - Training started.\n", + "[2024-05-29 17:32:44,592][root][INFO] - Training finished.\n", + "[2024-05-29 17:32:44,606][HYDRA] \t#84 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=True hp_config.buffer_size=3180530 hp_config.initial_epsilon=0.707131497257335 hp_config.learning_rate=2.0928470088911824e-06 hp_config.learning_starts=709 hp_config.target_epsilon=0.11375368938710846 hp_config.use_target_network=True hp_config.buffer_alpha=0.5280155729320327 hp_config.buffer_beta=0.10300110565085725 hp_config.buffer_epsilon=2.0127321428268346e-05 hp_config.target_update_interval=930 hp_config.tau=0.3253832629268104 autorl.n_total_timesteps=25000.0 seed=4\n", + "[2024-05-29 17:32:44,792][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:32:44,792][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:32:44,792][root][INFO] - Training started.\n", + "[2024-05-29 17:32:47,796][root][INFO] - Training finished.\n", + "[2024-05-29 17:32:47,799][HYDRA] \t#85 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=True hp_config.buffer_size=3180530 hp_config.initial_epsilon=0.707131497257335 hp_config.learning_rate=2.0928470088911824e-06 hp_config.learning_starts=709 hp_config.target_epsilon=0.11375368938710846 hp_config.use_target_network=True hp_config.buffer_alpha=0.5280155729320327 hp_config.buffer_beta=0.10300110565085725 hp_config.buffer_epsilon=2.0127321428268346e-05 hp_config.target_update_interval=930 hp_config.tau=0.3253832629268104 autorl.n_total_timesteps=25000.0 seed=5\n", + "[2024-05-29 17:32:47,887][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:32:47,887][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:32:47,887][root][INFO] - Training started.\n", + "[2024-05-29 17:32:51,006][root][INFO] - Training finished.\n", + "[2024-05-29 17:32:51,010][HYDRA] \t#86 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=True hp_config.buffer_size=3180530 hp_config.initial_epsilon=0.707131497257335 hp_config.learning_rate=2.0928470088911824e-06 hp_config.learning_starts=709 hp_config.target_epsilon=0.11375368938710846 hp_config.use_target_network=True hp_config.buffer_alpha=0.5280155729320327 hp_config.buffer_beta=0.10300110565085725 hp_config.buffer_epsilon=2.0127321428268346e-05 hp_config.target_update_interval=930 hp_config.tau=0.3253832629268104 autorl.n_total_timesteps=25000.0 seed=6\n", + "[2024-05-29 17:32:51,099][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:32:51,099][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:32:51,099][root][INFO] - Training started.\n", + "[2024-05-29 17:32:54,077][root][INFO] - Training finished.\n", + "[2024-05-29 17:32:54,081][HYDRA] \t#87 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=True hp_config.buffer_size=3180530 hp_config.initial_epsilon=0.707131497257335 hp_config.learning_rate=2.0928470088911824e-06 hp_config.learning_starts=709 hp_config.target_epsilon=0.11375368938710846 hp_config.use_target_network=True hp_config.buffer_alpha=0.5280155729320327 hp_config.buffer_beta=0.10300110565085725 hp_config.buffer_epsilon=2.0127321428268346e-05 hp_config.target_update_interval=930 hp_config.tau=0.3253832629268104 autorl.n_total_timesteps=25000.0 seed=7\n", + "[2024-05-29 17:32:54,178][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:32:54,179][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:32:54,179][root][INFO] - Training started.\n", + "[2024-05-29 17:32:57,241][root][INFO] - Training finished.\n", + "[2024-05-29 17:32:57,245][HYDRA] \t#88 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=True hp_config.buffer_size=3180530 hp_config.initial_epsilon=0.707131497257335 hp_config.learning_rate=2.0928470088911824e-06 hp_config.learning_starts=709 hp_config.target_epsilon=0.11375368938710846 hp_config.use_target_network=True hp_config.buffer_alpha=0.5280155729320327 hp_config.buffer_beta=0.10300110565085725 hp_config.buffer_epsilon=2.0127321428268346e-05 hp_config.target_update_interval=930 hp_config.tau=0.3253832629268104 autorl.n_total_timesteps=25000.0 seed=8\n", + "[2024-05-29 17:32:57,335][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:32:57,336][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:32:57,336][root][INFO] - Training started.\n", + "[2024-05-29 17:33:00,303][root][INFO] - Training finished.\n", + "[2024-05-29 17:33:00,307][HYDRA] \t#89 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=True hp_config.buffer_size=3180530 hp_config.initial_epsilon=0.707131497257335 hp_config.learning_rate=2.0928470088911824e-06 hp_config.learning_starts=709 hp_config.target_epsilon=0.11375368938710846 hp_config.use_target_network=True hp_config.buffer_alpha=0.5280155729320327 hp_config.buffer_beta=0.10300110565085725 hp_config.buffer_epsilon=2.0127321428268346e-05 hp_config.target_update_interval=930 hp_config.tau=0.3253832629268104 autorl.n_total_timesteps=25000.0 seed=9\n", + "[2024-05-29 17:33:00,395][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:33:00,396][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:33:00,396][root][INFO] - Training started.\n", + "[2024-05-29 17:33:03,407][root][INFO] - Training finished.\n", + "[2024-05-29 17:33:03,415][HYDRA] Finished Iteration 9!\n", + "[2024-05-29 17:33:03,415][HYDRA] Current incumbent has a performance of 34.900001525878906.\n", + "[2024-05-29 17:33:03,418][HYDRA] Launching 10 jobs locally\n", + "[2024-05-29 17:33:03,418][HYDRA] \t#90 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=25000.0 seed=0\n", + "[2024-05-29 17:33:03,504][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:33:03,505][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:33:03,505][root][INFO] - Training started.\n", + "[2024-05-29 17:33:06,582][root][INFO] - Training finished.\n", + "[2024-05-29 17:33:06,591][HYDRA] \t#91 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=25000.0 seed=1\n", + "[2024-05-29 17:33:06,685][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:33:06,686][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:33:06,686][root][INFO] - Training started.\n", + "[2024-05-29 17:33:10,043][root][INFO] - Training finished.\n", + "[2024-05-29 17:33:10,049][HYDRA] \t#92 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=25000.0 seed=2\n", + "[2024-05-29 17:33:10,139][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:33:10,140][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:33:10,140][root][INFO] - Training started.\n", + "[2024-05-29 17:33:14,078][root][INFO] - Training finished.\n", + "[2024-05-29 17:33:14,087][HYDRA] \t#93 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=25000.0 seed=3\n", + "[2024-05-29 17:33:14,176][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:33:14,177][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:33:14,177][root][INFO] - Training started.\n", + "[2024-05-29 17:33:17,144][root][INFO] - Training finished.\n", + "[2024-05-29 17:33:17,152][HYDRA] \t#94 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=25000.0 seed=4\n", + "[2024-05-29 17:33:17,240][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:33:17,241][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:33:17,241][root][INFO] - Training started.\n", + "[2024-05-29 17:33:20,343][root][INFO] - Training finished.\n", + "[2024-05-29 17:33:20,351][HYDRA] \t#95 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=25000.0 seed=5\n", + "[2024-05-29 17:33:20,442][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:33:20,442][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:33:20,442][root][INFO] - Training started.\n", + "[2024-05-29 17:33:23,574][root][INFO] - Training finished.\n", + "[2024-05-29 17:33:23,580][HYDRA] \t#96 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=25000.0 seed=6\n", + "[2024-05-29 17:33:23,668][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:33:23,669][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:33:23,669][root][INFO] - Training started.\n", + "[2024-05-29 17:33:26,643][root][INFO] - Training finished.\n", + "[2024-05-29 17:33:26,653][HYDRA] \t#97 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=25000.0 seed=7\n", + "[2024-05-29 17:33:26,742][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:33:26,743][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:33:26,743][root][INFO] - Training started.\n", + "[2024-05-29 17:33:29,764][root][INFO] - Training finished.\n", + "[2024-05-29 17:33:29,772][HYDRA] \t#98 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=25000.0 seed=8\n", + "[2024-05-29 17:33:29,863][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:33:29,864][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:33:29,864][root][INFO] - Training started.\n", + "[2024-05-29 17:33:33,017][root][INFO] - Training finished.\n", + "[2024-05-29 17:33:33,024][HYDRA] \t#99 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=25000.0 seed=9\n", + "[2024-05-29 17:33:33,112][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:33:33,113][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:33:33,113][root][INFO] - Training started.\n", + "[2024-05-29 17:33:36,179][root][INFO] - Training finished.\n", + "[2024-05-29 17:33:36,189][HYDRA] Finished Iteration 10!\n", + "[2024-05-29 17:33:36,189][HYDRA] Current incumbent has a performance of 34.900001525878906.\n", + "[2024-05-29 17:33:36,191][HYDRA] Launching 10 jobs locally\n", + "[2024-05-29 17:33:36,191][HYDRA] \t#100 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=False hp_config.buffer_size=971937 hp_config.initial_epsilon=0.918972453749402 hp_config.learning_rate=3.0233751521472095e-06 hp_config.learning_starts=1000 hp_config.target_epsilon=0.09426158912789262 hp_config.use_target_network=False autorl.n_total_timesteps=25000.0 seed=0\n", + "[2024-05-29 17:33:36,277][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:33:36,277][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:33:36,281][root][INFO] - Training started.\n", + "[2024-05-29 17:33:39,203][root][INFO] - Training finished.\n", + "[2024-05-29 17:33:39,206][HYDRA] \t#101 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=False hp_config.buffer_size=971937 hp_config.initial_epsilon=0.918972453749402 hp_config.learning_rate=3.0233751521472095e-06 hp_config.learning_starts=1000 hp_config.target_epsilon=0.09426158912789262 hp_config.use_target_network=False autorl.n_total_timesteps=25000.0 seed=1\n", + "[2024-05-29 17:33:39,294][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:33:39,294][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:33:39,295][root][INFO] - Training started.\n", + "[2024-05-29 17:33:42,325][root][INFO] - Training finished.\n", + "[2024-05-29 17:33:42,327][HYDRA] \t#102 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=False hp_config.buffer_size=971937 hp_config.initial_epsilon=0.918972453749402 hp_config.learning_rate=3.0233751521472095e-06 hp_config.learning_starts=1000 hp_config.target_epsilon=0.09426158912789262 hp_config.use_target_network=False autorl.n_total_timesteps=25000.0 seed=2\n", + "[2024-05-29 17:33:42,414][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:33:42,415][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:33:42,415][root][INFO] - Training started.\n", + "[2024-05-29 17:33:45,307][root][INFO] - Training finished.\n", + "[2024-05-29 17:33:45,309][HYDRA] \t#103 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=False hp_config.buffer_size=971937 hp_config.initial_epsilon=0.918972453749402 hp_config.learning_rate=3.0233751521472095e-06 hp_config.learning_starts=1000 hp_config.target_epsilon=0.09426158912789262 hp_config.use_target_network=False autorl.n_total_timesteps=25000.0 seed=3\n", + "[2024-05-29 17:33:45,396][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:33:45,396][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:33:45,396][root][INFO] - Training started.\n", + "[2024-05-29 17:33:49,305][root][INFO] - Training finished.\n", + "[2024-05-29 17:33:49,308][HYDRA] \t#104 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=False hp_config.buffer_size=971937 hp_config.initial_epsilon=0.918972453749402 hp_config.learning_rate=3.0233751521472095e-06 hp_config.learning_starts=1000 hp_config.target_epsilon=0.09426158912789262 hp_config.use_target_network=False autorl.n_total_timesteps=25000.0 seed=4\n", + "[2024-05-29 17:33:49,394][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:33:49,395][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:33:49,395][root][INFO] - Training started.\n", + "[2024-05-29 17:33:52,435][root][INFO] - Training finished.\n", + "[2024-05-29 17:33:52,437][HYDRA] \t#105 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=False hp_config.buffer_size=971937 hp_config.initial_epsilon=0.918972453749402 hp_config.learning_rate=3.0233751521472095e-06 hp_config.learning_starts=1000 hp_config.target_epsilon=0.09426158912789262 hp_config.use_target_network=False autorl.n_total_timesteps=25000.0 seed=5\n", + "[2024-05-29 17:33:52,526][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:33:52,526][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:33:52,526][root][INFO] - Training started.\n", + "[2024-05-29 17:33:55,475][root][INFO] - Training finished.\n", + "[2024-05-29 17:33:55,478][HYDRA] \t#106 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=False hp_config.buffer_size=971937 hp_config.initial_epsilon=0.918972453749402 hp_config.learning_rate=3.0233751521472095e-06 hp_config.learning_starts=1000 hp_config.target_epsilon=0.09426158912789262 hp_config.use_target_network=False autorl.n_total_timesteps=25000.0 seed=6\n", + "[2024-05-29 17:33:55,576][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:33:55,576][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:33:55,576][root][INFO] - Training started.\n", + "[2024-05-29 17:33:58,564][root][INFO] - Training finished.\n", + "[2024-05-29 17:33:58,570][HYDRA] \t#107 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=False hp_config.buffer_size=971937 hp_config.initial_epsilon=0.918972453749402 hp_config.learning_rate=3.0233751521472095e-06 hp_config.learning_starts=1000 hp_config.target_epsilon=0.09426158912789262 hp_config.use_target_network=False autorl.n_total_timesteps=25000.0 seed=7\n", + "[2024-05-29 17:33:58,663][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:33:58,664][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:33:58,664][root][INFO] - Training started.\n", + "[2024-05-29 17:34:01,623][root][INFO] - Training finished.\n", + "[2024-05-29 17:34:01,625][HYDRA] \t#108 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=False hp_config.buffer_size=971937 hp_config.initial_epsilon=0.918972453749402 hp_config.learning_rate=3.0233751521472095e-06 hp_config.learning_starts=1000 hp_config.target_epsilon=0.09426158912789262 hp_config.use_target_network=False autorl.n_total_timesteps=25000.0 seed=8\n", + "[2024-05-29 17:34:01,713][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:34:01,714][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:34:01,714][root][INFO] - Training started.\n", + "[2024-05-29 17:34:04,668][root][INFO] - Training finished.\n", + "[2024-05-29 17:34:04,670][HYDRA] \t#109 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=False hp_config.buffer_size=971937 hp_config.initial_epsilon=0.918972453749402 hp_config.learning_rate=3.0233751521472095e-06 hp_config.learning_starts=1000 hp_config.target_epsilon=0.09426158912789262 hp_config.use_target_network=False autorl.n_total_timesteps=25000.0 seed=9\n", + "[2024-05-29 17:34:04,757][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:34:04,757][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:34:04,757][root][INFO] - Training started.\n", + "[2024-05-29 17:34:07,642][root][INFO] - Training finished.\n", + "[2024-05-29 17:34:07,647][HYDRA] Finished Iteration 11!\n", + "[2024-05-29 17:34:07,647][HYDRA] Current incumbent has a performance of 34.900001525878906.\n", + "[2024-05-29 17:34:07,649][HYDRA] Launching 10 jobs locally\n", + "[2024-05-29 17:34:07,649][HYDRA] \t#110 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=7163563 hp_config.initial_epsilon=0.6447030464736005 hp_config.learning_rate=8.24056159732675e-06 hp_config.learning_starts=601 hp_config.target_epsilon=0.005001401691311217 hp_config.use_target_network=False hp_config.buffer_alpha=0.014648521430621595 hp_config.buffer_beta=0.6810383714282678 hp_config.buffer_epsilon=1.2023527271263151e-06 autorl.n_total_timesteps=25000.0 seed=0\n", + "[2024-05-29 17:34:07,737][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:34:07,738][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:34:07,738][root][INFO] - Training started.\n", + "[2024-05-29 17:34:10,856][root][INFO] - Training finished.\n", + "[2024-05-29 17:34:10,863][HYDRA] \t#111 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=7163563 hp_config.initial_epsilon=0.6447030464736005 hp_config.learning_rate=8.24056159732675e-06 hp_config.learning_starts=601 hp_config.target_epsilon=0.005001401691311217 hp_config.use_target_network=False hp_config.buffer_alpha=0.014648521430621595 hp_config.buffer_beta=0.6810383714282678 hp_config.buffer_epsilon=1.2023527271263151e-06 autorl.n_total_timesteps=25000.0 seed=1\n", + "[2024-05-29 17:34:10,949][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:34:10,949][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:34:10,949][root][INFO] - Training started.\n", + "[2024-05-29 17:34:14,021][root][INFO] - Training finished.\n", + "[2024-05-29 17:34:14,030][HYDRA] \t#112 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=7163563 hp_config.initial_epsilon=0.6447030464736005 hp_config.learning_rate=8.24056159732675e-06 hp_config.learning_starts=601 hp_config.target_epsilon=0.005001401691311217 hp_config.use_target_network=False hp_config.buffer_alpha=0.014648521430621595 hp_config.buffer_beta=0.6810383714282678 hp_config.buffer_epsilon=1.2023527271263151e-06 autorl.n_total_timesteps=25000.0 seed=2\n", + "[2024-05-29 17:34:14,118][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:34:14,119][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:34:14,119][root][INFO] - Training started.\n", + "[2024-05-29 17:34:17,185][root][INFO] - Training finished.\n", + "[2024-05-29 17:34:17,193][HYDRA] \t#113 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=7163563 hp_config.initial_epsilon=0.6447030464736005 hp_config.learning_rate=8.24056159732675e-06 hp_config.learning_starts=601 hp_config.target_epsilon=0.005001401691311217 hp_config.use_target_network=False hp_config.buffer_alpha=0.014648521430621595 hp_config.buffer_beta=0.6810383714282678 hp_config.buffer_epsilon=1.2023527271263151e-06 autorl.n_total_timesteps=25000.0 seed=3\n", + "[2024-05-29 17:34:17,293][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:34:17,294][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:34:17,294][root][INFO] - Training started.\n", + "[2024-05-29 17:34:20,272][root][INFO] - Training finished.\n", + "[2024-05-29 17:34:20,280][HYDRA] \t#114 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=7163563 hp_config.initial_epsilon=0.6447030464736005 hp_config.learning_rate=8.24056159732675e-06 hp_config.learning_starts=601 hp_config.target_epsilon=0.005001401691311217 hp_config.use_target_network=False hp_config.buffer_alpha=0.014648521430621595 hp_config.buffer_beta=0.6810383714282678 hp_config.buffer_epsilon=1.2023527271263151e-06 autorl.n_total_timesteps=25000.0 seed=4\n", + "[2024-05-29 17:34:20,367][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:34:20,368][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:34:20,368][root][INFO] - Training started.\n", + "[2024-05-29 17:34:23,344][root][INFO] - Training finished.\n", + "[2024-05-29 17:34:23,351][HYDRA] \t#115 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=7163563 hp_config.initial_epsilon=0.6447030464736005 hp_config.learning_rate=8.24056159732675e-06 hp_config.learning_starts=601 hp_config.target_epsilon=0.005001401691311217 hp_config.use_target_network=False hp_config.buffer_alpha=0.014648521430621595 hp_config.buffer_beta=0.6810383714282678 hp_config.buffer_epsilon=1.2023527271263151e-06 autorl.n_total_timesteps=25000.0 seed=5\n", + "[2024-05-29 17:34:23,440][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:34:23,441][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:34:23,441][root][INFO] - Training started.\n", + "[2024-05-29 17:34:27,484][root][INFO] - Training finished.\n", + "[2024-05-29 17:34:27,493][HYDRA] \t#116 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=7163563 hp_config.initial_epsilon=0.6447030464736005 hp_config.learning_rate=8.24056159732675e-06 hp_config.learning_starts=601 hp_config.target_epsilon=0.005001401691311217 hp_config.use_target_network=False hp_config.buffer_alpha=0.014648521430621595 hp_config.buffer_beta=0.6810383714282678 hp_config.buffer_epsilon=1.2023527271263151e-06 autorl.n_total_timesteps=25000.0 seed=6\n", + "[2024-05-29 17:34:27,602][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:34:27,606][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:34:27,606][root][INFO] - Training started.\n", + "[2024-05-29 17:34:30,680][root][INFO] - Training finished.\n", + "[2024-05-29 17:34:30,687][HYDRA] \t#117 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=7163563 hp_config.initial_epsilon=0.6447030464736005 hp_config.learning_rate=8.24056159732675e-06 hp_config.learning_starts=601 hp_config.target_epsilon=0.005001401691311217 hp_config.use_target_network=False hp_config.buffer_alpha=0.014648521430621595 hp_config.buffer_beta=0.6810383714282678 hp_config.buffer_epsilon=1.2023527271263151e-06 autorl.n_total_timesteps=25000.0 seed=7\n", + "[2024-05-29 17:34:30,774][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:34:30,775][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:34:30,775][root][INFO] - Training started.\n", + "[2024-05-29 17:34:34,003][root][INFO] - Training finished.\n", + "[2024-05-29 17:34:34,012][HYDRA] \t#118 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=7163563 hp_config.initial_epsilon=0.6447030464736005 hp_config.learning_rate=8.24056159732675e-06 hp_config.learning_starts=601 hp_config.target_epsilon=0.005001401691311217 hp_config.use_target_network=False hp_config.buffer_alpha=0.014648521430621595 hp_config.buffer_beta=0.6810383714282678 hp_config.buffer_epsilon=1.2023527271263151e-06 autorl.n_total_timesteps=25000.0 seed=8\n", + "[2024-05-29 17:34:34,103][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:34:34,103][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:34:34,103][root][INFO] - Training started.\n", + "[2024-05-29 17:34:37,096][root][INFO] - Training finished.\n", + "[2024-05-29 17:34:37,104][HYDRA] \t#119 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=7163563 hp_config.initial_epsilon=0.6447030464736005 hp_config.learning_rate=8.24056159732675e-06 hp_config.learning_starts=601 hp_config.target_epsilon=0.005001401691311217 hp_config.use_target_network=False hp_config.buffer_alpha=0.014648521430621595 hp_config.buffer_beta=0.6810383714282678 hp_config.buffer_epsilon=1.2023527271263151e-06 autorl.n_total_timesteps=25000.0 seed=9\n", + "[2024-05-29 17:34:37,190][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:34:37,191][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:34:37,191][root][INFO] - Training started.\n", + "[2024-05-29 17:34:40,149][root][INFO] - Training finished.\n", + "[2024-05-29 17:34:40,160][HYDRA] Finished Iteration 12!\n", + "[2024-05-29 17:34:40,160][HYDRA] Current incumbent has a performance of 34.900001525878906.\n", + "[2024-05-29 17:34:40,162][HYDRA] Launching 10 jobs locally\n", + "[2024-05-29 17:34:40,162][HYDRA] \t#120 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=True hp_config.buffer_size=3180530 hp_config.initial_epsilon=0.707131497257335 hp_config.learning_rate=2.0928470088911824e-06 hp_config.learning_starts=709 hp_config.target_epsilon=0.11375368938710846 hp_config.use_target_network=True hp_config.buffer_alpha=0.5280155729320327 hp_config.buffer_beta=0.10300110565085725 hp_config.buffer_epsilon=2.0127321428268346e-05 hp_config.target_update_interval=930 hp_config.tau=0.3253832629268104 autorl.n_total_timesteps=50000.0 seed=0\n", + "[2024-05-29 17:34:40,251][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:34:40,252][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 50000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:34:40,252][root][INFO] - Training started.\n", + "[2024-05-29 17:34:43,239][root][INFO] - Training finished.\n", + "[2024-05-29 17:34:43,243][HYDRA] \t#121 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=True hp_config.buffer_size=3180530 hp_config.initial_epsilon=0.707131497257335 hp_config.learning_rate=2.0928470088911824e-06 hp_config.learning_starts=709 hp_config.target_epsilon=0.11375368938710846 hp_config.use_target_network=True hp_config.buffer_alpha=0.5280155729320327 hp_config.buffer_beta=0.10300110565085725 hp_config.buffer_epsilon=2.0127321428268346e-05 hp_config.target_update_interval=930 hp_config.tau=0.3253832629268104 autorl.n_total_timesteps=50000.0 seed=1\n", + "[2024-05-29 17:34:43,332][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:34:43,332][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 50000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:34:43,332][root][INFO] - Training started.\n", + "[2024-05-29 17:34:46,342][root][INFO] - Training finished.\n", + "[2024-05-29 17:34:46,346][HYDRA] \t#122 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=True hp_config.buffer_size=3180530 hp_config.initial_epsilon=0.707131497257335 hp_config.learning_rate=2.0928470088911824e-06 hp_config.learning_starts=709 hp_config.target_epsilon=0.11375368938710846 hp_config.use_target_network=True hp_config.buffer_alpha=0.5280155729320327 hp_config.buffer_beta=0.10300110565085725 hp_config.buffer_epsilon=2.0127321428268346e-05 hp_config.target_update_interval=930 hp_config.tau=0.3253832629268104 autorl.n_total_timesteps=50000.0 seed=2\n", + "[2024-05-29 17:34:46,433][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:34:46,434][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 50000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:34:46,434][root][INFO] - Training started.\n", + "[2024-05-29 17:34:50,142][root][INFO] - Training finished.\n", + "[2024-05-29 17:34:50,146][HYDRA] \t#123 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=True hp_config.buffer_size=3180530 hp_config.initial_epsilon=0.707131497257335 hp_config.learning_rate=2.0928470088911824e-06 hp_config.learning_starts=709 hp_config.target_epsilon=0.11375368938710846 hp_config.use_target_network=True hp_config.buffer_alpha=0.5280155729320327 hp_config.buffer_beta=0.10300110565085725 hp_config.buffer_epsilon=2.0127321428268346e-05 hp_config.target_update_interval=930 hp_config.tau=0.3253832629268104 autorl.n_total_timesteps=50000.0 seed=3\n", + "[2024-05-29 17:34:50,237][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:34:50,238][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 50000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:34:50,238][root][INFO] - Training started.\n", + "[2024-05-29 17:34:53,250][root][INFO] - Training finished.\n", + "[2024-05-29 17:34:53,254][HYDRA] \t#124 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=True hp_config.buffer_size=3180530 hp_config.initial_epsilon=0.707131497257335 hp_config.learning_rate=2.0928470088911824e-06 hp_config.learning_starts=709 hp_config.target_epsilon=0.11375368938710846 hp_config.use_target_network=True hp_config.buffer_alpha=0.5280155729320327 hp_config.buffer_beta=0.10300110565085725 hp_config.buffer_epsilon=2.0127321428268346e-05 hp_config.target_update_interval=930 hp_config.tau=0.3253832629268104 autorl.n_total_timesteps=50000.0 seed=4\n", + "[2024-05-29 17:34:53,342][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:34:53,343][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 50000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:34:53,343][root][INFO] - Training started.\n", + "[2024-05-29 17:34:56,604][root][INFO] - Training finished.\n", + "[2024-05-29 17:34:56,608][HYDRA] \t#125 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=True hp_config.buffer_size=3180530 hp_config.initial_epsilon=0.707131497257335 hp_config.learning_rate=2.0928470088911824e-06 hp_config.learning_starts=709 hp_config.target_epsilon=0.11375368938710846 hp_config.use_target_network=True hp_config.buffer_alpha=0.5280155729320327 hp_config.buffer_beta=0.10300110565085725 hp_config.buffer_epsilon=2.0127321428268346e-05 hp_config.target_update_interval=930 hp_config.tau=0.3253832629268104 autorl.n_total_timesteps=50000.0 seed=5\n", + "[2024-05-29 17:34:56,702][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:34:56,703][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 50000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:34:56,703][root][INFO] - Training started.\n", + "[2024-05-29 17:34:59,657][root][INFO] - Training finished.\n", + "[2024-05-29 17:34:59,661][HYDRA] \t#126 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=True hp_config.buffer_size=3180530 hp_config.initial_epsilon=0.707131497257335 hp_config.learning_rate=2.0928470088911824e-06 hp_config.learning_starts=709 hp_config.target_epsilon=0.11375368938710846 hp_config.use_target_network=True hp_config.buffer_alpha=0.5280155729320327 hp_config.buffer_beta=0.10300110565085725 hp_config.buffer_epsilon=2.0127321428268346e-05 hp_config.target_update_interval=930 hp_config.tau=0.3253832629268104 autorl.n_total_timesteps=50000.0 seed=6\n", + "[2024-05-29 17:34:59,750][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:34:59,750][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 50000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:34:59,750][root][INFO] - Training started.\n", + "[2024-05-29 17:35:02,851][root][INFO] - Training finished.\n", + "[2024-05-29 17:35:02,868][HYDRA] \t#127 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=True hp_config.buffer_size=3180530 hp_config.initial_epsilon=0.707131497257335 hp_config.learning_rate=2.0928470088911824e-06 hp_config.learning_starts=709 hp_config.target_epsilon=0.11375368938710846 hp_config.use_target_network=True hp_config.buffer_alpha=0.5280155729320327 hp_config.buffer_beta=0.10300110565085725 hp_config.buffer_epsilon=2.0127321428268346e-05 hp_config.target_update_interval=930 hp_config.tau=0.3253832629268104 autorl.n_total_timesteps=50000.0 seed=7\n", + "[2024-05-29 17:35:02,958][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:35:02,958][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 50000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:35:02,959][root][INFO] - Training started.\n", + "[2024-05-29 17:35:07,058][root][INFO] - Training finished.\n", + "[2024-05-29 17:35:07,063][HYDRA] \t#128 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=True hp_config.buffer_size=3180530 hp_config.initial_epsilon=0.707131497257335 hp_config.learning_rate=2.0928470088911824e-06 hp_config.learning_starts=709 hp_config.target_epsilon=0.11375368938710846 hp_config.use_target_network=True hp_config.buffer_alpha=0.5280155729320327 hp_config.buffer_beta=0.10300110565085725 hp_config.buffer_epsilon=2.0127321428268346e-05 hp_config.target_update_interval=930 hp_config.tau=0.3253832629268104 autorl.n_total_timesteps=50000.0 seed=8\n", + "[2024-05-29 17:35:07,150][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:35:07,151][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 50000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:35:07,151][root][INFO] - Training started.\n", + "[2024-05-29 17:35:10,116][root][INFO] - Training finished.\n", + "[2024-05-29 17:35:10,120][HYDRA] \t#129 : hp_config.buffer_batch_size=8 hp_config.buffer_prio_sampling=True hp_config.buffer_size=3180530 hp_config.initial_epsilon=0.707131497257335 hp_config.learning_rate=2.0928470088911824e-06 hp_config.learning_starts=709 hp_config.target_epsilon=0.11375368938710846 hp_config.use_target_network=True hp_config.buffer_alpha=0.5280155729320327 hp_config.buffer_beta=0.10300110565085725 hp_config.buffer_epsilon=2.0127321428268346e-05 hp_config.target_update_interval=930 hp_config.tau=0.3253832629268104 autorl.n_total_timesteps=50000.0 seed=9\n", + "[2024-05-29 17:35:10,207][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:35:10,207][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 50000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:35:10,207][root][INFO] - Training started.\n", + "[2024-05-29 17:35:13,146][root][INFO] - Training finished.\n", + "[2024-05-29 17:35:13,153][HYDRA] Finished Iteration 13!\n", + "[2024-05-29 17:35:13,153][HYDRA] Current incumbent has a performance of 34.900001525878906.\n", + "[2024-05-29 17:35:13,156][HYDRA] Launching 10 jobs locally\n", + "[2024-05-29 17:35:13,156][HYDRA] \t#130 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=50000.0 seed=0\n", + "[2024-05-29 17:35:13,241][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:35:13,242][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 50000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:35:13,242][root][INFO] - Training started.\n", + "[2024-05-29 17:35:16,217][root][INFO] - Training finished.\n", + "[2024-05-29 17:35:16,223][HYDRA] \t#131 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=50000.0 seed=1\n", + "[2024-05-29 17:35:16,314][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:35:16,314][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 50000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:35:16,314][root][INFO] - Training started.\n", + "[2024-05-29 17:35:19,244][root][INFO] - Training finished.\n", + "[2024-05-29 17:35:19,251][HYDRA] \t#132 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=50000.0 seed=2\n", + "[2024-05-29 17:35:19,339][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:35:19,340][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 50000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:35:19,340][root][INFO] - Training started.\n", + "[2024-05-29 17:35:22,392][root][INFO] - Training finished.\n", + "[2024-05-29 17:35:22,398][HYDRA] \t#133 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=50000.0 seed=3\n", + "[2024-05-29 17:35:22,482][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:35:22,483][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 50000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:35:22,483][root][INFO] - Training started.\n", + "[2024-05-29 17:35:25,442][root][INFO] - Training finished.\n", + "[2024-05-29 17:35:25,449][HYDRA] \t#134 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=50000.0 seed=4\n", + "[2024-05-29 17:35:25,539][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:35:25,539][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 50000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:35:25,539][root][INFO] - Training started.\n", + "[2024-05-29 17:35:28,498][root][INFO] - Training finished.\n", + "[2024-05-29 17:35:28,504][HYDRA] \t#135 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=50000.0 seed=5\n", + "[2024-05-29 17:35:28,589][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:35:28,589][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 50000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:35:28,589][root][INFO] - Training started.\n", + "[2024-05-29 17:35:31,524][root][INFO] - Training finished.\n", + "[2024-05-29 17:35:31,531][HYDRA] \t#136 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=50000.0 seed=6\n", + "[2024-05-29 17:35:31,617][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:35:31,618][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 50000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:35:31,618][root][INFO] - Training started.\n", + "[2024-05-29 17:35:34,544][root][INFO] - Training finished.\n", + "[2024-05-29 17:35:34,551][HYDRA] \t#137 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=50000.0 seed=7\n", + "[2024-05-29 17:35:34,634][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:35:34,635][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 50000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:35:34,635][root][INFO] - Training started.\n", + "[2024-05-29 17:35:37,597][root][INFO] - Training finished.\n", + "[2024-05-29 17:35:37,606][HYDRA] \t#138 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=50000.0 seed=8\n", + "[2024-05-29 17:35:37,689][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:35:37,689][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 50000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:35:37,689][root][INFO] - Training started.\n", + "[2024-05-29 17:35:40,570][root][INFO] - Training finished.\n", + "[2024-05-29 17:35:40,580][HYDRA] \t#139 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=50000.0 seed=9\n", + "[2024-05-29 17:35:40,666][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:35:40,667][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 50000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:35:40,667][root][INFO] - Training started.\n", + "[2024-05-29 17:35:43,606][root][INFO] - Training finished.\n", + "[2024-05-29 17:35:43,615][HYDRA] Added config 3ae65a and rejected config b8886b as incumbent because it is not better than the incumbents on 1 instances:\n", + "[2024-05-29 17:35:43,617][HYDRA] Finished Iteration 14!\n", + "[2024-05-29 17:35:43,617][HYDRA] Current incumbent has a performance of 34.900001525878906.\n", + "[2024-05-29 17:35:43,619][HYDRA] Launching 10 jobs locally\n", + "[2024-05-29 17:35:43,619][HYDRA] \t#140 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=100000.0 seed=0\n", + "[2024-05-29 17:35:43,703][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:35:43,704][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 100000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:35:43,704][root][INFO] - Training started.\n", + "[2024-05-29 17:35:47,904][root][INFO] - Training finished.\n", + "[2024-05-29 17:35:47,909][HYDRA] \t#141 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=100000.0 seed=1\n", + "[2024-05-29 17:35:47,997][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:35:47,998][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 100000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:35:47,998][root][INFO] - Training started.\n", + "[2024-05-29 17:35:51,052][root][INFO] - Training finished.\n", + "[2024-05-29 17:35:51,060][HYDRA] \t#142 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=100000.0 seed=2\n", + "[2024-05-29 17:35:51,149][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:35:51,150][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 100000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:35:51,150][root][INFO] - Training started.\n", + "[2024-05-29 17:35:54,240][root][INFO] - Training finished.\n", + "[2024-05-29 17:35:54,245][HYDRA] \t#143 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=100000.0 seed=3\n", + "[2024-05-29 17:35:54,334][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:35:54,335][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 100000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:35:54,335][root][INFO] - Training started.\n", + "[2024-05-29 17:35:57,504][root][INFO] - Training finished.\n", + "[2024-05-29 17:35:57,512][HYDRA] \t#144 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=100000.0 seed=4\n", + "[2024-05-29 17:35:57,599][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:35:57,600][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 100000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:35:57,600][root][INFO] - Training started.\n", + "[2024-05-29 17:36:00,640][root][INFO] - Training finished.\n", + "[2024-05-29 17:36:00,647][HYDRA] \t#145 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=100000.0 seed=5\n", + "[2024-05-29 17:36:00,746][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:36:00,747][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 100000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:36:00,747][root][INFO] - Training started.\n", + "[2024-05-29 17:36:03,752][root][INFO] - Training finished.\n", + "[2024-05-29 17:36:03,758][HYDRA] \t#146 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=100000.0 seed=6\n", + "[2024-05-29 17:36:03,846][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:36:03,847][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 100000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:36:03,847][root][INFO] - Training started.\n", + "[2024-05-29 17:36:06,938][root][INFO] - Training finished.\n", + "[2024-05-29 17:36:06,944][HYDRA] \t#147 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=100000.0 seed=7\n", + "[2024-05-29 17:36:07,030][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:36:07,031][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 100000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:36:07,031][root][INFO] - Training started.\n", + "[2024-05-29 17:36:10,247][root][INFO] - Training finished.\n", + "[2024-05-29 17:36:10,253][HYDRA] \t#148 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=100000.0 seed=8\n", + "[2024-05-29 17:36:10,340][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:36:10,341][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 100000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:36:10,341][root][INFO] - Training started.\n", + "[2024-05-29 17:36:13,464][root][INFO] - Training finished.\n", + "[2024-05-29 17:36:13,473][HYDRA] \t#149 : hp_config.buffer_batch_size=16 hp_config.buffer_prio_sampling=True hp_config.buffer_size=9636665 hp_config.initial_epsilon=0.7840222805469661 hp_config.learning_rate=1.2620948285169311e-06 hp_config.learning_starts=1003 hp_config.target_epsilon=0.024536610747917714 hp_config.use_target_network=False hp_config.buffer_alpha=0.4615888288943831 hp_config.buffer_beta=0.6159747654951973 hp_config.buffer_epsilon=2.741773675242096e-06 autorl.n_total_timesteps=100000.0 seed=9\n", + "[2024-05-29 17:36:13,563][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:36:13,564][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 100000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:36:13,564][root][INFO] - Training started.\n", + "[2024-05-29 17:36:16,627][root][INFO] - Training finished.\n", + "[2024-05-29 17:36:16,637][HYDRA] Finished Iteration 15!\n", + "[2024-05-29 17:36:16,637][HYDRA] Current incumbent has a performance of 34.900001525878906.\n", + "[2024-05-29 17:36:16,835][HYDRA] Launching 10 jobs locally\n", + "[2024-05-29 17:36:16,835][HYDRA] \t#150 : hp_config.buffer_batch_size=32 hp_config.buffer_prio_sampling=False hp_config.buffer_size=3016463 hp_config.initial_epsilon=0.7954363806240866 hp_config.learning_rate=0.02881487733166084 hp_config.learning_starts=889 hp_config.target_epsilon=0.014764232095572472 hp_config.use_target_network=True hp_config.target_update_interval=435 hp_config.tau=0.45915987611048487 autorl.n_total_timesteps=25000.0 seed=0\n", + "[2024-05-29 17:36:16,920][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:36:16,921][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:36:16,921][root][INFO] - Training started.\n", + "[2024-05-29 17:36:20,276][root][INFO] - Training finished.\n", + "[2024-05-29 17:36:20,284][HYDRA] \t#151 : hp_config.buffer_batch_size=32 hp_config.buffer_prio_sampling=False hp_config.buffer_size=3016463 hp_config.initial_epsilon=0.7954363806240866 hp_config.learning_rate=0.02881487733166084 hp_config.learning_starts=889 hp_config.target_epsilon=0.014764232095572472 hp_config.use_target_network=True hp_config.target_update_interval=435 hp_config.tau=0.45915987611048487 autorl.n_total_timesteps=25000.0 seed=1\n", + "[2024-05-29 17:36:20,373][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:36:20,374][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:36:20,374][root][INFO] - Training started.\n", + "[2024-05-29 17:36:23,820][root][INFO] - Training finished.\n", + "[2024-05-29 17:36:23,824][HYDRA] \t#152 : hp_config.buffer_batch_size=32 hp_config.buffer_prio_sampling=False hp_config.buffer_size=3016463 hp_config.initial_epsilon=0.7954363806240866 hp_config.learning_rate=0.02881487733166084 hp_config.learning_starts=889 hp_config.target_epsilon=0.014764232095572472 hp_config.use_target_network=True hp_config.target_update_interval=435 hp_config.tau=0.45915987611048487 autorl.n_total_timesteps=25000.0 seed=2\n", + "[2024-05-29 17:36:23,918][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:36:23,918][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:36:23,918][root][INFO] - Training started.\n", + "[2024-05-29 17:36:27,141][root][INFO] - Training finished.\n", + "[2024-05-29 17:36:27,148][HYDRA] \t#153 : hp_config.buffer_batch_size=32 hp_config.buffer_prio_sampling=False hp_config.buffer_size=3016463 hp_config.initial_epsilon=0.7954363806240866 hp_config.learning_rate=0.02881487733166084 hp_config.learning_starts=889 hp_config.target_epsilon=0.014764232095572472 hp_config.use_target_network=True hp_config.target_update_interval=435 hp_config.tau=0.45915987611048487 autorl.n_total_timesteps=25000.0 seed=3\n", + "[2024-05-29 17:36:27,237][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:36:27,238][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:36:27,238][root][INFO] - Training started.\n", + "[2024-05-29 17:36:30,528][root][INFO] - Training finished.\n", + "[2024-05-29 17:36:30,532][HYDRA] \t#154 : hp_config.buffer_batch_size=32 hp_config.buffer_prio_sampling=False hp_config.buffer_size=3016463 hp_config.initial_epsilon=0.7954363806240866 hp_config.learning_rate=0.02881487733166084 hp_config.learning_starts=889 hp_config.target_epsilon=0.014764232095572472 hp_config.use_target_network=True hp_config.target_update_interval=435 hp_config.tau=0.45915987611048487 autorl.n_total_timesteps=25000.0 seed=4\n", + "[2024-05-29 17:36:30,623][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:36:30,624][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:36:30,624][root][INFO] - Training started.\n", + "[2024-05-29 17:36:33,694][root][INFO] - Training finished.\n", + "[2024-05-29 17:36:33,699][HYDRA] \t#155 : hp_config.buffer_batch_size=32 hp_config.buffer_prio_sampling=False hp_config.buffer_size=3016463 hp_config.initial_epsilon=0.7954363806240866 hp_config.learning_rate=0.02881487733166084 hp_config.learning_starts=889 hp_config.target_epsilon=0.014764232095572472 hp_config.use_target_network=True hp_config.target_update_interval=435 hp_config.tau=0.45915987611048487 autorl.n_total_timesteps=25000.0 seed=5\n", + "[2024-05-29 17:36:33,786][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:36:33,787][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:36:33,787][root][INFO] - Training started.\n", + "[2024-05-29 17:36:38,744][root][INFO] - Training finished.\n", + "[2024-05-29 17:36:38,751][HYDRA] \t#156 : hp_config.buffer_batch_size=32 hp_config.buffer_prio_sampling=False hp_config.buffer_size=3016463 hp_config.initial_epsilon=0.7954363806240866 hp_config.learning_rate=0.02881487733166084 hp_config.learning_starts=889 hp_config.target_epsilon=0.014764232095572472 hp_config.use_target_network=True hp_config.target_update_interval=435 hp_config.tau=0.45915987611048487 autorl.n_total_timesteps=25000.0 seed=6\n", + "[2024-05-29 17:36:38,842][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:36:38,843][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:36:38,843][root][INFO] - Training started.\n", + "[2024-05-29 17:36:42,143][root][INFO] - Training finished.\n", + "[2024-05-29 17:36:42,147][HYDRA] \t#157 : hp_config.buffer_batch_size=32 hp_config.buffer_prio_sampling=False hp_config.buffer_size=3016463 hp_config.initial_epsilon=0.7954363806240866 hp_config.learning_rate=0.02881487733166084 hp_config.learning_starts=889 hp_config.target_epsilon=0.014764232095572472 hp_config.use_target_network=True hp_config.target_update_interval=435 hp_config.tau=0.45915987611048487 autorl.n_total_timesteps=25000.0 seed=7\n", + "[2024-05-29 17:36:42,238][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:36:42,239][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:36:42,239][root][INFO] - Training started.\n", + "[2024-05-29 17:36:45,385][root][INFO] - Training finished.\n", + "[2024-05-29 17:36:45,390][HYDRA] \t#158 : hp_config.buffer_batch_size=32 hp_config.buffer_prio_sampling=False hp_config.buffer_size=3016463 hp_config.initial_epsilon=0.7954363806240866 hp_config.learning_rate=0.02881487733166084 hp_config.learning_starts=889 hp_config.target_epsilon=0.014764232095572472 hp_config.use_target_network=True hp_config.target_update_interval=435 hp_config.tau=0.45915987611048487 autorl.n_total_timesteps=25000.0 seed=8\n", + "[2024-05-29 17:36:45,480][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:36:45,481][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:36:45,481][root][INFO] - Training started.\n", + "[2024-05-29 17:36:48,560][root][INFO] - Training finished.\n", + "[2024-05-29 17:36:48,564][HYDRA] \t#159 : hp_config.buffer_batch_size=32 hp_config.buffer_prio_sampling=False hp_config.buffer_size=3016463 hp_config.initial_epsilon=0.7954363806240866 hp_config.learning_rate=0.02881487733166084 hp_config.learning_starts=889 hp_config.target_epsilon=0.014764232095572472 hp_config.use_target_network=True hp_config.target_update_interval=435 hp_config.tau=0.45915987611048487 autorl.n_total_timesteps=25000.0 seed=9\n", + "[2024-05-29 17:36:48,652][root][INFO] - Your AutoRL config is:\n", + "[2024-05-29 17:36:48,653][root][INFO] - seed: ${seed}\n", + "env_framework: ${environment.framework}\n", + "env_name: ${environment.name}\n", + "env_kwargs: ${environment.kwargs}\n", + "eval_env_kwargs: ${environment.eval_kwargs}\n", + "n_envs: ${environment.n_envs}\n", + "algorithm: ${algorithm}\n", + "cnn_policy: ${environment.cnn_policy}\n", + "nas_config: ${nas_config}\n", + "n_total_timesteps: 25000.0\n", + "checkpoint: []\n", + "checkpoint_name: default_checkpoint\n", + "checkpoint_dir: /tmp\n", + "state_features: []\n", + "objectives:\n", + "- reward_mean\n", + "optimize_objectives: upper\n", + "n_steps: 10\n", + "n_eval_steps: 10\n", + "n_eval_episodes: 128\n", + "\n", + "[2024-05-29 17:36:48,653][root][INFO] - Training started.\n", + "[2024-05-29 17:36:51,964][root][INFO] - Training finished.\n", + "[2024-05-29 17:36:51,976][HYDRA] Finished Iteration 16!\n", + "[2024-05-29 17:36:51,977][HYDRA] Current incumbent has a performance of 34.900001525878906.\n", + "[2024-05-29 17:36:51,978][HYDRA] Finished Sweep! Total duration was 512.1s, incumbent had a performance of 34.900001525878906\n", + "[2024-05-29 17:36:51,978][HYDRA] The incumbent configuration is Configuration(values={\n", + " 'hp_config.buffer_alpha': 0.5280155729320327,\n", + " 'hp_config.buffer_batch_size': 8,\n", + " 'hp_config.buffer_beta': 0.10300110565085725,\n", + " 'hp_config.buffer_epsilon': 2.0127321428268346e-05,\n", + " 'hp_config.buffer_prio_sampling': True,\n", + " 'hp_config.buffer_size': 3180530,\n", + " 'hp_config.initial_epsilon': 0.707131497257335,\n", + " 'hp_config.learning_rate': 2.0928470088911824e-06,\n", + " 'hp_config.learning_starts': 709,\n", + " 'hp_config.target_epsilon': 0.11375368938710846,\n", + " 'hp_config.target_update_interval': 930,\n", + " 'hp_config.tau': 0.3253832629268104,\n", + " 'hp_config.use_target_network': True,\n", + "})\n", + "\n" + ] + } + ], + "source": [ + "!python run_arlbench.py --config-name=smac -m" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "How did this one do compared to random search?" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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vffey/jx4zEYDHz22WeEh4eTnp5er8cbNGgQXl5eDBs2jAcffJDi4mI+/vhjIiIizvoj1b17d2bMmMFLL71E69atiYiIOGvkBdRP66+99hp33303/fr149///je5ublMmzaNFi1a8MgjjzTsRbpI48ePZ+HChQwdOpRRo0bRvXt3SkpK2L59O99//z2HDh26pBEMgIkTJ/Ltt99y7bXX8vDDDxMSEsLnn39OWloaP/zwg10a4g0dOpQXXniBu+++mz59+rB9+3a+/vpr6+jJxdLr9cyYMYNhw4bRpUsX7r77bqKjo9mzZw87d+60JoXTp0/n8ssvp2PHjtx///20bNmS3Nxc1q5dy5EjR87qc1PTsGHDuOqqq3jqqac4dOgQnTt35rfffuN///sf48aNsybqFrfddhuPP/44jz/+OCEhIWeNBvXr148HH3yQKVOmsGXLFgYNGoSnpyf79u1j3rx5TJs2rVZPGmfgis/JXUgyI2zq+uuvZ9u2bbzxxhv873//Y8aMGRiNRjp16sRbb73F/fffb73tJ598QsuWLZk9ezbz588nKiqKSZMm8eyzz9o8ztdeew1fX18+/vhjfv/9d5KTk/ntt9+4/PLLa60O8vT0ZP78+fz3v/9l8uTJREVFMW7cOJo0acLdd99dr8dq27Yt33//PU8//TSPP/44UVFR/Oc//yE8PJx77rmn1m2feeYZDh8+zOuvv05RURH9+vWrM5kBtRmer68vr776KhMmTMDPz49//etfvPbaa43aRbc+fH19WblyJa+88grz5s3jiy++IDAwkDZt2vD8889fdIFzTZGRkaxZs4YJEybw3nvvUVZWRqdOnfjpp5/sNgL15JNPUlJSwjfffMPcuXPp1q0bP//8MxMnTrzkc6akpLB8+XKef/553nrrLcxmM61atar1fyQpKYlNmzbx/PPPM3v2bI4fP05ERARdu3blmWeeOe/59Xo9Cxcu5JlnnmHu3LnMmjWLFi1a8MYbb1hXDdbUtGlT+vTpw+rVq7nvvvvq7Oo8c+ZMunfvzocffsiTTz6Jh4cHLVq04M4776Rv376X/FpoyRWfkzuQvZmEOIf8/HyaNGnCSy+9dNa+MEIIIRyH1MwIAXXu3m2p37FsISCEEMIxyTSTEMDcuXOZPXs21113Hf7+/vz11198++23DBo0SIaWhRDCwUkyIwTQ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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "results_file_smac = 'results/smac/dqn_CartPole-v1/0/42/runhistory.csv'\n", + "runhistory_smac = pd.read_csv(results_file_smac)\n", + "ax = runhistory.plot(x='run_id', y='performance', kind='line', title='Configuration Performance over Time')\n", + "runhistory_smac.plot(x='run_id', y='performance', kind='line', title='Configuration Performance over Time', ax=ax)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Best performance: -34.9\n", + "\n", + "run_id 6\n", + "budget NaN\n", + "performance 126.84375\n", + "hp_config.buffer_batch_size 8\n", + "hp_config.buffer_prio_sampling True\n", + "hp_config.buffer_size 3180530\n", + "hp_config.initial_epsilon 0.707131\n", + "hp_config.learning_rate 0.000002\n", + "hp_config.learning_starts 709\n", + "hp_config.target_epsilon 0.113754\n", + "hp_config.use_target_network True\n", + "hp_config.buffer_alpha 0.528016\n", + "hp_config.buffer_beta 0.103001\n", + "hp_config.buffer_epsilon 0.00002\n", + "hp_config.target_update_interval 930.0\n", + "hp_config.tau 0.325383\n", + "Name: 6, dtype: object\n" + ] + } + ], + "source": [ + "print(\"Best performance: \", np.round(max(runhistory_smac['performance']), decimals=2))\n", + "print(\"\")\n", + "print(runhistory.loc[runhistory_smac['performance'].idxmax()])" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "arlbench", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.14" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/examples/run_heuristic_schedule.py b/examples/run_heuristic_schedule.py index 3de2808ee..f3023e870 100644 --- a/examples/run_heuristic_schedule.py +++ b/examples/run_heuristic_schedule.py @@ -9,6 +9,7 @@ import sys import traceback from typing import TYPE_CHECKING +import json import hydra import jax @@ -27,7 +28,11 @@ def run(cfg: DictConfig, logger: logging.Logger): # Reset environment and run for 10 steps _ = env.reset() + + rewards = [] + epsilons = [] for _ in range(10): + epsilons.append(cfg.hp_config.initial_epsilon) # The objectives are configured to return the mean reward _, objectives, _, _, _ = env.step(cfg.hp_config) if objectives["reward_mean"] > 30 and cfg.hp_config.initial_epsilon > 0.7: @@ -35,8 +40,12 @@ def run(cfg: DictConfig, logger: logging.Logger): cfg.hp_config.target_epsilon = 0.7 cfg.hp_config.initial_epsilon = 0.7 logger.info("Agent reached performance threshold, decreasing epsilon to 0.7") + rewards.append(float(objectives["reward_mean"])) logger.info(f"Training finished with a total reward of {objectives['reward_mean']}") + output = {"rewards": rewards, "epsilons": epsilons} + with open("output.json", "w") as f: + json.dump(output, f) @hydra.main(version_base=None, config_path="configs", config_name="epsilon_heuristic") def execute(cfg: DictConfig): diff --git a/examples/run_reactive_schedule.py b/examples/run_reactive_schedule.py index ac72d2d75..63792ed2c 100644 --- a/examples/run_reactive_schedule.py +++ b/examples/run_reactive_schedule.py @@ -9,6 +9,7 @@ import sys import traceback from typing import TYPE_CHECKING +import json import hydra import jax @@ -32,16 +33,15 @@ def run(cfg: DictConfig, logger: logging.Logger): # define a tolerance for the gradient norm tolerance = 1e-4 + rewards = [] + lrs = [] for i in range(100): - + lrs.append(cfg.hp_config.learning_rate) # Statistics here contain the number of steps and gradient information statistics, objectives, te, tr, _ = env.step(cfg.hp_config) grad_norm, _ = statistics["grad_info"] # If grad norm doesn't change much, spike the learning rate - if last_grad_norm is not None: - print(i) - print(abs(grad_norm - last_grad_norm)) if last_grad_norm is not None and abs(grad_norm - last_grad_norm) < tolerance: last_lr = cfg.hp_config.learning_rate cfg.hp_config.learning_rate *= 10 @@ -54,7 +54,12 @@ def run(cfg: DictConfig, logger: logging.Logger): spiked = False logger.info(f"Resetting learning rate to {cfg.hp_config.learning_rate}") last_grad_norm = grad_norm + rewards.append(float(objectives["reward_mean"])) + logger.info(f"Training finished with a total reward of {objectives['reward_mean']}") + output = {"rewards": rewards, "lr": lrs} + with open("output.json", "w") as f: + json.dump(output, f) @hydra.main(version_base=None, config_path="configs", config_name="gradient_lr") diff --git a/examples/schedules.ipynb b/examples/schedules.ipynb new file mode 100644 index 000000000..5be2d1b0a --- /dev/null +++ b/examples/schedules.ipynb @@ -0,0 +1,214 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Custom Schedules With ARLBench\n", + "\n", + "These examples will show you how to create and run schedules using ARLBench. First, let's look at how this looks.\n", + "To make any sort of schedule, you want to first create an instance of the AutoRLEnv:\n", + "\n", + "```python\n", + "# Initialize environment with general config\n", + "env = AutoRLEnv(cfg.autorl)\n", + "\n", + "# Reset environment\n", + "_ = env.reset()\n", + "```\n", + "\n", + "This looks like an RL env, so you should already be familiar with what comes next:\n", + "\n", + "```python\n", + "# Run for 10 steps\n", + "for _ in range(10):\n", + " # The objectives are configured to return the mean reward\n", + " _, objectives, _, _, _ = env.step(cfg.hp_config)\n", + "```\n", + "\n", + "Here we do 10 steps, the length of which is configured via the config.\n", + "Since the 'hp_config' is given at each step, we can adapt the hyperparameters for the next one." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we can check out a really simple schedule heuristic we prepared beforehand, epsilon decay tied to the reward for DQN on CartPole:" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Couldn't import CARP-S, the CARP-S Hypersweeper will not be available.\n", + "Couldn't import DEHB, the DEHB Hypersweeper will not be available.\n", + "Couldn't import HEBO, the HEBO Hypersweeper will not be available.\n", + "Couldn't import Nevergrad, the Nevergrad Hypersweeper will not be available.\n", + "[2024-05-29 16:30:58,241][root][INFO] - Starting run with epsilon value 0.9\n", + "[2024-05-29 16:30:58,255][jax._src.xla_bridge][INFO] - Unable to initialize backend 'cuda': \n", + "[2024-05-29 16:30:58,255][jax._src.xla_bridge][INFO] - Unable to initialize backend 'rocm': module 'jaxlib.xla_extension' has no attribute 'GpuAllocatorConfig'\n", + "[2024-05-29 16:30:58,256][jax._src.xla_bridge][INFO] - Unable to initialize backend 'tpu': INTERNAL: Failed to open libtpu.so: dlopen(libtpu.so, 0x0001): tried: 'libtpu.so' (no such file), '/System/Volumes/Preboot/Cryptexes/OSlibtpu.so' (no such file), '/Users/theeimer/anaconda3/envs/arlbench/bin/../lib/libtpu.so' (no such file), '/usr/lib/libtpu.so' (no such file, not in dyld cache), 'libtpu.so' (no such file), '/usr/local/lib/libtpu.so' (no such file), '/usr/lib/libtpu.so' (no such file, not in dyld cache)\n", + "[2024-05-29 16:31:02,434][root][INFO] - Agent reached performance threshold, decreasing epsilon to 0.7\n", + "[2024-05-29 16:31:24,264][root][INFO] - Training finished with a total reward of 225.0\n" + ] + } + ], + "source": [ + "!python run_heuristic_schedule.py" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [], + "source": [ + "import json\n", + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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p0+jZ8+e4nFRUVF45pln8MwzzyAtLQ2ffPJJi4Kanj17Yv/+/ZgyZYp43/79+1nD5S64wu+dUUBAfTqhvLwcI0eONDsj0q5dOwC1a2BWr16NH3/8Ed7e3ujRowcSExORlZWFGzdumPwOv/3223j//fexYsUKxMbGIiAgAM8//3yjxcANx+Bq9AYB3526jox953HwfP0as7hObTF9cGcM6RUOL5npstXEmDCsy76ErNxCCILg9JWod58qFP+cfa4YzzzS1YGjaRmLP31jx45FYWEhFi5cCLVajb59+2LHjh3iQt+8vDyTktVVVVWYP38+zp8/jzZt2mD48OH4xz/+YZJGau6cAPDee+9BKpVizJgx0Gq1SE5OxkcffXQXb90840yNhkEN2VhgYCBefPFFzJ07FwaDAYMHD0ZZWRn2798PhUKBTp06AQCWLFmC4OBghIeH47XXXkNISIg4q/n8889j2LBh6N69O27cuIHdu3ebBDx38tJLL+HJJ59Ev379kJSUhK+++gpbtmzBrl27bPWWyUndf//9+Pe//43o6Ogmd4cZ19W89957YgCTmJiIN998Ezdu3DBZ+7J//3789re/FRcOGwwGnD59utmAuWfPno121x08ePBu3prVVWhrsPmHy1hz4CIuFVcCAGRSCYbHtsP0wZ3RN0rV5HMHdgmG3EuKq6W3cK6wAveEtWxRv6M03AX8w8USVOsN8JY5d0uKVn2lmDNnTpPppoYLxwDgkUceaVGvljudE6jfvrly5UqLxmopMf1U6d7bC8k5LF26FKGhoUhPT8f58+ehUqlw//3349VXXxVTPG+++Saee+45nDlzBn379sVXX30Fubx2RlGv1yMlJQVXrlyBQqHA0KFD8d5777XotUeNGoX3338f77zzDp577jl07twZa9asQWJioq3eLjmplJQUfPLJJxg/fjxefvllBAUF4ezZs9i4cSP+/ve/QyaToW3btujduzfWr1+PDz/8EADw8MMP48knn0R1dbXJTE23bt3wr3/9CwcOHEDbtm2xfPlyFBQUNBvUPPPMM3j33Xfx0ksvYcaMGcjJycHatWtt+dZb7GrpLaw7cBH/PJyHm1U1AACFrxeeiu+EyQmdEKlqvqGpn1yG+M5B+P5MEbJyrzt1UKOt0WP/2drdb15SCSp0ehy/WoZ+Hds6eGR35hrzpHak8q+b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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "result_dir = \"results/heuristic_schedule_dqn_CartPole-v1/42\"\n", + "with open(result_dir + \"/output.json\") as f:\n", + " results = json.load(f)\n", + "rewards = results[\"rewards\"]\n", + "epsilons = results[\"epsilons\"]\n", + "\n", + "f, (ax1, ax2) = plt.subplots(1, 2, sharey=False)\n", + "sns.lineplot({\"epsilon\": epsilons}, ax=ax1)\n", + "sns.lineplot({\"reward\": rewards}, ax=ax2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Since we're not only returning objectives, but also some optional information about the RL state, we also tried to adjust the learning rate according to the grad norm:" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Couldn't import CARP-S, the CARP-S Hypersweeper will not be available.\n", + "Couldn't import DEHB, the DEHB Hypersweeper will not be available.\n", + "Couldn't import HEBO, the HEBO Hypersweeper will not be available.\n", + "Couldn't import Nevergrad, the Nevergrad Hypersweeper will not be available.\n", + "[2024-05-29 16:31:28,017][jax._src.xla_bridge][INFO] - Unable to initialize backend 'cuda': \n", + "[2024-05-29 16:31:28,017][jax._src.xla_bridge][INFO] - Unable to initialize backend 'rocm': module 'jaxlib.xla_extension' has no attribute 'GpuAllocatorConfig'\n", + "[2024-05-29 16:31:28,017][jax._src.xla_bridge][INFO] - Unable to initialize backend 'tpu': INTERNAL: Failed to open libtpu.so: dlopen(libtpu.so, 0x0001): tried: 'libtpu.so' (no such file), '/System/Volumes/Preboot/Cryptexes/OSlibtpu.so' (no such file), '/Users/theeimer/anaconda3/envs/arlbench/bin/../lib/libtpu.so' (no such file), '/usr/lib/libtpu.so' (no such file, not in dyld cache), 'libtpu.so' (no such file), '/usr/local/lib/libtpu.so' (no such file), '/usr/lib/libtpu.so' (no such file, not in dyld cache)\n", + "[2024-05-29 16:35:28,381][root][INFO] - Training finished with a total reward of 276.8999938964844\n" + ] + } + ], + "source": [ + "!python run_reactive_schedule.py" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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2223AQB69OgBlUqFe++9F4DLp6ewsBBpaWmIiIjAiBEj8L//+7/NefuJbsQ/Dp/Hk//6Fn/b+59wTyVkwnV/C/XepnQvOnbsGCZPnozo6GgkJibinnvuweXLlwEAO3fuRFxcnOgGf+TIEahUKjz88MPiMX/3u9/hN7/5DYDm3w8BYNeuXRg0aBAiIiJw22234fvvv2/uj6PFdDkfqm3btuHatWv46quvsGzZMjz99NN48MEHg3795MmTxe+HDx+OrKws9OvXD++99x7mz5/vNX758uUoKCgQn9fW1pKoakUabQ4MXflRWM59YnUuIvXN+xPJz8/HiRMnsHXrVqSkpOCDDz7ApEmTcPToUaSnp6OpqQmjRo3CQw89BJPJhA8//BD33HMPBg4ciDFjxojHefPNN3H//ffj888/B+ASPgDwP//zP3jmmWfQu3dv3Hffffjtb38rjlHi008/RXJyMj799FOcPn0aM2fOxMiRI7FgwQIAwJw5c3D58mXs2bMHOp0OBQUFPusieUpKSmAymVBcXCxus9lsWLNmDQYPHoxLly6hoKAA9957L3bt2oXU1FS8//77mD59Ok6ePAmTyYSIiAgArn9O3nnnHWzcuBHp6enYt28ffvOb36B3797NijQT3YPaJjsAoM5iD/NMQidc97fm3Nv4e1F1dTVuv/12/O53v8Nzzz2HxsZGPPTQQ7jrrruwe/duMQhx+PBhjB49Gnv37kWvXr0k/1Tu3bsXDz30EAA0+3547tw5/OpXv8KiRYuwcOFCHDp0CA888EDL36BmEtI72qtXL2g0GlRWVkq2V1ZW+izyTkpK8juefa2srERycrJkDPsvOykpyevmbrfbUVVV5XVeJmaGDh0Kh8OBhQsX4oEHHoBGownlUkXi4uIwaNAgnD59WnG/wWCAwWBo1rGJrklFRQXeeOMNVFRUICUlBQDwxz/+EUVFRXjjjTfw5z//GX369MEf//hH8TV/+MMf8NFHH+G9996T3EDS09Oxdu1a8TkTVH/6059EkfHwww8jLy8PTU1NPk3qevTogRdffBEajQYZGRnIy8tDSUkJFixYgG+//RaffPIJDh48KKbVX331VaSnpwe81qioKLz66quSFg6//e1vxe8HDBiA9evX4+abb0ZdXR2io6MRHx8PAEhISEBcXBwAV0Tvz3/+Mz755BNkZ2eLr/3ss8/wt7/9jQQV4ROH0xVtsTubH1EmAsPfi5544gnceOON+POf/yzuf/3115GamorvvvsOgwYNwsiRI7Fnzx6MHj0ae/bswdKlS/H444+jrq4ONTU1OH36tPh33dz74SOPPIKBAwfimWeeAQAMHjwYR48exVNPPdWm74UvQhJUer0eo0aNQklJCaZNmwbAFaYvKSlBfn6+4muys7NRUlIiWQFVXFws3jTT0tKQlJSEkpISUUDV1tairKwM999/v3iM6upqlJeXY9SoUQCA3bt3w+l0Iisry+d8nU4nbDYbnE5nswVVXV0dzpw5g3vuuadZrydaRoROgxOrc8N27uZw9OhROBwODBo0SLLdYrGItU0OhwN//vOf8d577+H8+fOwWq2wWCxeDsrs913O8OHDxe/ZPyKXLl1C3759FccPGzZM8jeQnJyMo0ePAnBZjmi1Wtx0003i/uuvvx49evQIeK2ZmZle/bDKy8vx2GOP4auvvsLVq1fhdDoBuITm0KFDFY9z+vRpNDQ04L/+678k261WK2688caA8yC6L0xQOTuhoArX/a059zb+XvTVV1/h008/RXR0tNe4M2fOYNCgQRg/fjz27NmDBx54AP/+979RWFiI9957D5999hmqqqqQkpIi/tPW3PvhN99846UBmLYIByHnMwoKCjB37lyMHj0aY8aMwbp161BfX4958+YBcKUO+vTpg8LCQgDA4sWLMX78eDzzzDPIy8vD1q1bcejQIbz88ssAAJVKhSVLluCJJ55Aeno60tLS8OijjyIlJUUUbUOGDMGkSZOwYMECbNy4ETabDfn5+bj77rvFCMDmzZuh0+mQmZkJg8GAQ4cOYfny5Zg5cyZ0Oh0A1835xIkT4vfnz5/HkSNHEB0djeuvvx6AK5Jw5513ol+/frhw4QJWrVoFjUaDWbNmteBtJpqLSqVqdtotXNTV1UGj0aC8vNxLyLMb0F/+8hc8//zzWLduHTIzMxEVFYUlS5Z4FVpGRUUpnoP9TgMQ+4Ex4RJoPHuNv/HBIp9ffX09cnNzkZubi82bN6N3796oqKhAbm6u3yJS5in34Ycfok+fPpJ9FAEm/OEUWISq5b/P7U1nur/xf+t1dXW48847FSNB7B+8CRMm4PXXX8dXX30FnU6HjIwMTJgwAXv27MHVq1clUeeW3g87CiH/JGfOnImffvoJK1euhNlsxsiRI1FUVCQWlVdUVEhs3ceOHYstW7ZgxYoVeOSRR5Ceno4dO3bghhtuEMc8+OCDqK+vx8KFC1FdXY1x48ahqKhIkr7YvHkz8vPzMXHiRKjVakyfPh3r16/3XIhWi6eeegrfffcdBEFAv379kJ+fj6VLl4pjLly4IPlv9+mnn8bTTz8tKmkA+PHHHzFr1ixcuXIFvXv3xrhx43DgwAH07t071LeK6KbceOONcDgcuHTpEm655RbFMZ9//jmmTp0qFmU6nU589913PiM4bcngwYNht9tx+PBh8T/A06dP4+rVqyEf69tvv8WVK1fw5JNPiun3Q4cOScawiBYrWAVcKXqDwYCKigpK7xEhwVJ9js6npzotN910E95//330798fWq2yjGB1VM8995z4Nz1hwgQ8+eSTuHr1qqTWqbn3wyFDhuD//u//JNsOHDjQkktrEc2Sxvn5+T5TfHzRGWPGjBmYMWOGz+OpVCqsXr3a74q8+Ph4bNmyxef+mTNnYubMmb4nDaB///4BVzds3brV736CCMSgQYMwe/ZszJkzB8888wxuvPFG/PTTTygpKcHw4cORl5eH9PR0/O///i/279+PHj164Nlnn0VlZWVYBFVGRgZycnKwcOFCvPTSS9DpdHjggQcQEREhRr+CpW/fvtDr9XjhhRdw33334dixY1izZo1kTL9+/aBSqbBz505MmTIFERERiImJwR//+EcsXboUTqcT48aNQ01NDT7//HOYTCbMnTu3NS+Z6EI4RUFFiqq9WLRoEV555RXMmjULDz74IOLj43H69Gls3boVr776KjQaDXr06IHhw4dj8+bNePHFFwEAt956K+666y7YbDbJP07NvR/ed999eOaZZ7Bs2TL87ne/Q3l5OTZt2tSWl+4X6uVHEG3AG2+8gTlz5uCBBx7A4MGDMW3aNBw8eFCscVqxYgVuuukm5ObmYsKECUhKShJT3OHgrbfeQmJiIm699Vb88pe/xIIFCxATExNyJ/bevXtj06ZN2L59O4YOHYonn3wSTz/9tGRMnz598Pjjj+Phhx9GYmKi+M/ZmjVr8Oijj6KwsFBM83/44YdIS0trteskuh6shsrR+UqoOi0pKSn4/PPP4XA4cMcddyAzMxNLlixBXFycJEM1fvx4OBwOTJgwAYArMDJ06FAkJSWJNitA8++Hffv2xfvvv48d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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "result_dir = \"results/reactive_schedule_dqn_CartPole-v1/42\"\n", + "with open(result_dir + \"/output.json\") as f:\n", + " results = json.load(f)\n", + "rewards = results[\"rewards\"]\n", + "lrs = results[\"lr\"]\n", + "\n", + "f, (ax1, ax2) = plt.subplots(1, 2, sharey=False)\n", + "sns.lineplot({\"learning rate\": lrs}, ax=ax1)\n", + "sns.lineplot({\"reward\": rewards}, ax=ax2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As you can see, these are maybe not the best schedule ideas ever, but they show you what you can do with schedules in ARLBench!" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "arlbench", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.14" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}