humnrdble's picture
1500000 steps optuna
b1fb3f2 verified
raw
history blame
14 kB
{
"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 0x7e736fd44f70>",
"_get_constructor_parameters": "<function ActorCriticPolicy._get_constructor_parameters at 0x7e736fd45000>",
"reset_noise": "<function ActorCriticPolicy.reset_noise at 0x7e736fd45090>",
"_build_mlp_extractor": "<function ActorCriticPolicy._build_mlp_extractor at 0x7e736fd45120>",
"_build": "<function ActorCriticPolicy._build at 0x7e736fd451b0>",
"forward": "<function ActorCriticPolicy.forward at 0x7e736fd45240>",
"extract_features": "<function ActorCriticPolicy.extract_features at 0x7e736fd452d0>",
"_get_action_dist_from_latent": "<function ActorCriticPolicy._get_action_dist_from_latent at 0x7e736fd45360>",
"_predict": "<function ActorCriticPolicy._predict at 0x7e736fd453f0>",
"evaluate_actions": "<function ActorCriticPolicy.evaluate_actions at 0x7e736fd45480>",
"get_distribution": "<function ActorCriticPolicy.get_distribution at 0x7e736fd45510>",
"predict_values": "<function ActorCriticPolicy.predict_values at 0x7e736fd455a0>",
"__abstractmethods__": "frozenset()",
"_abc_impl": "<_abc._abc_data object at 0x7e736fced2c0>"
},
"verbose": 1,
"policy_kwargs": {},
"num_timesteps": 1507328,
"_total_timesteps": 1500000,
"_num_timesteps_at_start": 0,
"seed": null,
"action_noise": null,
"start_time": 1718981665540616628,
"learning_rate": 0.0011176199638550707,
"tensorboard_log": null,
"_last_obs": {
":type:": "<class 'numpy.ndarray'>",
":serialized:": "gAWVdQIAAAAAAACMEm51bXB5LmNvcmUubnVtZXJpY5SMC19mcm9tYnVmZmVylJOUKJYAAgAAAAAAAIBLHL2c3Qm8Y2JiPnDRDL4gdiG9ugNLvwAAgD8AAAAAap+APhfQFT+a4F27HR4Sv2f9tD5qOqO8AAAAAAAAAADm/Ay+uBmxu1o8LzuEc+w6finuPC6XnTsAAIA/AACAP2ZYdTwUhKe6AwUdvrwwxzhMk2e6k2QyuAAAgD8AAAAAAC9qvXH4qD1rWsk9ERfhvrZVljz4Src9AAAAAAAAAACGPlM+Mxf3PlB2bz12EjC/V926PubThDwAAAAAAAAAAM17Lb11/Kw/1gtmvtzRvL4sr/29BY5avgAAAAAAAAAABp4TvvnAuT/w/vG+AoGCvnoGmb4nFBy/AAAAAAAAAACzkyY9ON+Suxbdp7w/tlo8h1vSvAnMPT0AAIA/AACAPwCg2LrFqtM8UW+5PL1Wr75+Huw9V4WuPQAAAAAAAAAAAGYtvGxH47t1f6U83oNnvL5lUbx+vjS+AACAPwAAgD+AvRy9DgFlP+IFKr2JeGq/r1A7vk6OiLwAAAAAAAAAAM3ydz2PXkK6hnoBvPS2JDTAsG+69VJFswAAAAAAAAAAZt4sPFxzMrrDX/w0CS83MMyZObrd8mq0AACAPwAAgD8AdZy8ww0QujggSzNgej0ssFDlOpBiurMAAIA/AACAP01dNL0USpy6+s7OMlTT1Km9KO+6NoNgswAAgD8AAIA/lIwFbnVtcHmUjAVkdHlwZZSTlIwCZjSUiYiHlFKUKEsDjAE8lE5OTkr/////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.004885333333333408,
"_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": 1840,
"observation_space": {
":type:": "<class 'gymnasium.spaces.box.Box'>",
":serialized:": "gAWVdgIAAAAAAACMFGd5bW5hc2l1bS5zcGFjZXMuYm94lIwDQm94lJOUKYGUfZQojAVkdHlwZZSMBW51bXB5lIwFZHR5cGWUk5SMAmY0lImIh5RSlChLA4wBPJROTk5K/////0r/////SwB0lGKMDWJvdW5kZWRfYmVsb3eUjBJudW1weS5jb3JlLm51bWVyaWOUjAtfZnJvbWJ1ZmZlcpSTlCiWCAAAAAAAAAABAQEBAQEBAZRoCIwCYjGUiYiHlFKUKEsDjAF8lE5OTkr/////Sv////9LAHSUYksIhZSMAUOUdJRSlIwNYm91bmRlZF9hYm92ZZRoESiWCAAAAAAAAAABAQEBAQEBAZRoFUsIhZRoGXSUUpSMBl9zaGFwZZRLCIWUjANsb3eUaBEoliAAAAAAAAAAAAC0wgAAtMIAAKDAAACgwNsPScAAAKDAAAAAgAAAAICUaAtLCIWUaBl0lFKUjARoaWdolGgRKJYgAAAAAAAAAAAAtEIAALRCAACgQAAAoEDbD0lAAACgQAAAgD8AAIA/lGgLSwiFlGgZdJRSlIwIbG93X3JlcHKUjFtbLTkwLiAgICAgICAgLTkwLiAgICAgICAgIC01LiAgICAgICAgIC01LiAgICAgICAgIC0zLjE0MTU5MjcgIC01LgogIC0wLiAgICAgICAgIC0wLiAgICAgICBdlIwJaGlnaF9yZXBylIxTWzkwLiAgICAgICAgOTAuICAgICAgICAgNS4gICAgICAgICA1LiAgICAgICAgIDMuMTQxNTkyNyAgNS4KICAxLiAgICAgICAgIDEuICAgICAgIF2UjApfbnBfcmFuZG9tlE51Yi4=",
"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:": "gAWV2wAAAAAAAACMGWd5bW5hc2l1bS5zcGFjZXMuZGlzY3JldGWUjAhEaXNjcmV0ZZSTlCmBlH2UKIwBbpSMFW51bXB5LmNvcmUubXVsdGlhcnJheZSMBnNjYWxhcpSTlIwFbnVtcHmUjAVkdHlwZZSTlIwCaTiUiYiHlFKUKEsDjAE8lE5OTkr/////Sv////9LAHSUYkMIBAAAAAAAAACUhpRSlIwFc3RhcnSUaAhoDkMIAAAAAAAAAACUhpRSlIwGX3NoYXBllCmMBWR0eXBllGgOjApfbnBfcmFuZG9tlE51Yi4=",
"n": "4",
"start": "0",
"_shape": [],
"dtype": "int64",
"_np_random": null
},
"n_envs": 16,
"n_steps": 512,
"gamma": 0.993924405975678,
"gae_lambda": 0.95,
"ent_coef": 0.0,
"vf_coef": 0.5,
"max_grad_norm": 1.8559426752164974,
"batch_size": 64,
"n_epochs": 10,
"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+UfZSMDl9fa3dkZWZhdWx0c19flE6MDF9fZGVmYXVsdHNfX5ROjApfX21vZHVsZV9flGgXjAdfX2RvY19flE6MC19fY2xvc3VyZV9flGgAjApfbWFrZV9jZWxslJOURz9ST6NMbF4YhZRSlIWUjBdfY2xvdWRwaWNrbGVfc3VibW9kdWxlc5RdlIwLX19nbG9iYWxzX1+UfZR1hpSGUjAu"
}
}