Exyl's picture
Upload unit1 model, PPO for LunarLander-v2
0e12e51
{
"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 0x7e2a529ee200>",
"_get_constructor_parameters": "<function ActorCriticPolicy._get_constructor_parameters at 0x7e2a529ee290>",
"reset_noise": "<function ActorCriticPolicy.reset_noise at 0x7e2a529ee320>",
"_build_mlp_extractor": "<function ActorCriticPolicy._build_mlp_extractor at 0x7e2a529ee3b0>",
"_build": "<function ActorCriticPolicy._build at 0x7e2a529ee440>",
"forward": "<function ActorCriticPolicy.forward at 0x7e2a529ee4d0>",
"extract_features": "<function ActorCriticPolicy.extract_features at 0x7e2a529ee560>",
"_get_action_dist_from_latent": "<function ActorCriticPolicy._get_action_dist_from_latent at 0x7e2a529ee5f0>",
"_predict": "<function ActorCriticPolicy._predict at 0x7e2a529ee680>",
"evaluate_actions": "<function ActorCriticPolicy.evaluate_actions at 0x7e2a529ee710>",
"get_distribution": "<function ActorCriticPolicy.get_distribution at 0x7e2a529ee7a0>",
"predict_values": "<function ActorCriticPolicy.predict_values at 0x7e2a529ee830>",
"__abstractmethods__": "frozenset()",
"_abc_impl": "<_abc._abc_data object at 0x7e2a529e9780>"
},
"verbose": 1,
"policy_kwargs": {},
"num_timesteps": 1015808,
"_total_timesteps": 1000000,
"_num_timesteps_at_start": 0,
"seed": null,
"action_noise": null,
"start_time": 1703765471882175747,
"learning_rate": 0.0003,
"tensorboard_log": null,
"_last_obs": {
":type:": "<class 'numpy.ndarray'>",
":serialized:": "gAWVdQIAAAAAAACMEm51bXB5LmNvcmUubnVtZXJpY5SMC19mcm9tYnVmZmVylJOUKJYAAgAAAAAAAJrwMD0U/PK6jbKMOxPKkDwSTLQ7BsB6vQAAgD8AAIA/ZtcLvRSkh7oq6YG21f9GsP189Lku3pM1AACAPwAAgD8zg2i9HDjkPlKzhzu+Eli+QhqduyoR6zsAAAAAAAAAAP70o76xryY/MaCpPSUbUb5FJbq9/pKWPQAAAAAAAAAAM0IMvVaZFD9hDRy98VCRvphdS73Wu687AAAAAAAAAAAzmBk9DvgiP/TOFT08SFi+rKHxPNpHkDwAAAAAAAAAANoWob22SAG8rivZO/lJjDz+UGQ92BprvQAAgD8AAIA/WtfLvSlwJboCVjA+zP0gO6MCM7owJgy8AAAAAAAAAABA2Ja9KVwjN2ifmDvuvI03YwWFu00HejYAAAAAAACAP0374L2PQg260OR+vFzSLrZWFPY6hlOgNQAAgD8AAAAAti5NvpR2qrwzFYi6Ib7PuPu/GT4dDLE5AACAPwAAgD9zLS++UsDmu6ZFnDd2tCU1WacvPYFSt7YAAIA/AAAAAM1MQ7r+jt49XkO/PcHeH74ywb082DtOvAAAAAAAAAAAWl+KPZ8P5ruJERK9AfIYvkOJqjuzx/S+AACAPwAAgD/mH0g9jwuZP05uOT6q9M6+beqwPfpPyjsAAAAAAAAAAKbAoz48Thw/fcR9vccseb7Iubw9osnEvAAAAAAAAAAAlIwFbnVtcHmUjAVkdHlwZZSTlIwCZjSUiYiHlFKUKEsDjAE8lE5OTkr/////Sv////9LAHSUYksQSwiGlIwBQ5R0lFKULg=="
},
"_last_episode_starts": {
":type:": "<class 'numpy.ndarray'>",
":serialized:": "gAWVgwAAAAAAAACMEm51bXB5LmNvcmUubnVtZXJpY5SMC19mcm9tYnVmZmVylJOUKJYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUjAVudW1weZSMBWR0eXBllJOUjAJiMZSJiIeUUpQoSwOMAXyUTk5OSv////9K/////0sAdJRiSxCFlIwBQ5R0lFKULg=="
},
"_last_original_obs": null,
"_episode_num": 0,
"use_sde": false,
"sde_sample_freq": -1,
"_current_progress_remaining": -0.015808000000000044,
"_stats_window_size": 100,
"ep_info_buffer": {
":type:": "<class 'collections.deque'>",
":serialized:": "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"
},
"ep_success_buffer": {
":type:": "<class 'collections.deque'>",
":serialized:": "gAWVIAAAAAAAAACMC2NvbGxlY3Rpb25zlIwFZGVxdWWUk5QpS2SGlFKULg=="
},
"_n_updates": 248,
"observation_space": {
":type:": "<class 'gymnasium.spaces.box.Box'>",
":serialized:": "gAWVcAIAAAAAAACMFGd5bW5hc2l1bS5zcGFjZXMuYm94lIwDQm94lJOUKYGUfZQojAVkdHlwZZSMBW51bXB5lGgFk5SMAmY0lImIh5RSlChLA4wBPJROTk5K/////0r/////SwB0lGKMDWJvdW5kZWRfYmVsb3eUjBJudW1weS5jb3JlLm51bWVyaWOUjAtfZnJvbWJ1ZmZlcpSTlCiWCAAAAAAAAAABAQEBAQEBAZRoB4wCYjGUiYiHlFKUKEsDjAF8lE5OTkr/////Sv////9LAHSUYksIhZSMAUOUdJRSlIwNYm91bmRlZF9hYm92ZZRoECiWCAAAAAAAAAABAQEBAQEBAZRoFEsIhZRoGHSUUpSMBl9zaGFwZZRLCIWUjANsb3eUaBAoliAAAAAAAAAAAAC0wgAAtMIAAKDAAACgwNsPScAAAKDAAAAAgAAAAICUaApLCIWUaBh0lFKUjARoaWdolGgQKJYgAAAAAAAAAAAAtEIAALRCAACgQAAAoEDbD0lAAACgQAAAgD8AAIA/lGgKSwiFlGgYdJRSlIwIbG93X3JlcHKUjFtbLTkwLiAgICAgICAgLTkwLiAgICAgICAgIC01LiAgICAgICAgIC01LiAgICAgICAgIC0zLjE0MTU5MjcgIC01LgogIC0wLiAgICAgICAgIC0wLiAgICAgICBdlIwJaGlnaF9yZXBylIxTWzkwLiAgICAgICAgOTAuICAgICAgICAgNS4gICAgICAgICA1LiAgICAgICAgIDMuMTQxNTkyNyAgNS4KICAxLiAgICAgICAgIDEuICAgICAgIF2UjApfbnBfcmFuZG9tlE51Yi4=",
"dtype": "float32",
"bounded_below": "[ True True True True True True True True]",
"bounded_above": "[ True True True True True True True True]",
"_shape": [
8
],
"low": "[-90. -90. -5. -5. -3.1415927 -5.\n -0. -0. ]",
"high": "[90. 90. 5. 5. 3.1415927 5.\n 1. 1. ]",
"low_repr": "[-90. -90. -5. -5. -3.1415927 -5.\n -0. -0. ]",
"high_repr": "[90. 90. 5. 5. 3.1415927 5.\n 1. 1. ]",
"_np_random": null
},
"action_space": {
":type:": "<class 'gymnasium.spaces.discrete.Discrete'>",
":serialized:": "gAWV1QAAAAAAAACMGWd5bW5hc2l1bS5zcGFjZXMuZGlzY3JldGWUjAhEaXNjcmV0ZZSTlCmBlH2UKIwBbpSMFW51bXB5LmNvcmUubXVsdGlhcnJheZSMBnNjYWxhcpSTlIwFbnVtcHmUjAVkdHlwZZSTlIwCaTiUiYiHlFKUKEsDjAE8lE5OTkr/////Sv////9LAHSUYkMIBAAAAAAAAACUhpRSlIwFc3RhcnSUaAhoDkMIAAAAAAAAAACUhpRSlIwGX3NoYXBllCloCmgOjApfbnBfcmFuZG9tlE51Yi4=",
"n": "4",
"start": "0",
"_shape": [],
"dtype": "int64",
"_np_random": null
},
"n_envs": 16,
"n_steps": 1024,
"gamma": 0.999,
"gae_lambda": 0.98,
"ent_coef": 0.01,
"vf_coef": 0.5,
"max_grad_norm": 0.5,
"batch_size": 64,
"n_epochs": 4,
"clip_range": {
":type:": "<class 'function'>",
":serialized:": "gAWVxQIAAAAAAACMF2Nsb3VkcGlja2xlLmNsb3VkcGlja2xllIwOX21ha2VfZnVuY3Rpb26Uk5QoaACMDV9idWlsdGluX3R5cGWUk5SMCENvZGVUeXBllIWUUpQoSwFLAEsASwFLAUsTQwSIAFMAlE6FlCmMAV+UhZSMSS91c3IvbG9jYWwvbGliL3B5dGhvbjMuMTAvZGlzdC1wYWNrYWdlcy9zdGFibGVfYmFzZWxpbmVzMy9jb21tb24vdXRpbHMucHmUjARmdW5jlEuEQwIEAZSMA3ZhbJSFlCl0lFKUfZQojAtfX3BhY2thZ2VfX5SMGHN0YWJsZV9iYXNlbGluZXMzLmNvbW1vbpSMCF9fbmFtZV9flIwec3RhYmxlX2Jhc2VsaW5lczMuY29tbW9uLnV0aWxzlIwIX19maWxlX1+UjEkvdXNyL2xvY2FsL2xpYi9weXRob24zLjEwL2Rpc3QtcGFja2FnZXMvc3RhYmxlX2Jhc2VsaW5lczMvY29tbW9uL3V0aWxzLnB5lHVOTmgAjBBfbWFrZV9lbXB0eV9jZWxslJOUKVKUhZR0lFKUjBxjbG91ZHBpY2tsZS5jbG91ZHBpY2tsZV9mYXN0lIwSX2Z1bmN0aW9uX3NldHN0YXRllJOUaB99lH2UKGgWaA2MDF9fcXVhbG5hbWVfX5SMGWNvbnN0YW50X2ZuLjxsb2NhbHM+LmZ1bmOUjA9fX2Fubm90YXRpb25zX1+UfZSMDl9fa3dkZWZhdWx0c19flE6MDF9fZGVmYXVsdHNfX5ROjApfX21vZHVsZV9flGgXjAdfX2RvY19flE6MC19fY2xvc3VyZV9flGgAjApfbWFrZV9jZWxslJOURz/JmZmZmZmahZRSlIWUjBdfY2xvdWRwaWNrbGVfc3VibW9kdWxlc5RdlIwLX19nbG9iYWxzX1+UfZR1hpSGUjAu"
},
"clip_range_vf": null,
"normalize_advantage": true,
"target_kl": null,
"lr_schedule": {
":type:": "<class 'function'>",
":serialized:": "gAWVxQIAAAAAAACMF2Nsb3VkcGlja2xlLmNsb3VkcGlja2xllIwOX21ha2VfZnVuY3Rpb26Uk5QoaACMDV9idWlsdGluX3R5cGWUk5SMCENvZGVUeXBllIWUUpQoSwFLAEsASwFLAUsTQwSIAFMAlE6FlCmMAV+UhZSMSS91c3IvbG9jYWwvbGliL3B5dGhvbjMuMTAvZGlzdC1wYWNrYWdlcy9zdGFibGVfYmFzZWxpbmVzMy9jb21tb24vdXRpbHMucHmUjARmdW5jlEuEQwIEAZSMA3ZhbJSFlCl0lFKUfZQojAtfX3BhY2thZ2VfX5SMGHN0YWJsZV9iYXNlbGluZXMzLmNvbW1vbpSMCF9fbmFtZV9flIwec3RhYmxlX2Jhc2VsaW5lczMuY29tbW9uLnV0aWxzlIwIX19maWxlX1+UjEkvdXNyL2xvY2FsL2xpYi9weXRob24zLjEwL2Rpc3QtcGFja2FnZXMvc3RhYmxlX2Jhc2VsaW5lczMvY29tbW9uL3V0aWxzLnB5lHVOTmgAjBBfbWFrZV9lbXB0eV9jZWxslJOUKVKUhZR0lFKUjBxjbG91ZHBpY2tsZS5jbG91ZHBpY2tsZV9mYXN0lIwSX2Z1bmN0aW9uX3NldHN0YXRllJOUaB99lH2UKGgWaA2MDF9fcXVhbG5hbWVfX5SMGWNvbnN0YW50X2ZuLjxsb2NhbHM+LmZ1bmOUjA9fX2Fubm90YXRpb25zX1+UfZSMDl9fa3dkZWZhdWx0c19flE6MDF9fZGVmYXVsdHNfX5ROjApfX21vZHVsZV9flGgXjAdfX2RvY19flE6MC19fY2xvc3VyZV9flGgAjApfbWFrZV9jZWxslJOURz8zqSowVTJhhZRSlIWUjBdfY2xvdWRwaWNrbGVfc3VibW9kdWxlc5RdlIwLX19nbG9iYWxzX1+UfZR1hpSGUjAu"
}
}