Quentin Gallouédec commited on
Commit
0284f73
·
1 Parent(s): 79d8558

Initial commit

Browse files
.gitattributes CHANGED
@@ -32,3 +32,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
32
  *.zip filter=lfs diff=lfs merge=lfs -text
33
  *.zst filter=lfs diff=lfs merge=lfs -text
34
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
32
  *.zip filter=lfs diff=lfs merge=lfs -text
33
  *.zst filter=lfs diff=lfs merge=lfs -text
34
  *tfevents* filter=lfs diff=lfs merge=lfs -text
35
+ *.mp4 filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,80 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ library_name: stable-baselines3
3
+ tags:
4
+ - HalfCheetah-v3
5
+ - deep-reinforcement-learning
6
+ - reinforcement-learning
7
+ - stable-baselines3
8
+ model-index:
9
+ - name: TRPO
10
+ results:
11
+ - task:
12
+ type: reinforcement-learning
13
+ name: reinforcement-learning
14
+ dataset:
15
+ name: HalfCheetah-v3
16
+ type: HalfCheetah-v3
17
+ metrics:
18
+ - type: mean_reward
19
+ value: 4959.26 +/- 82.26
20
+ name: mean_reward
21
+ verified: false
22
+ ---
23
+
24
+ # **TRPO** Agent playing **HalfCheetah-v3**
25
+ This is a trained model of a **TRPO** agent playing **HalfCheetah-v3**
26
+ using the [stable-baselines3 library](https://github.com/DLR-RM/stable-baselines3)
27
+ and the [RL Zoo](https://github.com/DLR-RM/rl-baselines3-zoo).
28
+
29
+ The RL Zoo is a training framework for Stable Baselines3
30
+ reinforcement learning agents,
31
+ with hyperparameter optimization and pre-trained agents included.
32
+
33
+ ## Usage (with SB3 RL Zoo)
34
+
35
+ RL Zoo: https://github.com/DLR-RM/rl-baselines3-zoo<br/>
36
+ SB3: https://github.com/DLR-RM/stable-baselines3<br/>
37
+ SB3 Contrib: https://github.com/Stable-Baselines-Team/stable-baselines3-contrib
38
+
39
+ Install the RL Zoo (with SB3 and SB3-Contrib):
40
+ ```bash
41
+ pip install rl_zoo3
42
+ ```
43
+
44
+ ```
45
+ # Download model and save it into the logs/ folder
46
+ python -m rl_zoo3.load_from_hub --algo trpo --env HalfCheetah-v3 -orga qgallouedec -f logs/
47
+ python -m rl_zoo3.enjoy --algo trpo --env HalfCheetah-v3 -f logs/
48
+ ```
49
+
50
+ If you installed the RL Zoo3 via pip (`pip install rl_zoo3`), from anywhere you can do:
51
+ ```
52
+ python -m rl_zoo3.load_from_hub --algo trpo --env HalfCheetah-v3 -orga qgallouedec -f logs/
53
+ python -m rl_zoo3.enjoy --algo trpo --env HalfCheetah-v3 -f logs/
54
+ ```
55
+
56
+ ## Training (with the RL Zoo)
57
+ ```
58
+ python -m rl_zoo3.train --algo trpo --env HalfCheetah-v3 -f logs/
59
+ # Upload the model and generate video (when possible)
60
+ python -m rl_zoo3.push_to_hub --algo trpo --env HalfCheetah-v3 -f logs/ -orga qgallouedec
61
+ ```
62
+
63
+ ## Hyperparameters
64
+ ```python
65
+ OrderedDict([('batch_size', 128),
66
+ ('cg_damping', 0.1),
67
+ ('cg_max_steps', 25),
68
+ ('gae_lambda', 0.95),
69
+ ('gamma', 0.99),
70
+ ('learning_rate', 0.001),
71
+ ('n_critic_updates', 20),
72
+ ('n_envs', 2),
73
+ ('n_steps', 1024),
74
+ ('n_timesteps', 1000000.0),
75
+ ('normalize', True),
76
+ ('policy', 'MlpPolicy'),
77
+ ('sub_sampling_factor', 1),
78
+ ('target_kl', 0.04),
79
+ ('normalize_kwargs', {'norm_obs': True, 'norm_reward': False})])
80
+ ```
args.yml ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ !!python/object/apply:collections.OrderedDict
2
+ - - - algo
3
+ - trpo
4
+ - - conf_file
5
+ - null
6
+ - - device
7
+ - auto
8
+ - - env
9
+ - HalfCheetah-v3
10
+ - - env_kwargs
11
+ - null
12
+ - - eval_episodes
13
+ - 20
14
+ - - eval_freq
15
+ - 25000
16
+ - - gym_packages
17
+ - []
18
+ - - hyperparams
19
+ - null
20
+ - - log_folder
21
+ - logs
22
+ - - log_interval
23
+ - -1
24
+ - - max_total_trials
25
+ - null
26
+ - - n_eval_envs
27
+ - 5
28
+ - - n_evaluations
29
+ - null
30
+ - - n_jobs
31
+ - 1
32
+ - - n_startup_trials
33
+ - 10
34
+ - - n_timesteps
35
+ - -1
36
+ - - n_trials
37
+ - 500
38
+ - - no_optim_plots
39
+ - false
40
+ - - num_threads
41
+ - -1
42
+ - - optimization_log_path
43
+ - null
44
+ - - optimize_hyperparameters
45
+ - false
46
+ - - progress
47
+ - false
48
+ - - pruner
49
+ - median
50
+ - - sampler
51
+ - tpe
52
+ - - save_freq
53
+ - -1
54
+ - - save_replay_buffer
55
+ - false
56
+ - - seed
57
+ - 3908371383
58
+ - - storage
59
+ - null
60
+ - - study_name
61
+ - null
62
+ - - tensorboard_log
63
+ - runs/HalfCheetah-v3__trpo__3908371383__1676305083
64
+ - - track
65
+ - true
66
+ - - trained_agent
67
+ - ''
68
+ - - truncate_last_trajectory
69
+ - true
70
+ - - uuid
71
+ - false
72
+ - - vec_env
73
+ - dummy
74
+ - - verbose
75
+ - 1
76
+ - - wandb_entity
77
+ - openrlbenchmark
78
+ - - wandb_project_name
79
+ - sb3
80
+ - - wandb_tags
81
+ - []
82
+ - - yaml_file
83
+ - null
config.yml ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ !!python/object/apply:collections.OrderedDict
2
+ - - - batch_size
3
+ - 128
4
+ - - cg_damping
5
+ - 0.1
6
+ - - cg_max_steps
7
+ - 25
8
+ - - gae_lambda
9
+ - 0.95
10
+ - - gamma
11
+ - 0.99
12
+ - - learning_rate
13
+ - 0.001
14
+ - - n_critic_updates
15
+ - 20
16
+ - - n_envs
17
+ - 2
18
+ - - n_steps
19
+ - 1024
20
+ - - n_timesteps
21
+ - 1000000.0
22
+ - - normalize
23
+ - true
24
+ - - policy
25
+ - MlpPolicy
26
+ - - sub_sampling_factor
27
+ - 1
28
+ - - target_kl
29
+ - 0.04
env_kwargs.yml ADDED
@@ -0,0 +1 @@
 
 
1
+ {}
replay.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a7e18f27a9be01df06ad31417fd7df155493203a63d82e42a36d593fd3751531
3
+ size 1664221
results.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"mean_reward": 4959.262399, "std_reward": 82.25551485649815, "is_deterministic": true, "n_eval_episodes": 10, "eval_datetime": "2023-02-28T18:10:02.562158"}
train_eval_metrics.zip ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b8da99a85032bd0a72b8006b1000c99b3e3d7a12d0be0b15bd2575b9dfb6cba0
3
+ size 43516
trpo-HalfCheetah-v3.zip ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:be000eeed1c5c0dd121051c93099087694c7b7f4e2cb32dc941649d883195a39
3
+ size 117369
trpo-HalfCheetah-v3/_stable_baselines3_version ADDED
@@ -0,0 +1 @@
 
 
1
+ 1.8.0a6
trpo-HalfCheetah-v3/data ADDED
@@ -0,0 +1,103 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "policy_class": {
3
+ ":type:": "<class 'abc.ABCMeta'>",
4
+ ":serialized:": "gAWVOwAAAAAAAACMIXN0YWJsZV9iYXNlbGluZXMzLmNvbW1vbi5wb2xpY2llc5SMEUFjdG9yQ3JpdGljUG9saWN5lJOULg==",
5
+ "__module__": "stable_baselines3.common.policies",
6
+ "__doc__": "\n Policy class for actor-critic algorithms (has both policy and value prediction).\n Used by A2C, PPO and the likes.\n\n :param observation_space: Observation space\n :param action_space: Action space\n :param lr_schedule: Learning rate schedule (could be constant)\n :param net_arch: The specification of the policy and value networks.\n :param activation_fn: Activation function\n :param ortho_init: Whether to use or not orthogonal initialization\n :param use_sde: Whether to use State Dependent Exploration or not\n :param log_std_init: Initial value for the log standard deviation\n :param full_std: Whether to use (n_features x n_actions) parameters\n for the std instead of only (n_features,) when using gSDE\n :param use_expln: Use ``expln()`` function instead of ``exp()`` to ensure\n a positive standard deviation (cf paper). It allows to keep variance\n above zero and prevent it from growing too fast. In practice, ``exp()`` is usually enough.\n :param squash_output: Whether to squash the output using a tanh function,\n this allows to ensure boundaries when using gSDE.\n :param features_extractor_class: Features extractor to use.\n :param features_extractor_kwargs: Keyword arguments\n to pass to the features extractor.\n :param share_features_extractor: If True, the features extractor is shared between the policy and value networks.\n :param normalize_images: Whether to normalize images or not,\n dividing by 255.0 (True by default)\n :param optimizer_class: The optimizer to use,\n ``th.optim.Adam`` by default\n :param optimizer_kwargs: Additional keyword arguments,\n excluding the learning rate, to pass to the optimizer\n ",
7
+ "__init__": "<function ActorCriticPolicy.__init__ at 0x7f80d3ed2ee0>",
8
+ "_get_constructor_parameters": "<function ActorCriticPolicy._get_constructor_parameters at 0x7f80d3ed2f70>",
9
+ "reset_noise": "<function ActorCriticPolicy.reset_noise at 0x7f80d3ed4040>",
10
+ "_build_mlp_extractor": "<function ActorCriticPolicy._build_mlp_extractor at 0x7f80d3ed40d0>",
11
+ "_build": "<function ActorCriticPolicy._build at 0x7f80d3ed4160>",
12
+ "forward": "<function ActorCriticPolicy.forward at 0x7f80d3ed41f0>",
13
+ "extract_features": "<function ActorCriticPolicy.extract_features at 0x7f80d3ed4280>",
14
+ "_get_action_dist_from_latent": "<function ActorCriticPolicy._get_action_dist_from_latent at 0x7f80d3ed4310>",
15
+ "_predict": "<function ActorCriticPolicy._predict at 0x7f80d3ed43a0>",
16
+ "evaluate_actions": "<function ActorCriticPolicy.evaluate_actions at 0x7f80d3ed4430>",
17
+ "get_distribution": "<function ActorCriticPolicy.get_distribution at 0x7f80d3ed44c0>",
18
+ "predict_values": "<function ActorCriticPolicy.predict_values at 0x7f80d3ed4550>",
19
+ "__abstractmethods__": "frozenset()",
20
+ "_abc_impl": "<_abc._abc_data object at 0x7f80d3ed1b00>"
21
+ },
22
+ "verbose": 1,
23
+ "policy_kwargs": {},
24
+ "observation_space": {
25
+ ":type:": "<class 'gym.spaces.box.Box'>",
26
+ ":serialized:": "gAWVgQIAAAAAAACMDmd5bS5zcGFjZXMuYm94lIwDQm94lJOUKYGUfZQojAVkdHlwZZSMBW51bXB5lGgFk5SMAmY4lImIh5RSlChLA4wBPJROTk5K/////0r/////SwB0lGKMBl9zaGFwZZRLEYWUjANsb3eUjBJudW1weS5jb3JlLm51bWVyaWOUjAtfZnJvbWJ1ZmZlcpSTlCiWiAAAAAAAAAAAAAAAAADw/wAAAAAAAPD/AAAAAAAA8P8AAAAAAADw/wAAAAAAAPD/AAAAAAAA8P8AAAAAAADw/wAAAAAAAPD/AAAAAAAA8P8AAAAAAADw/wAAAAAAAPD/AAAAAAAA8P8AAAAAAADw/wAAAAAAAPD/AAAAAAAA8P8AAAAAAADw/wAAAAAAAPD/lGgKSxGFlIwBQ5R0lFKUjARoaWdolGgSKJaIAAAAAAAAAAAAAAAAAPB/AAAAAAAA8H8AAAAAAADwfwAAAAAAAPB/AAAAAAAA8H8AAAAAAADwfwAAAAAAAPB/AAAAAAAA8H8AAAAAAADwfwAAAAAAAPB/AAAAAAAA8H8AAAAAAADwfwAAAAAAAPB/AAAAAAAA8H8AAAAAAADwfwAAAAAAAPB/AAAAAAAA8H+UaApLEYWUaBV0lFKUjA1ib3VuZGVkX2JlbG93lGgSKJYRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlGgHjAJiMZSJiIeUUpQoSwOMAXyUTk5OSv////9K/////0sAdJRiSxGFlGgVdJRSlIwNYm91bmRlZF9hYm92ZZRoEiiWEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJRoIUsRhZRoFXSUUpSMCl9ucF9yYW5kb22UTnViLg==",
27
+ "dtype": "float64",
28
+ "_shape": [
29
+ 17
30
+ ],
31
+ "low": "[-inf -inf -inf -inf -inf -inf -inf -inf -inf -inf -inf -inf -inf -inf\n -inf -inf -inf]",
32
+ "high": "[inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf]",
33
+ "bounded_below": "[False False False False False False False False False False False False\n False False False False False]",
34
+ "bounded_above": "[False False False False False False False False False False False False\n False False False False False]",
35
+ "_np_random": null
36
+ },
37
+ "action_space": {
38
+ ":type:": "<class 'gym.spaces.box.Box'>",
39
+ ":serialized:": "gAWVNgwAAAAAAACMDmd5bS5zcGFjZXMuYm94lIwDQm94lJOUKYGUfZQojAVkdHlwZZSMBW51bXB5lGgFk5SMAmY0lImIh5RSlChLA4wBPJROTk5K/////0r/////SwB0lGKMBl9zaGFwZZRLBoWUjANsb3eUjBJudW1weS5jb3JlLm51bWVyaWOUjAtfZnJvbWJ1ZmZlcpSTlCiWGAAAAAAAAAAAAIC/AACAvwAAgL8AAIC/AACAvwAAgL+UaApLBoWUjAFDlHSUUpSMBGhpZ2iUaBIolhgAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAgD8AAIA/lGgKSwaFlGgVdJRSlIwNYm91bmRlZF9iZWxvd5RoEiiWBgAAAAAAAAABAQEBAQGUaAeMAmIxlImIh5RSlChLA4wBfJROTk5K/////0r/////SwB0lGJLBoWUaBV0lFKUjA1ib3VuZGVkX2Fib3ZllGgSKJYGAAAAAAAAAAEBAQEBAZRoIUsGhZRoFXSUUpSMCl9ucF9yYW5kb22UjBRudW1weS5yYW5kb20uX3BpY2tsZZSMEl9fcmFuZG9tc3RhdGVfY3RvcpSTlIwHTVQxOTkzN5RoLYwUX19iaXRfZ2VuZXJhdG9yX2N0b3KUk5SGlFKUfZQojA1iaXRfZ2VuZXJhdG9ylIwHTVQxOTkzN5SMBXN0YXRllH2UKIwDa2V5lGgSKJbACQAAAAAAAAAAAIBTwrOchwO1k3Lsq1vo5rLyz7aB2tUG72GhMU2ga7XM2RPmGJ90nHkvyKUbgMR5AUmeD0PkXeAYk5ITVczUSilk0giVvjTQnkRyegPwrb8Kc5t7PulgsQbadQNFC2591hZq6wQ0ZoO38/WlL2nvQmNDtVz3wndSzEZENy0IiW7Qjq53+xi2gE97nvlPMuwS2LmOXoWpGcquPXYtZytCgJ7F7scf9SIBXUvPJA/MGVJkRFeYcJ0K9RIXtela3jvE/0HPOrFftofdM9hYiaqizX97P8mUt2wPQx8xmX0bYJCrtwcdGUzeyPuOugD1z6ka3iX+IAalFvzQduPBTvXKQ9MBWnnfUFetzaqYhTrP0WHhMA/Ht9nWRUX4vUiuWi77gKSTLtizn2cHsqRyJMj43mOVvrbJtm3T5laAgDosou93H+ZNC0HiTVqmVP8Lsv3/JsoIWfaq43/tiUiTGgfVTTF1psbquA6tH5Icya9TC+0oH7X0htvTuZKBVDKM0C+fIAM8l/emTHKVm2ft/85WlYRpZ+XoFwvDLSCusSBQr4f7w/xdYy4GCKdeDDOfezLj5k6WvjminpO26pfQqfP9LJIYOUEgrwmoo5vMHp8a36i8kcQzwqUvi94rCQuS64xYFp7HcUF1aySvLmqGyXEyCeTa2GHwNpeYB9u4jyPRKocxbWSV4hOL16R9fH95KLmFfUaMD8zrZmLG5rLUfzMf1WOxNFwZpzInS+HWE1F4MWg2xcVst8upoi9ssNCNjtPbz1ley6m8DG7YZVNupay35yQ8/PAfu8uKRQsL7B4ArDFquqb66ABeDLPvviZ4c6y9Bi67Xye+uu6eNlYO/Boq5iiETBR9Kemi0T1eFf33JRNzywY9CJ1N9eTOb+3wxY/yK3iXhVISAMufwZby3YMCHwTAVr8o4ahkQaNipnYgwDvQT4XYuqBpmVAsUw41MjHfK43kXZ7UxPi/bB0FEr1H6UYynEiI2V3I7DDEsMFNEMyF3sA+J2YPBAGe9oh5woVr3lu3AeREERRPmD778jQMODrzkRfg4w7Zi1M+ozc9CW5Lim4SEBBFW6Q0ZKHiBgOBwE8pmXhOE1/4b4TsSX1+ZYlw/f1KJ/Doyf4YSKwzVGEdjTldkdS/lbivyQPaNIsxj4ggvb4u1CtbuK3vLbz6wSJwugR9g6TL1kkXqXR9H6xcRrB/5EQf0u+1EnjLN/GvsqKw2mvVrG/Vp7kINdL5dPO44b8Emce+3xqudjVdYf1J2QI56iTowjwYEK2NMLEnklukjknSLQDrqYlpFb0sx8/oKKXf9xVFD243YpO1XejusnBjhcKePsMmaqtTCh8MOXsSTQ+g3vDQeHxgc7LyqE/DtXwAt2Nmft5i2MJAiV1C8dszUjvdG0ItC9AYUxdQInTbakZGpO9lfldZKLOpuBfpMmYjosMX3Bylh5qUHtwPB6V+p2nMdGbKNFshf1v7Di6P/9oNGA/ZKCI4Cr8P/3/RJuAr8TQVDJyWE1UCRsrBeEDEoZzOm8mjDSYUVQC3/l9PkoCyZBMC3ynQWysYwNN+ThHNmCplKb6KFVFLfvVPHe3CkYDWCij8Ah8mHyyUkLeGRHU4YI3ssA8YLBsz2seUpJTi66EmJ9/X3qH2rWQ8yV3r3z0x8otWS8KXuh8JG6s9Rbjpx4koT3nWxAPW/xwrQcrUma4FMJcB6UJQIgU0saTe0xc1Wa64UXejfFvhXhPUgBgh8F3IRUeEghk4T8kRjv11pDDyeNgS1DpjBnqQ0IFh+uOrY6CUhNxF3AOYg0vjaujoedtaAtlDwJ78SI9UG1YfCG8ZQcrUU043NHNeBPXMoSD5YCKB64rhBUjF0hMzhi9TJi+lAm4l37EYPWejsFggpd1XhoOWxGdZIyZL7NPJO8LT5OAEwI2ky90KGNoH9dOsxWybS+A+YJizCfTrsxNhZ+bmgKqqY1yKqhF8UvY7abEVPVUxwoOvEcF0FSFIblSYB6vHzooATK1uwJufo46PxjTZXBXKfNd3RYl8uKh4YxkhIzV6d5Z9NzWZDoKl0PEmpSZTzr8qwEvcFvRLY0CoXKwUlkrEPAt6PzHP7EfwjEQfOWSKI0f7YgirTrrcUDCLrCDp2ByvIOpD6U0PCfz3yfKWtxhKGKAOu2sUE17MrHdmOmQ8Kc9R5AHiElStgJQnLkLLK0L/HVSwHIp7P9pI0RaeVafNh0l/Y+govRh+ZpHcqlfOL1rHcEc+CTVx2aB1WSp68UnQNR1MEVCP+aFoqpxpPSsokuDL/XUCFZbidfv6QB2BHRvWICx4jRNswO2iEG6qpRl+ox9Qqx0jy/Zp5R3T4io6M8EV7tNlELs5RiZ/vz1JFOnD2Cy3i3PHu0tqnwmcW3aR4qGp3e8GCqm+WzG/HQNw8L5uj+oiV0qICfkPtM+N5YvMnWCamTWZUo7JY6/9nOVFN97zISwyxFyB0/Fs67EuOU7CjW4WH02Meg7P/FucjrYjj1nNPn0ZQI20AvvhSqOVGjJdnkQsSOFOf4Xl9h8SRjZOdKyAo7hbBv/EPjVLiYEvstxTIXvrJtXtjHQvpXZAahJ/KEcWoxAmz+Fos89bXyZYlv9QOX3Rk31MTNx1e9myYJ6rMJqALpgMend+in7mcBBKdP8HK3aPvP7pyeX9pmHqgqznGsQya7OksVtc1Wh/2E2ZfkTQNDYzy4Gqp5b3mnrPzJKc7FREA7byhhaxtXJ5ho2VYtms60gxkNGONt5xJLAwuWsGHDiZlWG3gOA5DEjX4/uw8dksx/z1T7ly1/WsPSvUBeDJePM7Eq8LFYyGvPoCHX37NqX9sAinD7RXs+rzk9FA7hR5JyYzA4NHyNw58gu4yajvFeF6Zj8mq06dySURoZqkx4aWSJ5+9CTH0vkRa8ufqy0jjNE/illfH2I7PXsgomYo5UeAIgA6KF5vRvCSM2Qi2V9g7cvN4ss+4EM0sWDu1C7k09bLbxricGwT+CzIS15G8XYQJgUg4mDTp3NzvshbDuj7PVDkA/EuD26/IWeJhY24nKTut+UsKZhyDWA3rnsJZ9/xh8+vS6Qo5qZyj3hfWcV3KujEeJCVFdo/3UM6oy54jWkJqzJFC3SO1tbDF0RXLM/cbNRlcFaprTFcLPB7b1zGDZqLAq64ABV9oIT8+3VwlerzC+WIXzWwwM8xujB3367Ja4TGr977ZbfBZ5XeFWh+iITJKMGsk9ZUlb375ShwlsLSmk3Dma0eS2RmpSTqRW1SBVDgKPi52P9uW5nNypaMi84Ik7nYz7FxBjzTwSLxP+XDBL1OC67NDd7QpHuGm2A1xfX9eEK8C5RoB4wCdTSUiYiHlFKUKEsDaAtOTk5K/////0r/////SwB0lGJNcAKFlGgVdJRSlIwDcG9zlE1wAnWMCWhhc19nYXVzc5RLAIwFZ2F1c3OURwAAAAAAAAAAdWJ1Yi4=",
40
+ "dtype": "float32",
41
+ "_shape": [
42
+ 6
43
+ ],
44
+ "low": "[-1. -1. -1. -1. -1. -1.]",
45
+ "high": "[1. 1. 1. 1. 1. 1.]",
46
+ "bounded_below": "[ True True True True True True]",
47
+ "bounded_above": "[ True True True True True True]",
48
+ "_np_random": "RandomState(MT19937)"
49
+ },
50
+ "n_envs": 1,
51
+ "num_timesteps": 1001472,
52
+ "_total_timesteps": 1000000,
53
+ "_num_timesteps_at_start": 0,
54
+ "seed": 0,
55
+ "action_noise": null,
56
+ "start_time": 1676305086446194716,
57
+ "learning_rate": {
58
+ ":type:": "<class 'function'>",
59
+ ":serialized:": "gAWVjwIAAAAAAACMF2Nsb3VkcGlja2xlLmNsb3VkcGlja2xllIwOX21ha2VfZnVuY3Rpb26Uk5QoaACMDV9idWlsdGluX3R5cGWUk5SMCENvZGVUeXBllIWUUpQoSwFLAEsASwFLAUsTQwSIAFMAlE6FlCmMAV+UhZSMXS9ob21lL3FnYWxsb3VlZGVjL2Vudl9iZW5jaG1hcmsvbGliL3B5dGhvbjMuOC9zaXRlLXBhY2thZ2VzL3N0YWJsZV9iYXNlbGluZXMzL2NvbW1vbi91dGlscy5weZSMBGZ1bmOUS4JDAgABlIwDdmFslIWUKXSUUpR9lCiMC19fcGFja2FnZV9flIwYc3RhYmxlX2Jhc2VsaW5lczMuY29tbW9ulIwIX19uYW1lX1+UjB5zdGFibGVfYmFzZWxpbmVzMy5jb21tb24udXRpbHOUjAhfX2ZpbGVfX5RoDHVOTmgAjBBfbWFrZV9lbXB0eV9jZWxslJOUKVKUhZR0lFKUjBxjbG91ZHBpY2tsZS5jbG91ZHBpY2tsZV9mYXN0lIwSX2Z1bmN0aW9uX3NldHN0YXRllJOUaB59lH2UKGgWaA2MDF9fcXVhbG5hbWVfX5SMGWNvbnN0YW50X2ZuLjxsb2NhbHM+LmZ1bmOUjA9fX2Fubm90YXRpb25zX1+UfZSMDl9fa3dkZWZhdWx0c19flE6MDF9fZGVmYXVsdHNfX5ROjApfX21vZHVsZV9flGgXjAdfX2RvY19flE6MC19fY2xvc3VyZV9flGgAjApfbWFrZV9jZWxslJOURz9QYk3S8an8hZRSlIWUjBdfY2xvdWRwaWNrbGVfc3VibW9kdWxlc5RdlIwLX19nbG9iYWxzX1+UfZR1hpSGUjAu"
60
+ },
61
+ "tensorboard_log": "runs/HalfCheetah-v3__trpo__3908371383__1676305083/HalfCheetah-v3",
62
+ "lr_schedule": {
63
+ ":type:": "<class 'function'>",
64
+ ":serialized:": "gAWVjwIAAAAAAACMF2Nsb3VkcGlja2xlLmNsb3VkcGlja2xllIwOX21ha2VfZnVuY3Rpb26Uk5QoaACMDV9idWlsdGluX3R5cGWUk5SMCENvZGVUeXBllIWUUpQoSwFLAEsASwFLAUsTQwSIAFMAlE6FlCmMAV+UhZSMXS9ob21lL3FnYWxsb3VlZGVjL2Vudl9iZW5jaG1hcmsvbGliL3B5dGhvbjMuOC9zaXRlLXBhY2thZ2VzL3N0YWJsZV9iYXNlbGluZXMzL2NvbW1vbi91dGlscy5weZSMBGZ1bmOUS4JDAgABlIwDdmFslIWUKXSUUpR9lCiMC19fcGFja2FnZV9flIwYc3RhYmxlX2Jhc2VsaW5lczMuY29tbW9ulIwIX19uYW1lX1+UjB5zdGFibGVfYmFzZWxpbmVzMy5jb21tb24udXRpbHOUjAhfX2ZpbGVfX5RoDHVOTmgAjBBfbWFrZV9lbXB0eV9jZWxslJOUKVKUhZR0lFKUjBxjbG91ZHBpY2tsZS5jbG91ZHBpY2tsZV9mYXN0lIwSX2Z1bmN0aW9uX3NldHN0YXRllJOUaB59lH2UKGgWaA2MDF9fcXVhbG5hbWVfX5SMGWNvbnN0YW50X2ZuLjxsb2NhbHM+LmZ1bmOUjA9fX2Fubm90YXRpb25zX1+UfZSMDl9fa3dkZWZhdWx0c19flE6MDF9fZGVmYXVsdHNfX5ROjApfX21vZHVsZV9flGgXjAdfX2RvY19flE6MC19fY2xvc3VyZV9flGgAjApfbWFrZV9jZWxslJOURz9QYk3S8an8hZRSlIWUjBdfY2xvdWRwaWNrbGVfc3VibW9kdWxlc5RdlIwLX19nbG9iYWxzX1+UfZR1hpSGUjAu"
65
+ },
66
+ "_last_obs": null,
67
+ "_last_episode_starts": {
68
+ ":type:": "<class 'numpy.ndarray'>",
69
+ ":serialized:": "gAWVdQAAAAAAAACMEm51bXB5LmNvcmUubnVtZXJpY5SMC19mcm9tYnVmZmVylJOUKJYCAAAAAAAAAAAAlIwFbnVtcHmUjAVkdHlwZZSTlIwCYjGUiYiHlFKUKEsDjAF8lE5OTkr/////Sv////9LAHSUYksChZSMAUOUdJRSlC4="
70
+ },
71
+ "_last_original_obs": {
72
+ ":type:": "<class 'numpy.ndarray'>",
73
+ ":serialized:": "gAWVhQEAAAAAAACMEm51bXB5LmNvcmUubnVtZXJpY5SMC19mcm9tYnVmZmVylJOUKJYQAQAAAAAAACUrbHp9HLG/nvg2fz66or/46kPUBtGSP0B1txeZA4E/wjGhBEbttD8/vR/GFWyyv2d5MsaFnKe//AeUykRYrz/xkwdn7HOxP4LqPPE2N6o/hxZkxZUZv7/E8N2BkDmuv50tnfU+Taa/3wuVIHOziL+1jjyw/C+Yv48cN51fUb8/i1J6CtUAwz/M3fOcC+agPyjFvCxcM4O/PUKHeJrypr8Ud0nCVhi3P6glB1c6H7S/BRHfPTpZsL8UvelGLuenvwwHGOFj37e//PQgU9LNsD8YsExi49FrPzN0zvOB0La/8TP+8TMTQL9VWpM7j2/LP3wVNOzzBLM/wQoDmcdkgj/l2Kc/O4XBP5olVE6+RKk/lIwFbnVtcHmUjAVkdHlwZZSTlIwCZjiUiYiHlFKUKEsDjAE8lE5OTkr/////Sv////9LAHSUYksCSxGGlIwBQ5R0lFKULg=="
74
+ },
75
+ "_episode_num": 0,
76
+ "use_sde": false,
77
+ "sde_sample_freq": -1,
78
+ "_current_progress_remaining": -0.0014719999999999178,
79
+ "ep_info_buffer": {
80
+ ":type:": "<class 'collections.deque'>",
81
+ ":serialized:": "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"
82
+ },
83
+ "ep_success_buffer": {
84
+ ":type:": "<class 'collections.deque'>",
85
+ ":serialized:": "gAWVIAAAAAAAAACMC2NvbGxlY3Rpb25zlIwFZGVxdWWUk5QpS2SGlFKULg=="
86
+ },
87
+ "_n_updates": 489,
88
+ "n_steps": 1024,
89
+ "gamma": 0.99,
90
+ "gae_lambda": 0.95,
91
+ "ent_coef": 0.0,
92
+ "vf_coef": 0.0,
93
+ "max_grad_norm": 0.0,
94
+ "normalize_advantage": true,
95
+ "batch_size": 128,
96
+ "cg_max_steps": 25,
97
+ "cg_damping": 0.1,
98
+ "line_search_shrinking_factor": 0.8,
99
+ "line_search_max_iter": 10,
100
+ "target_kl": 0.04,
101
+ "n_critic_updates": 20,
102
+ "sub_sampling_factor": 1
103
+ }
trpo-HalfCheetah-v3/policy.optimizer.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:53623980ea81f56c1686290a4db7f88ed9c42b2e6d88cbadb180da69e3cab97f
3
+ size 48047
trpo-HalfCheetah-v3/policy.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fd622f59f4952bacfd1bb1b5ed26550372f9b3d70aadfaaec23fabba3bf41cab
3
+ size 48766
trpo-HalfCheetah-v3/pytorch_variables.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d030ad8db708280fcae77d87e973102039acd23a11bdecc3db8eb6c0ac940ee1
3
+ size 431
trpo-HalfCheetah-v3/system_info.txt ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ - OS: Linux-5.19.0-32-generic-x86_64-with-glibc2.35 # 33~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Mon Jan 30 17:03:34 UTC 2
2
+ - Python: 3.9.12
3
+ - Stable-Baselines3: 1.8.0a6
4
+ - PyTorch: 1.13.1+cu117
5
+ - GPU Enabled: True
6
+ - Numpy: 1.24.1
7
+ - Gym: 0.21.0
vec_normalize.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8b9de6ce53b50b13cba249e636432ec7ccd3949033f998ab58d92032531eafd8
3
+ size 4872