Quentin Gallouédec commited on
Commit
e424766
1 Parent(s): abe142d

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,77 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ library_name: stable-baselines3
3
+ tags:
4
+ - HalfCheetahBulletEnv-v0
5
+ - deep-reinforcement-learning
6
+ - reinforcement-learning
7
+ - stable-baselines3
8
+ model-index:
9
+ - name: DDPG
10
+ results:
11
+ - task:
12
+ type: reinforcement-learning
13
+ name: reinforcement-learning
14
+ dataset:
15
+ name: HalfCheetahBulletEnv-v0
16
+ type: HalfCheetahBulletEnv-v0
17
+ metrics:
18
+ - type: mean_reward
19
+ value: 2562.76 +/- 118.13
20
+ name: mean_reward
21
+ verified: false
22
+ ---
23
+
24
+ # **DDPG** Agent playing **HalfCheetahBulletEnv-v0**
25
+ This is a trained model of a **DDPG** agent playing **HalfCheetahBulletEnv-v0**
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 ddpg --env HalfCheetahBulletEnv-v0 -orga qgallouedec -f logs/
47
+ python -m rl_zoo3.enjoy --algo ddpg --env HalfCheetahBulletEnv-v0 -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 ddpg --env HalfCheetahBulletEnv-v0 -orga qgallouedec -f logs/
53
+ python -m rl_zoo3.enjoy --algo ddpg --env HalfCheetahBulletEnv-v0 -f logs/
54
+ ```
55
+
56
+ ## Training (with the RL Zoo)
57
+ ```
58
+ python -m rl_zoo3.train --algo ddpg --env HalfCheetahBulletEnv-v0 -f logs/
59
+ # Upload the model and generate video (when possible)
60
+ python -m rl_zoo3.push_to_hub --algo ddpg --env HalfCheetahBulletEnv-v0 -f logs/ -orga qgallouedec
61
+ ```
62
+
63
+ ## Hyperparameters
64
+ ```python
65
+ OrderedDict([('buffer_size', 200000),
66
+ ('gamma', 0.98),
67
+ ('gradient_steps', 1),
68
+ ('learning_rate', 0.001),
69
+ ('learning_starts', 10000),
70
+ ('n_timesteps', 1000000.0),
71
+ ('noise_std', 0.1),
72
+ ('noise_type', 'normal'),
73
+ ('policy', 'MlpPolicy'),
74
+ ('policy_kwargs', 'dict(net_arch=[400, 300])'),
75
+ ('train_freq', 1),
76
+ ('normalize', False)])
77
+ ```
args.yml ADDED
@@ -0,0 +1,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ !!python/object/apply:collections.OrderedDict
2
+ - - - algo
3
+ - ddpg
4
+ - - conf_file
5
+ - null
6
+ - - device
7
+ - auto
8
+ - - env
9
+ - HalfCheetahBulletEnv-v0
10
+ - - env_kwargs
11
+ - null
12
+ - - eval_episodes
13
+ - 5
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
+ - 1
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
+ - 1712752751
58
+ - - storage
59
+ - null
60
+ - - study_name
61
+ - null
62
+ - - tensorboard_log
63
+ - runs/HalfCheetahBulletEnv-v0__ddpg__1712752751__1671800887
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
+ - - yaml_file
81
+ - null
config.yml ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ !!python/object/apply:collections.OrderedDict
2
+ - - - buffer_size
3
+ - 200000
4
+ - - gamma
5
+ - 0.98
6
+ - - gradient_steps
7
+ - 1
8
+ - - learning_rate
9
+ - 0.001
10
+ - - learning_starts
11
+ - 10000
12
+ - - n_timesteps
13
+ - 1000000.0
14
+ - - noise_std
15
+ - 0.1
16
+ - - noise_type
17
+ - normal
18
+ - - policy
19
+ - MlpPolicy
20
+ - - policy_kwargs
21
+ - dict(net_arch=[400, 300])
22
+ - - train_freq
23
+ - 1
ddpg-HalfCheetahBulletEnv-v0.zip ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:cb9a8f30ec8a1f61878abb3ee53af51dcfb60d08dda53aba3dc978f59b70ec7a
3
+ size 4306105
ddpg-HalfCheetahBulletEnv-v0/_stable_baselines3_version ADDED
@@ -0,0 +1 @@
 
 
1
+ 1.8.0a6
ddpg-HalfCheetahBulletEnv-v0/actor.optimizer.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:baeb27fb35c0696d977c96a2f19a40325675eb330abf16d0ea6413f64d23c910
3
+ size 1068079
ddpg-HalfCheetahBulletEnv-v0/critic.optimizer.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:346d99fa28f62004886f8955abd1336e63223391468344344c1ffdaed6498486
3
+ size 1075247
ddpg-HalfCheetahBulletEnv-v0/data ADDED
@@ -0,0 +1,135 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "policy_class": {
3
+ ":type:": "<class 'abc.ABCMeta'>",
4
+ ":serialized:": "gAWVMAAAAAAAAACMHnN0YWJsZV9iYXNlbGluZXMzLnRkMy5wb2xpY2llc5SMCVREM1BvbGljeZSTlC4=",
5
+ "__module__": "stable_baselines3.td3.policies",
6
+ "__doc__": "\n Policy class (with both actor and critic) for TD3.\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 features_extractor_class: Features extractor to use.\n :param features_extractor_kwargs: Keyword arguments\n to pass to the features extractor.\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 :param n_critics: Number of critic networks to create.\n :param share_features_extractor: Whether to share or not the features extractor\n between the actor and the critic (this saves computation time)\n ",
7
+ "__init__": "<function TD3Policy.__init__ at 0x7f3c13b6e940>",
8
+ "_build": "<function TD3Policy._build at 0x7f3c13b6e9d0>",
9
+ "_get_constructor_parameters": "<function TD3Policy._get_constructor_parameters at 0x7f3c13b6ea60>",
10
+ "make_actor": "<function TD3Policy.make_actor at 0x7f3c13b6eaf0>",
11
+ "make_critic": "<function TD3Policy.make_critic at 0x7f3c13b6eb80>",
12
+ "forward": "<function TD3Policy.forward at 0x7f3c13b6ec10>",
13
+ "_predict": "<function TD3Policy._predict at 0x7f3c13b6eca0>",
14
+ "set_training_mode": "<function TD3Policy.set_training_mode at 0x7f3c13b6ed30>",
15
+ "__abstractmethods__": "frozenset()",
16
+ "_abc_impl": "<_abc._abc_data object at 0x7f3c140034c0>"
17
+ },
18
+ "verbose": 1,
19
+ "policy_kwargs": {
20
+ "net_arch": [
21
+ 400,
22
+ 300
23
+ ],
24
+ "n_critics": 1
25
+ },
26
+ "observation_space": {
27
+ ":type:": "<class 'gym.spaces.box.Box'>",
28
+ ":serialized:": "gAWVWQIAAAAAAACMDmd5bS5zcGFjZXMuYm94lIwDQm94lJOUKYGUfZQojAVkdHlwZZSMBW51bXB5lIwFZHR5cGWUk5SMAmY0lImIh5RSlChLA4wBPJROTk5K/////0r/////SwB0lGKMBl9zaGFwZZRLGoWUjANsb3eUjBJudW1weS5jb3JlLm51bWVyaWOUjAtfZnJvbWJ1ZmZlcpSTlCiWaAAAAAAAAAAAAID/AACA/wAAgP8AAID/AACA/wAAgP8AAID/AACA/wAAgP8AAID/AACA/wAAgP8AAID/AACA/wAAgP8AAID/AACA/wAAgP8AAID/AACA/wAAgP8AAID/AACA/wAAgP8AAID/AACA/5RoC0sahZSMAUOUdJRSlIwEaGlnaJRoEyiWaAAAAAAAAAAAAIB/AACAfwAAgH8AAIB/AACAfwAAgH8AAIB/AACAfwAAgH8AAIB/AACAfwAAgH8AAIB/AACAfwAAgH8AAIB/AACAfwAAgH8AAIB/AACAfwAAgH8AAIB/AACAfwAAgH8AAIB/AACAf5RoC0sahZRoFnSUUpSMDWJvdW5kZWRfYmVsb3eUaBMolhoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUaAiMAmIxlImIh5RSlChLA4wBfJROTk5K/////0r/////SwB0lGJLGoWUaBZ0lFKUjA1ib3VuZGVkX2Fib3ZllGgTKJYaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlGgiSxqFlGgWdJRSlIwKX25wX3JhbmRvbZROdWIu",
29
+ "dtype": "float32",
30
+ "_shape": [
31
+ 26
32
+ ],
33
+ "low": "[-inf -inf -inf -inf -inf -inf -inf -inf -inf -inf -inf -inf -inf -inf\n -inf -inf -inf -inf -inf -inf -inf -inf -inf -inf -inf -inf]",
34
+ "high": "[inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf\n inf inf inf inf inf inf inf inf]",
35
+ "bounded_below": "[False False False False False False False False False False False False\n False False False False False False False False False False False False\n False False]",
36
+ "bounded_above": "[False False False False False False False False False False False False\n False False False False False False False False False False False False\n False False]",
37
+ "_np_random": null
38
+ },
39
+ "action_space": {
40
+ ":type:": "<class 'gym.spaces.box.Box'>",
41
+ ":serialized:": "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",
42
+ "dtype": "float32",
43
+ "_shape": [
44
+ 6
45
+ ],
46
+ "low": "[-1. -1. -1. -1. -1. -1.]",
47
+ "high": "[1. 1. 1. 1. 1. 1.]",
48
+ "bounded_below": "[ True True True True True True]",
49
+ "bounded_above": "[ True True True True True True]",
50
+ "_np_random": "RandomState(MT19937)"
51
+ },
52
+ "n_envs": 1,
53
+ "num_timesteps": 1000000,
54
+ "_total_timesteps": 1000000,
55
+ "_num_timesteps_at_start": 0,
56
+ "seed": 0,
57
+ "action_noise": {
58
+ ":type:": "<class 'stable_baselines3.common.noise.NormalActionNoise'>",
59
+ ":serialized:": "gAWVOgEAAAAAAACMHnN0YWJsZV9iYXNlbGluZXMzLmNvbW1vbi5ub2lzZZSMEU5vcm1hbEFjdGlvbk5vaXNllJOUKYGUfZQojANfbXWUjBJudW1weS5jb3JlLm51bWVyaWOUjAtfZnJvbWJ1ZmZlcpSTlCiWMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUjAVudW1weZSMBWR0eXBllJOUjAJmOJSJiIeUUpQoSwOMATyUTk5OSv////9K/////0sAdJRiSwaFlIwBQ5R0lFKUjAZfc2lnbWGUaAgoljAAAAAAAAAAmpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/lGgPSwaFlGgTdJRSlHViLg==",
60
+ "_mu": "[0. 0. 0. 0. 0. 0.]",
61
+ "_sigma": "[0.1 0.1 0.1 0.1 0.1 0.1]"
62
+ },
63
+ "start_time": 1671800889499773814,
64
+ "learning_rate": {
65
+ ":type:": "<class 'function'>",
66
+ ":serialized:": "gAWVvQIAAAAAAACMF2Nsb3VkcGlja2xlLmNsb3VkcGlja2xllIwOX21ha2VfZnVuY3Rpb26Uk5QoaACMDV9idWlsdGluX3R5cGWUk5SMCENvZGVUeXBllIWUUpQoSwFLAEsASwFLAUsTQwSIAFMAlE6FlCmMAV+UhZSMRS9ob21lL3FnYWxsb3VlZGVjL3N0YWJsZS1iYXNlbGluZXMzL3N0YWJsZV9iYXNlbGluZXMzL2NvbW1vbi91dGlscy5weZSMBGZ1bmOUS4BDAgABlIwDdmFslIWUKXSUUpR9lCiMC19fcGFja2FnZV9flIwYc3RhYmxlX2Jhc2VsaW5lczMuY29tbW9ulIwIX19uYW1lX1+UjB5zdGFibGVfYmFzZWxpbmVzMy5jb21tb24udXRpbHOUjAhfX2ZpbGVfX5SMRS9ob21lL3FnYWxsb3VlZGVjL3N0YWJsZS1iYXNlbGluZXMzL3N0YWJsZV9iYXNlbGluZXMzL2NvbW1vbi91dGlscy5weZR1Tk5oAIwQX21ha2VfZW1wdHlfY2VsbJSTlClSlIWUdJRSlIwcY2xvdWRwaWNrbGUuY2xvdWRwaWNrbGVfZmFzdJSMEl9mdW5jdGlvbl9zZXRzdGF0ZZSTlGgffZR9lChoFmgNjAxfX3F1YWxuYW1lX1+UjBljb25zdGFudF9mbi48bG9jYWxzPi5mdW5jlIwPX19hbm5vdGF0aW9uc19flH2UjA5fX2t3ZGVmYXVsdHNfX5ROjAxfX2RlZmF1bHRzX1+UTowKX19tb2R1bGVfX5RoF4wHX19kb2NfX5ROjAtfX2Nsb3N1cmVfX5RoAIwKX21ha2VfY2VsbJSTlEc/UGJN0vGp/IWUUpSFlIwXX2Nsb3VkcGlja2xlX3N1Ym1vZHVsZXOUXZSMC19fZ2xvYmFsc19flH2UdYaUhlIwLg=="
67
+ },
68
+ "tensorboard_log": "runs/HalfCheetahBulletEnv-v0__ddpg__1712752751__1671800887/HalfCheetahBulletEnv-v0",
69
+ "lr_schedule": {
70
+ ":type:": "<class 'function'>",
71
+ ":serialized:": "gAWVvQIAAAAAAACMF2Nsb3VkcGlja2xlLmNsb3VkcGlja2xllIwOX21ha2VfZnVuY3Rpb26Uk5QoaACMDV9idWlsdGluX3R5cGWUk5SMCENvZGVUeXBllIWUUpQoSwFLAEsASwFLAUsTQwSIAFMAlE6FlCmMAV+UhZSMRS9ob21lL3FnYWxsb3VlZGVjL3N0YWJsZS1iYXNlbGluZXMzL3N0YWJsZV9iYXNlbGluZXMzL2NvbW1vbi91dGlscy5weZSMBGZ1bmOUS4BDAgABlIwDdmFslIWUKXSUUpR9lCiMC19fcGFja2FnZV9flIwYc3RhYmxlX2Jhc2VsaW5lczMuY29tbW9ulIwIX19uYW1lX1+UjB5zdGFibGVfYmFzZWxpbmVzMy5jb21tb24udXRpbHOUjAhfX2ZpbGVfX5SMRS9ob21lL3FnYWxsb3VlZGVjL3N0YWJsZS1iYXNlbGluZXMzL3N0YWJsZV9iYXNlbGluZXMzL2NvbW1vbi91dGlscy5weZR1Tk5oAIwQX21ha2VfZW1wdHlfY2VsbJSTlClSlIWUdJRSlIwcY2xvdWRwaWNrbGUuY2xvdWRwaWNrbGVfZmFzdJSMEl9mdW5jdGlvbl9zZXRzdGF0ZZSTlGgffZR9lChoFmgNjAxfX3F1YWxuYW1lX1+UjBljb25zdGFudF9mbi48bG9jYWxzPi5mdW5jlIwPX19hbm5vdGF0aW9uc19flH2UjA5fX2t3ZGVmYXVsdHNfX5ROjAxfX2RlZmF1bHRzX1+UTowKX19tb2R1bGVfX5RoF4wHX19kb2NfX5ROjAtfX2Nsb3N1cmVfX5RoAIwKX21ha2VfY2VsbJSTlEc/UGJN0vGp/IWUUpSFlIwXX2Nsb3VkcGlja2xlX3N1Ym1vZHVsZXOUXZSMC19fZ2xvYmFsc19flH2UdYaUhlIwLg=="
72
+ },
73
+ "_last_obs": null,
74
+ "_last_episode_starts": {
75
+ ":type:": "<class 'numpy.ndarray'>",
76
+ ":serialized:": "gAWVdAAAAAAAAACMEm51bXB5LmNvcmUubnVtZXJpY5SMC19mcm9tYnVmZmVylJOUKJYBAAAAAAAAAAGUjAVudW1weZSMBWR0eXBllJOUjAJiMZSJiIeUUpQoSwOMAXyUTk5OSv////9K/////0sAdJRiSwGFlIwBQ5R0lFKULg=="
77
+ },
78
+ "_last_original_obs": {
79
+ ":type:": "<class 'numpy.ndarray'>",
80
+ ":serialized:": "gAWV3QAAAAAAAACMEm51bXB5LmNvcmUubnVtZXJpY5SMC19mcm9tYnVmZmVylJOUKJZoAAAAAAAAAHo9Ub4AAAAAAACAP7m+hT8AAAAAu34OPgAAAABG4oG9UVfBvVXdmT9pXxg/YIY6v9V0l7+J4PY7ThGAP716ZrsG24w/hogQPi1olTx2Mj2+AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAlIwFbnVtcHmUjAVkdHlwZZSTlIwCZjSUiYiHlFKUKEsDjAE8lE5OTkr/////Sv////9LAHSUYksBSxqGlIwBQ5R0lFKULg=="
81
+ },
82
+ "_episode_num": 1000,
83
+ "use_sde": false,
84
+ "sde_sample_freq": -1,
85
+ "_current_progress_remaining": 0.0,
86
+ "ep_info_buffer": {
87
+ ":type:": "<class 'collections.deque'>",
88
+ ":serialized:": "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"
89
+ },
90
+ "ep_success_buffer": {
91
+ ":type:": "<class 'collections.deque'>",
92
+ ":serialized:": "gAWVIAAAAAAAAACMC2NvbGxlY3Rpb25zlIwFZGVxdWWUk5QpS2SGlFKULg=="
93
+ },
94
+ "_n_updates": 990000,
95
+ "buffer_size": 1,
96
+ "batch_size": 100,
97
+ "learning_starts": 10000,
98
+ "tau": 0.005,
99
+ "gamma": 0.98,
100
+ "gradient_steps": 1,
101
+ "optimize_memory_usage": false,
102
+ "replay_buffer_class": {
103
+ ":type:": "<class 'abc.ABCMeta'>",
104
+ ":serialized:": "gAWVNQAAAAAAAACMIHN0YWJsZV9iYXNlbGluZXMzLmNvbW1vbi5idWZmZXJzlIwMUmVwbGF5QnVmZmVylJOULg==",
105
+ "__module__": "stable_baselines3.common.buffers",
106
+ "__doc__": "\n Replay buffer used in off-policy algorithms like SAC/TD3.\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 n_envs: Number of parallel environments\n :param optimize_memory_usage: Enable a memory efficient variant\n of the replay buffer which reduces by almost a factor two the memory used,\n at a cost of more complexity.\n See https://github.com/DLR-RM/stable-baselines3/issues/37#issuecomment-637501195\n and https://github.com/DLR-RM/stable-baselines3/pull/28#issuecomment-637559274\n Cannot be used in combination with handle_timeout_termination.\n :param handle_timeout_termination: Handle timeout termination (due to timelimit)\n separately and treat the task as infinite horizon task.\n https://github.com/DLR-RM/stable-baselines3/issues/284\n ",
107
+ "__init__": "<function ReplayBuffer.__init__ at 0x7f3c13b6a430>",
108
+ "add": "<function ReplayBuffer.add at 0x7f3c13b6a4c0>",
109
+ "sample": "<function ReplayBuffer.sample at 0x7f3c13b6a550>",
110
+ "_get_samples": "<function ReplayBuffer._get_samples at 0x7f3c13b6a5e0>",
111
+ "__abstractmethods__": "frozenset()",
112
+ "_abc_impl": "<_abc._abc_data object at 0x7f3c13b61780>"
113
+ },
114
+ "replay_buffer_kwargs": {},
115
+ "train_freq": {
116
+ ":type:": "<class 'stable_baselines3.common.type_aliases.TrainFreq'>",
117
+ ":serialized:": "gAWVYQAAAAAAAACMJXN0YWJsZV9iYXNlbGluZXMzLmNvbW1vbi50eXBlX2FsaWFzZXOUjAlUcmFpbkZyZXGUk5RLAWgAjBJUcmFpbkZyZXF1ZW5jeVVuaXSUk5SMBHN0ZXCUhZRSlIaUgZQu"
118
+ },
119
+ "use_sde_at_warmup": false,
120
+ "policy_delay": 1,
121
+ "target_noise_clip": 0.0,
122
+ "target_policy_noise": 0.1,
123
+ "_action_repeat": [
124
+ null
125
+ ],
126
+ "surgeon": null,
127
+ "actor_batch_norm_stats": [],
128
+ "critic_batch_norm_stats": [],
129
+ "actor_batch_norm_stats_target": [],
130
+ "critic_batch_norm_stats_target": [],
131
+ "_last_action": {
132
+ ":type:": "<class 'numpy.ndarray'>",
133
+ ":serialized:": "gAWVjQAAAAAAAACMEm51bXB5LmNvcmUubnVtZXJpY5SMC19mcm9tYnVmZmVylJOUKJYYAAAAAAAAAKBgbT+1KSq/QFSmPg4EWj9Acn8/SHOTPpSMBW51bXB5lIwFZHR5cGWUk5SMAmY0lImIh5RSlChLA4wBPJROTk5K/////0r/////SwB0lGJLAUsGhpSMAUOUdJRSlC4="
134
+ }
135
+ }
ddpg-HalfCheetahBulletEnv-v0/policy.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5bd80519764be69cc8b243f57e937fae15329b53fec4946ba780201264d4504e
3
+ size 2141597
ddpg-HalfCheetahBulletEnv-v0/pytorch_variables.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d030ad8db708280fcae77d87e973102039acd23a11bdecc3db8eb6c0ac940ee1
3
+ size 431
ddpg-HalfCheetahBulletEnv-v0/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
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:4fb5ab42413941409243438ad9ccc8c208ffcc96db6ccc2b4a65365f89dd9c97
3
+ size 1279999
results.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"mean_reward": 2562.7610009000005, "std_reward": 118.13444218497027, "is_deterministic": true, "n_eval_episodes": 10, "eval_datetime": "2023-02-27T17:19:52.162052"}
train_eval_metrics.zip ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ad03823e6a5dc0338add9687f3241b121df42408cec3885ae0ee4871a6378244
3
+ size 34021