File size: 13,951 Bytes
f55a843
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
{
    "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 0x7a748a186170>",
        "_get_constructor_parameters": "<function ActorCriticPolicy._get_constructor_parameters at 0x7a748a186200>",
        "reset_noise": "<function ActorCriticPolicy.reset_noise at 0x7a748a186290>",
        "_build_mlp_extractor": "<function ActorCriticPolicy._build_mlp_extractor at 0x7a748a186320>",
        "_build": "<function ActorCriticPolicy._build at 0x7a748a1863b0>",
        "forward": "<function ActorCriticPolicy.forward at 0x7a748a186440>",
        "extract_features": "<function ActorCriticPolicy.extract_features at 0x7a748a1864d0>",
        "_get_action_dist_from_latent": "<function ActorCriticPolicy._get_action_dist_from_latent at 0x7a748a186560>",
        "_predict": "<function ActorCriticPolicy._predict at 0x7a748a1865f0>",
        "evaluate_actions": "<function ActorCriticPolicy.evaluate_actions at 0x7a748a186680>",
        "get_distribution": "<function ActorCriticPolicy.get_distribution at 0x7a748a186710>",
        "predict_values": "<function ActorCriticPolicy.predict_values at 0x7a748a1867a0>",
        "__abstractmethods__": "frozenset()",
        "_abc_impl": "<_abc._abc_data object at 0x7a748a18c0c0>"
    },
    "verbose": 1,
    "policy_kwargs": {},
    "num_timesteps": 1015808,
    "_total_timesteps": 1000000,
    "_num_timesteps_at_start": 0,
    "seed": null,
    "action_noise": null,
    "start_time": 1694155512652377601,
    "learning_rate": 0.0003,
    "tensorboard_log": null,
    "_last_obs": {
        ":type:": "<class 'numpy.ndarray'>",
        ":serialized:": "gAWVdQIAAAAAAACMEm51bXB5LmNvcmUubnVtZXJpY5SMC19mcm9tYnVmZmVylJOUKJYAAgAAAAAAAM17Tr32tnC8exIFPqC7lLsImIG9AQYcvgAAgD8AAIA/mpl7vGTysj/acUW/7HOZvk4bgjzVFA4+AAAAAAAAAAAmdKe9PeQ/u3PxOz3511k8t/ibvMAGPj0AAAAAAACAP00kaL32MBu6RI+atkAxPLGSUQQ765W6NQAAgD8AAIA/ZqP5Pb+SLj9qRrg8UvgLv64WLT6g1mq9AAAAAAAAAACzPby9KeR2PUhtmD6aBae+d1OmPVz2MT0AAAAAAAAAAM0c9TyYGjM/Aj2dPDp1L79f7jU9Wh22uwAAAAAAAAAAM+hhvdJC27trsgc+XMoZPMVLND0NYAe9AAAAAAAAgD/zMAm+0jyiu2fznrqqiQ+4CQ0MPQhSkzkAAIA/AACAP8C2wb3DTVq6wq0iuHeidrO1WJs7MsI9NwAAgD8AAAAAZpRQPBhJnD9yhOE9w5NZv82vAD1eOc88AAAAAAAAAACtcUw+WDWZPjftnb6pMQm/Kl0kPAryAb4AAAAAAAAAAIB/MD0UNIW6w4IcODVzRzNViD87X1Y1twAAgD8AAIA/AKGGPMKivD9rrBU+TbH2PRVbublWe0w8AAAAAAAAAABzj6q93NGMPzKbkr7Bylq/B9l1vZHwoL0AAAAAAAAAAHoDPr4iZdA+IooePjDszb4DPwy+WiLMPQAAAAAAAAAAlIwFbnVtcHmUjAVkdHlwZZSTlIwCZjSUiYiHlFKUKEsDjAE8lE5OTkr/////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": 620,
    "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": 2048,
    "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": 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+UfZSMDl9fa3dkZWZhdWx0c19flE6MDF9fZGVmYXVsdHNfX5ROjApfX21vZHVsZV9flGgXjAdfX2RvY19flE6MC19fY2xvc3VyZV9flGgAjApfbWFrZV9jZWxslJOURz8zqSowVTJhhZRSlIWUjBdfY2xvdWRwaWNrbGVfc3VibW9kdWxlc5RdlIwLX19nbG9iYWxzX1+UfZR1hpSGUjAu"
    }
}