Quentin Gallouédec commited on
Commit
47fc0f4
1 Parent(s): 0ed0ae0

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
+ - AntBulletEnv-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: AntBulletEnv-v0
16
+ type: AntBulletEnv-v0
17
+ metrics:
18
+ - type: mean_reward
19
+ value: 3198.32 +/- 973.60
20
+ name: mean_reward
21
+ verified: false
22
+ ---
23
+
24
+ # **DDPG** Agent playing **AntBulletEnv-v0**
25
+ This is a trained model of a **DDPG** agent playing **AntBulletEnv-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 AntBulletEnv-v0 -orga qgallouedec -f logs/
47
+ python -m rl_zoo3.enjoy --algo ddpg --env AntBulletEnv-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 AntBulletEnv-v0 -orga qgallouedec -f logs/
53
+ python -m rl_zoo3.enjoy --algo ddpg --env AntBulletEnv-v0 -f logs/
54
+ ```
55
+
56
+ ## Training (with the RL Zoo)
57
+ ```
58
+ python -m rl_zoo3.train --algo ddpg --env AntBulletEnv-v0 -f logs/
59
+ # Upload the model and generate video (when possible)
60
+ python -m rl_zoo3.push_to_hub --algo ddpg --env AntBulletEnv-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.0007),
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
+ - AntBulletEnv-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
+ - 692217729
58
+ - - storage
59
+ - null
60
+ - - study_name
61
+ - null
62
+ - - tensorboard_log
63
+ - runs/AntBulletEnv-v0__ddpg__692217729__1671749149
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.0007
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-AntBulletEnv-v0.zip ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:16329df8f336c3ab034a2561ca1c89f6c10f0b1a91eb8df2c1f1aecd466b55cb
3
+ size 4354362
ddpg-AntBulletEnv-v0/_stable_baselines3_version ADDED
@@ -0,0 +1 @@
 
