gretab5802 commited on
Commit
b8a713d
·
verified ·
1 Parent(s): 4e11993

Initial commit

Browse files
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ *.mp4 filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,89 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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: PPO
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: 5111.06 +/- 1825.58
20
+ name: mean_reward
21
+ verified: false
22
+ ---
23
+
24
+ # **PPO** Agent playing **HalfCheetah-v3**
25
+ This is a trained model of a **PPO** 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
+ SBX (SB3 + Jax): https://github.com/araffin/sbx
39
+
40
+ Install the RL Zoo (with SB3 and SB3-Contrib):
41
+ ```bash
42
+ pip install rl_zoo3
43
+ ```
44
+
45
+ ```
46
+ # Download model and save it into the logs/ folder
47
+ python -m rl_zoo3.load_from_hub --algo ppo --env HalfCheetah-v3 -orga gretab5802 -f logs/
48
+ python -m rl_zoo3.enjoy --algo ppo --env HalfCheetah-v3 -f logs/
49
+ ```
50
+
51
+ If you installed the RL Zoo3 via pip (`pip install rl_zoo3`), from anywhere you can do:
52
+ ```
53
+ python -m rl_zoo3.load_from_hub --algo ppo --env HalfCheetah-v3 -orga gretab5802 -f logs/
54
+ python -m rl_zoo3.enjoy --algo ppo --env HalfCheetah-v3 -f logs/
55
+ ```
56
+
57
+ ## Training (with the RL Zoo)
58
+ ```
59
+ python -m rl_zoo3.train --algo ppo --env HalfCheetah-v3 -f logs/
60
+ # Upload the model and generate video (when possible)
61
+ python -m rl_zoo3.push_to_hub --algo ppo --env HalfCheetah-v3 -f logs/ -orga gretab5802
62
+ ```
63
+
64
+ ## Hyperparameters
65
+ ```python
66
+ OrderedDict([('batch_size', 64),
67
+ ('clip_range', 0.1),
68
+ ('ent_coef', 0.000401762),
69
+ ('gae_lambda', 0.92),
70
+ ('gamma', 0.98),
71
+ ('learning_rate', 2.0633e-05),
72
+ ('max_grad_norm', 0.8),
73
+ ('n_envs', 1),
74
+ ('n_epochs', 20),
75
+ ('n_steps', 512),
76
+ ('n_timesteps', 1000000.0),
77
+ ('normalize', "{'norm_obs': True, 'norm_reward': False}"),
78
+ ('policy', 'MlpPolicy'),
79
+ ('policy_kwargs',
80
+ 'dict(log_std_init=-2, ortho_init=False, activation_fn=nn.ReLU, '
81
+ 'net_arch=dict(pi=[256, 256], vf=[256, 256]) )'),
82
+ ('vf_coef', 0.58096),
83
+ ('normalize_kwargs', {'norm_obs': True, 'norm_reward': False})])
84
+ ```
85
+
86
+ # Environment Arguments
87
+ ```python
88
+ {'render_mode': 'rgb_array'}
89
+ ```
args.yml ADDED
@@ -0,0 +1,85 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ !!python/object/apply:collections.OrderedDict
2
+ - - - algo
3
+ - ppo
4
+ - - conf_file
5
+ - null
6
+ - - device
7
+ - auto
8
+ - - env
9
+ - HalfCheetah-v3
10
+ - - env_kwargs
11
+ - null
12
+ - - eval_env_kwargs
13
+ - null
14
+ - - eval_episodes
15
+ - 5
16
+ - - eval_freq
17
+ - 25000
18
+ - - gym_packages
19
+ - []
20
+ - - hyperparams
21
+ - null
22
+ - - log_folder
23
+ - logs/
24
+ - - log_interval
25
+ - -1
26
+ - - max_total_trials
27
+ - null
28
+ - - n_eval_envs
29
+ - 1
30
+ - - n_evaluations
31
+ - null
32
+ - - n_jobs
33
+ - 1
34
+ - - n_startup_trials
35
+ - 10
36
+ - - n_timesteps
37
+ - -1
38
+ - - n_trials
39
+ - 500
40
+ - - no_optim_plots
41
+ - false
42
+ - - num_threads
43
+ - -1
44
+ - - optimization_log_path
45
+ - null
46
+ - - optimize_hyperparameters
47
+ - false
48
+ - - progress
49
+ - false
50
+ - - pruner
51
+ - median
52
+ - - sampler
53
+ - tpe
54
+ - - save_freq
55
+ - -1
56
+ - - save_replay_buffer
57
+ - false
58
+ - - seed
59
+ - 1759814097
60
+ - - storage
61
+ - null
62
+ - - study_name
63
+ - null
64
+ - - tensorboard_log
65
+ - ''
66
+ - - track
67
+ - false
68
+ - - trained_agent
69
+ - ''
70
+ - - trial_id
71
+ - null
72
+ - - truncate_last_trajectory
73
+ - true
74
+ - - uuid
75
+ - false
76
+ - - vec_env
77
+ - dummy
78
+ - - verbose
79
+ - 1
80
+ - - wandb_entity
81
+ - null
82
+ - - wandb_project_name
83
+ - sb3
84
+ - - wandb_tags
85
+ - []
config.yml ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ !!python/object/apply:collections.OrderedDict
2
+ - - - batch_size
3
+ - 64
4
+ - - clip_range
5
+ - 0.1
6
+ - - ent_coef
7
+ - 0.000401762
8
+ - - gae_lambda
9
+ - 0.92
10
+ - - gamma
11
+ - 0.98
12
+ - - learning_rate
13
+ - 2.0633e-05
14
+ - - max_grad_norm
15
+ - 0.8
16
+ - - n_envs
17
+ - 1
18
+ - - n_epochs
19
+ - 20
20
+ - - n_steps
21
+ - 512
22
+ - - n_timesteps
23
+ - 1000000.0
24
+ - - normalize
25
+ - '{''norm_obs'': True, ''norm_reward'': False}'
26
+ - - policy
27
+ - MlpPolicy
28
+ - - policy_kwargs
29
+ - dict(log_std_init=-2, ortho_init=False, activation_fn=nn.ReLU, net_arch=dict(pi=[256,
30
+ 256], vf=[256, 256]) )
31
+ - - vf_coef
32
+ - 0.58096
env_kwargs.yml ADDED
@@ -0,0 +1 @@
 
 
1
+ render_mode: rgb_array
ppo-HalfCheetah-v3.zip ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f9f6718e6600b363a9b77936ba6a9d3eaddc7a6d15c32a7c01974c98f3d068f1
3
+ size 1745970
ppo-HalfCheetah-v3/_stable_baselines3_version ADDED
@@ -0,0 +1 @@
 
 
1
+ 2.7.0a0
ppo-HalfCheetah-v3/data ADDED
@@ -0,0 +1,143 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 0x7f96d3c98c10>",
8
+ "_get_constructor_parameters": "<function ActorCriticPolicy._get_constructor_parameters at 0x7f96d3c98ca0>",
9
+ "reset_noise": "<function ActorCriticPolicy.reset_noise at 0x7f96d3c98d30>",
10
+ "_build_mlp_extractor": "<function ActorCriticPolicy._build_mlp_extractor at 0x7f96d3c98dc0>",
11
+ "_build": "<function ActorCriticPolicy._build at 0x7f96d3c98e50>",
12
+ "forward": "<function ActorCriticPolicy.forward at 0x7f96d3c98ee0>",
13
+ "extract_features": "<function ActorCriticPolicy.extract_features at 0x7f96d3c98f70>",
14
+ "_get_action_dist_from_latent": "<function ActorCriticPolicy._get_action_dist_from_latent at 0x7f96d3c99000>",
15
+ "_predict": "<function ActorCriticPolicy._predict at 0x7f96d3c99090>",
16
+ "evaluate_actions": "<function ActorCriticPolicy.evaluate_actions at 0x7f96d3c99120>",
17
+ "get_distribution": "<function ActorCriticPolicy.get_distribution at 0x7f96d3c991b0>",
18
+ "predict_values": "<function ActorCriticPolicy.predict_values at 0x7f96d3c99240>",
19
+ "__abstractmethods__": "frozenset()",
20
+ "_abc_impl": "<_abc._abc_data object at 0x7f96d3ca0740>"
21
+ },
22
+ "verbose": 1,
23
+ "policy_kwargs": {
24
+ ":type:": "<class 'dict'>",
25
+ ":serialized:": "gAWViwAAAAAAAAB9lCiMDGxvZ19zdGRfaW5pdJRK/v///4wKb3J0aG9faW5pdJSJjA1hY3RpdmF0aW9uX2ZulIwbdG9yY2gubm4ubW9kdWxlcy5hY3RpdmF0aW9ulIwEUmVMVZSTlIwIbmV0X2FyY2iUfZQojAJwaZRdlChNAAFNAAFljAJ2ZpRdlChNAAFNAAFldXUu",
26
+ "log_std_init": -2,
27
+ "ortho_init": false,
28
+ "activation_fn": "<class 'torch.nn.modules.activation.ReLU'>",
29
+ "net_arch": {
30
+ "pi": [
31
+ 256,
32
+ 256
33
+ ],
34
+ "vf": [
35
+ 256,
36
+ 256
37
+ ]
38
+ }
39
+ },
40
+ "num_timesteps": 1000448,
41
+ "_total_timesteps": 1000000,
42
+ "_num_timesteps_at_start": 0,
43
+ "seed": 0,
44
+ "action_noise": null,
45
+ "start_time": 1750103337137367242,
46
+ "learning_rate": {
47
+ ":type:": "<class 'stable_baselines3.common.utils.ConstantSchedule'>",
48
+ ":serialized:": "gAWVTQAAAAAAAACMHnN0YWJsZV9iYXNlbGluZXMzLmNvbW1vbi51dGlsc5SMEENvbnN0YW50U2NoZWR1bGWUk5QpgZR9lIwDdmFslEc+9aKg9qeJE3NiLg==",
49
+ "val": 2.0633e-05
50
+ },
51
+ "tensorboard_log": null,
52
+ "_last_obs": null,
53
+ "_last_episode_starts": {
54
+ ":type:": "<class 'numpy.ndarray'>",
55
+ ":serialized:": "gAWVdQAAAAAAAACME251bXB5Ll9jb3JlLm51bWVyaWOUjAtfZnJvbWJ1ZmZlcpSTlCiWAQAAAAAAAAAAlIwFbnVtcHmUjAVkdHlwZZSTlIwCYjGUiYiHlFKUKEsDjAF8lE5OTkr/////Sv////9LAHSUYksBhZSMAUOUdJRSlC4="
56
+ },
57
+ "_last_original_obs": {
58
+ ":type:": "<class 'numpy.ndarray'>",
59
+ ":serialized:": "gAWV/gAAAAAAAACME251bXB5Ll9jb3JlLm51bWVyaWOUjAtfZnJvbWJ1ZmZlcpSTlCiWiAAAAAAAAABA+EQyCliJv/gdMfwRwpM/bOoDzKMRk7+uoMbil4O2PzB779IBF44/1N1jbhKipb+41GV9T7eUP2+8aqrovrG/NYEdDM9Ygr+L4hDBVziyPyZls4cTHLC/Bqq4Y1UFsD/uu5Jn5xayP79ujTh0+rK/ZHT1mlkdyL/wcnbOyKimvxIVH098WrM/lIwFbnVtcHmUjAVkdHlwZZSTlIwCZjiUiYiHlFKUKEsDjAE8lE5OTkr/////Sv////9LAHSUYksBSxGGlIwBQ5R0lFKULg=="
60
+ },
61
+ "_episode_num": 0,
62
+ "use_sde": false,
63
+ "sde_sample_freq": -1,
64
+ "_current_progress_remaining": -0.00044800000000000395,
65
+ "_stats_window_size": 100,
66
+ "ep_info_buffer": {
67
+ ":type:": "<class 'collections.deque'>",
68
+ ":serialized:": "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"
69
+ },
70
+ "ep_success_buffer": {
71
+ ":type:": "<class 'collections.deque'>",
72
+ ":serialized:": "gAWVIAAAAAAAAACMC2NvbGxlY3Rpb25zlIwFZGVxdWWUk5QpS2SGlFKULg=="
73
+ },
74
+ "_n_updates": 39080,
75
+ "observation_space": {
76
+ ":type:": "<class 'gymnasium.spaces.box.Box'>",
77
+ ":serialized:": "gAWVsgIAAAAAAACMFGd5bW5hc2l1bS5zcGFjZXMuYm94lIwDQm94lJOUKYGUfZQojAVkdHlwZZSMBW51bXB5lIwFZHR5cGWUk5SMAmY4lImIh5RSlChLA4wBPJROTk5K/////0r/////SwB0lGKMBl9zaGFwZZRLEYWUjANsb3eUjBNudW1weS5fY29yZS5udW1lcmljlIwLX2Zyb21idWZmZXKUk5QologAAAAAAAAAAAAAAAAA8P8AAAAAAADw/wAAAAAAAPD/AAAAAAAA8P8AAAAAAADw/wAAAAAAAPD/AAAAAAAA8P8AAAAAAADw/wAAAAAAAPD/AAAAAAAA8P8AAAAAAADw/wAAAAAAAPD/AAAAAAAA8P8AAAAAAADw/wAAAAAAAPD/AAAAAAAA8P8AAAAAAADw/5RoC0sRhZSMAUOUdJRSlIwNYm91bmRlZF9iZWxvd5RoEyiWEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJRoCIwCYjGUiYiHlFKUKEsDjAF8lE5OTkr/////Sv////9LAHSUYksRhZRoFnSUUpSMBGhpZ2iUaBMologAAAAAAAAAAAAAAAAA8H8AAAAAAADwfwAAAAAAAPB/AAAAAAAA8H8AAAAAAADwfwAAAAAAAPB/AAAAAAAA8H8AAAAAAADwfwAAAAAAAPB/AAAAAAAA8H8AAAAAAADwfwAAAAAAAPB/AAAAAAAA8H8AAAAAAADwfwAAAAAAAPB/AAAAAAAA8H8AAAAAAADwf5RoC0sRhZRoFnSUUpSMDWJvdW5kZWRfYWJvdmWUaBMolhEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUaB1LEYWUaBZ0lFKUjAhsb3dfcmVwcpSMBC1pbmaUjAloaWdoX3JlcHKUjANpbmaUjApfbnBfcmFuZG9tlE51Yi4=",
78
+ "dtype": "float64",
79
+ "_shape": [
80
+ 17
81
+ ],
82
+ "low": "[-inf -inf -inf -inf -inf -inf -inf -inf -inf -inf -inf -inf -inf -inf\n -inf -inf -inf]",
83
+ "bounded_below": "[False False False False False False False False False False False False\n False False False False False]",
84
+ "high": "[inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf]",
85
+ "bounded_above": "[False False False False False False False False False False False False\n False False False False False]",
86
+ "low_repr": "-inf",
87
+ "high_repr": "inf",
88
+ "_np_random": null
89
+ },
90
+ "action_space": {
91
+ ":type:": "<class 'gymnasium.spaces.box.Box'>",
92
+ ":serialized:": "gAWVTQMAAAAAAACMFGd5bW5hc2l1bS5zcGFjZXMuYm94lIwDQm94lJOUKYGUfZQojAVkdHlwZZSMBW51bXB5lIwFZHR5cGWUk5SMAmY0lImIh5RSlChLA4wBPJROTk5K/////0r/////SwB0lGKMBl9zaGFwZZRLBoWUjANsb3eUjBNudW1weS5fY29yZS5udW1lcmljlIwLX2Zyb21idWZmZXKUk5QolhgAAAAAAAAAAACAvwAAgL8AAIC/AACAvwAAgL8AAIC/lGgLSwaFlIwBQ5R0lFKUjA1ib3VuZGVkX2JlbG93lGgTKJYGAAAAAAAAAAEBAQEBAZRoCIwCYjGUiYiHlFKUKEsDjAF8lE5OTkr/////Sv////9LAHSUYksGhZRoFnSUUpSMBGhpZ2iUaBMolhgAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAgD8AAIA/lGgLSwaFlGgWdJRSlIwNYm91bmRlZF9hYm92ZZRoEyiWBgAAAAAAAAABAQEBAQGUaB1LBoWUaBZ0lFKUjAhsb3dfcmVwcpSMBC0xLjCUjAloaWdoX3JlcHKUjAMxLjCUjApfbnBfcmFuZG9tlIwUbnVtcHkucmFuZG9tLl9waWNrbGWUjBBfX2dlbmVyYXRvcl9jdG9ylJOUaDKMFF9fYml0X2dlbmVyYXRvcl9jdG9ylJOUjBNudW1weS5yYW5kb20uX3BjZzY0lIwFUENHNjSUk5SFlFKUfZQojA1iaXRfZ2VuZXJhdG9ylIwFUENHNjSUjAVzdGF0ZZR9lChoP4oQ42GVprdeWAktRZZZNLWhGowDaW5jlIoQqXN4RLwzgViCGvc629qNQXWMCmhhc191aW50MzKUSwCMCHVpbnRlZ2VylEsAdYwabnVtcHkucmFuZG9tLmJpdF9nZW5lcmF0b3KUjBtfX3B5eF91bnBpY2tsZV9TZWVkU2VxdWVuY2WUk5RoRIwMU2VlZFNlcXVlbmNllJOUSiKi6gNOh5RSlChLAEsAaBMolhAAAAAAAAAAB+tA/jY6Nk+dALJOp3qayJRoCIwCdTSUiYiHlFKUKEsDaAxOTk5K/////0r/////SwB0lGJLBIWUaBZ0lFKUSwQpdJRihpRihZRSlHViLg==",
93
+ "dtype": "float32",
94
+ "_shape": [
95
+ 6
96
+ ],
97
+ "low": "[-1. -1. -1. -1. -1. -1.]",
98
+ "bounded_below": "[ True True True True True True]",
99
+ "high": "[1. 1. 1. 1. 1. 1.]",
100
+ "bounded_above": "[ True True True True True True]",
101
+ "low_repr": "-1.0",
102
+ "high_repr": "1.0",
103
+ "_np_random": "Generator(PCG64)"
104
+ },
105
+ "n_envs": 1,
106
+ "n_steps": 512,
107
+ "gamma": 0.98,
108
+ "gae_lambda": 0.92,
109
+ "ent_coef": 0.000401762,
110
+ "vf_coef": 0.58096,
111
+ "max_grad_norm": 0.8,
112
+ "rollout_buffer_class": {
113
+ ":type:": "<class 'abc.ABCMeta'>",
114
+ ":serialized:": "gAWVNgAAAAAAAACMIHN0YWJsZV9iYXNlbGluZXMzLmNvbW1vbi5idWZmZXJzlIwNUm9sbG91dEJ1ZmZlcpSTlC4=",
115
+ "__module__": "stable_baselines3.common.buffers",
116
+ "__annotations__": "{'observations': <class 'numpy.ndarray'>, 'actions': <class 'numpy.ndarray'>, 'rewards': <class 'numpy.ndarray'>, 'advantages': <class 'numpy.ndarray'>, 'returns': <class 'numpy.ndarray'>, 'episode_starts': <class 'numpy.ndarray'>, 'log_probs': <class 'numpy.ndarray'>, 'values': <class 'numpy.ndarray'>}",
117
+ "__doc__": "\n Rollout buffer used in on-policy algorithms like A2C/PPO.\n It corresponds to ``buffer_size`` transitions collected\n using the current policy.\n This experience will be discarded after the policy update.\n In order to use PPO objective, we also store the current value of each state\n and the log probability of each taken action.\n\n The term rollout here refers to the model-free notion and should not\n be used with the concept of rollout used in model-based RL or planning.\n Hence, it is only involved in policy and value function training but not action selection.\n\n :param buffer_size: Max number of element in the buffer\n :param observation_space: Observation space\n :param action_space: Action space\n :param device: PyTorch device\n :param gae_lambda: Factor for trade-off of bias vs variance for Generalized Advantage Estimator\n Equivalent to classic advantage when set to 1.\n :param gamma: Discount factor\n :param n_envs: Number of parallel environments\n ",
118
+ "__init__": "<function RolloutBuffer.__init__ at 0x7f96d402fd90>",
119
+ "reset": "<function RolloutBuffer.reset at 0x7f96d402fe20>",
120
+ "compute_returns_and_advantage": "<function RolloutBuffer.compute_returns_and_advantage at 0x7f96d402feb0>",
121
+ "add": "<function RolloutBuffer.add at 0x7f96d402ff40>",
122
+ "get": "<function RolloutBuffer.get at 0x7f96d4034040>",
123
+ "_get_samples": "<function RolloutBuffer._get_samples at 0x7f96d40340d0>",
124
+ "__abstractmethods__": "frozenset()",
125
+ "_abc_impl": "<_abc._abc_data object at 0x7f96d402a340>"
126
+ },
127
+ "rollout_buffer_kwargs": {},
128
+ "batch_size": 64,
129
+ "n_epochs": 20,
130
+ "clip_range": {
131
+ ":type:": "<class 'stable_baselines3.common.utils.FloatSchedule'>",
132
+ ":serialized:": "gAWVeQAAAAAAAACMHnN0YWJsZV9iYXNlbGluZXMzLmNvbW1vbi51dGlsc5SMDUZsb2F0U2NoZWR1bGWUk5QpgZR9lIwOdmFsdWVfc2NoZWR1bGWUaACMEENvbnN0YW50U2NoZWR1bGWUk5QpgZR9lIwDdmFslEc/uZmZmZmZmnNic2Iu",
133
+ "value_schedule": "ConstantSchedule(val=0.1)"
134
+ },
135
+ "clip_range_vf": null,
136
+ "normalize_advantage": true,
137
+ "target_kl": null,
138
+ "lr_schedule": {
139
+ ":type:": "<class 'stable_baselines3.common.utils.FloatSchedule'>",
140
+ ":serialized:": "gAWVeQAAAAAAAACMHnN0YWJsZV9iYXNlbGluZXMzLmNvbW1vbi51dGlsc5SMDUZsb2F0U2NoZWR1bGWUk5QpgZR9lIwOdmFsdWVfc2NoZWR1bGWUaACMEENvbnN0YW50U2NoZWR1bGWUk5QpgZR9lIwDdmFslEc+9aKg9qeJE3Nic2Iu",
141
+ "value_schedule": "ConstantSchedule(val=2.0633e-05)"
142
+ }
143
+ }
ppo-HalfCheetah-v3/policy.optimizer.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b2bdefdb6c7a7748f8d9ca9577e77895a4bb5d7d0c992ac36c5536cebc975626
3
+ size 1151726
ppo-HalfCheetah-v3/policy.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:43226aca7b8cf364337f94090b554f787abad874ab0230b65d63b58650eccd28
3
+ size 575548
ppo-HalfCheetah-v3/pytorch_variables.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:07c7431cf6005e7d8f367d79e995f63e2f9b981a37e3437b795d058f9af4308b
3
+ size 1261
ppo-HalfCheetah-v3/system_info.txt ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ - OS: Linux-6.11.0-26-generic-x86_64-with-glibc2.31 # 26~24.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Apr 17 19:20:47 UTC 2
2
+ - Python: 3.10.12
3
+ - Stable-Baselines3: 2.7.0a0
4
+ - PyTorch: 2.7.1+cu126
5
+ - GPU Enabled: False
6
+ - Numpy: 2.2.6
7
+ - Cloudpickle: 3.1.1
8
+ - Gymnasium: 1.1.1
9
+ - OpenAI Gym: 0.26.2
results.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"mean_reward": 5111.061635600001, "std_reward": 1825.579953983216, "is_deterministic": true, "n_eval_episodes": 10, "eval_datetime": "2025-06-16T20:13:42.460528"}
train_eval_metrics.zip ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:23d90dcfde3cef1ee0c7dd6d70023252362276878c055f6d3700b876cfd6270f
3
+ size 33146
vec_normalize.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1b5e7e6b9ba4c7a4da2b5f6ecf4ffc90a2e9aa1f0bfff6d812cda95111e100d5
3
+ size 2558