Initial commit
Browse files- README.md +1 -1
- config.json +1 -1
- ppo-AntBulletEnv-v0.zip +2 -2
- ppo-AntBulletEnv-v0/data +18 -8
- ppo-AntBulletEnv-v0/policy.optimizer.pth +2 -2
- ppo-AntBulletEnv-v0/policy.pth +2 -2
- replay.mp4 +0 -0
- results.json +1 -1
- vec_normalize.pkl +1 -1
README.md
CHANGED
@@ -16,7 +16,7 @@ model-index:
|
|
16 |
type: AntBulletEnv-v0
|
17 |
metrics:
|
18 |
- type: mean_reward
|
19 |
-
value:
|
20 |
name: mean_reward
|
21 |
verified: false
|
22 |
---
|
|
|
16 |
type: AntBulletEnv-v0
|
17 |
metrics:
|
18 |
- type: mean_reward
|
19 |
+
value: 896.56 +/- 9.60
|
20 |
name: mean_reward
|
21 |
verified: false
|
22 |
---
|
config.json
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"policy_class": {":type:": "<class 'abc.ABCMeta'>", ":serialized:": "gAWVOwAAAAAAAACMIXN0YWJsZV9iYXNlbGluZXMzLmNvbW1vbi5wb2xpY2llc5SMEUFjdG9yQ3JpdGljUG9saWN5lJOULg==", "__module__": "stable_baselines3.common.policies", "__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 ", "__init__": "<function ActorCriticPolicy.__init__ at 0x7f8f3ac4faf0>", "_get_constructor_parameters": "<function ActorCriticPolicy._get_constructor_parameters at 0x7f8f3ac4fb80>", "reset_noise": "<function ActorCriticPolicy.reset_noise at 0x7f8f3ac4fc10>", "_build_mlp_extractor": "<function ActorCriticPolicy._build_mlp_extractor at 0x7f8f3ac4fca0>", "_build": "<function ActorCriticPolicy._build at 0x7f8f3ac4fd30>", "forward": "<function ActorCriticPolicy.forward at 0x7f8f3ac4fdc0>", "extract_features": "<function ActorCriticPolicy.extract_features at 0x7f8f3ac4fe50>", "_get_action_dist_from_latent": "<function ActorCriticPolicy._get_action_dist_from_latent at 0x7f8f3ac4fee0>", "_predict": "<function ActorCriticPolicy._predict at 0x7f8f3ac4ff70>", "evaluate_actions": "<function ActorCriticPolicy.evaluate_actions at 0x7f8f3ac52040>", "get_distribution": "<function ActorCriticPolicy.get_distribution at 0x7f8f3ac520d0>", "predict_values": "<function ActorCriticPolicy.predict_values at 0x7f8f3ac52160>", "__abstractmethods__": "frozenset()", "_abc_impl": "<_abc._abc_data object at 0x7f8f3ac50980>"}, "verbose": 1, "policy_kwargs": {"net_arch": [256, 256]}, "observation_space": {":type:": "<class 'gym.spaces.box.Box'>", ":serialized:": "gAWVZwIAAAAAAACMDmd5bS5zcGFjZXMuYm94lIwDQm94lJOUKYGUfZQojAVkdHlwZZSMBW51bXB5lGgFk5SMAmY0lImIh5RSlChLA4wBPJROTk5K/////0r/////SwB0lGKMBl9zaGFwZZRLHIWUjANsb3eUjBJudW1weS5jb3JlLm51bWVyaWOUjAtfZnJvbWJ1ZmZlcpSTlCiWcAAAAAAAAAAAAID/AACA/wAAgP8AAID/AACA/wAAgP8AAID/AACA/wAAgP8AAID/AACA/wAAgP8AAID/AACA/wAAgP8AAID/AACA/wAAgP8AAID/AACA/wAAgP8AAID/AACA/wAAgP8AAID/AACA/wAAgP8AAID/lGgKSxyFlIwBQ5R0lFKUjARoaWdolGgSKJZwAAAAAAAAAAAAgH8AAIB/AACAfwAAgH8AAIB/AACAfwAAgH8AAIB/AACAfwAAgH8AAIB/AACAfwAAgH8AAIB/AACAfwAAgH8AAIB/AACAfwAAgH8AAIB/AACAfwAAgH8AAIB/AACAfwAAgH8AAIB/AACAfwAAgH+UaApLHIWUaBV0lFKUjA1ib3VuZGVkX2JlbG93lGgSKJYcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUaAeMAmIxlImIh5RSlChLA4wBfJROTk5K/////0r/////SwB0lGJLHIWUaBV0lFKUjA1ib3VuZGVkX2Fib3ZllGgSKJYcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUaCFLHIWUaBV0lFKUjApfbnBfcmFuZG9tlE51Yi4=", "dtype": "float32", "_shape": [28], "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]", "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]", "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]", "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]", "_np_random": null}, "action_space": {":type:": "<class 'gym.spaces.box.Box'>", ":serialized:": "gAWVnwEAAAAAAACMDmd5bS5zcGFjZXMuYm94lIwDQm94lJOUKYGUfZQojAVkdHlwZZSMBW51bXB5lGgFk5SMAmY0lImIh5RSlChLA4wBPJROTk5K/////0r/////SwB0lGKMBl9zaGFwZZRLCIWUjANsb3eUjBJudW1weS5jb3JlLm51bWVyaWOUjAtfZnJvbWJ1ZmZlcpSTlCiWIAAAAAAAAAAAAIC/AACAvwAAgL8AAIC/AACAvwAAgL8AAIC/AACAv5RoCksIhZSMAUOUdJRSlIwEaGlnaJRoEiiWIAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAP5RoCksIhZRoFXSUUpSMDWJvdW5kZWRfYmVsb3eUaBIolggAAAAAAAAAAQEBAQEBAQGUaAeMAmIxlImIh5RSlChLA4wBfJROTk5K/////0r/////SwB0lGJLCIWUaBV0lFKUjA1ib3VuZGVkX2Fib3ZllGgSKJYIAAAAAAAAAAEBAQEBAQEBlGghSwiFlGgVdJRSlIwKX25wX3JhbmRvbZROdWIu", "dtype": "float32", "_shape": [8], "low": "[-1. -1. -1. -1. -1. -1. -1. -1.]", "high": "[1. 1. 1. 1. 1. 1. 1. 1.]", "bounded_below": "[ True True True True True True True True]", "bounded_above": "[ True True True True True True True True]", "_np_random": null}, "n_envs": 4, "num_timesteps": 10240, "_total_timesteps": 10000, "_num_timesteps_at_start": 0, "seed": null, "action_noise": null, "start_time": 1678862787494909332, "learning_rate": 0.0003, "tensorboard_log": null, "lr_schedule": {":type:": "<class 'function'>", ":serialized:": "gAWVwwIAAAAAAACMF2Nsb3VkcGlja2xlLmNsb3VkcGlja2xllIwOX21ha2VfZnVuY3Rpb26Uk5QoaACMDV9idWlsdGluX3R5cGWUk5SMCENvZGVUeXBllIWUUpQoSwFLAEsASwFLAUsTQwSIAFMAlE6FlCmMAV+UhZSMSC91c3IvbG9jYWwvbGliL3B5dGhvbjMuOS9kaXN0LXBhY2thZ2VzL3N0YWJsZV9iYXNlbGluZXMzL2NvbW1vbi91dGlscy5weZSMBGZ1bmOUS4JDAgABlIwDdmFslIWUKXSUUpR9lCiMC19fcGFja2FnZV9flIwYc3RhYmxlX2Jhc2VsaW5lczMuY29tbW9ulIwIX19uYW1lX1+UjB5zdGFibGVfYmFzZWxpbmVzMy5jb21tb24udXRpbHOUjAhfX2ZpbGVfX5SMSC91c3IvbG9jYWwvbGliL3B5dGhvbjMuOS9kaXN0LXBhY2thZ2VzL3N0YWJsZV9iYXNlbGluZXMzL2NvbW1vbi91dGlscy5weZR1Tk5oAIwQX21ha2VfZW1wdHlfY2VsbJSTlClSlIWUdJRSlIwcY2xvdWRwaWNrbGUuY2xvdWRwaWNrbGVfZmFzdJSMEl9mdW5jdGlvbl9zZXRzdGF0ZZSTlGgffZR9lChoFmgNjAxfX3F1YWxuYW1lX1+UjBljb25zdGFudF9mbi48bG9jYWxzPi5mdW5jlIwPX19hbm5vdGF0aW9uc19flH2UjA5fX2t3ZGVmYXVsdHNfX5ROjAxfX2RlZmF1bHRzX1+UTowKX19tb2R1bGVfX5RoF4wHX19kb2NfX5ROjAtfX2Nsb3N1cmVfX5RoAIwKX21ha2VfY2VsbJSTlEc/M6kqMFUyYYWUUpSFlIwXX2Nsb3VkcGlja2xlX3N1Ym1vZHVsZXOUXZSMC19fZ2xvYmFsc19flH2UdYaUhlIwLg=="}, "_last_obs": {":type:": "<class 'numpy.ndarray'>", ":serialized:": "gAWVNQIAAAAAAACMEm51bXB5LmNvcmUubnVtZXJpY5SMC19mcm9tYnVmZmVylJOUKJbAAQAAAAAAAHTa+j4SBBrAACNFwNJtMsAlkUU/xafTPgF8rT87PxG/SZIGP6LVd8BnGr8/Kwi7vS0BeD/t1OK9uqHmPZhy3L88YYy/QZa0vTz/Tj9+/Bu/smHMvhNRjj7ckRW/y3LCvlE1jz4cdlLA8TkbPzRtnD7DDPa9EsTBv3U+V7/Zx5u9vtGGPv7BnT5EKJ69IbC4vagYgT/nqUa73Dqbvh+oKLyv1xg/i0ZzP04PKj72pBtAY9a1P1kENr+h7xg+chAXvRGSOr/L99m+ddYevjg5xL5RNY8+LrKbPvE5Gz80bZw+WUPfvqV7OcBsmLPAOl+ivANp7z0POpY+wkm5P9mZnb5cTPS+o3n9vDHHzz4gYzk+Rf53P/5cor0DJCA/hg3fvdTFjL+5OpU9HNp4PzOu0z0XkdE/V3olPDWjFb/oFGG9UTWPPhx2UsDxORs/NG2cPo0EeT7+kzfA9ViswFYL3T6Y4QvAabsbv2bk9D+bJP2+tfhFv/ImL8Bpbb8/YnEgvkaOdz8DogO9QRTcPoF2BcAM+Yu/qclgPc9ScD+NV0y+KfVyP7s2JEDoVhS//LSHP1E1jz4cdlLA8TkbP3x6UcCUjAVudW1weZSMBWR0eXBllJOUjAJmNJSJiIeUUpQoSwOMATyUTk5OSv////9K/////0sAdJRiSwRLHIaUjAFDlHSUUpQu"}, "_last_episode_starts": {":type:": "<class 'numpy.ndarray'>", ":serialized:": "gAWVdwAAAAAAAACMEm51bXB5LmNvcmUubnVtZXJpY5SMC19mcm9tYnVmZmVylJOUKJYEAAAAAAAAAAAAAACUjAVudW1weZSMBWR0eXBllJOUjAJiMZSJiIeUUpQoSwOMAXyUTk5OSv////9K/////0sAdJRiSwSFlIwBQ5R0lFKULg=="}, "_last_original_obs": {":type:": "<class 'numpy.ndarray'>", ":serialized:": "gAWVNQIAAAAAAACMEm51bXB5LmNvcmUubnVtZXJpY5SMC19mcm9tYnVmZmVylJOUKJbAAQAAAAAAAAAAAABfZUe2AACAPwAAAAAAAAAAAAAAAAAAAAAAAACAk1HZPQAAAACNYdm/AAAAAD4nDL0AAAAAzyXuPwAAAABwqfI7AAAAAKuX9z8AAAAAgt6uOwAAAACCp9u/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeT8zNgAAgD8AAAAAAAAAAAAAAAAAAAAAAAAAgAvXmTkAAAAAiGzcvwAAAABqoYi9AAAAAArS6j8AAAAAn6mMPQAAAADgeuM/AAAAAIJbAL4AAAAAzboAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJlhibUAAIA/AAAAAAAAAAAAAAAAAAAAAAAAAICVMTM8AAAAAHGd6b8AAAAAFavuugAAAABRpuE/AAAAAGD0DL4AAAAAVQH1PwAAAAB7nuy9AAAAADuz+L8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACu3CO2AACAPwAAAAAAAAAAAAAAAAAAAAAAAACAjMYHvgAAAABp6ue/AAAAAJzP370AAAAAfHnZPwAAAADlM7C8AAAAAOCEAEAAAAAAvn7wPQAAAACXkfO/AAAAAAAAAAAAAAAAAAAAAAAAAACUjAVudW1weZSMBWR0eXBllJOUjAJmNJSJiIeUUpQoSwOMATyUTk5OSv////9K/////0sAdJRiSwRLHIaUjAFDlHSUUpQu"}, "_episode_num": 0, "use_sde": false, "sde_sample_freq": -1, "_current_progress_remaining": -0.02400000000000002, "ep_info_buffer": {":type:": "<class 'collections.deque'>", ":serialized:": "gAWVIAEAAAAAAACMC2NvbGxlY3Rpb25zlIwFZGVxdWWUk5QpS2SGlFKUKH2UKIwBcpRHQH6WwyyleniMAWyUTegDjAF0lEdAr7VInMMZxnV9lChoBkdAgsur6ciGFmgHTegDaAhHQK+1SDlHSWt1fZQoaAZHQIJiGkzoEB9oB03oA2gIR0CvtUjxb0OFdX2UKGgGR0CDXvCQ9zOpaAdN6ANoCEdAr7VJuuRs/XV9lChoBkdAg8Ep4SpR42gHTegDaAhHQK/LTrmhdt51fZQoaAZHQIQyuBe5WiloB03oA2gIR0Cvy05byH2zdX2UKGgGR0CE1yz7/GVBaAdN6ANoCEdAr8tPNX5nDnV9lChoBkdAfqir/bTMJWgHTegDaAhHQK/LUD0163R1ZS4="}, "ep_success_buffer": {":type:": "<class 'collections.deque'>", ":serialized:": "gAWVIAAAAAAAAACMC2NvbGxlY3Rpb25zlIwFZGVxdWWUk5QpS2SGlFKULg=="}, "_n_updates": 4000, "n_steps": 64, "gamma": 0.99, "gae_lambda": 0.95, "ent_coef": 0.0, "vf_coef": 0.5, "max_grad_norm": 0.5, "batch_size": 64, "n_epochs": 5, "clip_range": {":type:": "<class 'function'>", ":serialized:": "gAWVwwIAAAAAAACMF2Nsb3VkcGlja2xlLmNsb3VkcGlja2xllIwOX21ha2VfZnVuY3Rpb26Uk5QoaACMDV9idWlsdGluX3R5cGWUk5SMCENvZGVUeXBllIWUUpQoSwFLAEsASwFLAUsTQwSIAFMAlE6FlCmMAV+UhZSMSC91c3IvbG9jYWwvbGliL3B5dGhvbjMuOS9kaXN0LXBhY2thZ2VzL3N0YWJsZV9iYXNlbGluZXMzL2NvbW1vbi91dGlscy5weZSMBGZ1bmOUS4JDAgABlIwDdmFslIWUKXSUUpR9lCiMC19fcGFja2FnZV9flIwYc3RhYmxlX2Jhc2VsaW5lczMuY29tbW9ulIwIX19uYW1lX1+UjB5zdGFibGVfYmFzZWxpbmVzMy5jb21tb24udXRpbHOUjAhfX2ZpbGVfX5SMSC91c3IvbG9jYWwvbGliL3B5dGhvbjMuOS9kaXN0LXBhY2thZ2VzL3N0YWJsZV9iYXNlbGluZXMzL2NvbW1vbi91dGlscy5weZR1Tk5oAIwQX21ha2VfZW1wdHlfY2VsbJSTlClSlIWUdJRSlIwcY2xvdWRwaWNrbGUuY2xvdWRwaWNrbGVfZmFzdJSMEl9mdW5jdGlvbl9zZXRzdGF0ZZSTlGgffZR9lChoFmgNjAxfX3F1YWxuYW1lX1+UjBljb25zdGFudF9mbi48bG9jYWxzPi5mdW5jlIwPX19hbm5vdGF0aW9uc19flH2UjA5fX2t3ZGVmYXVsdHNfX5ROjAxfX2RlZmF1bHRzX1+UTowKX19tb2R1bGVfX5RoF4wHX19kb2NfX5ROjAtfX2Nsb3N1cmVfX5RoAIwKX21ha2VfY2VsbJSTlEc/yZmZmZmZmoWUUpSFlIwXX2Nsb3VkcGlja2xlX3N1Ym1vZHVsZXOUXZSMC19fZ2xvYmFsc19flH2UdYaUhlIwLg=="}, "clip_range_vf": null, "normalize_advantage": true, "target_kl": null, "system_info": {"OS": "Linux-5.10.147+-x86_64-with-glibc2.31 # 1 SMP Sat Dec 10 16:00:40 UTC 2022", "Python": "3.9.16", "Stable-Baselines3": "1.7.0", "PyTorch": "1.13.1+cu116", "GPU Enabled": "False", "Numpy": "1.22.4", "Gym": "0.21.0"}}
|
|
|
1 |
+
{"policy_class": {":type:": "<class 'abc.ABCMeta'>", ":serialized:": "gAWVOwAAAAAAAACMIXN0YWJsZV9iYXNlbGluZXMzLmNvbW1vbi5wb2xpY2llc5SMEUFjdG9yQ3JpdGljUG9saWN5lJOULg==", "__module__": "stable_baselines3.common.policies", "__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 ", "__init__": "<function ActorCriticPolicy.__init__ at 0x7f8f3ac4faf0>", "_get_constructor_parameters": "<function ActorCriticPolicy._get_constructor_parameters at 0x7f8f3ac4fb80>", "reset_noise": "<function ActorCriticPolicy.reset_noise at 0x7f8f3ac4fc10>", "_build_mlp_extractor": "<function ActorCriticPolicy._build_mlp_extractor at 0x7f8f3ac4fca0>", "_build": "<function ActorCriticPolicy._build at 0x7f8f3ac4fd30>", "forward": "<function ActorCriticPolicy.forward at 0x7f8f3ac4fdc0>", "extract_features": "<function ActorCriticPolicy.extract_features at 0x7f8f3ac4fe50>", "_get_action_dist_from_latent": "<function ActorCriticPolicy._get_action_dist_from_latent at 0x7f8f3ac4fee0>", "_predict": "<function ActorCriticPolicy._predict at 0x7f8f3ac4ff70>", "evaluate_actions": "<function ActorCriticPolicy.evaluate_actions at 0x7f8f3ac52040>", "get_distribution": "<function ActorCriticPolicy.get_distribution at 0x7f8f3ac520d0>", "predict_values": "<function ActorCriticPolicy.predict_values at 0x7f8f3ac52160>", "__abstractmethods__": "frozenset()", "_abc_impl": "<_abc._abc_data object at 0x7f8f3ac50980>"}, "verbose": 1, "policy_kwargs": {"net_arch": [{"pi": [128, 128, 128], "vf": [128, 128, 128]}]}, "observation_space": {":type:": "<class 'gym.spaces.box.Box'>", ":serialized:": "gAWVZwIAAAAAAACMDmd5bS5zcGFjZXMuYm94lIwDQm94lJOUKYGUfZQojAVkdHlwZZSMBW51bXB5lGgFk5SMAmY0lImIh5RSlChLA4wBPJROTk5K/////0r/////SwB0lGKMBl9zaGFwZZRLHIWUjANsb3eUjBJudW1weS5jb3JlLm51bWVyaWOUjAtfZnJvbWJ1ZmZlcpSTlCiWcAAAAAAAAAAAAID/AACA/wAAgP8AAID/AACA/wAAgP8AAID/AACA/wAAgP8AAID/AACA/wAAgP8AAID/AACA/wAAgP8AAID/AACA/wAAgP8AAID/AACA/wAAgP8AAID/AACA/wAAgP8AAID/AACA/wAAgP8AAID/lGgKSxyFlIwBQ5R0lFKUjARoaWdolGgSKJZwAAAAAAAAAAAAgH8AAIB/AACAfwAAgH8AAIB/AACAfwAAgH8AAIB/AACAfwAAgH8AAIB/AACAfwAAgH8AAIB/AACAfwAAgH8AAIB/AACAfwAAgH8AAIB/AACAfwAAgH8AAIB/AACAfwAAgH8AAIB/AACAfwAAgH+UaApLHIWUaBV0lFKUjA1ib3VuZGVkX2JlbG93lGgSKJYcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUaAeMAmIxlImIh5RSlChLA4wBfJROTk5K/////0r/////SwB0lGJLHIWUaBV0lFKUjA1ib3VuZGVkX2Fib3ZllGgSKJYcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUaCFLHIWUaBV0lFKUjApfbnBfcmFuZG9tlE51Yi4=", "dtype": "float32", "_shape": [28], "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]", "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]", "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]", "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]", "_np_random": null}, "action_space": {":type:": "<class 'gym.spaces.box.Box'>", ":serialized:": "gAWVnwEAAAAAAACMDmd5bS5zcGFjZXMuYm94lIwDQm94lJOUKYGUfZQojAVkdHlwZZSMBW51bXB5lGgFk5SMAmY0lImIh5RSlChLA4wBPJROTk5K/////0r/////SwB0lGKMBl9zaGFwZZRLCIWUjANsb3eUjBJudW1weS5jb3JlLm51bWVyaWOUjAtfZnJvbWJ1ZmZlcpSTlCiWIAAAAAAAAAAAAIC/AACAvwAAgL8AAIC/AACAvwAAgL8AAIC/AACAv5RoCksIhZSMAUOUdJRSlIwEaGlnaJRoEiiWIAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAP5RoCksIhZRoFXSUUpSMDWJvdW5kZWRfYmVsb3eUaBIolggAAAAAAAAAAQEBAQEBAQGUaAeMAmIxlImIh5RSlChLA4wBfJROTk5K/////0r/////SwB0lGJLCIWUaBV0lFKUjA1ib3VuZGVkX2Fib3ZllGgSKJYIAAAAAAAAAAEBAQEBAQEBlGghSwiFlGgVdJRSlIwKX25wX3JhbmRvbZROdWIu", "dtype": "float32", "_shape": [8], "low": "[-1. -1. -1. -1. -1. -1. -1. -1.]", "high": "[1. 1. 1. 1. 1. 1. 1. 1.]", "bounded_below": "[ True True True True True True True True]", "bounded_above": "[ True True True True True True True True]", "_np_random": null}, "n_envs": 4, "num_timesteps": 10240, "_total_timesteps": 10000, "_num_timesteps_at_start": 0, "seed": null, "action_noise": null, "start_time": 1678864225521660695, "learning_rate": 0.0003, "tensorboard_log": null, "lr_schedule": {":type:": "<class 'function'>", ":serialized:": "gAWVwwIAAAAAAACMF2Nsb3VkcGlja2xlLmNsb3VkcGlja2xllIwOX21ha2VfZnVuY3Rpb26Uk5QoaACMDV9idWlsdGluX3R5cGWUk5SMCENvZGVUeXBllIWUUpQoSwFLAEsASwFLAUsTQwSIAFMAlE6FlCmMAV+UhZSMSC91c3IvbG9jYWwvbGliL3B5dGhvbjMuOS9kaXN0LXBhY2thZ2VzL3N0YWJsZV9iYXNlbGluZXMzL2NvbW1vbi91dGlscy5weZSMBGZ1bmOUS4JDAgABlIwDdmFslIWUKXSUUpR9lCiMC19fcGFja2FnZV9flIwYc3RhYmxlX2Jhc2VsaW5lczMuY29tbW9ulIwIX19uYW1lX1+UjB5zdGFibGVfYmFzZWxpbmVzMy5jb21tb24udXRpbHOUjAhfX2ZpbGVfX5SMSC91c3IvbG9jYWwvbGliL3B5dGhvbjMuOS9kaXN0LXBhY2thZ2VzL3N0YWJsZV9iYXNlbGluZXMzL2NvbW1vbi91dGlscy5weZR1Tk5oAIwQX21ha2VfZW1wdHlfY2VsbJSTlClSlIWUdJRSlIwcY2xvdWRwaWNrbGUuY2xvdWRwaWNrbGVfZmFzdJSMEl9mdW5jdGlvbl9zZXRzdGF0ZZSTlGgffZR9lChoFmgNjAxfX3F1YWxuYW1lX1+UjBljb25zdGFudF9mbi48bG9jYWxzPi5mdW5jlIwPX19hbm5vdGF0aW9uc19flH2UjA5fX2t3ZGVmYXVsdHNfX5ROjAxfX2RlZmF1bHRzX1+UTowKX19tb2R1bGVfX5RoF4wHX19kb2NfX5ROjAtfX2Nsb3N1cmVfX5RoAIwKX21ha2VfY2VsbJSTlEc/M6kqMFUyYYWUUpSFlIwXX2Nsb3VkcGlja2xlX3N1Ym1vZHVsZXOUXZSMC19fZ2xvYmFsc19flH2UdYaUhlIwLg=="}, "_last_obs": {":type:": "<class 'numpy.ndarray'>", ":serialized:": "gAWVNQIAAAAAAACMEm51bXB5LmNvcmUubnVtZXJpY5SMC19mcm9tYnVmZmVylJOUKJbAAQAAAAAAACIDkD12z5k+BHDmPtlKDEDssNO/IiIvvupE6D2sEqu+zLZpv+EQTL+Gy7Y9LKRmPtoDHj+Z6Zu/ryZ+PmapLz83VVy/qO1lv6cJGz+8gv088grNPkj/yL/LGJa9gr+qPXGMiD6AR44+Uv3yv4q5nD6zXfU93WmvPhK55D4l1Uo9k4qSv+TkvL3S6sI+YU8Bv6dpU7+Slt0/87W0PnimEMB181s/nsYavyZrpD6EZ/e9xtRvvw7ohbwff04/++Kkv6jlej84W04/ooENPK+Bgb1xjIg+gEeOPoLaBj+KuZw+NYBovj2ROb9grec9dz9UP+Whnj+bfT6+ceONPjaPsb7KF54+YFRnvp2Yqr20jcU+d5EaP6FZVb46u60+SGylvw9GX78nee8+YYxAP5gL670dwIU/XappPRvHgr52a+y/cYyIPoBHjj6C2gY/irmcPgq9xj6QYLY9kqzkPji8r0BRHqA/69Z3v8K3xz3Rlcq+VjCDvxwthsAidss9W3x8wAEL3z4VDE/Aa+xCPsgYED9+s4e/oou4PfkoFT9g9wW/ExeXvCgiEsAzFSE+yzw9Px75b8CAR44+Uv3yv4q5nD6UjAVudW1weZSMBWR0eXBllJOUjAJmNJSJiIeUUpQoSwOMATyUTk5OSv////9K/////0sAdJRiSwRLHIaUjAFDlHSUUpQu"}, "_last_episode_starts": {":type:": "<class 'numpy.ndarray'>", ":serialized:": "gAWVdwAAAAAAAACMEm51bXB5LmNvcmUubnVtZXJpY5SMC19mcm9tYnVmZmVylJOUKJYEAAAAAAAAAAAAAACUjAVudW1weZSMBWR0eXBllJOUjAJiMZSJiIeUUpQoSwOMAXyUTk5OSv////9K/////0sAdJRiSwSFlIwBQ5R0lFKULg=="}, "_last_original_obs": {":type:": "<class 'numpy.ndarray'>", ":serialized:": "gAWVNQIAAAAAAACMEm51bXB5LmNvcmUubnVtZXJpY5SMC19mcm9tYnVmZmVylJOUKJbAAQAAAAAAAAAAAABQWHo2AACAPwAAAAAAAAAAAAAAAAAAAAAAAACAqKaQvQAAAAC8C/C/AAAAAOk8CT4AAAAAkgD6PwAAAAAQWQS+AAAAAHGk6T8AAAAAExnAvQAAAAD4y/q/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8iKtgAAgD8AAAAAAAAAAAAAAAAAAAAAAAAAgCWNzr0AAAAAvQXrvwAAAAADK4i9AAAAACpK9D8AAAAAn4H4vQAAAACjr/Q/AAAAAIFOxD0AAAAARC72vwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJrHrUAAIA/AAAAAAAAAAAAAAAAAAAAAAAAAIDIn8G9AAAAAKHA8b8AAAAAfm9gOwAAAAAedv4/AAAAAIDnAb0AAAAAniDnPwAAAADpo749AAAAABAG+r8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2wZ22AACAPwAAAAAAAAAAAAAAAAAAAAAAAACAUPejOQAAAAD4O+K/AAAAAI8XDL0AAAAAWnLtPwAAAAB6FgS9AAAAAMb3AEAAAAAANpcMPgAAAADdhvC/AAAAAAAAAAAAAAAAAAAAAAAAAACUjAVudW1weZSMBWR0eXBllJOUjAJmNJSJiIeUUpQoSwOMATyUTk5OSv////9K/////0sAdJRiSwRLHIaUjAFDlHSUUpQu"}, "_episode_num": 0, "use_sde": false, "sde_sample_freq": -1, "_current_progress_remaining": -0.02400000000000002, "ep_info_buffer": {":type:": "<class 'collections.deque'>", ":serialized:": "gAWVIAEAAAAAAACMC2NvbGxlY3Rpb25zlIwFZGVxdWWUk5QpS2SGlFKUKH2UKIwBcpRHQI2LS6lLvkSMAWyUTegDjAF0lEdAtXh5a4c3l3V9lChoBkdAjR39FF2FFmgHTegDaAhHQLV4eS9M9KV1fZQoaAZHQI2xMG1QZXNoB03oA2gIR0C1eHl+iJwbdX2UKGgGR0CLNE90Rvm6aAdN6ANoCEdAtXh523azvHV9lChoBkdAjUWYaxX4kGgHTegDaAhHQLWCTfUnXup1fZQoaAZHQI25H420iQloB03oA2gIR0C1gk4X9BKMdX2UKGgGR0CK9eDPGACoaAdN6ANoCEdAtYJOxoqTbHV9lChoBkdAjaek2pAD72gHTegDaAhHQLWCT3y7PIJ1ZS4="}, "ep_success_buffer": {":type:": "<class 'collections.deque'>", ":serialized:": "gAWVIAAAAAAAAACMC2NvbGxlY3Rpb25zlIwFZGVxdWWUk5QpS2SGlFKULg=="}, "_n_updates": 2000, "n_steps": 128, "gamma": 0.99, "gae_lambda": 0.95, "ent_coef": 0.0, "vf_coef": 0.5, "max_grad_norm": 0.5, "batch_size": 64, "n_epochs": 5, "clip_range": {":type:": "<class 'function'>", ":serialized:": "gAWVwwIAAAAAAACMF2Nsb3VkcGlja2xlLmNsb3VkcGlja2xllIwOX21ha2VfZnVuY3Rpb26Uk5QoaACMDV9idWlsdGluX3R5cGWUk5SMCENvZGVUeXBllIWUUpQoSwFLAEsASwFLAUsTQwSIAFMAlE6FlCmMAV+UhZSMSC91c3IvbG9jYWwvbGliL3B5dGhvbjMuOS9kaXN0LXBhY2thZ2VzL3N0YWJsZV9iYXNlbGluZXMzL2NvbW1vbi91dGlscy5weZSMBGZ1bmOUS4JDAgABlIwDdmFslIWUKXSUUpR9lCiMC19fcGFja2FnZV9flIwYc3RhYmxlX2Jhc2VsaW5lczMuY29tbW9ulIwIX19uYW1lX1+UjB5zdGFibGVfYmFzZWxpbmVzMy5jb21tb24udXRpbHOUjAhfX2ZpbGVfX5SMSC91c3IvbG9jYWwvbGliL3B5dGhvbjMuOS9kaXN0LXBhY2thZ2VzL3N0YWJsZV9iYXNlbGluZXMzL2NvbW1vbi91dGlscy5weZR1Tk5oAIwQX21ha2VfZW1wdHlfY2VsbJSTlClSlIWUdJRSlIwcY2xvdWRwaWNrbGUuY2xvdWRwaWNrbGVfZmFzdJSMEl9mdW5jdGlvbl9zZXRzdGF0ZZSTlGgffZR9lChoFmgNjAxfX3F1YWxuYW1lX1+UjBljb25zdGFudF9mbi48bG9jYWxzPi5mdW5jlIwPX19hbm5vdGF0aW9uc19flH2UjA5fX2t3ZGVmYXVsdHNfX5ROjAxfX2RlZmF1bHRzX1+UTowKX19tb2R1bGVfX5RoF4wHX19kb2NfX5ROjAtfX2Nsb3N1cmVfX5RoAIwKX21ha2VfY2VsbJSTlEc/yZmZmZmZmoWUUpSFlIwXX2Nsb3VkcGlja2xlX3N1Ym1vZHVsZXOUXZSMC19fZ2xvYmFsc19flH2UdYaUhlIwLg=="}, "clip_range_vf": null, "normalize_advantage": true, "target_kl": null, "system_info": {"OS": "Linux-5.10.147+-x86_64-with-glibc2.31 # 1 SMP Sat Dec 10 16:00:40 UTC 2022", "Python": "3.9.16", "Stable-Baselines3": "1.7.0", "PyTorch": "1.13.1+cu116", "GPU Enabled": "False", "Numpy": "1.22.4", "Gym": "0.21.0"}}
|
ppo-AntBulletEnv-v0.zip
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:
|
3 |
-
size
|
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:ba24b2cde7e33fa733e4abd22ce2d5ed8c27bc3bb79cc53d3f0c955c3967dc9b
|
3 |
+
size 927652
|
ppo-AntBulletEnv-v0/data
CHANGED
@@ -22,8 +22,18 @@
|
|
22 |
"verbose": 1,
|
23 |
"policy_kwargs": {
|
24 |
"net_arch": [
|
25 |
-
|
26 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
]
|
28 |
},
|
29 |
"observation_space": {
|
@@ -58,7 +68,7 @@
|
|
58 |
"_num_timesteps_at_start": 0,
|
59 |
"seed": null,
|
60 |
"action_noise": null,
|
61 |
-
"start_time":
|
62 |
"learning_rate": 0.0003,
|
63 |
"tensorboard_log": null,
|
64 |
"lr_schedule": {
|
@@ -67,7 +77,7 @@
|
|
67 |
},
|
68 |
"_last_obs": {
|
69 |
":type:": "<class 'numpy.ndarray'>",
|
70 |
-
":serialized:": "
|
71 |
},
|
72 |
"_last_episode_starts": {
|
73 |
":type:": "<class 'numpy.ndarray'>",
|
@@ -75,7 +85,7 @@
|
|
75 |
},
|
76 |
"_last_original_obs": {
|
77 |
":type:": "<class 'numpy.ndarray'>",
|
78 |
-
":serialized:": "
|
79 |
},
|
80 |
"_episode_num": 0,
|
81 |
"use_sde": false,
|
@@ -83,14 +93,14 @@
|
|
83 |
"_current_progress_remaining": -0.02400000000000002,
|
84 |
"ep_info_buffer": {
|
85 |
":type:": "<class 'collections.deque'>",
|
86 |
-
":serialized:": "
|
87 |
},
|
88 |
"ep_success_buffer": {
|
89 |
":type:": "<class 'collections.deque'>",
|
90 |
":serialized:": "gAWVIAAAAAAAAACMC2NvbGxlY3Rpb25zlIwFZGVxdWWUk5QpS2SGlFKULg=="
|
91 |
},
|
92 |
-
"_n_updates":
|
93 |
-
"n_steps":
|
94 |
"gamma": 0.99,
|
95 |
"gae_lambda": 0.95,
|
96 |
"ent_coef": 0.0,
|
|
|
22 |
"verbose": 1,
|
23 |
"policy_kwargs": {
|
24 |
"net_arch": [
|
25 |
+
{
|
26 |
+
"pi": [
|
27 |
+
128,
|
28 |
+
128,
|
29 |
+
128
|
30 |
+
],
|
31 |
+
"vf": [
|
32 |
+
128,
|
33 |
+
128,
|
34 |
+
128
|
35 |
+
]
|
36 |
+
}
|
37 |
]
|
38 |
},
|
39 |
"observation_space": {
|
|
|
68 |
"_num_timesteps_at_start": 0,
|
69 |
"seed": null,
|
70 |
"action_noise": null,
|
71 |
+
"start_time": 1678864225521660695,
|
72 |
"learning_rate": 0.0003,
|
73 |
"tensorboard_log": null,
|
74 |
"lr_schedule": {
|
|
|
77 |
},
|
78 |
"_last_obs": {
|
79 |
":type:": "<class 'numpy.ndarray'>",
|
80 |
+
":serialized:": "gAWVNQIAAAAAAACMEm51bXB5LmNvcmUubnVtZXJpY5SMC19mcm9tYnVmZmVylJOUKJbAAQAAAAAAACIDkD12z5k+BHDmPtlKDEDssNO/IiIvvupE6D2sEqu+zLZpv+EQTL+Gy7Y9LKRmPtoDHj+Z6Zu/ryZ+PmapLz83VVy/qO1lv6cJGz+8gv088grNPkj/yL/LGJa9gr+qPXGMiD6AR44+Uv3yv4q5nD6zXfU93WmvPhK55D4l1Uo9k4qSv+TkvL3S6sI+YU8Bv6dpU7+Slt0/87W0PnimEMB181s/nsYavyZrpD6EZ/e9xtRvvw7ohbwff04/++Kkv6jlej84W04/ooENPK+Bgb1xjIg+gEeOPoLaBj+KuZw+NYBovj2ROb9grec9dz9UP+Whnj+bfT6+ceONPjaPsb7KF54+YFRnvp2Yqr20jcU+d5EaP6FZVb46u60+SGylvw9GX78nee8+YYxAP5gL670dwIU/XappPRvHgr52a+y/cYyIPoBHjj6C2gY/irmcPgq9xj6QYLY9kqzkPji8r0BRHqA/69Z3v8K3xz3Rlcq+VjCDvxwthsAidss9W3x8wAEL3z4VDE/Aa+xCPsgYED9+s4e/oou4PfkoFT9g9wW/ExeXvCgiEsAzFSE+yzw9Px75b8CAR44+Uv3yv4q5nD6UjAVudW1weZSMBWR0eXBllJOUjAJmNJSJiIeUUpQoSwOMATyUTk5OSv////9K/////0sAdJRiSwRLHIaUjAFDlHSUUpQu"
|
81 |
},
|
82 |
"_last_episode_starts": {
|
83 |
":type:": "<class 'numpy.ndarray'>",
|
|
|
85 |
},
|
86 |
"_last_original_obs": {
|
87 |
":type:": "<class 'numpy.ndarray'>",
|
88 |
+
":serialized:": "gAWVNQIAAAAAAACMEm51bXB5LmNvcmUubnVtZXJpY5SMC19mcm9tYnVmZmVylJOUKJbAAQAAAAAAAAAAAABQWHo2AACAPwAAAAAAAAAAAAAAAAAAAAAAAACAqKaQvQAAAAC8C/C/AAAAAOk8CT4AAAAAkgD6PwAAAAAQWQS+AAAAAHGk6T8AAAAAExnAvQAAAAD4y/q/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8iKtgAAgD8AAAAAAAAAAAAAAAAAAAAAAAAAgCWNzr0AAAAAvQXrvwAAAAADK4i9AAAAACpK9D8AAAAAn4H4vQAAAACjr/Q/AAAAAIFOxD0AAAAARC72vwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJrHrUAAIA/AAAAAAAAAAAAAAAAAAAAAAAAAIDIn8G9AAAAAKHA8b8AAAAAfm9gOwAAAAAedv4/AAAAAIDnAb0AAAAAniDnPwAAAADpo749AAAAABAG+r8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2wZ22AACAPwAAAAAAAAAAAAAAAAAAAAAAAACAUPejOQAAAAD4O+K/AAAAAI8XDL0AAAAAWnLtPwAAAAB6FgS9AAAAAMb3AEAAAAAANpcMPgAAAADdhvC/AAAAAAAAAAAAAAAAAAAAAAAAAACUjAVudW1weZSMBWR0eXBllJOUjAJmNJSJiIeUUpQoSwOMATyUTk5OSv////9K/////0sAdJRiSwRLHIaUjAFDlHSUUpQu"
|
89 |
},
|
90 |
"_episode_num": 0,
|
91 |
"use_sde": false,
|
|
|
93 |
"_current_progress_remaining": -0.02400000000000002,
|
94 |
"ep_info_buffer": {
|
95 |
":type:": "<class 'collections.deque'>",
|
96 |
+
":serialized:": "gAWVIAEAAAAAAACMC2NvbGxlY3Rpb25zlIwFZGVxdWWUk5QpS2SGlFKUKH2UKIwBcpRHQI2LS6lLvkSMAWyUTegDjAF0lEdAtXh5a4c3l3V9lChoBkdAjR39FF2FFmgHTegDaAhHQLV4eS9M9KV1fZQoaAZHQI2xMG1QZXNoB03oA2gIR0C1eHl+iJwbdX2UKGgGR0CLNE90Rvm6aAdN6ANoCEdAtXh523azvHV9lChoBkdAjUWYaxX4kGgHTegDaAhHQLWCTfUnXup1fZQoaAZHQI25H420iQloB03oA2gIR0C1gk4X9BKMdX2UKGgGR0CK9eDPGACoaAdN6ANoCEdAtYJOxoqTbHV9lChoBkdAjaek2pAD72gHTegDaAhHQLWCT3y7PIJ1ZS4="
|
97 |
},
|
98 |
"ep_success_buffer": {
|
99 |
":type:": "<class 'collections.deque'>",
|
100 |
":serialized:": "gAWVIAAAAAAAAACMC2NvbGxlY3Rpb25zlIwFZGVxdWWUk5QpS2SGlFKULg=="
|
101 |
},
|
102 |
+
"_n_updates": 2000,
|
103 |
+
"n_steps": 128,
|
104 |
"gamma": 0.99,
|
105 |
"gae_lambda": 0.95,
|
106 |
"ent_coef": 0.0,
|
ppo-AntBulletEnv-v0/policy.optimizer.pth
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:
|
3 |
-
size
|
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:f2d6353733f810171712af2c51fa48c75c4beda3232bb763a42b8e9ffbeeea68
|
3 |
+
size 610252
|
ppo-AntBulletEnv-v0/policy.pth
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:
|
3 |
-
size
|
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:41e0dc7238e75a913fca949049798f5ff2958e273eacaf69244df9585b8c8253
|
3 |
+
size 304178
|
replay.mp4
CHANGED
Binary files a/replay.mp4 and b/replay.mp4 differ
|
|
results.json
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"mean_reward":
|
|
|
1 |
+
{"mean_reward": 896.5612553947606, "std_reward": 9.598126856342157, "is_deterministic": true, "n_eval_episodes": 10, "eval_datetime": "2023-03-15T07:12:34.471343"}
|
vec_normalize.pkl
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:
|
3 |
size 2136
|
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:3859dc89d964bd9196036518a28df3874252a331cc2182b7e3d4658cc753a0dd
|
3 |
size 2136
|