Quentin Gallouédec commited on
Commit
660a0ca
1 Parent(s): 339dd7d

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,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ library_name: stable-baselines3
3
+ tags:
4
+ - Walker2d-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: Walker2d-v3
16
+ type: Walker2d-v3
17
+ metrics:
18
+ - type: mean_reward
19
+ value: 4943.61 +/- 980.41
20
+ name: mean_reward
21
+ verified: false
22
+ ---
23
+
24
+ # **TRPO** Agent playing **Walker2d-v3**
25
+ This is a trained model of a **TRPO** agent playing **Walker2d-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 Walker2d-v3 -orga qgallouedec -f logs/
47
+ python -m rl_zoo3.enjoy --algo trpo --env Walker2d-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 Walker2d-v3 -orga qgallouedec -f logs/
53
+ python -m rl_zoo3.enjoy --algo trpo --env Walker2d-v3 -f logs/
54
+ ```
55
+
56
+ ## Training (with the RL Zoo)
57
+ ```
58
+ python -m rl_zoo3.train --algo trpo --env Walker2d-v3 -f logs/
59
+ # Upload the model and generate video (when possible)
60
+ python -m rl_zoo3.push_to_hub --algo trpo --env Walker2d-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
+ ('normalize_kwargs', {'norm_obs': True, 'norm_reward': False})])
79
+ ```
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
+ - Walker2d-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
+ - 2777209397
58
+ - - storage
59
+ - null
60
+ - - study_name
61
+ - null
62
+ - - tensorboard_log
63
+ - runs/Walker2d-v3__trpo__2777209397__1676371613
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,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
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:b28197933353803e83ccc3d42a6742fd415799bafcf564e2ffe4c1024891f47f
3
+ size 1294826
results.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"mean_reward": 4943.6106464, "std_reward": 980.4083419016871, "is_deterministic": true, "n_eval_episodes": 10, "eval_datetime": "2023-02-28T18:10:33.182274"}
train_eval_metrics.zip ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c13f2f9e37caf8dbb7c4fd9310f7f52bf1feb3eccedc7e3e84de3703948436e8
3
+ size 80426
trpo-Walker2d-v3.zip ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:db9326b60cc9b0e4be277c0ec2b6337058ac2eecbe1b7233e9730651f3b1fafd
3
+ size 117355
trpo-Walker2d-v3/_stable_baselines3_version ADDED
@@ -0,0 +1 @@
 
 
1
+ 1.8.0a6
trpo-Walker2d-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 0x7f1691293ee0>",
8
+ "_get_constructor_parameters": "<function ActorCriticPolicy._get_constructor_parameters at 0x7f1691293f70>",
9
+ "reset_noise": "<function ActorCriticPolicy.reset_noise at 0x7f1691295040>",
10
+ "_build_mlp_extractor": "<function ActorCriticPolicy._build_mlp_extractor at 0x7f16912950d0>",
11
+ "_build": "<function ActorCriticPolicy._build at 0x7f1691295160>",
12
+ "forward": "<function ActorCriticPolicy.forward at 0x7f16912951f0>",
13
+ "extract_features": "<function ActorCriticPolicy.extract_features at 0x7f1691295280>",
14
+ "_get_action_dist_from_latent": "<function ActorCriticPolicy._get_action_dist_from_latent at 0x7f1691295310>",
15
+ "_predict": "<function ActorCriticPolicy._predict at 0x7f16912953a0>",
16
+ "evaluate_actions": "<function ActorCriticPolicy.evaluate_actions at 0x7f1691295430>",
17
+ "get_distribution": "<function ActorCriticPolicy.get_distribution at 0x7f16912954c0>",
18
+ "predict_values": "<function ActorCriticPolicy.predict_values at 0x7f1691295550>",
19
+ "__abstractmethods__": "frozenset()",
20
+ "_abc_impl": "<_abc._abc_data object at 0x7f16912946c0>"
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:": "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",
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": 1676371616060511044,
57
+ "learning_rate": {
58
+ ":type:": "<class 'function'>",
59
+ ":serialized:": "gAWVjwIAAAAAAACMF2Nsb3VkcGlja2xlLmNsb3VkcGlja2xllIwOX21ha2VfZnVuY3Rpb26Uk5QoaACMDV9idWlsdGluX3R5cGWUk5SMCENvZGVUeXBllIWUUpQoSwFLAEsASwFLAUsTQwSIAFMAlE6FlCmMAV+UhZSMXS9ob21lL3FnYWxsb3VlZGVjL2Vudl9iZW5jaG1hcmsvbGliL3B5dGhvbjMuOC9zaXRlLXBhY2thZ2VzL3N0YWJsZV9iYXNlbGluZXMzL2NvbW1vbi91dGlscy5weZSMBGZ1bmOUS4JDAgABlIwDdmFslIWUKXSUUpR9lCiMC19fcGFja2FnZV9flIwYc3RhYmxlX2Jhc2VsaW5lczMuY29tbW9ulIwIX19uYW1lX1+UjB5zdGFibGVfYmFzZWxpbmVzMy5jb21tb24udXRpbHOUjAhfX2ZpbGVfX5RoDHVOTmgAjBBfbWFrZV9lbXB0eV9jZWxslJOUKVKUhZR0lFKUjBxjbG91ZHBpY2tsZS5jbG91ZHBpY2tsZV9mYXN0lIwSX2Z1bmN0aW9uX3NldHN0YXRllJOUaB59lH2UKGgWaA2MDF9fcXVhbG5hbWVfX5SMGWNvbnN0YW50X2ZuLjxsb2NhbHM+LmZ1bmOUjA9fX2Fubm90YXRpb25zX1+UfZSMDl9fa3dkZWZhdWx0c19flE6MDF9fZGVmYXVsdHNfX5ROjApfX21vZHVsZV9flGgXjAdfX2RvY19flE6MC19fY2xvc3VyZV9flGgAjApfbWFrZV9jZWxslJOURz9QYk3S8an8hZRSlIWUjBdfY2xvdWRwaWNrbGVfc3VibW9kdWxlc5RdlIwLX19nbG9iYWxzX1+UfZR1hpSGUjAu"
60
+ },
61
+ "tensorboard_log": "runs/Walker2d-v3__trpo__2777209397__1676371613/Walker2d-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:": "gAWVhQEAAAAAAACMEm51bXB5LmNvcmUubnVtZXJpY5SMC19mcm9tYnVmZmVylJOUKJYQAQAAAAAAAJEpsYpS7/M/ACD/ek28Hz8tMlZHR3dwv1TUJDi8b2q/NR3LpSBocD8uwR85Y3VYvxDa/xgEfTW/dPyE0BdGUT9jwkYPwFBxPwCJzHJxFA6/fRvoPwN3cT/4wLf5kD5jv1rwKRSll2E/mXMy5WP8cj+YF7rVDARAvyA0WBotx0y/NvZyjZCiYz/mQ1p1IPnzPwSdDf/L31c/Uld+VzyLYj8gIPPl4X9Av0DnU9zCbxG/cGEi0E5CXL9+/Lew105xv8VRGkVLjHA/Uy2vIBnIcT+Xj6ZkNlJvv1vbkdUIUHS/vCpaZlHEZD/FHgbMNz1nv6A5dB+SQ0u/4Ib3386fTj+wUTT0iZVKP7ZcLFVmQ2m/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.01,
101
+ "n_critic_updates": 20,
102
+ "sub_sampling_factor": 1
103
+ }
trpo-Walker2d-v3/policy.optimizer.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d565495e694f6afa5198a7d9377fd39610cc8d386b4163ec8c988c6470906be7
3
+ size 48047
trpo-Walker2d-v3/policy.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e8cfeb7fef7410f6083a415881980aa8f296658d429960a30ea64d52dae769e0
3
+ size 48766
trpo-Walker2d-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-Walker2d-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:3f04836ce51d2aaa84aeac81018fc0ce259f0f441b836d950601cafd7af4228f
3
+ size 4872