araffin commited on
Commit
ed43b7e
1 Parent(s): b845086

Initial commit

Browse files
.gitattributes CHANGED
@@ -25,3 +25,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
25
  *.zip filter=lfs diff=lfs merge=lfs -text
26
  *.zstandard filter=lfs diff=lfs merge=lfs -text
27
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
25
  *.zip filter=lfs diff=lfs merge=lfs -text
26
  *.zstandard filter=lfs diff=lfs merge=lfs -text
27
  *tfevents* filter=lfs diff=lfs merge=lfs -text
28
+ *.mp4 filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ library_name: stable-baselines3
3
+ tags:
4
+ - LunarLander-v2
5
+ - deep-reinforcement-learning
6
+ - reinforcement-learning
7
+ - stable-baselines3
8
+ model-index:
9
+ - name: DQN
10
+ results:
11
+ - metrics:
12
+ - type: mean_reward
13
+ value: 136.79 +/- 42.72
14
+ name: mean_reward
15
+ task:
16
+ type: reinforcement-learning
17
+ name: reinforcement-learning
18
+ dataset:
19
+ name: LunarLander-v2
20
+ type: LunarLander-v2
21
+ ---
22
+
23
+ # **DQN** Agent playing **LunarLander-v2**
24
+ This is a trained model of a **DQN** agent playing **LunarLander-v2**
25
+ using the [stable-baselines3 library](https://github.com/DLR-RM/stable-baselines3)
26
+ and the [RL Zoo](https://github.com/DLR-RM/rl-baselines3-zoo).
27
+
28
+ The RL Zoo is a training framework for Stable Baselines3
29
+ reinforcement learning agents,
30
+ with hyperparameter optimization and pre-trained agents included.
31
+
32
+ ## Usage (with SB3 RL Zoo)
33
+
34
+ RL Zoo: https://github.com/DLR-RM/rl-baselines3-zoo<br/>
35
+ SB3: https://github.com/DLR-RM/stable-baselines3<br/>
36
+ SB3 Contrib: https://github.com/Stable-Baselines-Team/stable-baselines3-contrib
37
+
38
+ ```
39
+ # Download model and save it into the logs/ folder
40
+ python -m utils.load_from_hub --algo dqn --env LunarLander-v2 -orga sb3 -f logs/
41
+ python enjoy.py --algo dqn --env LunarLander-v2 -f logs/
42
+ ```
43
+
44
+ ## Training (with the RL Zoo)
45
+ ```
46
+ python train.py --algo dqn --env LunarLander-v2 -f logs/
47
+ # Upload the model and generate video (when possible)
48
+ python -m utils.push_to_hub --algo dqn --env LunarLander-v2 -f logs/ -orga sb3
49
+ ```
50
+
51
+ ## Hyperparameters
52
+ ```python
53
+ OrderedDict([('batch_size', 128),
54
+ ('buffer_size', 50000),
55
+ ('exploration_final_eps', 0.1),
56
+ ('exploration_fraction', 0.12),
57
+ ('gamma', 0.99),
58
+ ('gradient_steps', -1),
59
+ ('learning_rate', 0.00063),
60
+ ('learning_starts', 0),
61
+ ('n_timesteps', 100000.0),
62
+ ('policy', 'MlpPolicy'),
63
+ ('policy_kwargs', 'dict(net_arch=[256, 256])'),
64
+ ('target_update_interval', 250),
65
+ ('train_freq', 4),
66
+ ('normalize', False)])
67
+ ```
args.yml ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ !!python/object/apply:collections.OrderedDict
2
+ - - - algo
3
+ - dqn
4
+ - - env
5
+ - LunarLander-v2
6
+ - - env_kwargs
7
+ - null
8
+ - - eval_episodes
9
+ - 10
10
+ - - eval_freq
11
+ - 10000
12
+ - - gym_packages
13
+ - []
14
+ - - hyperparams
15
+ - null
16
+ - - log_folder
17
+ - rl-trained-agents/
18
+ - - log_interval
19
+ - -1
20
+ - - n_evaluations
21
+ - 20
22
+ - - n_jobs
23
+ - 1
24
+ - - n_startup_trials
25
+ - 10
26
+ - - n_timesteps
27
+ - -1
28
+ - - n_trials
29
+ - 10
30
+ - - num_threads
31
+ - -1
32
+ - - optimize_hyperparameters
33
+ - false
34
+ - - pruner
35
+ - median
36
+ - - sampler
37
+ - tpe
38
+ - - save_freq
39
+ - -1
40
+ - - save_replay_buffer
41
+ - false
42
+ - - seed
43
+ - 2474133022
44
+ - - storage
45
+ - null
46
+ - - study_name
47
+ - null
48
+ - - tensorboard_log
49
+ - ''
50
+ - - trained_agent
51
+ - ''
52
+ - - truncate_last_trajectory
53
+ - true
54
+ - - uuid
55
+ - true
56
+ - - vec_env
57
+ - dummy
58
+ - - verbose
59
+ - 1
config.yml ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ !!python/object/apply:collections.OrderedDict
2
+ - - - batch_size
3
+ - 128
4
+ - - buffer_size
5
+ - 50000
6
+ - - exploration_final_eps
7
+ - 0.1
8
+ - - exploration_fraction
9
+ - 0.12
10
+ - - gamma
11
+ - 0.99
12
+ - - gradient_steps
13
+ - -1
14
+ - - learning_rate
15
+ - 0.00063
16
+ - - learning_starts
17
+ - 0
18
+ - - n_timesteps
19
+ - 100000.0
20
+ - - policy
21
+ - MlpPolicy
22
+ - - policy_kwargs
23
+ - dict(net_arch=[256, 256])
24
+ - - target_update_interval
25
+ - 250
26
+ - - train_freq
27
+ - 4
dqn-LunarLander-v2.zip ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ab12f9c04d2dfae036920008fbf5a3de163b8d8cd6af460cc93cdd7d549ab771
3
+ size 1134593
dqn-LunarLander-v2/_stable_baselines3_version ADDED
@@ -0,0 +1 @@
 
 
1
+ 1.5.1a8
dqn-LunarLander-v2/data ADDED
@@ -0,0 +1,122 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "policy_class": {
3
+ ":type:": "<class 'abc.ABCMeta'>",
4
+ ":serialized:": "gASVMAAAAAAAAACMHnN0YWJsZV9iYXNlbGluZXMzLmRxbi5wb2xpY2llc5SMCURRTlBvbGljeZSTlC4=",
5
+ "__module__": "stable_baselines3.dqn.policies",
6
+ "__doc__": "\n Policy class with Q-Value Net and target net for DQN\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 ",
7
+ "__init__": "<function DQNPolicy.__init__ at 0x7faaeb5c57a0>",
8
+ "_build": "<function DQNPolicy._build at 0x7faaeb5c5830>",
9
+ "make_q_net": "<function DQNPolicy.make_q_net at 0x7faaeb5c58c0>",
10
+ "forward": "<function DQNPolicy.forward at 0x7faaeb5c5950>",
11
+ "_predict": "<function DQNPolicy._predict at 0x7faaeb5c59e0>",
12
+ "_get_constructor_parameters": "<function DQNPolicy._get_constructor_parameters at 0x7faaeb5c5a70>",
13
+ "set_training_mode": "<function DQNPolicy.set_training_mode at 0x7faaeb5c5b00>",
14
+ "__abstractmethods__": "frozenset()",
15
+ "_abc_impl": "<_abc_data object at 0x7faaeb5b4660>"
16
+ },
17
+ "verbose": 1,
18
+ "policy_kwargs": {
19
+ "net_arch": [
20
+ 256,
21
+ 256
22
+ ]
23
+ },
24
+ "observation_space": {
25
+ ":type:": "<class 'gym.spaces.box.Box'>",
26
+ ":serialized:": "gASVwwEAAAAAAACMDmd5bS5zcGFjZXMuYm94lIwDQm94lJOUKYGUfZQojAVkdHlwZZSMBW51bXB5lGgFk5SMAmY0lImIh5RSlChLA4wBPJROTk5K/////0r/////SwB0lGKMA2xvd5SMFW51bXB5LmNvcmUubXVsdGlhcnJheZSMDF9yZWNvbnN0cnVjdJSTlGgGjAduZGFycmF5lJOUSwCFlEMBYpSHlFKUKEsBSwiFlGgKiUMgAACA/wAAgP8AAID/AACA/wAAgP8AAID/AACA/wAAgP+UdJRijARoaWdolGgQaBJLAIWUaBSHlFKUKEsBSwiFlGgKiUMgAACAfwAAgH8AAIB/AACAfwAAgH8AAIB/AACAfwAAgH+UdJRijA1ib3VuZGVkX2JlbG93lGgQaBJLAIWUaBSHlFKUKEsBSwiFlGgHjAJiMZSJiIeUUpQoSwOMAXyUTk5OSv////9K/////0sAdJRiiUMIAAAAAAAAAACUdJRijA1ib3VuZGVkX2Fib3ZllGgQaBJLAIWUaBSHlFKUKEsBSwiFlGgoiUMIAAAAAAAAAACUdJRijApfbnBfcmFuZG9tlE6MBl9zaGFwZZRLCIWUdWIu",
27
+ "dtype": "float32",
28
+ "low": "[-inf -inf -inf -inf -inf -inf -inf -inf]",
29
+ "high": "[inf inf inf inf inf inf inf inf]",
30
+ "bounded_below": "[False False False False False False False False]",
31
+ "bounded_above": "[False False False False False False False False]",
32
+ "_np_random": null,
33
+ "_shape": [
34
+ 8
35
+ ]
36
+ },
37
+ "action_space": {
38
+ ":type:": "<class 'gym.spaces.discrete.Discrete'>",
39
+ ":serialized:": "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",
40
+ "n": 4,
41
+ "dtype": "int64",
42
+ "_np_random": "RandomState(MT19937)",
43
+ "_shape": []
44
+ },
45
+ "n_envs": 1,
46
+ "num_timesteps": 100000,
47
+ "_total_timesteps": 100000,
48
+ "_num_timesteps_at_start": 0,
49
+ "seed": 0,
50
+ "action_noise": null,
51
+ "start_time": 1614712715.7553866,
52
+ "learning_rate": {
53
+ ":type:": "<class 'function'>",
54
+ ":serialized:": "gASV2QIAAAAAAACMF2Nsb3VkcGlja2xlLmNsb3VkcGlja2xllIwNX2J1aWx0aW5fdHlwZZSTlIwKTGFtYmRhVHlwZZSFlFKUKGgCjAhDb2RlVHlwZZSFlFKUKEsBSwBLAUsBSxNDBIgAUwCUToWUKYwBX5SFlIxVL3ZvbHVtZS9VU0VSU1RPUkUvcmFmZl9hbi9wcm9qZWN0cy90b3JjaHktYmFzZWxpbmVzL3N0YWJsZV9iYXNlbGluZXMzL2NvbW1vbi91dGlscy5weZSMBGZ1bmOUS3xDAgABlIwDdmFslIWUKXSUUpR9lCiMC19fcGFja2FnZV9flIwYc3RhYmxlX2Jhc2VsaW5lczMuY29tbW9ulIwIX19uYW1lX1+UjB5zdGFibGVfYmFzZWxpbmVzMy5jb21tb24udXRpbHOUjAhfX2ZpbGVfX5SMVS92b2x1bWUvVVNFUlNUT1JFL3JhZmZfYW4vcHJvamVjdHMvdG9yY2h5LWJhc2VsaW5lcy9zdGFibGVfYmFzZWxpbmVzMy9jb21tb24vdXRpbHMucHmUdU5OaACMEF9tYWtlX2VtcHR5X2NlbGyUk5QpUpSFlHSUUpSMHGNsb3VkcGlja2xlLmNsb3VkcGlja2xlX2Zhc3SUjBJfZnVuY3Rpb25fc2V0c3RhdGWUk5RoIH2UfZQoaBdoDowMX19xdWFsbmFtZV9flIwZY29uc3RhbnRfZm4uPGxvY2Fscz4uZnVuY5SMD19fYW5ub3RhdGlvbnNfX5R9lIwOX19rd2RlZmF1bHRzX1+UTowMX19kZWZhdWx0c19flE6MCl9fbW9kdWxlX1+UaBiMB19fZG9jX1+UTowLX19jbG9zdXJlX1+UaACMCl9tYWtlX2NlbGyUk5RHP0Sk0rK/202FlFKUhZSMF19jbG91ZHBpY2tsZV9zdWJtb2R1bGVzlF2UjAtfX2dsb2JhbHNfX5R9lHWGlIZSMC4="
55
+ },
56
+ "tensorboard_log": null,
57
+ "lr_schedule": {
58
+ ":type:": "<class 'function'>",
59
+ ":serialized:": "gASV2QIAAAAAAACMF2Nsb3VkcGlja2xlLmNsb3VkcGlja2xllIwNX2J1aWx0aW5fdHlwZZSTlIwKTGFtYmRhVHlwZZSFlFKUKGgCjAhDb2RlVHlwZZSFlFKUKEsBSwBLAUsBSxNDBIgAUwCUToWUKYwBX5SFlIxVL3ZvbHVtZS9VU0VSU1RPUkUvcmFmZl9hbi9wcm9qZWN0cy90b3JjaHktYmFzZWxpbmVzL3N0YWJsZV9iYXNlbGluZXMzL2NvbW1vbi91dGlscy5weZSMBGZ1bmOUS3xDAgABlIwDdmFslIWUKXSUUpR9lCiMC19fcGFja2FnZV9flIwYc3RhYmxlX2Jhc2VsaW5lczMuY29tbW9ulIwIX19uYW1lX1+UjB5zdGFibGVfYmFzZWxpbmVzMy5jb21tb24udXRpbHOUjAhfX2ZpbGVfX5SMVS92b2x1bWUvVVNFUlNUT1JFL3JhZmZfYW4vcHJvamVjdHMvdG9yY2h5LWJhc2VsaW5lcy9zdGFibGVfYmFzZWxpbmVzMy9jb21tb24vdXRpbHMucHmUdU5OaACMEF9tYWtlX2VtcHR5X2NlbGyUk5QpUpSFlHSUUpSMHGNsb3VkcGlja2xlLmNsb3VkcGlja2xlX2Zhc3SUjBJfZnVuY3Rpb25fc2V0c3RhdGWUk5RoIH2UfZQoaBdoDowMX19xdWFsbmFtZV9flIwZY29uc3RhbnRfZm4uPGxvY2Fscz4uZnVuY5SMD19fYW5ub3RhdGlvbnNfX5R9lIwOX19rd2RlZmF1bHRzX1+UTowMX19kZWZhdWx0c19flE6MCl9fbW9kdWxlX1+UaBiMB19fZG9jX1+UTowLX19jbG9zdXJlX1+UaACMCl9tYWtlX2NlbGyUk5RHP0Sk0rK/202FlFKUhZSMF19jbG91ZHBpY2tsZV9zdWJtb2R1bGVzlF2UjAtfX2dsb2JhbHNfX5R9lHWGlIZSMC4="
60
+ },
61
+ "_last_obs": null,
62
+ "_last_episode_starts": null,
63
+ "_last_original_obs": {
64
+ ":type:": "<class 'numpy.ndarray'>",
65
+ ":serialized:": "gASVqgAAAAAAAACMFW51bXB5LmNvcmUubXVsdGlhcnJheZSMDF9yZWNvbnN0cnVjdJSTlIwFbnVtcHmUjAduZGFycmF5lJOUSwCFlEMBYpSHlFKUKEsBSwFLCIaUaAOMBWR0eXBllJOUjAJmNJSJiIeUUpQoSwOMATyUTk5OSv////9K/////0sAdJRiiUMgM10dPK7xu7pV4vC7nQonPEh7IroSqRe9AACAPwAAgD+UdJRiLg=="
66
+ },
67
+ "_episode_num": 246,
68
+ "use_sde": false,
69
+ "sde_sample_freq": -1,
70
+ "_current_progress_remaining": 0.0,
71
+ "ep_info_buffer": {
72
+ ":type:": "<class 'collections.deque'>",
73
+ ":serialized:": "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"
74
+ },
75
+ "ep_success_buffer": {
76
+ ":type:": "<class 'collections.deque'>",
77
+ ":serialized:": "gASVIAAAAAAAAACMC2NvbGxlY3Rpb25zlIwFZGVxdWWUk5QpS2SGlFKULg=="
78
+ },
79
+ "_n_updates": 100000,
80
+ "buffer_size": 1,
81
+ "batch_size": 128,
82
+ "learning_starts": 0,
83
+ "tau": 1.0,
84
+ "gamma": 0.99,
85
+ "gradient_steps": -1,
86
+ "optimize_memory_usage": false,
87
+ "replay_buffer_class": {
88
+ ":type:": "<class 'abc.ABCMeta'>",
89
+ ":serialized:": "gASVNQAAAAAAAACMIHN0YWJsZV9iYXNlbGluZXMzLmNvbW1vbi5idWZmZXJzlIwMUmVwbGF5QnVmZmVylJOULg==",
90
+ "__module__": "stable_baselines3.common.buffers",
91
+ "__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:\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 :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 ",
92
+ "__init__": "<function ReplayBuffer.__init__ at 0x7faaeba33b90>",
93
+ "add": "<function ReplayBuffer.add at 0x7faaeba33c20>",
94
+ "sample": "<function ReplayBuffer.sample at 0x7faaeb59a7a0>",
95
+ "_get_samples": "<function ReplayBuffer._get_samples at 0x7faaeb59a830>",
96
+ "__abstractmethods__": "frozenset()",
97
+ "_abc_impl": "<_abc_data object at 0x7faaeba8a5d0>"
98
+ },
99
+ "replay_buffer_kwargs": {},
100
+ "train_freq": {
101
+ ":type:": "<class 'stable_baselines3.common.type_aliases.TrainFreq'>",
102
+ ":serialized:": "gASVYQAAAAAAAACMJXN0YWJsZV9iYXNlbGluZXMzLmNvbW1vbi50eXBlX2FsaWFzZXOUjAlUcmFpbkZyZXGUk5RLBGgAjBJUcmFpbkZyZXF1ZW5jeVVuaXSUk5SMBHN0ZXCUhZRSlIaUgZQu"
103
+ },
104
+ "actor": null,
105
+ "use_sde_at_warmup": false,
106
+ "exploration_initial_eps": 1.0,
107
+ "exploration_final_eps": 0.1,
108
+ "exploration_fraction": 0.12,
109
+ "target_update_interval": 250,
110
+ "_n_calls": 0,
111
+ "max_grad_norm": 10,
112
+ "exploration_rate": 0.1,
113
+ "exploration_schedule": {
114
+ ":type:": "<class 'function'>",
115
+ ":serialized:": "gASVbwMAAAAAAACMF2Nsb3VkcGlja2xlLmNsb3VkcGlja2xllIwNX2J1aWx0aW5fdHlwZZSTlIwKTGFtYmRhVHlwZZSFlFKUKGgCjAhDb2RlVHlwZZSFlFKUKEsBSwBLAUsESxNDLGQBfAAYAIgBawRyEIgAUwCIAmQBfAAYAIgAiAIYABQAiAEbABcAUwBkAFMAlE5LAYaUKYwScHJvZ3Jlc3NfcmVtYWluaW5nlIWUjE4vaG9tZS9hbnRvbmluL0RvY3VtZW50cy9ybC9zdGFibGUtYmFzZWxpbmVzMy9zdGFibGVfYmFzZWxpbmVzMy9jb21tb24vdXRpbHMucHmUjARmdW5jlEtuQwYAAQwBBAKUjANlbmSUjAxlbmRfZnJhY3Rpb26UjAVzdGFydJSHlCl0lFKUfZQojAtfX3BhY2thZ2VfX5SMGHN0YWJsZV9iYXNlbGluZXMzLmNvbW1vbpSMCF9fbmFtZV9flIwec3RhYmxlX2Jhc2VsaW5lczMuY29tbW9uLnV0aWxzlIwIX19maWxlX1+UjE4vaG9tZS9hbnRvbmluL0RvY3VtZW50cy9ybC9zdGFibGUtYmFzZWxpbmVzMy9zdGFibGVfYmFzZWxpbmVzMy9jb21tb24vdXRpbHMucHmUdU5OaACMEF9tYWtlX2VtcHR5X2NlbGyUk5QpUpRoHilSlGgeKVKUh5R0lFKUjBxjbG91ZHBpY2tsZS5jbG91ZHBpY2tsZV9mYXN0lIwSX2Z1bmN0aW9uX3NldHN0YXRllJOUaCR9lH2UKGgZaA6MDF9fcXVhbG5hbWVfX5SMG2dldF9saW5lYXJfZm4uPGxvY2Fscz4uZnVuY5SMD19fYW5ub3RhdGlvbnNfX5R9lChoC4wIYnVpbHRpbnOUjAVmbG9hdJSTlIwGcmV0dXJulGgwdYwOX19rd2RlZmF1bHRzX1+UTowMX19kZWZhdWx0c19flE6MCl9fbW9kdWxlX1+UaBqMB19fZG9jX1+UTowLX19jbG9zdXJlX1+UaACMCl9tYWtlX2NlbGyUk5RHP7mZmZmZmZqFlFKUaDhHP764UeuFHriFlFKUaDhHP/AAAAAAAACFlFKUh5SMF19jbG91ZHBpY2tsZV9zdWJtb2R1bGVzlF2UjAtfX2dsb2JhbHNfX5R9lHWGlIZSMC4="
116
+ },
117
+ "_last_dones": {
118
+ ":type:": "<class 'numpy.ndarray'>",
119
+ ":serialized:": "gASViQAAAAAAAACMFW51bXB5LmNvcmUubXVsdGlhcnJheZSMDF9yZWNvbnN0cnVjdJSTlIwFbnVtcHmUjAduZGFycmF5lJOUSwCFlEMBYpSHlFKUKEsBSwGFlGgDjAVkdHlwZZSTlIwCYjGUiYiHlFKUKEsDjAF8lE5OTkr/////Sv////9LAHSUYolDAQCUdJRiLg=="
120
+ },
121
+ "remove_time_limit_termination": false
122
+ }
dqn-LunarLander-v2/policy.optimizer.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:832c113664d3bcfe5921f9bcdefdcb30ea377e7ffef5e66193805bb3c251e074
3
+ size 556353
dqn-LunarLander-v2/policy.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7ae17334d392905a2ecb8646a1b9e2df258f5aae603f95e72177dbb101f0af51
3
+ size 557057
dqn-LunarLander-v2/pytorch_variables.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d030ad8db708280fcae77d87e973102039acd23a11bdecc3db8eb6c0ac940ee1
3
+ size 431
dqn-LunarLander-v2/system_info.txt ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ OS: Linux-5.13.0-44-generic-x86_64-with-debian-bullseye-sid #49~20.04.1-Ubuntu SMP Wed May 18 18:44:28 UTC 2022
2
+ Python: 3.7.10
3
+ Stable-Baselines3: 1.5.1a8
4
+ PyTorch: 1.11.0
5
+ GPU Enabled: True
6
+ Numpy: 1.21.2
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:9d670c90842b6594935c80cd3cc964bf6e7613c1d43627703619405cb5ae9716
3
+ size 200253
results.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"mean_reward": 136.79211860000004, "std_reward": 42.72373707474489, "is_deterministic": true, "n_eval_episodes": 10, "eval_datetime": "2022-06-02T19:49:27.418097"}
train_eval_metrics.zip ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:103950a029c43dcd0ff20aecdc5dbe763e1cc61e68b65fba6be9190613b8451d
3
+ size 9276