1
+ 1.8.0a6
ddpg-AntBulletEnv-v0/actor.optimizer.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4b01458b4819afb94d7ce236a883c2b58eb955c0386c9df99b8569fdd518b0e4
3
+ size 1079343
ddpg-AntBulletEnv-v0/critic.optimizer.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:be0e9b2b6185f349e2ac19132b4983d6490bfe375204571eeeaf9aceb8b6669f
3
+ size 1088047
ddpg-AntBulletEnv-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 0x7f02c842e940>",
8
+ "_build": "<function TD3Policy._build at 0x7f02c842e9d0>",
9
+ "_get_constructor_parameters": "<function TD3Policy._get_constructor_parameters at 0x7f02c842ea60>",
10
+ "make_actor": "<function TD3Policy.make_actor at 0x7f02c842eaf0>",
11
+ "make_critic": "<function TD3Policy.make_critic at 0x7f02c842eb80>",
12
+ "forward": "<function TD3Policy.forward at 0x7f02c842ec10>",
13
+ "_predict": "<function TD3Policy._predict at 0x7f02c842eca0>",
14
+ "set_training_mode": "<function TD3Policy.set_training_mode at 0x7f02c842ed30>",
15
+ "__abstractmethods__": "frozenset()",
16
+ "_abc_impl": "<_abc._abc_data object at 0x7f02c8a28c80>"
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:": "gAWVbQIAAAAAAACMDmd5bS5zcGFjZXMuYm94lIwDQm94lJOUKYGUfZQojAVkdHlwZZSMBW51bXB5lIwFZHR5cGWUk5SMAmY0lImIh5RSlChLA4wBPJROTk5K/////0r/////SwB0lGKMBl9zaGFwZZRLHIWUjANsb3eUjBJudW1weS5jb3JlLm51bWVyaWOUjAtfZnJvbWJ1ZmZlcpSTlCiWcAAAAAAAAAAAAID/AACA/wAAgP8AAID/AACA/wAAgP8AAID/AACA/wAAgP8AAID/AACA/wAAgP8AAID/AACA/wAAgP8AAID/AACA/wAAgP8AAID/AACA/wAAgP8AAID/AACA/wAAgP8AAID/AACA/wAAgP8AAID/lGgLSxyFlIwBQ5R0lFKUjARoaWdolGgTKJZwAAAAAAAAAAAAgH8AAIB/AACAfwAAgH8AAIB/AACAfwAAgH8AAIB/AACAfwAAgH8AAIB/AACAfwAAgH8AAIB/AACAfwAAgH8AAIB/AACAfwAAgH8AAIB/AACAfwAAgH8AAIB/AACAfwAAgH8AAIB/AACAfwAAgH+UaAtLHIWUaBZ0lFKUjA1ib3VuZGVkX2JlbG93lGgTKJYcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUaAiMAmIxlImIh5RSlChLA4wBfJROTk5K/////0r/////SwB0lGJLHIWUaBZ0lFKUjA1ib3VuZGVkX2Fib3ZllGgTKJYcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUaCJLHIWUaBZ0lFKUjApfbnBfcmFuZG9tlE51Yi4=",
29
+ "dtype": "float32",
30
+ "_shape": [
31
+ 28
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 -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 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 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 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
+ 8
45
+ ],
46
+ "low": "[-1. -1. -1. -1. -1. -1. -1. -1.]",
47
+ "high": "[1. 1. 1. 1. 1. 1. 1. 1.]",
48
+ "bounded_below": "[ True True True True True True True True]",
49
+ "bounded_above": "[ True True 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:": "gAWVWgEAAAAAAACMHnN0YWJsZV9iYXNlbGluZXMzLmNvbW1vbi5ub2lzZZSMEU5vcm1hbEFjdGlvbk5vaXNllJOUKYGUfZQojANfbXWUjBJudW1weS5jb3JlLm51bWVyaWOUjAtfZnJvbWJ1ZmZlcpSTlCiWQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlIwFbnVtcHmUjAVkdHlwZZSTlIwCZjiUiYiHlFKUKEsDjAE8lE5OTkr/////Sv////9LAHSUYksIhZSMAUOUdJRSlIwGX3NpZ21hlGgIKJZAAAAAAAAAAJqZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+UaA9LCIWUaBN0lFKUdWIu",
60
+ "_mu": "[0. 0. 0. 0. 0. 0. 0. 0.]",
61
+ "_sigma": "[0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1]"
62
+ },
63
+ "start_time": 1671749151412650260,
64
+ "learning_rate": {
65
+ ":type:": "<class 'function'>",
66
+ ":serialized:": "gAWVvQIAAAAAAACMF2Nsb3VkcGlja2xlLmNsb3VkcGlja2xllIwOX21ha2VfZnVuY3Rpb26Uk5QoaACMDV9idWlsdGluX3R5cGWUk5SMCENvZGVUeXBllIWUUpQoSwFLAEsASwFLAUsTQwSIAFMAlE6FlCmMAV+UhZSMRS9ob21lL3FnYWxsb3VlZGVjL3N0YWJsZS1iYXNlbGluZXMzL3N0YWJsZV9iYXNlbGluZXMzL2NvbW1vbi91dGlscy5weZSMBGZ1bmOUS4BDAgABlIwDdmFslIWUKXSUUpR9lCiMC19fcGFja2FnZV9flIwYc3RhYmxlX2Jhc2VsaW5lczMuY29tbW9ulIwIX19uYW1lX1+UjB5zdGFibGVfYmFzZWxpbmVzMy5jb21tb24udXRpbHOUjAhfX2ZpbGVfX5SMRS9ob21lL3FnYWxsb3VlZGVjL3N0YWJsZS1iYXNlbGluZXMzL3N0YWJsZV9iYXNlbGluZXMzL2NvbW1vbi91dGlscy5weZR1Tk5oAIwQX21ha2VfZW1wdHlfY2VsbJSTlClSlIWUdJRSlIwcY2xvdWRwaWNrbGUuY2xvdWRwaWNrbGVfZmFzdJSMEl9mdW5jdGlvbl9zZXRzdGF0ZZSTlGgffZR9lChoFmgNjAxfX3F1YWxuYW1lX1+UjBljb25zdGFudF9mbi48bG9jYWxzPi5mdW5jlIwPX19hbm5vdGF0aW9uc19flH2UjA5fX2t3ZGVmYXVsdHNfX5ROjAxfX2RlZmF1bHRzX1+UTowKX19tb2R1bGVfX5RoF4wHX19kb2NfX5ROjAtfX2Nsb3N1cmVfX5RoAIwKX21ha2VfY2VsbJSTlEc/RvAGjbi6x4WUUpSFlIwXX2Nsb3VkcGlja2xlX3N1Ym1vZHVsZXOUXZSMC19fZ2xvYmFsc19flH2UdYaUhlIwLg=="
67
+ },
68
+ "tensorboard_log": "runs/AntBulletEnv-v0__ddpg__692217729__1671749149/AntBulletEnv-v0",
69
+ "lr_schedule": {
70
+ ":type:": "<class 'function'>",
71
+ ":serialized:": "gAWVvQIAAAAAAACMF2Nsb3VkcGlja2xlLmNsb3VkcGlja2xllIwOX21ha2VfZnVuY3Rpb26Uk5QoaACMDV9idWlsdGluX3R5cGWUk5SMCENvZGVUeXBllIWUUpQoSwFLAEsASwFLAUsTQwSIAFMAlE6FlCmMAV+UhZSMRS9ob21lL3FnYWxsb3VlZGVjL3N0YWJsZS1iYXNlbGluZXMzL3N0YWJsZV9iYXNlbGluZXMzL2NvbW1vbi91dGlscy5weZSMBGZ1bmOUS4BDAgABlIwDdmFslIWUKXSUUpR9lCiMC19fcGFja2FnZV9flIwYc3RhYmxlX2Jhc2VsaW5lczMuY29tbW9ulIwIX19uYW1lX1+UjB5zdGFibGVfYmFzZWxpbmVzMy5jb21tb24udXRpbHOUjAhfX2ZpbGVfX5SMRS9ob21lL3FnYWxsb3VlZGVjL3N0YWJsZS1iYXNlbGluZXMzL3N0YWJsZV9iYXNlbGluZXMzL2NvbW1vbi91dGlscy5weZR1Tk5oAIwQX21ha2VfZW1wdHlfY2VsbJSTlClSlIWUdJRSlIwcY2xvdWRwaWNrbGUuY2xvdWRwaWNrbGVfZmFzdJSMEl9mdW5jdGlvbl9zZXRzdGF0ZZSTlGgffZR9lChoFmgNjAxfX3F1YWxuYW1lX1+UjBljb25zdGFudF9mbi48bG9jYWxzPi5mdW5jlIwPX19hbm5vdGF0aW9uc19flH2UjA5fX2t3ZGVmYXVsdHNfX5ROjAxfX2RlZmF1bHRzX1+UTowKX19tb2R1bGVfX5RoF4wHX19kb2NfX5ROjAtfX2Nsb3N1cmVfX5RoAIwKX21ha2VfY2VsbJSTlEc/RvAGjbi6x4WUUpSFlIwXX2Nsb3VkcGlja2xlX3N1Ym1vZHVsZXOUXZSMC19fZ2xvYmFsc19flH2UdYaUhlIwLg=="
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:": "gAWV5QAAAAAAAACMEm51bXB5LmNvcmUubnVtZXJpY5SMC19mcm9tYnVmZmVylJOUKJZwAAAAAAAAALlIDr7i8hu+igN9P09dlT/1uBK9526IPfemjL1yfTu+0cNmP8a9oD+cG48+pEJPPioVhb9nkSs+xM0ZP+6X/L6+wyK+oBl5vTKyoD4eOvQ+6mUJvpJTzz6Elku/8TN9vwAAgD8AAAAAAACAPwAAAACUjAVudW1weZSMBWR0eXBllJOUjAJmNJSJiIeUUpQoSwOMATyUTk5OSv////9K/////0sAdJRiSwFLHIaUjAFDlHSUUpQu"
81
+ },
82
+ "_episode_num": 1060,
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 0x7f02c842b430>",
108
+ "add": "<function ReplayBuffer.add at 0x7f02c842b4c0>",
109
+ "sample": "<function ReplayBuffer.sample at 0x7f02c842b550>",
110
+ "_get_samples": "<function ReplayBuffer._get_samples at 0x7f02c842b5e0>",
111
+ "__abstractmethods__": "frozenset()",
112
+ "_abc_impl": "<_abc._abc_data object at 0x7f02c8425300>"
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:": "gAWVlQAAAAAAAACMEm51bXB5LmNvcmUubnVtZXJpY5SMC19mcm9tYnVmZmVylJOUKJYgAAAAAAAAAG8cc79Mo24/2/x/v3+SQr888X0/xLj4voh/AT54um0/lIwFbnVtcHmUjAVkdHlwZZSTlIwCZjSUiYiHlFKUKEsDjAE8lE5OTkr/////Sv////9LAHSUYksBSwiGlIwBQ5R0lFKULg=="
134
+ }
135
+ }
ddpg-AntBulletEnv-v0/policy.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9df5c3cec72c8cc41dc8aec0c93ab8540d4287e1e4a64ba37c679cf2e435914b
3
+ size 2165597
ddpg-AntBulletEnv-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-AntBulletEnv-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:dca461b75f634abdd322441e4d81bb437577eebf4812638668c2de33692d6c41
3
+ size 1299189
results.json ADDED
@@ -0,0 +1 @@
 
1
+ {"mean_reward": 3198.3173718, "std_reward": 973.5970048889984, "is_deterministic": true, "n_eval_episodes": 10, "eval_datetime": "2023-02-27T17:22:45.741501"}
train_eval_metrics.zip ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:34e45485793714d9d2dea078e32ed0e087ca2cf68c0bafda4122d7a8bafd1172
3
+ size 35191