{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import gymnasium as gym\n", "from gymnasium.wrappers.jax_to_numpy import JaxToNumpy\n", "from gymnasium.wrappers.vector import JaxToNumpy as VJaxToNumpy\n", "from solarcarsim.simv1 import SolarRaceV1\n", "from gymnasium.utils.env_checker import check_env as gym_check_env\n", "from stable_baselines3 import TD3, PPO\n", "from stable_baselines3.common.env_checker import check_env\n", "import matplotlib.pyplot as plt\n", "import jax.numpy as jnp\n", "env = SolarRaceV1()\n", "wrapped_env = JaxToNumpy(env)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/saji/Documents/Code/solarcarsim/.venv/lib/python3.12/site-packages/gymnasium/utils/env_checker.py:384: UserWarning: \u001b[33mWARN: The environment (>) is different from the unwrapped version (). This could effect the environment checker as the environment most likely has a wrapper applied to it. We recommend using the raw environment for `check_env` using `env.unwrapped`.\u001b[0m\n", " logger.warn(\n", "/home/saji/Documents/Code/solarcarsim/.venv/lib/python3.12/site-packages/gymnasium/utils/env_checker.py:434: UserWarning: \u001b[33mWARN: Not able to test alternative render modes due to the environment not having a spec. Try instantiating the environment through `gymnasium.make`\u001b[0m\n", " logger.warn(\n" ] } ], "source": [ "gym_check_env(wrapped_env)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Using cuda device\n", "Wrapping the env with a `Monitor` wrapper\n", "Wrapping the env in a DummyVecEnv.\n", "---------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -293 |\n", "| time/ | |\n", "| fps | 181 |\n", "| iterations | 1 |\n", "| time_elapsed | 11 |\n", "| total_timesteps | 2048 |\n", "---------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -273 |\n", "| time/ | |\n", "| fps | 174 |\n", "| iterations | 2 |\n", "| time_elapsed | 23 |\n", "| total_timesteps | 4096 |\n", "| train/ | |\n", "| approx_kl | 0.0054363105 |\n", "| clip_fraction | 0.036 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.42 |\n", "| explained_variance | -0.000109 |\n", "| learning_rate | 0.0003 |\n", "| loss | 3.72e+03 |\n", "| n_updates | 10 |\n", "| policy_gradient_loss | 0.00132 |\n", "| std | 1 |\n", "| value_loss | 3.03e+03 |\n", "------------------------------------------\n", "-----------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -269 |\n", "| time/ | |\n", "| fps | 174 |\n", "| iterations | 3 |\n", "| time_elapsed | 35 |\n", "| total_timesteps | 6144 |\n", "| train/ | |\n", "| approx_kl | 0.011383371 |\n", "| clip_fraction | 0.119 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.42 |\n", "| explained_variance | 8.55e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 2.63e+03 |\n", "| n_updates | 20 |\n", "| policy_gradient_loss | -0.00406 |\n", "| std | 0.998 |\n", "| value_loss | 3.05e+03 |\n", "-----------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -267 |\n", "| time/ | |\n", "| fps | 173 |\n", "| iterations | 4 |\n", "| time_elapsed | 47 |\n", "| total_timesteps | 8192 |\n", "| train/ | |\n", "| approx_kl | 0.0013208076 |\n", "| clip_fraction | 0.002 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.41 |\n", "| explained_variance | 0.000122 |\n", "| learning_rate | 0.0003 |\n", "| loss | 931 |\n", "| n_updates | 30 |\n", "| policy_gradient_loss | 8.3e-05 |\n", "| std | 0.99 |\n", "| value_loss | 4.03e+03 |\n", "------------------------------------------\n", "-----------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -272 |\n", "| time/ | |\n", "| fps | 172 |\n", "| iterations | 5 |\n", "| time_elapsed | 59 |\n", "| total_timesteps | 10240 |\n", "| train/ | |\n", "| approx_kl | 0.012045372 |\n", "| clip_fraction | 0.0221 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.4 |\n", "| explained_variance | 5.51e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 1.17e+03 |\n", "| n_updates | 40 |\n", "| policy_gradient_loss | 0.00043 |\n", "| std | 0.973 |\n", "| value_loss | 3.06e+03 |\n", "-----------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -272 |\n", "| time/ | |\n", "| fps | 172 |\n", "| iterations | 6 |\n", "| time_elapsed | 71 |\n", "| total_timesteps | 12288 |\n", "| train/ | |\n", "| approx_kl | 0.0049332893 |\n", "| clip_fraction | 0.0111 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.39 |\n", "| explained_variance | 0.000114 |\n", "| learning_rate | 0.0003 |\n", "| loss | 7.39e+03 |\n", "| n_updates | 50 |\n", "| policy_gradient_loss | -0.00083 |\n", "| std | 0.973 |\n", "| value_loss | 4.05e+03 |\n", "------------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -275 |\n", "| time/ | |\n", "| fps | 171 |\n", "| iterations | 7 |\n", "| time_elapsed | 83 |\n", "| total_timesteps | 14336 |\n", "| train/ | |\n", "| approx_kl | 0.0038162381 |\n", "| clip_fraction | 0.0192 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.39 |\n", "| explained_variance | 7.37e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 1.5e+03 |\n", "| n_updates | 60 |\n", "| policy_gradient_loss | -0.000316 |\n", "| std | 0.971 |\n", "| value_loss | 3.06e+03 |\n", "------------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -274 |\n", "| time/ | |\n", "| fps | 170 |\n", "| iterations | 8 |\n", "| time_elapsed | 96 |\n", "| total_timesteps | 16384 |\n", "| train/ | |\n", "| approx_kl | 0.0039417995 |\n", "| clip_fraction | 0.0062 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.39 |\n", "| explained_variance | 7.75e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 2.76e+03 |\n", "| n_updates | 70 |\n", "| policy_gradient_loss | -0.000468 |\n", "| std | 0.973 |\n", "| value_loss | 3.08e+03 |\n", "------------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -275 |\n", "| time/ | |\n", "| fps | 170 |\n", "| iterations | 9 |\n", "| time_elapsed | 108 |\n", "| total_timesteps | 18432 |\n", "| train/ | |\n", "| approx_kl | 0.0017004285 |\n", "| clip_fraction | 0.0129 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.4 |\n", "| explained_variance | 0.000155 |\n", "| learning_rate | 0.0003 |\n", "| loss | 756 |\n", "| n_updates | 80 |\n", "| policy_gradient_loss | -0.000469 |\n", "| std | 0.98 |\n", "| value_loss | 4.04e+03 |\n", "------------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -277 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 10 |\n", "| time_elapsed | 121 |\n", "| total_timesteps | 20480 |\n", "| train/ | |\n", "| approx_kl | 0.0034604114 |\n", "| clip_fraction | 0.0167 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.41 |\n", "| explained_variance | 0.000104 |\n", "| learning_rate | 0.0003 |\n", "| loss | 2.09e+03 |\n", "| n_updates | 90 |\n", "| policy_gradient_loss | -0.00122 |\n", "| std | 0.995 |\n", "| value_loss | 3.07e+03 |\n", "------------------------------------------\n", "-----------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -276 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 11 |\n", "| time_elapsed | 133 |\n", "| total_timesteps | 22528 |\n", "| train/ | |\n", "| approx_kl | 0.005835003 |\n", "| clip_fraction | 0.0289 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.41 |\n", "| explained_variance | 0.000224 |\n", "| learning_rate | 0.0003 |\n", "| loss | 1.44e+03 |\n", "| n_updates | 100 |\n", "| policy_gradient_loss | -0.00135 |\n", "| std | 0.985 |\n", "| value_loss | 4.06e+03 |\n", "-----------------------------------------\n", "-------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -276 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 12 |\n", "| time_elapsed | 145 |\n", "| total_timesteps | 24576 |\n", "| train/ | |\n", "| approx_kl | 0.00068298285 |\n", "| clip_fraction | 0 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.4 |\n", "| explained_variance | 0.000121 |\n", "| learning_rate | 0.0003 |\n", "| loss | 3.33e+03 |\n", "| n_updates | 110 |\n", "| policy_gradient_loss | 7.82e-05 |\n", "| std | 0.982 |\n", "| value_loss | 3.08e+03 |\n", "-------------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -274 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 13 |\n", "| time_elapsed | 158 |\n", "| total_timesteps | 26624 |\n", "| train/ | |\n", "| approx_kl | 0.0048444057 |\n", "| clip_fraction | 0.00918 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.4 |\n", "| explained_variance | 0.000109 |\n", "| learning_rate | 0.0003 |\n", "| loss | 1.07e+03 |\n", "| n_updates | 120 |\n", "| policy_gradient_loss | 0.000241 |\n", "| std | 0.973 |\n", "| value_loss | 3.09e+03 |\n", "------------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -272 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 14 |\n", "| time_elapsed | 170 |\n", "| total_timesteps | 28672 |\n", "| train/ | |\n", "| approx_kl | 0.0024140258 |\n", "| clip_fraction | 0.0194 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.39 |\n", "| explained_variance | 0.000147 |\n", "| learning_rate | 0.0003 |\n", "| loss | 4.1e+03 |\n", "| n_updates | 130 |\n", "| policy_gradient_loss | -0.000116 |\n", "| std | 0.974 |\n", "| value_loss | 4.07e+03 |\n", "------------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -271 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 15 |\n", "| time_elapsed | 182 |\n", "| total_timesteps | 30720 |\n", "| train/ | |\n", "| approx_kl | 0.0012023712 |\n", "| clip_fraction | 0.0306 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.39 |\n", "| explained_variance | 1.91e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 2.61e+03 |\n", "| n_updates | 140 |\n", "| policy_gradient_loss | 0.000104 |\n", "| std | 0.964 |\n", "| value_loss | 3.09e+03 |\n", "------------------------------------------\n", "-----------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -270 |\n", "| time/ | |\n", "| fps | 167 |\n", "| iterations | 16 |\n", "| time_elapsed | 195 |\n", "| total_timesteps | 32768 |\n", "| train/ | |\n", "| approx_kl | 0.005513249 |\n", "| clip_fraction | 0.0216 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.37 |\n", "| explained_variance | 6.94e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 647 |\n", "| n_updates | 150 |\n", "| policy_gradient_loss | -0.00111 |\n", "| std | 0.948 |\n", "| value_loss | 4.06e+03 |\n", "-----------------------------------------\n", "-----------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -272 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 17 |\n", "| time_elapsed | 207 |\n", "| total_timesteps | 34816 |\n", "| train/ | |\n", "| approx_kl | 0.008722976 |\n", "| clip_fraction | 0.0229 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.37 |\n", "| explained_variance | 4.42e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 2.42e+03 |\n", "| n_updates | 160 |\n", "| policy_gradient_loss | -0.000433 |\n", "| std | 0.945 |\n", "| value_loss | 3.08e+03 |\n", "-----------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -276 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 18 |\n", "| time_elapsed | 219 |\n", "| total_timesteps | 36864 |\n", "| train/ | |\n", "| approx_kl | 0.0060544205 |\n", "| clip_fraction | 0.0893 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.37 |\n", "| explained_variance | 2.23e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 593 |\n", "| n_updates | 170 |\n", "| policy_gradient_loss | -0.00357 |\n", "| std | 0.952 |\n", "| value_loss | 3.1e+03 |\n", "------------------------------------------\n", "-----------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -277 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 19 |\n", "| time_elapsed | 231 |\n", "| total_timesteps | 38912 |\n", "| train/ | |\n", "| approx_kl | 0.006287749 |\n", "| clip_fraction | 0.00957 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.37 |\n", "| explained_variance | 9.32e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 3.89e+03 |\n", "| n_updates | 180 |\n", "| policy_gradient_loss | -0.000475 |\n", "| std | 0.952 |\n", "| value_loss | 4.06e+03 |\n", "-----------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -278 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 20 |\n", "| time_elapsed | 243 |\n", "| total_timesteps | 40960 |\n", "| train/ | |\n", "| approx_kl | 0.0006410396 |\n", "| clip_fraction | 0.00317 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.38 |\n", "| explained_variance | 1.19e-06 |\n", "| learning_rate | 0.0003 |\n", "| loss | 609 |\n", "| n_updates | 190 |\n", "| policy_gradient_loss | 0.000116 |\n", "| std | 0.963 |\n", "| value_loss | 3.09e+03 |\n", "------------------------------------------\n", "-------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -279 |\n", "| time/ | |\n", "| fps | 167 |\n", "| iterations | 21 |\n", "| time_elapsed | 256 |\n", "| total_timesteps | 43008 |\n", "| train/ | |\n", "| approx_kl | 0.00017864068 |\n", "| clip_fraction | 0.0233 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.38 |\n", "| explained_variance | 1.61e-06 |\n", "| learning_rate | 0.0003 |\n", "| loss | 1.26e+03 |\n", "| n_updates | 200 |\n", "| policy_gradient_loss | 1.53e-05 |\n", "| std | 0.961 |\n", "| value_loss | 4.07e+03 |\n", "-------------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -280 |\n", "| time/ | |\n", "| fps | 167 |\n", "| iterations | 22 |\n", "| time_elapsed | 268 |\n", "| total_timesteps | 45056 |\n", "| train/ | |\n", "| approx_kl | 0.0052862475 |\n", "| clip_fraction | 0.0678 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.38 |\n", "| explained_variance | 4.77e-07 |\n", "| learning_rate | 0.0003 |\n", "| loss | 154 |\n", "| n_updates | 210 |\n", "| policy_gradient_loss | 0.000592 |\n", "| std | 0.962 |\n", "| value_loss | 3.1e+03 |\n", "------------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -280 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 23 |\n", "| time_elapsed | 280 |\n", "| total_timesteps | 47104 |\n", "| train/ | |\n", "| approx_kl | 0.0017830351 |\n", "| clip_fraction | 0.0224 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.38 |\n", "| explained_variance | 5.36e-07 |\n", "| learning_rate | 0.0003 |\n", "| loss | 719 |\n", "| n_updates | 220 |\n", "| policy_gradient_loss | -0.000802 |\n", "| std | 0.961 |\n", "| value_loss | 3.11e+03 |\n", "------------------------------------------\n", "-------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -281 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 24 |\n", "| time_elapsed | 292 |\n", "| total_timesteps | 49152 |\n", "| train/ | |\n", "| approx_kl | 0.00015185933 |\n", "| clip_fraction | 0 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.37 |\n", "| explained_variance | 1.01e-06 |\n", "| learning_rate | 0.0003 |\n", "| loss | 2.93e+03 |\n", "| n_updates | 230 |\n", "| policy_gradient_loss | -3.24e-05 |\n", "| std | 0.951 |\n", "| value_loss | 4.01e+03 |\n", "-------------------------------------------\n", "----------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -282 |\n", "| time/ | |\n", "| fps | 167 |\n", "| iterations | 25 |\n", "| time_elapsed | 305 |\n", "| total_timesteps | 51200 |\n", "| train/ | |\n", "| approx_kl | 0.00283485 |\n", "| clip_fraction | 0.0281 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.37 |\n", "| explained_variance | 4.17e-07 |\n", "| learning_rate | 0.0003 |\n", "| loss | 1.26e+03 |\n", "| n_updates | 240 |\n", "| policy_gradient_loss | -0.00137 |\n", "| std | 0.954 |\n", "| value_loss | 3.11e+03 |\n", "----------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -282 |\n", "| time/ | |\n", "| fps | 167 |\n", "| iterations | 26 |\n", "| time_elapsed | 317 |\n", "| total_timesteps | 53248 |\n", "| train/ | |\n", "| approx_kl | 0.0021635226 |\n", "| clip_fraction | 0.0132 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.37 |\n", "| explained_variance | 8.34e-07 |\n", "| learning_rate | 0.0003 |\n", "| loss | 321 |\n", "| n_updates | 250 |\n", "| policy_gradient_loss | -0.000334 |\n", "| std | 0.955 |\n", "| value_loss | 4.07e+03 |\n", "------------------------------------------\n", "-----------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -283 |\n", "| time/ | |\n", "| fps | 167 |\n", "| iterations | 27 |\n", "| time_elapsed | 330 |\n", "| total_timesteps | 55296 |\n", "| train/ | |\n", "| approx_kl | 0.012732552 |\n", "| clip_fraction | 0.0278 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.38 |\n", "| explained_variance | 2.98e-07 |\n", "| learning_rate | 0.0003 |\n", "| loss | 250 |\n", "| n_updates | 260 |\n", "| policy_gradient_loss | -0.00149 |\n", "| std | 0.963 |\n", "| value_loss | 3.1e+03 |\n", "-----------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -284 |\n", "| time/ | |\n", "| fps | 167 |\n", "| iterations | 28 |\n", "| time_elapsed | 342 |\n", "| total_timesteps | 57344 |\n", "| train/ | |\n", "| approx_kl | 0.0035805362 |\n", "| clip_fraction | 0.0155 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.38 |\n", "| explained_variance | 8.34e-07 |\n", "| learning_rate | 0.0003 |\n", "| loss | 4.12e+03 |\n", "| n_updates | 270 |\n", "| policy_gradient_loss | -0.000792 |\n", "| std | 0.966 |\n", "| value_loss | 4.09e+03 |\n", "------------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -285 |\n", "| time/ | |\n", "| fps | 167 |\n", "| iterations | 29 |\n", "| time_elapsed | 354 |\n", "| total_timesteps | 59392 |\n", "| train/ | |\n", "| approx_kl | 0.0018168361 |\n", "| clip_fraction | 0.000488 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.39 |\n", "| explained_variance | 4.77e-07 |\n", "| learning_rate | 0.0003 |\n", "| loss | 2.16e+03 |\n", "| n_updates | 280 |\n", "| policy_gradient_loss | 4.89e-05 |\n", "| std | 0.971 |\n", "| value_loss | 3.1e+03 |\n", "------------------------------------------\n", "-------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -285 |\n", "| time/ | |\n", "| fps | 167 |\n", "| iterations | 30 |\n", "| time_elapsed | 366 |\n", "| total_timesteps | 61440 |\n", "| train/ | |\n", "| approx_kl | 0.00029722328 |\n", "| clip_fraction | 0.000635 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.38 |\n", "| explained_variance | 1.79e-07 |\n", "| learning_rate | 0.0003 |\n", "| loss | 1.02e+03 |\n", "| n_updates | 290 |\n", "| policy_gradient_loss | -0.00093 |\n", "| std | 0.957 |\n", "| value_loss | 3.1e+03 |\n", "-------------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -285 |\n", "| time/ | |\n", "| fps | 167 |\n", "| iterations | 31 |\n", "| time_elapsed | 378 |\n", "| total_timesteps | 63488 |\n", "| train/ | |\n", "| approx_kl | 0.0036160094 |\n", "| clip_fraction | 0.00591 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.37 |\n", "| explained_variance | 7.15e-07 |\n", "| learning_rate | 0.0003 |\n", "| loss | 1.69e+03 |\n", "| n_updates | 300 |\n", "| policy_gradient_loss | -0.000226 |\n", "| std | 0.953 |\n", "| value_loss | 4.08e+03 |\n", "------------------------------------------\n", "-------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -286 |\n", "| time/ | |\n", "| fps | 167 |\n", "| iterations | 32 |\n", "| time_elapsed | 390 |\n", "| total_timesteps | 65536 |\n", "| train/ | |\n", "| approx_kl | 0.00017739431 |\n", "| clip_fraction | 0.0329 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.38 |\n", "| explained_variance | 1.79e-07 |\n", "| learning_rate | 0.0003 |\n", "| loss | 3.15e+03 |\n", "| n_updates | 310 |\n", "| policy_gradient_loss | 0.000172 |\n", "| std | 0.965 |\n", "| value_loss | 3.11e+03 |\n", "-------------------------------------------\n", "-----------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -287 |\n", "| time/ | |\n", "| fps | 167 |\n", "| iterations | 33 |\n", "| time_elapsed | 402 |\n", "| total_timesteps | 67584 |\n", "| train/ | |\n", "| approx_kl | 0.004563484 |\n", "| clip_fraction | 0.0295 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.39 |\n", "| explained_variance | 9.54e-07 |\n", "| learning_rate | 0.0003 |\n", "| loss | 1.55e+03 |\n", "| n_updates | 320 |\n", "| policy_gradient_loss | -0.00134 |\n", "| std | 0.972 |\n", "| value_loss | 4.09e+03 |\n", "-----------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -287 |\n", "| time/ | |\n", "| fps | 167 |\n", "| iterations | 34 |\n", "| time_elapsed | 414 |\n", "| total_timesteps | 69632 |\n", "| train/ | |\n", "| approx_kl | 0.0049857013 |\n", "| clip_fraction | 0.018 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.39 |\n", "| explained_variance | 7.15e-07 |\n", "| learning_rate | 0.0003 |\n", "| loss | 2.61e+03 |\n", "| n_updates | 330 |\n", "| policy_gradient_loss | -0.0015 |\n", "| std | 0.966 |\n", "| value_loss | 3.1e+03 |\n", "------------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -286 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 35 |\n", "| time_elapsed | 426 |\n", "| total_timesteps | 71680 |\n", "| train/ | |\n", "| approx_kl | 0.0012287534 |\n", "| clip_fraction | 0.000879 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.38 |\n", "| explained_variance | 3.46e-06 |\n", "| learning_rate | 0.0003 |\n", "| loss | 2.31e+03 |\n", "| n_updates | 340 |\n", "| policy_gradient_loss | -0.00019 |\n", "| std | 0.969 |\n", "| value_loss | 3.11e+03 |\n", "------------------------------------------\n", "-------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -287 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 36 |\n", "| time_elapsed | 438 |\n", "| total_timesteps | 73728 |\n", "| train/ | |\n", "| approx_kl | 3.8835948e-05 |\n", "| clip_fraction | 0 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.38 |\n", "| explained_variance | 4.41e-06 |\n", "| learning_rate | 0.0003 |\n", "| loss | 2.76e+03 |\n", "| n_updates | 350 |\n", "| policy_gradient_loss | 0.000106 |\n", "| std | 0.967 |\n", "| value_loss | 4.07e+03 |\n", "-------------------------------------------\n", "-----------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -285 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 37 |\n", "| time_elapsed | 450 |\n", "| total_timesteps | 75776 |\n", "| train/ | |\n", "| approx_kl | 0.004455052 |\n", "| clip_fraction | 0.0113 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.39 |\n", "| explained_variance | 5.01e-06 |\n", "| learning_rate | 0.0003 |\n", "| loss | 4.84e+03 |\n", "| n_updates | 360 |\n", "| policy_gradient_loss | -0.00126 |\n", "| std | 0.976 |\n", "| value_loss | 3.11e+03 |\n", "-----------------------------------------\n", "-----------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -285 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 38 |\n", "| time_elapsed | 462 |\n", "| total_timesteps | 77824 |\n", "| train/ | |\n", "| approx_kl | 0.004241547 |\n", "| clip_fraction | 0.0108 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.4 |\n", "| explained_variance | 7.57e-06 |\n", "| learning_rate | 0.0003 |\n", "| loss | 565 |\n", "| n_updates | 370 |\n", "| policy_gradient_loss | -0.000582 |\n", "| std | 0.98 |\n", "| value_loss | 4.09e+03 |\n", "-----------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -285 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 39 |\n", "| time_elapsed | 474 |\n", "| total_timesteps | 79872 |\n", "| train/ | |\n", "| approx_kl | 0.0017373057 |\n", "| clip_fraction | 0.00103 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.4 |\n", "| explained_variance | 5.19e-06 |\n", "| learning_rate | 0.0003 |\n", "| loss | 1.68e+03 |\n", "| n_updates | 380 |\n", "| policy_gradient_loss | 7.21e-05 |\n", "| std | 0.981 |\n", "| value_loss | 3.11e+03 |\n", "------------------------------------------\n", "-------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -285 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 40 |\n", "| time_elapsed | 486 |\n", "| total_timesteps | 81920 |\n", "| train/ | |\n", "| approx_kl | 0.00016679132 |\n", "| clip_fraction | 0.0324 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.4 |\n", "| explained_variance | 6.26e-06 |\n", "| learning_rate | 0.0003 |\n", "| loss | 2.55e+03 |\n", "| n_updates | 390 |\n", "| policy_gradient_loss | 4.64e-06 |\n", "| std | 0.991 |\n", "| value_loss | 3.11e+03 |\n", "-------------------------------------------\n", "-------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -286 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 41 |\n", "| time_elapsed | 497 |\n", "| total_timesteps | 83968 |\n", "| train/ | |\n", "| approx_kl | 4.9029622e-05 |\n", "| clip_fraction | 0 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.41 |\n", "| explained_variance | 1.26e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 3.1e+03 |\n", "| n_updates | 400 |\n", "| policy_gradient_loss | -0.000107 |\n", "| std | 0.987 |\n", "| value_loss | 4.08e+03 |\n", "-------------------------------------------\n", "-----------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -288 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 42 |\n", "| time_elapsed | 509 |\n", "| total_timesteps | 86016 |\n", "| train/ | |\n", "| approx_kl | 0.008285521 |\n", "| clip_fraction | 0.0146 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.4 |\n", "| explained_variance | 4.95e-06 |\n", "| learning_rate | 0.0003 |\n", "| loss | 5.63e+03 |\n", "| n_updates | 410 |\n", "| policy_gradient_loss | -0.000514 |\n", "| std | 0.983 |\n", "| value_loss | 3.11e+03 |\n", "-----------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -290 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 43 |\n", "| time_elapsed | 521 |\n", "| total_timesteps | 88064 |\n", "| train/ | |\n", "| approx_kl | 0.0044103963 |\n", "| clip_fraction | 0.0221 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.41 |\n", "| explained_variance | 1.2e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 3.19e+03 |\n", "| n_updates | 420 |\n", "| policy_gradient_loss | 0.000946 |\n", "| std | 0.989 |\n", "| value_loss | 4.09e+03 |\n", "------------------------------------------\n", "-----------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -292 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 44 |\n", "| time_elapsed | 533 |\n", "| total_timesteps | 90112 |\n", "| train/ | |\n", "| approx_kl | 0.005043611 |\n", "| clip_fraction | 0.0923 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.41 |\n", "| explained_variance | 4.23e-06 |\n", "| learning_rate | 0.0003 |\n", "| loss | 983 |\n", "| n_updates | 430 |\n", "| policy_gradient_loss | -0.00239 |\n", "| std | 0.989 |\n", "| value_loss | 3.11e+03 |\n", "-----------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -295 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 45 |\n", "| time_elapsed | 546 |\n", "| total_timesteps | 92160 |\n", "| train/ | |\n", "| approx_kl | 0.0047482466 |\n", "| clip_fraction | 0.0449 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.4 |\n", "| explained_variance | 4.65e-06 |\n", "| learning_rate | 0.0003 |\n", "| loss | 1.78e+03 |\n", "| n_updates | 440 |\n", "| policy_gradient_loss | -0.000126 |\n", "| std | 0.98 |\n", "| value_loss | 3.11e+03 |\n", "------------------------------------------\n", "----------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -296 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 46 |\n", "| time_elapsed | 558 |\n", "| total_timesteps | 94208 |\n", "| train/ | |\n", "| approx_kl | 0.00606206 |\n", "| clip_fraction | 0.0219 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.4 |\n", "| explained_variance | 9.48e-06 |\n", "| learning_rate | 0.0003 |\n", "| loss | 3.98e+03 |\n", "| n_updates | 450 |\n", "| policy_gradient_loss | -0.000753 |\n", "| std | 0.985 |\n", "| value_loss | 4.09e+03 |\n", "----------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -296 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 47 |\n", "| time_elapsed | 570 |\n", "| total_timesteps | 96256 |\n", "| train/ | |\n", "| approx_kl | 0.0008331981 |\n", "| clip_fraction | 0.013 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.41 |\n", "| explained_variance | 3.7e-06 |\n", "| learning_rate | 0.0003 |\n", "| loss | 2.69e+03 |\n", "| n_updates | 460 |\n", "| policy_gradient_loss | 2.58e-05 |\n", "| std | 0.997 |\n", "| value_loss | 3.11e+03 |\n", "------------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -295 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 48 |\n", "| time_elapsed | 582 |\n", "| total_timesteps | 98304 |\n", "| train/ | |\n", "| approx_kl | 0.0005460837 |\n", "| clip_fraction | 0.00146 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.41 |\n", "| explained_variance | 8.94e-06 |\n", "| learning_rate | 0.0003 |\n", "| loss | 578 |\n", "| n_updates | 470 |\n", "| policy_gradient_loss | 0.00032 |\n", "| std | 0.998 |\n", "| value_loss | 4.09e+03 |\n", "------------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -295 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 49 |\n", "| time_elapsed | 595 |\n", "| total_timesteps | 100352 |\n", "| train/ | |\n", "| approx_kl | 0.0009762709 |\n", "| clip_fraction | 0.0345 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.41 |\n", "| explained_variance | 2.98e-06 |\n", "| learning_rate | 0.0003 |\n", "| loss | 2.52e+03 |\n", "| n_updates | 480 |\n", "| policy_gradient_loss | -0.00181 |\n", "| std | 0.997 |\n", "| value_loss | 3.11e+03 |\n", "------------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -296 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 50 |\n", "| time_elapsed | 607 |\n", "| total_timesteps | 102400 |\n", "| train/ | |\n", "| approx_kl | 0.0003773085 |\n", "| clip_fraction | 0.00215 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.42 |\n", "| explained_variance | 4.05e-06 |\n", "| learning_rate | 0.0003 |\n", "| loss | 1.89e+03 |\n", "| n_updates | 490 |\n", "| policy_gradient_loss | 0.000501 |\n", "| std | 1.01 |\n", "| value_loss | 3.12e+03 |\n", "------------------------------------------\n", "-----------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -297 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 51 |\n", "| time_elapsed | 619 |\n", "| total_timesteps | 104448 |\n", "| train/ | |\n", "| approx_kl | 0.007983657 |\n", "| clip_fraction | 0.0524 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.43 |\n", "| explained_variance | 1.47e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 4.23e+03 |\n", "| n_updates | 500 |\n", "| policy_gradient_loss | -0.000208 |\n", "| std | 1.01 |\n", "| value_loss | 3.96e+03 |\n", "-----------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -298 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 52 |\n", "| time_elapsed | 631 |\n", "| total_timesteps | 106496 |\n", "| train/ | |\n", "| approx_kl | 0.0004374912 |\n", "| clip_fraction | 0.0302 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.43 |\n", "| explained_variance | 9.12e-06 |\n", "| learning_rate | 0.0003 |\n", "| loss | 1.55e+03 |\n", "| n_updates | 510 |\n", "| policy_gradient_loss | -3.42e-05 |\n", "| std | 1.01 |\n", "| value_loss | 3.11e+03 |\n", "------------------------------------------\n", "-----------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -300 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 53 |\n", "| time_elapsed | 643 |\n", "| total_timesteps | 108544 |\n", "| train/ | |\n", "| approx_kl | 0.005380518 |\n", "| clip_fraction | 0.0136 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.43 |\n", "| explained_variance | 1.67e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 1.03e+03 |\n", "| n_updates | 520 |\n", "| policy_gradient_loss | 0.000128 |\n", "| std | 1.01 |\n", "| value_loss | 4.09e+03 |\n", "-----------------------------------------\n", "----------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -303 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 54 |\n", "| time_elapsed | 655 |\n", "| total_timesteps | 110592 |\n", "| train/ | |\n", "| approx_kl | 0.00812779 |\n", "| clip_fraction | 0.0241 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.43 |\n", "| explained_variance | 4.89e-06 |\n", "| learning_rate | 0.0003 |\n", "| loss | 563 |\n", "| n_updates | 530 |\n", "| policy_gradient_loss | -0.00053 |\n", "| std | 1.01 |\n", "| value_loss | 3.11e+03 |\n", "----------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -305 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 55 |\n", "| time_elapsed | 668 |\n", "| total_timesteps | 112640 |\n", "| train/ | |\n", "| approx_kl | 0.0014875259 |\n", "| clip_fraction | 0.00767 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.43 |\n", "| explained_variance | 8.34e-06 |\n", "| learning_rate | 0.0003 |\n", "| loss | 2.67e+03 |\n", "| n_updates | 540 |\n", "| policy_gradient_loss | -0.000391 |\n", "| std | 1.01 |\n", "| value_loss | 4.1e+03 |\n", "------------------------------------------\n", "----------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -308 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 56 |\n", "| time_elapsed | 680 |\n", "| total_timesteps | 114688 |\n", "| train/ | |\n", "| approx_kl | 0.00965928 |\n", "| clip_fraction | 0.092 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.43 |\n", "| explained_variance | 3.28e-06 |\n", "| learning_rate | 0.0003 |\n", "| loss | 2.47e+03 |\n", "| n_updates | 550 |\n", "| policy_gradient_loss | -0.00266 |\n", "| std | 1.02 |\n", "| value_loss | 3.11e+03 |\n", "----------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -311 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 57 |\n", "| time_elapsed | 692 |\n", "| total_timesteps | 116736 |\n", "| train/ | |\n", "| approx_kl | 0.0022691623 |\n", "| clip_fraction | 0.0141 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.44 |\n", "| explained_variance | 3.4e-06 |\n", "| learning_rate | 0.0003 |\n", "| loss | 936 |\n", "| n_updates | 560 |\n", "| policy_gradient_loss | -0.000543 |\n", "| std | 1.01 |\n", "| value_loss | 3.12e+03 |\n", "------------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -313 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 58 |\n", "| time_elapsed | 704 |\n", "| total_timesteps | 118784 |\n", "| train/ | |\n", "| approx_kl | 0.0005463155 |\n", "| clip_fraction | 0.00444 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.43 |\n", "| explained_variance | 5.13e-06 |\n", "| learning_rate | 0.0003 |\n", "| loss | 2.02e+03 |\n", "| n_updates | 570 |\n", "| policy_gradient_loss | -0.000174 |\n", "| std | 1.02 |\n", "| value_loss | 4.1e+03 |\n", "------------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -317 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 59 |\n", "| time_elapsed | 716 |\n", "| total_timesteps | 120832 |\n", "| train/ | |\n", "| approx_kl | 0.0037943618 |\n", "| clip_fraction | 0.0239 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.44 |\n", "| explained_variance | 2.09e-06 |\n", "| learning_rate | 0.0003 |\n", "| loss | 372 |\n", "| n_updates | 580 |\n", "| policy_gradient_loss | -2.05e-05 |\n", "| std | 1.02 |\n", "| value_loss | 3.12e+03 |\n", "------------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -321 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 60 |\n", "| time_elapsed | 728 |\n", "| total_timesteps | 122880 |\n", "| train/ | |\n", "| approx_kl | 0.0015846763 |\n", "| clip_fraction | 0.0468 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.45 |\n", "| explained_variance | 3.22e-06 |\n", "| learning_rate | 0.0003 |\n", "| loss | 1.53e+03 |\n", "| n_updates | 590 |\n", "| policy_gradient_loss | -0.000768 |\n", "| std | 1.03 |\n", "| value_loss | 4.11e+03 |\n", "------------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -325 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 61 |\n", "| time_elapsed | 740 |\n", "| total_timesteps | 124928 |\n", "| train/ | |\n", "| approx_kl | 0.0014858413 |\n", "| clip_fraction | 0.0124 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.45 |\n", "| explained_variance | 1.67e-06 |\n", "| learning_rate | 0.0003 |\n", "| loss | 2.44e+03 |\n", "| n_updates | 600 |\n", "| policy_gradient_loss | 0.000545 |\n", "| std | 1.04 |\n", "| value_loss | 3.12e+03 |\n", "------------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -331 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 62 |\n", "| time_elapsed | 752 |\n", "| total_timesteps | 126976 |\n", "| train/ | |\n", "| approx_kl | 0.0038123443 |\n", "| clip_fraction | 0.0339 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.45 |\n", "| explained_variance | 1.97e-06 |\n", "| learning_rate | 0.0003 |\n", "| loss | 2.05e+03 |\n", "| n_updates | 610 |\n", "| policy_gradient_loss | -0.00259 |\n", "| std | 1.03 |\n", "| value_loss | 3.13e+03 |\n", "------------------------------------------\n", "-----------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -335 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 63 |\n", "| time_elapsed | 764 |\n", "| total_timesteps | 129024 |\n", "| train/ | |\n", "| approx_kl | 0.003941954 |\n", "| clip_fraction | 0.00273 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.45 |\n", "| explained_variance | 3.7e-06 |\n", "| learning_rate | 0.0003 |\n", "| loss | 2.89e+03 |\n", "| n_updates | 620 |\n", "| policy_gradient_loss | 0.0002 |\n", "| std | 1.02 |\n", "| value_loss | 4.11e+03 |\n", "-----------------------------------------\n", "-----------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -341 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 64 |\n", "| time_elapsed | 776 |\n", "| total_timesteps | 131072 |\n", "| train/ | |\n", "| approx_kl | 0.007216826 |\n", "| clip_fraction | 0.0402 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.44 |\n", "| explained_variance | 1.61e-06 |\n", "| learning_rate | 0.0003 |\n", "| loss | 1.17e+03 |\n", "| n_updates | 630 |\n", "| policy_gradient_loss | -0.000444 |\n", "| std | 1.02 |\n", "| value_loss | 3.13e+03 |\n", "-----------------------------------------\n", "-----------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -345 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 65 |\n", "| time_elapsed | 788 |\n", "| total_timesteps | 133120 |\n", "| train/ | |\n", "| approx_kl | 0.001702552 |\n", "| clip_fraction | 0.0259 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.44 |\n", "| explained_variance | 2.15e-06 |\n", "| learning_rate | 0.0003 |\n", "| loss | 1.62e+03 |\n", "| n_updates | 640 |\n", "| policy_gradient_loss | 3.53e-05 |\n", "| std | 1.02 |\n", "| value_loss | 4.12e+03 |\n", "-----------------------------------------\n", "----------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -350 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 66 |\n", "| time_elapsed | 800 |\n", "| total_timesteps | 135168 |\n", "| train/ | |\n", "| approx_kl | 0.01116517 |\n", "| clip_fraction | 0.128 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.44 |\n", "| explained_variance | 1.19e-06 |\n", "| learning_rate | 0.0003 |\n", "| loss | 370 |\n", "| n_updates | 650 |\n", "| policy_gradient_loss | -0.000384 |\n", "| std | 1.02 |\n", "| value_loss | 3.13e+03 |\n", "----------------------------------------\n", "-------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -356 |\n", "| time/ | |\n", "| fps | 168 |\n", "| iterations | 67 |\n", "| time_elapsed | 812 |\n", "| total_timesteps | 137216 |\n", "| train/ | |\n", "| approx_kl | 0.00059924903 |\n", "| clip_fraction | 0.0156 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.44 |\n", "| explained_variance | 2.8e-06 |\n", "| learning_rate | 0.0003 |\n", "| loss | 2.21e+03 |\n", "| n_updates | 660 |\n", "| policy_gradient_loss | 0.000519 |\n", "| std | 1.02 |\n", "| value_loss | 3.14e+03 |\n", "-------------------------------------------\n", "-----------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -360 |\n", "| time/ | |\n", "| fps | 169 |\n", "| iterations | 68 |\n", "| time_elapsed | 823 |\n", "| total_timesteps | 139264 |\n", "| train/ | |\n", "| approx_kl | 0.008353274 |\n", "| clip_fraction | 0.0397 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.43 |\n", "| explained_variance | 8.05e-06 |\n", "| learning_rate | 0.0003 |\n", "| loss | 6.21e+03 |\n", "| n_updates | 670 |\n", "| policy_gradient_loss | -0.00075 |\n", "| std | 1.01 |\n", "| value_loss | 4.12e+03 |\n", "-----------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -365 |\n", "| time/ | |\n", "| fps | 169 |\n", "| iterations | 69 |\n", "| time_elapsed | 835 |\n", "| total_timesteps | 141312 |\n", "| train/ | |\n", "| approx_kl | 0.0058903834 |\n", "| clip_fraction | 0.0345 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.43 |\n", "| explained_variance | 3.28e-06 |\n", "| learning_rate | 0.0003 |\n", "| loss | 1.21e+03 |\n", "| n_updates | 680 |\n", "| policy_gradient_loss | -0.000968 |\n", "| std | 1.02 |\n", "| value_loss | 3.14e+03 |\n", "------------------------------------------\n", "-------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -370 |\n", "| time/ | |\n", "| fps | 169 |\n", "| iterations | 70 |\n", "| time_elapsed | 847 |\n", "| total_timesteps | 143360 |\n", "| train/ | |\n", "| approx_kl | 0.00016515396 |\n", "| clip_fraction | 0.0125 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.44 |\n", "| explained_variance | 1.1e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 1.36e+03 |\n", "| n_updates | 690 |\n", "| policy_gradient_loss | 7.53e-05 |\n", "| std | 1.02 |\n", "| value_loss | 4.12e+03 |\n", "-------------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -373 |\n", "| time/ | |\n", "| fps | 169 |\n", "| iterations | 71 |\n", "| time_elapsed | 859 |\n", "| total_timesteps | 145408 |\n", "| train/ | |\n", "| approx_kl | 0.0013749554 |\n", "| clip_fraction | 0.0172 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.44 |\n", "| explained_variance | 3.99e-06 |\n", "| learning_rate | 0.0003 |\n", "| loss | 1.63e+03 |\n", "| n_updates | 700 |\n", "| policy_gradient_loss | -0.00127 |\n", "| std | 1.02 |\n", "| value_loss | 3.14e+03 |\n", "------------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -377 |\n", "| time/ | |\n", "| fps | 169 |\n", "| iterations | 72 |\n", "| time_elapsed | 870 |\n", "| total_timesteps | 147456 |\n", "| train/ | |\n", "| approx_kl | 0.0012910418 |\n", "| clip_fraction | 0.0167 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.44 |\n", "| explained_variance | 1.08e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 882 |\n", "| n_updates | 710 |\n", "| policy_gradient_loss | -4.58e-05 |\n", "| std | 1.03 |\n", "| value_loss | 3.14e+03 |\n", "------------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -380 |\n", "| time/ | |\n", "| fps | 169 |\n", "| iterations | 73 |\n", "| time_elapsed | 882 |\n", "| total_timesteps | 149504 |\n", "| train/ | |\n", "| approx_kl | 0.0010234144 |\n", "| clip_fraction | 0.000293 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.44 |\n", "| explained_variance | 2.32e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 109 |\n", "| n_updates | 720 |\n", "| policy_gradient_loss | 0.000243 |\n", "| std | 1.02 |\n", "| value_loss | 4.12e+03 |\n", "------------------------------------------\n", "-----------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -384 |\n", "| time/ | |\n", "| fps | 169 |\n", "| iterations | 74 |\n", "| time_elapsed | 894 |\n", "| total_timesteps | 151552 |\n", "| train/ | |\n", "| approx_kl | 0.000599641 |\n", "| clip_fraction | 0.0156 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.44 |\n", "| explained_variance | 8.64e-06 |\n", "| learning_rate | 0.0003 |\n", "| loss | 1.79e+03 |\n", "| n_updates | 730 |\n", "| policy_gradient_loss | 0.000339 |\n", "| std | 1.02 |\n", "| value_loss | 3.14e+03 |\n", "-----------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -387 |\n", "| time/ | |\n", "| fps | 169 |\n", "| iterations | 75 |\n", "| time_elapsed | 906 |\n", "| total_timesteps | 153600 |\n", "| train/ | |\n", "| approx_kl | 0.0004998102 |\n", "| clip_fraction | 0.0404 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.44 |\n", "| explained_variance | 3.27e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 980 |\n", "| n_updates | 740 |\n", "| policy_gradient_loss | 0.00127 |\n", "| std | 1.01 |\n", "| value_loss | 4.12e+03 |\n", "------------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -390 |\n", "| time/ | |\n", "| fps | 169 |\n", "| iterations | 76 |\n", "| time_elapsed | 918 |\n", "| total_timesteps | 155648 |\n", "| train/ | |\n", "| approx_kl | 0.0055045467 |\n", "| clip_fraction | 0.0171 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.43 |\n", "| explained_variance | 1.28e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 3.81e+03 |\n", "| n_updates | 750 |\n", "| policy_gradient_loss | 0.000433 |\n", "| std | 1.01 |\n", "| value_loss | 3.14e+03 |\n", "------------------------------------------\n", "-------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -395 |\n", "| time/ | |\n", "| fps | 169 |\n", "| iterations | 77 |\n", "| time_elapsed | 930 |\n", "| total_timesteps | 157696 |\n", "| train/ | |\n", "| approx_kl | 0.00067343883 |\n", "| clip_fraction | 0.0165 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.43 |\n", "| explained_variance | 1.79e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 888 |\n", "| n_updates | 760 |\n", "| policy_gradient_loss | 0.000467 |\n", "| std | 1.02 |\n", "| value_loss | 3.14e+03 |\n", "-------------------------------------------\n", "-----------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -400 |\n", "| time/ | |\n", "| fps | 169 |\n", "| iterations | 78 |\n", "| time_elapsed | 942 |\n", "| total_timesteps | 159744 |\n", "| train/ | |\n", "| approx_kl | 0.005202517 |\n", "| clip_fraction | 0.104 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.43 |\n", "| explained_variance | 2.89e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 662 |\n", "| n_updates | 770 |\n", "| policy_gradient_loss | -0.00199 |\n", "| std | 1.02 |\n", "| value_loss | 3.9e+03 |\n", "-----------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -406 |\n", "| time/ | |\n", "| fps | 169 |\n", "| iterations | 79 |\n", "| time_elapsed | 954 |\n", "| total_timesteps | 161792 |\n", "| train/ | |\n", "| approx_kl | 0.0017581655 |\n", "| clip_fraction | 0.00181 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.44 |\n", "| explained_variance | 1.59e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 1.07e+03 |\n", "| n_updates | 780 |\n", "| policy_gradient_loss | 0.000173 |\n", "| std | 1.03 |\n", "| value_loss | 3.15e+03 |\n", "------------------------------------------\n", "-------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -410 |\n", "| time/ | |\n", "| fps | 169 |\n", "| iterations | 80 |\n", "| time_elapsed | 966 |\n", "| total_timesteps | 163840 |\n", "| train/ | |\n", "| approx_kl | 0.00069459836 |\n", "| clip_fraction | 0.0629 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.45 |\n", "| explained_variance | 2.23e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 2.34e+03 |\n", "| n_updates | 790 |\n", "| policy_gradient_loss | -2.99e-05 |\n", "| std | 1.03 |\n", "| value_loss | 4.14e+03 |\n", "-------------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -414 |\n", "| time/ | |\n", "| fps | 169 |\n", "| iterations | 81 |\n", "| time_elapsed | 978 |\n", "| total_timesteps | 165888 |\n", "| train/ | |\n", "| approx_kl | 0.0035149038 |\n", "| clip_fraction | 0.036 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.45 |\n", "| explained_variance | 1.04e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 1.69e+03 |\n", "| n_updates | 800 |\n", "| policy_gradient_loss | 0.000948 |\n", "| std | 1.03 |\n", "| value_loss | 3.14e+03 |\n", "------------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -418 |\n", "| time/ | |\n", "| fps | 169 |\n", "| iterations | 82 |\n", "| time_elapsed | 990 |\n", "| total_timesteps | 167936 |\n", "| train/ | |\n", "| approx_kl | 0.0068787774 |\n", "| clip_fraction | 0.0504 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.44 |\n", "| explained_variance | 2.04e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 3.49e+03 |\n", "| n_updates | 810 |\n", "| policy_gradient_loss | -0.000511 |\n", "| std | 1.02 |\n", "| value_loss | 4.14e+03 |\n", "------------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -421 |\n", "| time/ | |\n", "| fps | 169 |\n", "| iterations | 83 |\n", "| time_elapsed | 1001 |\n", "| total_timesteps | 169984 |\n", "| train/ | |\n", "| approx_kl | 0.0018102819 |\n", "| clip_fraction | 0.00742 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.44 |\n", "| explained_variance | 1.06e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 5.99e+03 |\n", "| n_updates | 820 |\n", "| policy_gradient_loss | 0.000792 |\n", "| std | 1.02 |\n", "| value_loss | 3.15e+03 |\n", "------------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -424 |\n", "| time/ | |\n", "| fps | 169 |\n", "| iterations | 84 |\n", "| time_elapsed | 1013 |\n", "| total_timesteps | 172032 |\n", "| train/ | |\n", "| approx_kl | 0.0044906293 |\n", "| clip_fraction | 0.00903 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.45 |\n", "| explained_variance | 2.19e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 536 |\n", "| n_updates | 830 |\n", "| policy_gradient_loss | 8.28e-05 |\n", "| std | 1.03 |\n", "| value_loss | 3.15e+03 |\n", "------------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -427 |\n", "| time/ | |\n", "| fps | 169 |\n", "| iterations | 85 |\n", "| time_elapsed | 1025 |\n", "| total_timesteps | 174080 |\n", "| train/ | |\n", "| approx_kl | 0.0013765441 |\n", "| clip_fraction | 0.000635 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.45 |\n", "| explained_variance | 3.98e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 2.56e+03 |\n", "| n_updates | 840 |\n", "| policy_gradient_loss | -1.69e-05 |\n", "| std | 1.03 |\n", "| value_loss | 4.14e+03 |\n", "------------------------------------------\n", "-------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -430 |\n", "| time/ | |\n", "| fps | 169 |\n", "| iterations | 86 |\n", "| time_elapsed | 1037 |\n", "| total_timesteps | 176128 |\n", "| train/ | |\n", "| approx_kl | 0.00035555626 |\n", "| clip_fraction | 0.00757 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.44 |\n", "| explained_variance | 1.58e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 3.53e+03 |\n", "| n_updates | 850 |\n", "| policy_gradient_loss | -0.000221 |\n", "| std | 1.01 |\n", "| value_loss | 3.15e+03 |\n", "-------------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -432 |\n", "| time/ | |\n", "| fps | 169 |\n", "| iterations | 87 |\n", "| time_elapsed | 1049 |\n", "| total_timesteps | 178176 |\n", "| train/ | |\n", "| approx_kl | 0.0026123272 |\n", "| clip_fraction | 0.0108 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.43 |\n", "| explained_variance | 3.12e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 2.08e+03 |\n", "| n_updates | 860 |\n", "| policy_gradient_loss | 0.000388 |\n", "| std | 1.02 |\n", "| value_loss | 4.15e+03 |\n", "------------------------------------------\n", "-------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -434 |\n", "| time/ | |\n", "| fps | 169 |\n", "| iterations | 88 |\n", "| time_elapsed | 1061 |\n", "| total_timesteps | 180224 |\n", "| train/ | |\n", "| approx_kl | 0.00018668428 |\n", "| clip_fraction | 0.0435 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.43 |\n", "| explained_variance | 1.5e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 1.38e+03 |\n", "| n_updates | 870 |\n", "| policy_gradient_loss | 0.000264 |\n", "| std | 1.01 |\n", "| value_loss | 3.15e+03 |\n", "-------------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -436 |\n", "| time/ | |\n", "| fps | 169 |\n", "| iterations | 89 |\n", "| time_elapsed | 1072 |\n", "| total_timesteps | 182272 |\n", "| train/ | |\n", "| approx_kl | 0.0069202585 |\n", "| clip_fraction | 0.0126 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.43 |\n", "| explained_variance | 2.89e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 732 |\n", "| n_updates | 880 |\n", "| policy_gradient_loss | -0.000634 |\n", "| std | 1.01 |\n", "| value_loss | 3.15e+03 |\n", "------------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -437 |\n", "| time/ | |\n", "| fps | 169 |\n", "| iterations | 90 |\n", "| time_elapsed | 1084 |\n", "| total_timesteps | 184320 |\n", "| train/ | |\n", "| approx_kl | 0.0013296772 |\n", "| clip_fraction | 0.0431 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.43 |\n", "| explained_variance | 4.08e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 3.81e+03 |\n", "| n_updates | 890 |\n", "| policy_gradient_loss | 0.00076 |\n", "| std | 1.01 |\n", "| value_loss | 4.14e+03 |\n", "------------------------------------------\n", "-----------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -439 |\n", "| time/ | |\n", "| fps | 169 |\n", "| iterations | 91 |\n", "| time_elapsed | 1096 |\n", "| total_timesteps | 186368 |\n", "| train/ | |\n", "| approx_kl | 0.005249043 |\n", "| clip_fraction | 0.0232 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.44 |\n", "| explained_variance | 1.92e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 3.29e+03 |\n", "| n_updates | 900 |\n", "| policy_gradient_loss | -0.000256 |\n", "| std | 1.02 |\n", "| value_loss | 3.15e+03 |\n", "-----------------------------------------\n", "-------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -439 |\n", "| time/ | |\n", "| fps | 170 |\n", "| iterations | 92 |\n", "| time_elapsed | 1108 |\n", "| total_timesteps | 188416 |\n", "| train/ | |\n", "| approx_kl | 3.8214377e-05 |\n", "| clip_fraction | 0.0542 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.44 |\n", "| explained_variance | 4.1e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 2.05e+03 |\n", "| n_updates | 910 |\n", "| policy_gradient_loss | -9.36e-05 |\n", "| std | 1.02 |\n", "| value_loss | 4.14e+03 |\n", "-------------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -440 |\n", "| time/ | |\n", "| fps | 170 |\n", "| iterations | 93 |\n", "| time_elapsed | 1120 |\n", "| total_timesteps | 190464 |\n", "| train/ | |\n", "| approx_kl | 0.0019262378 |\n", "| clip_fraction | 0.0352 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.44 |\n", "| explained_variance | 2.12e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 2.11e+03 |\n", "| n_updates | 920 |\n", "| policy_gradient_loss | -0.000944 |\n", "| std | 1.03 |\n", "| value_loss | 3.15e+03 |\n", "------------------------------------------\n", "-------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -441 |\n", "| time/ | |\n", "| fps | 170 |\n", "| iterations | 94 |\n", "| time_elapsed | 1132 |\n", "| total_timesteps | 192512 |\n", "| train/ | |\n", "| approx_kl | 0.00047276722 |\n", "| clip_fraction | 0.036 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.44 |\n", "| explained_variance | 2.87e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 163 |\n", "| n_updates | 930 |\n", "| policy_gradient_loss | 0.00054 |\n", "| std | 1.02 |\n", "| value_loss | 3.15e+03 |\n", "-------------------------------------------\n", "-------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -442 |\n", "| time/ | |\n", "| fps | 170 |\n", "| iterations | 95 |\n", "| time_elapsed | 1144 |\n", "| total_timesteps | 194560 |\n", "| train/ | |\n", "| approx_kl | 0.00018265905 |\n", "| clip_fraction | 0.00132 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.44 |\n", "| explained_variance | 4.35e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 1.17e+03 |\n", "| n_updates | 940 |\n", "| policy_gradient_loss | 0.000267 |\n", "| std | 1.03 |\n", "| value_loss | 4.15e+03 |\n", "-------------------------------------------\n", "-----------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -444 |\n", "| time/ | |\n", "| fps | 170 |\n", "| iterations | 96 |\n", "| time_elapsed | 1156 |\n", "| total_timesteps | 196608 |\n", "| train/ | |\n", "| approx_kl | 0.014808972 |\n", "| clip_fraction | 0.0734 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.45 |\n", "| explained_variance | 2.44e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 1.85e+03 |\n", "| n_updates | 950 |\n", "| policy_gradient_loss | -0.000946 |\n", "| std | 1.04 |\n", "| value_loss | 3.16e+03 |\n", "-----------------------------------------\n", "-----------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -446 |\n", "| time/ | |\n", "| fps | 170 |\n", "| iterations | 97 |\n", "| time_elapsed | 1167 |\n", "| total_timesteps | 198656 |\n", "| train/ | |\n", "| approx_kl | 0.000299958 |\n", "| clip_fraction | 0.0442 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.46 |\n", "| explained_variance | 4.51e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 1.81e+03 |\n", "| n_updates | 960 |\n", "| policy_gradient_loss | -0.000387 |\n", "| std | 1.04 |\n", "| value_loss | 4.14e+03 |\n", "-----------------------------------------\n", "-------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -447 |\n", "| time/ | |\n", "| fps | 170 |\n", "| iterations | 98 |\n", "| time_elapsed | 1179 |\n", "| total_timesteps | 200704 |\n", "| train/ | |\n", "| approx_kl | 6.6622015e-05 |\n", "| clip_fraction | 0.0193 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.46 |\n", "| explained_variance | 2.52e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 2.14e+03 |\n", "| n_updates | 970 |\n", "| policy_gradient_loss | 0.000193 |\n", "| std | 1.04 |\n", "| value_loss | 3.16e+03 |\n", "-------------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -448 |\n", "| time/ | |\n", "| fps | 170 |\n", "| iterations | 99 |\n", "| time_elapsed | 1191 |\n", "| total_timesteps | 202752 |\n", "| train/ | |\n", "| approx_kl | 0.0016583821 |\n", "| clip_fraction | 0.068 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.47 |\n", "| explained_variance | 3.03e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 620 |\n", "| n_updates | 980 |\n", "| policy_gradient_loss | -0.0011 |\n", "| std | 1.05 |\n", "| value_loss | 3.16e+03 |\n", "------------------------------------------\n", "-----------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -449 |\n", "| time/ | |\n", "| fps | 170 |\n", "| iterations | 100 |\n", "| time_elapsed | 1203 |\n", "| total_timesteps | 204800 |\n", "| train/ | |\n", "| approx_kl | 0.014906235 |\n", "| clip_fraction | 0.0531 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.47 |\n", "| explained_variance | 4.49e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 188 |\n", "| n_updates | 990 |\n", "| policy_gradient_loss | -0.00305 |\n", "| std | 1.06 |\n", "| value_loss | 4.14e+03 |\n", "-----------------------------------------\n", "-------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -450 |\n", "| time/ | |\n", "| fps | 170 |\n", "| iterations | 101 |\n", "| time_elapsed | 1215 |\n", "| total_timesteps | 206848 |\n", "| train/ | |\n", "| approx_kl | 0.00044346167 |\n", "| clip_fraction | 0.00498 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.49 |\n", "| explained_variance | 2.75e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 634 |\n", "| n_updates | 1000 |\n", "| policy_gradient_loss | -0.000378 |\n", "| std | 1.08 |\n", "| value_loss | 3.16e+03 |\n", "-------------------------------------------\n", "----------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -451 |\n", "| time/ | |\n", "| fps | 170 |\n", "| iterations | 102 |\n", "| time_elapsed | 1227 |\n", "| total_timesteps | 208896 |\n", "| train/ | |\n", "| approx_kl | 0.00400657 |\n", "| clip_fraction | 0.074 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.49 |\n", "| explained_variance | 4.66e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 4.04e+03 |\n", "| n_updates | 1010 |\n", "| policy_gradient_loss | -0.00208 |\n", "| std | 1.08 |\n", "| value_loss | 4.15e+03 |\n", "----------------------------------------\n", "--------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -452 |\n", "| time/ | |\n", "| fps | 170 |\n", "| iterations | 103 |\n", "| time_elapsed | 1238 |\n", "| total_timesteps | 210944 |\n", "| train/ | |\n", "| approx_kl | 0.000119188306 |\n", "| clip_fraction | 0.0681 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.49 |\n", "| explained_variance | 2.54e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 130 |\n", "| n_updates | 1020 |\n", "| policy_gradient_loss | 0.000329 |\n", "| std | 1.08 |\n", "| value_loss | 3.16e+03 |\n", "--------------------------------------------\n", "----------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -454 |\n", "| time/ | |\n", "| fps | 170 |\n", "| iterations | 104 |\n", "| time_elapsed | 1251 |\n", "| total_timesteps | 212992 |\n", "| train/ | |\n", "| approx_kl | 0.02515565 |\n", "| clip_fraction | 0.0928 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.49 |\n", "| explained_variance | 3.2e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 507 |\n", "| n_updates | 1030 |\n", "| policy_gradient_loss | -0.00217 |\n", "| std | 1.08 |\n", "| value_loss | 3.16e+03 |\n", "----------------------------------------\n", "-------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -455 |\n", "| time/ | |\n", "| fps | 170 |\n", "| iterations | 105 |\n", "| time_elapsed | 1263 |\n", "| total_timesteps | 215040 |\n", "| train/ | |\n", "| approx_kl | 0.00012812333 |\n", "| clip_fraction | 0.00112 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.5 |\n", "| explained_variance | 5.17e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 1.92e+03 |\n", "| n_updates | 1040 |\n", "| policy_gradient_loss | 0.000452 |\n", "| std | 1.09 |\n", "| value_loss | 3.75e+03 |\n", "-------------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -457 |\n", "| time/ | |\n", "| fps | 170 |\n", "| iterations | 106 |\n", "| time_elapsed | 1275 |\n", "| total_timesteps | 217088 |\n", "| train/ | |\n", "| approx_kl | 0.0017133974 |\n", "| clip_fraction | 0.00947 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.5 |\n", "| explained_variance | 4.11e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 2.63e+03 |\n", "| n_updates | 1050 |\n", "| policy_gradient_loss | 0.000314 |\n", "| std | 1.09 |\n", "| value_loss | 3.16e+03 |\n", "------------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -457 |\n", "| time/ | |\n", "| fps | 170 |\n", "| iterations | 107 |\n", "| time_elapsed | 1288 |\n", "| total_timesteps | 219136 |\n", "| train/ | |\n", "| approx_kl | 0.0031836042 |\n", "| clip_fraction | 0.00962 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.5 |\n", "| explained_variance | 6.03e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 3.78e+03 |\n", "| n_updates | 1060 |\n", "| policy_gradient_loss | -0.000246 |\n", "| std | 1.08 |\n", "| value_loss | 4.14e+03 |\n", "------------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -458 |\n", "| time/ | |\n", "| fps | 170 |\n", "| iterations | 108 |\n", "| time_elapsed | 1300 |\n", "| total_timesteps | 221184 |\n", "| train/ | |\n", "| approx_kl | 0.0026518258 |\n", "| clip_fraction | 0.0826 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.5 |\n", "| explained_variance | 3.83e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 895 |\n", "| n_updates | 1070 |\n", "| policy_gradient_loss | -0.000444 |\n", "| std | 1.08 |\n", "| value_loss | 3.16e+03 |\n", "------------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -459 |\n", "| time/ | |\n", "| fps | 170 |\n", "| iterations | 109 |\n", "| time_elapsed | 1312 |\n", "| total_timesteps | 223232 |\n", "| train/ | |\n", "| approx_kl | 0.0048480523 |\n", "| clip_fraction | 0.0352 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.5 |\n", "| explained_variance | 5.64e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 1.95e+03 |\n", "| n_updates | 1080 |\n", "| policy_gradient_loss | -0.000337 |\n", "| std | 1.08 |\n", "| value_loss | 4.15e+03 |\n", "------------------------------------------\n", "------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -459 |\n", "| time/ | |\n", "| fps | 170 |\n", "| iterations | 110 |\n", "| time_elapsed | 1324 |\n", "| total_timesteps | 225280 |\n", "| train/ | |\n", "| approx_kl | 0.0028444673 |\n", "| clip_fraction | 0.00771 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.5 |\n", "| explained_variance | 3.26e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 1.62e+03 |\n", "| n_updates | 1090 |\n", "| policy_gradient_loss | -1.15e-05 |\n", "| std | 1.08 |\n", "| value_loss | 3.16e+03 |\n", "------------------------------------------\n", "-------------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -459 |\n", "| time/ | |\n", "| fps | 170 |\n", "| iterations | 111 |\n", "| time_elapsed | 1336 |\n", "| total_timesteps | 227328 |\n", "| train/ | |\n", "| approx_kl | 0.00074651965 |\n", "| clip_fraction | 0.000146 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.5 |\n", "| explained_variance | 4.02e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 1.73e+03 |\n", "| n_updates | 1100 |\n", "| policy_gradient_loss | 7.33e-05 |\n", "| std | 1.09 |\n", "| value_loss | 3.16e+03 |\n", "-------------------------------------------\n", "----------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -459 |\n", "| time/ | |\n", "| fps | 170 |\n", "| iterations | 112 |\n", "| time_elapsed | 1348 |\n", "| total_timesteps | 229376 |\n", "| train/ | |\n", "| approx_kl | 0.00920542 |\n", "| clip_fraction | 0.0695 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.5 |\n", "| explained_variance | 7.62e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 857 |\n", "| n_updates | 1110 |\n", "| policy_gradient_loss | -0.00293 |\n", "| std | 1.09 |\n", "| value_loss | 4.14e+03 |\n", "----------------------------------------\n", "-----------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -459 |\n", "| time/ | |\n", "| fps | 170 |\n", "| iterations | 113 |\n", "| time_elapsed | 1360 |\n", "| total_timesteps | 231424 |\n", "| train/ | |\n", "| approx_kl | 0.003430673 |\n", "| clip_fraction | 0.0324 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.51 |\n", "| explained_variance | 4e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 2.51e+03 |\n", "| n_updates | 1120 |\n", "| policy_gradient_loss | 0.000274 |\n", "| std | 1.1 |\n", "| value_loss | 3.16e+03 |\n", "-----------------------------------------\n", "-----------------------------------------\n", "| rollout/ | |\n", "| ep_len_mean | 601 |\n", "| ep_rew_mean | -458 |\n", "| time/ | |\n", "| fps | 170 |\n", "| iterations | 114 |\n", "| time_elapsed | 1372 |\n", "| total_timesteps | 233472 |\n", "| train/ | |\n", "| approx_kl | 0.010919753 |\n", "| clip_fraction | 0.0383 |\n", "| clip_range | 0.2 |\n", "| entropy_loss | -1.52 |\n", "| explained_variance | 7.24e-05 |\n", "| learning_rate | 0.0003 |\n", "| loss | 3.47e+03 |\n", "| n_updates | 1130 |\n", "| policy_gradient_loss | -0.0024 |\n", "| std | 1.11 |\n", "| value_loss | 4.15e+03 |\n", "-----------------------------------------\n" ] }, { "ename": "KeyboardInterrupt", "evalue": "", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", "Cell \u001b[0;32mIn[3], line 3\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;66;03m# import a model and try it out!\u001b[39;00m\n\u001b[1;32m 2\u001b[0m model \u001b[38;5;241m=\u001b[39m PPO(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mMultiInputPolicy\u001b[39m\u001b[38;5;124m\"\u001b[39m, wrapped_env, verbose\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m1\u001b[39m)\n\u001b[0;32m----> 3\u001b[0m \u001b[43mmodel\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mlearn\u001b[49m\u001b[43m(\u001b[49m\u001b[43mtotal_timesteps\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m1_000_000\u001b[39;49m\u001b[43m)\u001b[49m\n", "File \u001b[0;32m~/Documents/Code/solarcarsim/.venv/lib/python3.12/site-packages/stable_baselines3/ppo/ppo.py:311\u001b[0m, in \u001b[0;36mPPO.learn\u001b[0;34m(self, total_timesteps, callback, log_interval, tb_log_name, reset_num_timesteps, progress_bar)\u001b[0m\n\u001b[1;32m 302\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mlearn\u001b[39m(\n\u001b[1;32m 303\u001b[0m \u001b[38;5;28mself\u001b[39m: SelfPPO,\n\u001b[1;32m 304\u001b[0m total_timesteps: \u001b[38;5;28mint\u001b[39m,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 309\u001b[0m progress_bar: \u001b[38;5;28mbool\u001b[39m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mFalse\u001b[39;00m,\n\u001b[1;32m 310\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m SelfPPO:\n\u001b[0;32m--> 311\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43msuper\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mlearn\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 312\u001b[0m \u001b[43m \u001b[49m\u001b[43mtotal_timesteps\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtotal_timesteps\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 313\u001b[0m \u001b[43m \u001b[49m\u001b[43mcallback\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcallback\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 314\u001b[0m \u001b[43m \u001b[49m\u001b[43mlog_interval\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mlog_interval\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 315\u001b[0m \u001b[43m \u001b[49m\u001b[43mtb_log_name\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtb_log_name\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 316\u001b[0m \u001b[43m \u001b[49m\u001b[43mreset_num_timesteps\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mreset_num_timesteps\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 317\u001b[0m \u001b[43m \u001b[49m\u001b[43mprogress_bar\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mprogress_bar\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 318\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n", "File \u001b[0;32m~/Documents/Code/solarcarsim/.venv/lib/python3.12/site-packages/stable_baselines3/common/on_policy_algorithm.py:323\u001b[0m, in \u001b[0;36mOnPolicyAlgorithm.learn\u001b[0;34m(self, total_timesteps, callback, log_interval, tb_log_name, reset_num_timesteps, progress_bar)\u001b[0m\n\u001b[1;32m 320\u001b[0m \u001b[38;5;28;01massert\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39menv \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 322\u001b[0m \u001b[38;5;28;01mwhile\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mnum_timesteps \u001b[38;5;241m<\u001b[39m total_timesteps:\n\u001b[0;32m--> 323\u001b[0m continue_training \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcollect_rollouts\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43menv\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcallback\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrollout_buffer\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mn_rollout_steps\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mn_steps\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 325\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m continue_training:\n\u001b[1;32m 326\u001b[0m \u001b[38;5;28;01mbreak\u001b[39;00m\n", "File \u001b[0;32m~/Documents/Code/solarcarsim/.venv/lib/python3.12/site-packages/stable_baselines3/common/on_policy_algorithm.py:218\u001b[0m, in \u001b[0;36mOnPolicyAlgorithm.collect_rollouts\u001b[0;34m(self, env, callback, rollout_buffer, n_rollout_steps)\u001b[0m\n\u001b[1;32m 213\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 214\u001b[0m \u001b[38;5;66;03m# Otherwise, clip the actions to avoid out of bound error\u001b[39;00m\n\u001b[1;32m 215\u001b[0m \u001b[38;5;66;03m# as we are sampling from an unbounded Gaussian distribution\u001b[39;00m\n\u001b[1;32m 216\u001b[0m clipped_actions \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39mclip(actions, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39maction_space\u001b[38;5;241m.\u001b[39mlow, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39maction_space\u001b[38;5;241m.\u001b[39mhigh)\n\u001b[0;32m--> 218\u001b[0m new_obs, rewards, dones, infos \u001b[38;5;241m=\u001b[39m \u001b[43menv\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mstep\u001b[49m\u001b[43m(\u001b[49m\u001b[43mclipped_actions\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 220\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mnum_timesteps \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m env\u001b[38;5;241m.\u001b[39mnum_envs\n\u001b[1;32m 222\u001b[0m \u001b[38;5;66;03m# Give access to local variables\u001b[39;00m\n", "File \u001b[0;32m~/Documents/Code/solarcarsim/.venv/lib/python3.12/site-packages/stable_baselines3/common/vec_env/base_vec_env.py:206\u001b[0m, in \u001b[0;36mVecEnv.step\u001b[0;34m(self, actions)\u001b[0m\n\u001b[1;32m 199\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 200\u001b[0m \u001b[38;5;124;03mStep the environments with the given action\u001b[39;00m\n\u001b[1;32m 201\u001b[0m \n\u001b[1;32m 202\u001b[0m \u001b[38;5;124;03m:param actions: the action\u001b[39;00m\n\u001b[1;32m 203\u001b[0m \u001b[38;5;124;03m:return: observation, reward, done, information\u001b[39;00m\n\u001b[1;32m 204\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 205\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mstep_async(actions)\n\u001b[0;32m--> 206\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mstep_wait\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", "File \u001b[0;32m~/Documents/Code/solarcarsim/.venv/lib/python3.12/site-packages/stable_baselines3/common/vec_env/dummy_vec_env.py:58\u001b[0m, in \u001b[0;36mDummyVecEnv.step_wait\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 55\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mstep_wait\u001b[39m(\u001b[38;5;28mself\u001b[39m) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m VecEnvStepReturn:\n\u001b[1;32m 56\u001b[0m \u001b[38;5;66;03m# Avoid circular imports\u001b[39;00m\n\u001b[1;32m 57\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m env_idx \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mrange\u001b[39m(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mnum_envs):\n\u001b[0;32m---> 58\u001b[0m obs, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mbuf_rews[env_idx], terminated, truncated, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mbuf_infos[env_idx] \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43menvs\u001b[49m\u001b[43m[\u001b[49m\u001b[43menv_idx\u001b[49m\u001b[43m]\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mstep\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 59\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mactions\u001b[49m\u001b[43m[\u001b[49m\u001b[43menv_idx\u001b[49m\u001b[43m]\u001b[49m\n\u001b[1;32m 60\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 61\u001b[0m \u001b[38;5;66;03m# convert to SB3 VecEnv api\u001b[39;00m\n\u001b[1;32m 62\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mbuf_dones[env_idx] \u001b[38;5;241m=\u001b[39m terminated \u001b[38;5;129;01mor\u001b[39;00m truncated\n", "File \u001b[0;32m~/Documents/Code/solarcarsim/.venv/lib/python3.12/site-packages/stable_baselines3/common/monitor.py:94\u001b[0m, in \u001b[0;36mMonitor.step\u001b[0;34m(self, action)\u001b[0m\n\u001b[1;32m 92\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mneeds_reset:\n\u001b[1;32m 93\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mRuntimeError\u001b[39;00m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mTried to step environment that needs reset\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m---> 94\u001b[0m observation, reward, terminated, truncated, info \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43menv\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mstep\u001b[49m\u001b[43m(\u001b[49m\u001b[43maction\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 95\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mrewards\u001b[38;5;241m.\u001b[39mappend(\u001b[38;5;28mfloat\u001b[39m(reward))\n\u001b[1;32m 96\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m terminated \u001b[38;5;129;01mor\u001b[39;00m truncated:\n", "File \u001b[0;32m~/Documents/Code/solarcarsim/.venv/lib/python3.12/site-packages/gymnasium/wrappers/jax_to_numpy.py:166\u001b[0m, in \u001b[0;36mJaxToNumpy.step\u001b[0;34m(self, action)\u001b[0m\n\u001b[1;32m 157\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"Transforms the action to a jax array .\u001b[39;00m\n\u001b[1;32m 158\u001b[0m \n\u001b[1;32m 159\u001b[0m \u001b[38;5;124;03mArgs:\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 163\u001b[0m \u001b[38;5;124;03m A tuple containing numpy versions of the next observation, reward, termination, truncation, and extra info.\u001b[39;00m\n\u001b[1;32m 164\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 165\u001b[0m jax_action \u001b[38;5;241m=\u001b[39m numpy_to_jax(action)\n\u001b[0;32m--> 166\u001b[0m obs, reward, terminated, truncated, info \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43menv\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mstep\u001b[49m\u001b[43m(\u001b[49m\u001b[43mjax_action\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 168\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m (\n\u001b[1;32m 169\u001b[0m jax_to_numpy(obs),\n\u001b[1;32m 170\u001b[0m \u001b[38;5;28mfloat\u001b[39m(reward),\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 173\u001b[0m jax_to_numpy(info),\n\u001b[1;32m 174\u001b[0m )\n", "File \u001b[0;32m~/Documents/Code/solarcarsim/src/solarcarsim/simv1.py:123\u001b[0m, in \u001b[0;36mSolarRaceV1.step\u001b[0;34m(self, action)\u001b[0m\n\u001b[1;32m 120\u001b[0m reward \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;241m500\u001b[39m\n\u001b[1;32m 121\u001b[0m truncated \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mTrue\u001b[39;00m\n\u001b[0;32m--> 123\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_get_obs\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m, reward, terminated, truncated, {}\n", "File \u001b[0;32m~/Documents/Code/solarcarsim/src/solarcarsim/simv1.py:64\u001b[0m, in \u001b[0;36mSolarRaceV1._get_obs\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 63\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_get_obs\u001b[39m(\u001b[38;5;28mself\u001b[39m):\n\u001b[0;32m---> 64\u001b[0m slope_view, wind_view \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_vision_function\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 65\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m {\n\u001b[1;32m 66\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mposition\u001b[39m\u001b[38;5;124m\"\u001b[39m: \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_state[\u001b[38;5;241m0\u001b[39m],\n\u001b[1;32m 67\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtime\u001b[39m\u001b[38;5;124m\"\u001b[39m: \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_state[\u001b[38;5;241m1\u001b[39m],\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 72\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mwind\u001b[39m\u001b[38;5;124m\"\u001b[39m: wind_view,\n\u001b[1;32m 73\u001b[0m }\n", "File \u001b[0;32m~/Documents/Code/solarcarsim/src/solarcarsim/simv1.py:59\u001b[0m, in \u001b[0;36mSolarRaceV1._vision_function\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 57\u001b[0m pos \u001b[38;5;241m=\u001b[39m jnp\u001b[38;5;241m.\u001b[39mastype(jnp\u001b[38;5;241m.\u001b[39mround(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_state[\u001b[38;5;241m0\u001b[39m]), \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mint32\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 58\u001b[0m time \u001b[38;5;241m=\u001b[39m jnp\u001b[38;5;241m.\u001b[39mastype(jnp\u001b[38;5;241m.\u001b[39mround(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_state[\u001b[38;5;241m1\u001b[39m]), \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mint32\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m---> 59\u001b[0m wind_view \u001b[38;5;241m=\u001b[39m \u001b[43mslookup\u001b[49m\u001b[43m(\u001b[49m\u001b[43mjnp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mhstack\u001b[49m\u001b[43m(\u001b[49m\u001b[43m[\u001b[49m\u001b[43mpos\u001b[49m\u001b[43m,\u001b[49m\u001b[43mtime\u001b[49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 60\u001b[0m slope_view \u001b[38;5;241m=\u001b[39m jax\u001b[38;5;241m.\u001b[39mlax\u001b[38;5;241m.\u001b[39mdynamic_slice(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_environment[\u001b[38;5;241m2\u001b[39m], pos, (\u001b[38;5;241m100\u001b[39m,))\n\u001b[1;32m 61\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m slope_view, wind_view\n", "File \u001b[0;32m~/Documents/Code/solarcarsim/src/solarcarsim/simv1.py:56\u001b[0m, in \u001b[0;36mSolarRaceV1._vision_function..slookup\u001b[0;34m(x)\u001b[0m\n\u001b[1;32m 55\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mslookup\u001b[39m(x):\n\u001b[0;32m---> 56\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mjax\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mlax\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdynamic_slice\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_environment\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m100\u001b[39;49m\u001b[43m,\u001b[49m\u001b[38;5;241;43m100\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\n", "File \u001b[0;32m~/Documents/Code/solarcarsim/.venv/lib/python3.12/site-packages/jax/_src/lax/slicing.py:160\u001b[0m, in \u001b[0;36mdynamic_slice\u001b[0;34m(operand, start_indices, slice_sizes)\u001b[0m\n\u001b[1;32m 112\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mdynamic_slice\u001b[39m(\n\u001b[1;32m 113\u001b[0m operand: Array \u001b[38;5;241m|\u001b[39m np\u001b[38;5;241m.\u001b[39mndarray,\n\u001b[1;32m 114\u001b[0m start_indices: Array \u001b[38;5;241m|\u001b[39m np\u001b[38;5;241m.\u001b[39mndarray \u001b[38;5;241m|\u001b[39m Sequence[ArrayLike],\n\u001b[1;32m 115\u001b[0m slice_sizes: Shape,\n\u001b[1;32m 116\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m Array:\n\u001b[1;32m 117\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"Wraps XLA's `DynamicSlice\u001b[39;00m\n\u001b[1;32m 118\u001b[0m \u001b[38;5;124;03m `_\u001b[39;00m\n\u001b[1;32m 119\u001b[0m \u001b[38;5;124;03m operator.\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 158\u001b[0m \u001b[38;5;124;03m - :func:`jax.lax.dynamic_index_in_dim`\u001b[39;00m\n\u001b[1;32m 159\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 160\u001b[0m start_indices \u001b[38;5;241m=\u001b[39m \u001b[43m_dynamic_slice_indices\u001b[49m\u001b[43m(\u001b[49m\u001b[43moperand\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mstart_indices\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 161\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m config\u001b[38;5;241m.\u001b[39mdynamic_shapes\u001b[38;5;241m.\u001b[39mvalue:\n\u001b[1;32m 162\u001b[0m dynamic_sizes, static_sizes \u001b[38;5;241m=\u001b[39m lax\u001b[38;5;241m.\u001b[39m_extract_tracers_dyn_shape(slice_sizes)\n", "File \u001b[0;32m~/Documents/Code/solarcarsim/.venv/lib/python3.12/site-packages/jax/_src/lax/slicing.py:3057\u001b[0m, in \u001b[0;36m_dynamic_slice_indices\u001b[0;34m(operand, start_indices)\u001b[0m\n\u001b[1;32m 3055\u001b[0m \u001b[38;5;28;01mcontinue\u001b[39;00m\n\u001b[1;32m 3056\u001b[0m d_arr \u001b[38;5;241m=\u001b[39m lax\u001b[38;5;241m.\u001b[39mconvert_element_type(d, _dtype(i))\n\u001b[0;32m-> 3057\u001b[0m result\u001b[38;5;241m.\u001b[39mappend(lax\u001b[38;5;241m.\u001b[39mselect(i \u001b[38;5;241m<\u001b[39m \u001b[38;5;241m0\u001b[39m, \u001b[43mi\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m+\u001b[39;49m\u001b[43m \u001b[49m\u001b[43md_arr\u001b[49m, i))\n\u001b[1;32m 3058\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m result\n", "File \u001b[0;32m~/Documents/Code/solarcarsim/.venv/lib/python3.12/site-packages/jax/_src/numpy/array_methods.py:573\u001b[0m, in \u001b[0;36m_defer_to_unrecognized_arg..deferring_binary_op\u001b[0;34m(self, other)\u001b[0m\n\u001b[1;32m 571\u001b[0m args \u001b[38;5;241m=\u001b[39m (other, \u001b[38;5;28mself\u001b[39m) \u001b[38;5;28;01mif\u001b[39;00m swap \u001b[38;5;28;01melse\u001b[39;00m (\u001b[38;5;28mself\u001b[39m, other)\n\u001b[1;32m 572\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(other, _accepted_binop_types):\n\u001b[0;32m--> 573\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mbinary_op\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 574\u001b[0m \u001b[38;5;66;03m# Note: don't use isinstance here, because we don't want to raise for\u001b[39;00m\n\u001b[1;32m 575\u001b[0m \u001b[38;5;66;03m# subclasses, e.g. NamedTuple objects that may override operators.\u001b[39;00m\n\u001b[1;32m 576\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mtype\u001b[39m(other) \u001b[38;5;129;01min\u001b[39;00m _rejected_binop_types:\n", "File \u001b[0;32m~/Documents/Code/solarcarsim/.venv/lib/python3.12/site-packages/jax/_src/numpy/ufunc_api.py:179\u001b[0m, in \u001b[0;36mufunc.__call__\u001b[0;34m(self, out, where, *args)\u001b[0m\n\u001b[1;32m 177\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mNotImplementedError\u001b[39;00m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mwhere argument of \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mself\u001b[39m\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 178\u001b[0m call \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m__static_props[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mcall\u001b[39m\u001b[38;5;124m'\u001b[39m] \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_call_vectorized\n\u001b[0;32m--> 179\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mcall\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m)\u001b[49m\n", "\u001b[0;31mKeyboardInterrupt\u001b[0m: " ] }, { "ename": "", "evalue": "", "output_type": "error", "traceback": [ "\u001b[1;31mThe Kernel crashed while executing code in the current cell or a previous cell. \n", "\u001b[1;31mPlease review the code in the cell(s) to identify a possible cause of the failure. \n", "\u001b[1;31mClick here for more info. \n", "\u001b[1;31mView Jupyter log for further details." ] } ], "source": [ "# import a model and try it out!\n", "model = PPO(\"MultiInputPolicy\", wrapped_env, verbose=1)\n", "model.learn(total_timesteps=1_000_000)\n" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "vec_env = model.get_env()\n", "obs = vec_env.reset()\n", "actions = []\n", "obs_list = []\n", "rewards = []\n", "for i in range(1000):\n", " action, _state = model.predict(obs, deterministic=True)\n", " actions.append(action)\n", " obs, reward, done, info = vec_env.step(action)\n", " obs_list.append(obs)\n", " rewards.append(reward)\n", "\n", " \n", " # VecEnv resets automatically\n", " if done:\n", " break\n", " # obs = vec_env.reset()\n", "\n", "position = jnp.array([x['position'] for x in obs_list]).flatten()\n", "energy = jnp.array([x['energy'] for x in obs_list]).flatten()\n", "actions = jnp.array(actions).flatten()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, (ax1, ax2, ax3) = plt.subplots(3,1, figsize=(12,6))\n", "ax1.plot(position, label=\"position\")\n", "ax2.plot(actions, label=\"energy\")\n", "ax3.plot(rewards)\n", "# plt.legend()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Array([1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,\n", " 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,\n", " 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,\n", " 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,\n", " 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,\n", " 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,\n", " 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,\n", " 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,\n", " 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,\n", " 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,\n", " 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,\n", " 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,\n", " 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,\n", " 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,\n", " 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,\n", " 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.], dtype=float32)" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "actions" ] } ], "metadata": { "kernelspec": { "display_name": ".venv", "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.12.7" } }, "nbformat": 4, "nbformat_minor": 2 }