mikolaj-mialkowski's picture
Initial commit
c872e83
{
"policy_class": {
":type:": "<class 'abc.ABCMeta'>",
":serialized:": "gAWVMAAAAAAAAACMHnN0YWJsZV9iYXNlbGluZXMzLmRxbi5wb2xpY2llc5SMCURRTlBvbGljeZSTlC4=",
"__module__": "stable_baselines3.dqn.policies",
"__annotations__": "{'q_net': <class 'stable_baselines3.dqn.policies.QNetwork'>, 'q_net_target': <class 'stable_baselines3.dqn.policies.QNetwork'>}",
"__doc__": "\n Policy class with Q-Value Net and target net for DQN\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 features_extractor_class: Features extractor to use.\n :param features_extractor_kwargs: Keyword arguments\n to pass to the features extractor.\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 DQNPolicy.__init__ at 0x28e4c1800>",
"_build": "<function DQNPolicy._build at 0x28e4c18a0>",
"make_q_net": "<function DQNPolicy.make_q_net at 0x28e4c1940>",
"forward": "<function DQNPolicy.forward at 0x28e4c19e0>",
"_predict": "<function DQNPolicy._predict at 0x28e4c1a80>",
"_get_constructor_parameters": "<function DQNPolicy._get_constructor_parameters at 0x28e4c1b20>",
"set_training_mode": "<function DQNPolicy.set_training_mode at 0x28e4c1bc0>",
"__abstractmethods__": "frozenset()",
"_abc_impl": "<_abc._abc_data object at 0x28e4bd800>"
},
"verbose": 1,
"policy_kwargs": {},
"num_timesteps": 10000000,
"_total_timesteps": 10000000,
"_num_timesteps_at_start": 0,
"seed": null,
"action_noise": null,
"start_time": 1704648812565295000,
"learning_rate": 0.001,
"tensorboard_log": null,
"_last_obs": {
":type:": "<class 'numpy.ndarray'>",
":serialized:": "gAWV9QAAAAAAAACMEm51bXB5LmNvcmUubnVtZXJpY5SMC19mcm9tYnVmZmVylJOUKJaAAAAAAAAAAKxi8L4AAAAAkjj3vgAAAABO7+e+AAAAAFJzDL8AAAAAlGwIvwAAAADaytq+AAAAAFoc6L4AAAAAtFEKvwAAAABW0f6+AAAAALcx1L4AAAAA/z78vgAAAADawAu/AAAAAM0a/74AAAAAwc3svgAAAACn2Oq+AAAAAKkYz74AAAAAlIwFbnVtcHmUjAVkdHlwZZSTlIwCZjSUiYiHlFKUKEsDjAE8lE5OTkr/////Sv////9LAHSUYksQSwKGlIwBQ5R0lFKULg=="
},
"_last_episode_starts": {
":type:": "<class 'numpy.ndarray'>",
":serialized:": "gAWVgwAAAAAAAACMEm51bXB5LmNvcmUubnVtZXJpY5SMC19mcm9tYnVmZmVylJOUKJYQAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQGUjAVudW1weZSMBWR0eXBllJOUjAJiMZSJiIeUUpQoSwOMAXyUTk5OSv////9K/////0sAdJRiSxCFlIwBQ5R0lFKULg=="
},
"_last_original_obs": {
":type:": "<class 'numpy.ndarray'>",
":serialized:": "gAWV9QAAAAAAAACMEm51bXB5LmNvcmUubnVtZXJpY5SMC19mcm9tYnVmZmVylJOUKJaAAAAAAAAAAF7vNL+T0527Kdo0vyrcmLvQGTK/u+W8u3qDNb/lP4e7aK82v2pWRbsMbDa/+ENVu1vrKr/Xrha7FIk0v5U20rtN1Ti/OFAEu7qFMr8aBtK7+Ms1v4Xcn7s1YC+/gWrsu6iEJr8wpEe745Myv7znqLvpQyq/BqwWuylTOL/ATB67lIwFbnVtcHmUjAVkdHlwZZSTlIwCZjSUiYiHlFKUKEsDjAE8lE5OTkr/////Sv////9LAHSUYksQSwKGlIwBQ5R0lFKULg=="
},
"_episode_num": 50000,
"use_sde": false,
"sde_sample_freq": -1,
"_current_progress_remaining": 0.0,
"_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": 156235,
"observation_space": {
":type:": "<class 'gymnasium.spaces.box.Box'>",
":serialized:": "gAWVpAEAAAAAAACMFGd5bW5hc2l1bS5zcGFjZXMuYm94lIwDQm94lJOUKYGUfZQojAVkdHlwZZSMBW51bXB5lIwFZHR5cGWUk5SMAmY0lImIh5RSlChLA4wBPJROTk5K/////0r/////SwB0lGKMDWJvdW5kZWRfYmVsb3eUjBJudW1weS5jb3JlLm51bWVyaWOUjAtfZnJvbWJ1ZmZlcpSTlCiWAgAAAAAAAAABAZRoCIwCYjGUiYiHlFKUKEsDjAF8lE5OTkr/////Sv////9LAHSUYksChZSMAUOUdJRSlIwNYm91bmRlZF9hYm92ZZRoESiWAgAAAAAAAAABAZRoFUsChZRoGXSUUpSMBl9zaGFwZZRLAoWUjANsb3eUaBEolggAAAAAAAAAmpmZvylcj72UaAtLAoWUaBl0lFKUjARoaWdolGgRKJYIAAAAAAAAAJqZGT8pXI89lGgLSwKFlGgZdJRSlIwIbG93X3JlcHKUjA1bLTEuMiAgLTAuMDddlIwJaGlnaF9yZXBylIwLWzAuNiAgMC4wN12UjApfbnBfcmFuZG9tlE51Yi4=",
"dtype": "float32",
"bounded_below": "[ True True]",
"bounded_above": "[ True True]",
"_shape": [
2
],
"low": "[-1.2 -0.07]",
"high": "[0.6 0.07]",
"low_repr": "[-1.2 -0.07]",
"high_repr": "[0.6 0.07]",
"_np_random": null
},
"action_space": {
":type:": "<class 'gymnasium.spaces.discrete.Discrete'>",
":serialized:": "gAWVogEAAAAAAACMGWd5bW5hc2l1bS5zcGFjZXMuZGlzY3JldGWUjAhEaXNjcmV0ZZSTlCmBlH2UKIwBbpSMFW51bXB5LmNvcmUubXVsdGlhcnJheZSMBnNjYWxhcpSTlIwFbnVtcHmUjAVkdHlwZZSTlIwCaTiUiYiHlFKUKEsDjAE8lE5OTkr/////Sv////9LAHSUYkMIAwAAAAAAAACUhpRSlIwFc3RhcnSUaAhoDkMIAAAAAAAAAACUhpRSlIwGX3NoYXBllCmMBWR0eXBllGgOjApfbnBfcmFuZG9tlIwUbnVtcHkucmFuZG9tLl9waWNrbGWUjBBfX2dlbmVyYXRvcl9jdG9ylJOUjAVQQ0c2NJRoG4wUX19iaXRfZ2VuZXJhdG9yX2N0b3KUk5SGlFKUfZQojA1iaXRfZ2VuZXJhdG9ylIwFUENHNjSUjAVzdGF0ZZR9lChoJooQOVNbRdDeOQQpUkP8i+KrH4wDaW5jlIoRWSlmIjiQ9y2YguPVJvUenwB1jApoYXNfdWludDMylEsAjAh1aW50ZWdlcpRKeCQ3IHVidWIu",
"n": "3",
"start": "0",
"_shape": [],
"dtype": "int64",
"_np_random": "Generator(PCG64)"
},
"n_envs": 16,
"buffer_size": 10000,
"batch_size": 64,
"learning_starts": 1000,
"tau": 1.0,
"gamma": 0.99,
"gradient_steps": 1,
"optimize_memory_usage": false,
"replay_buffer_class": {
":type:": "<class 'abc.ABCMeta'>",
":serialized:": "gAWVNQAAAAAAAACMIHN0YWJsZV9iYXNlbGluZXMzLmNvbW1vbi5idWZmZXJzlIwMUmVwbGF5QnVmZmVylJOULg==",
"__module__": "stable_baselines3.common.buffers",
"__annotations__": "{'observations': <class 'numpy.ndarray'>, 'next_observations': <class 'numpy.ndarray'>, 'actions': <class 'numpy.ndarray'>, 'rewards': <class 'numpy.ndarray'>, 'dones': <class 'numpy.ndarray'>, 'timeouts': <class 'numpy.ndarray'>}",
"__doc__": "\n Replay buffer used in off-policy algorithms like SAC/TD3.\n\n :param buffer_size: Max number of element in the buffer\n :param observation_space: Observation space\n :param action_space: Action space\n :param device: PyTorch device\n :param n_envs: Number of parallel environments\n :param optimize_memory_usage: Enable a memory efficient variant\n of the replay buffer which reduces by almost a factor two the memory used,\n at a cost of more complexity.\n See https://github.com/DLR-RM/stable-baselines3/issues/37#issuecomment-637501195\n and https://github.com/DLR-RM/stable-baselines3/pull/28#issuecomment-637559274\n Cannot be used in combination with handle_timeout_termination.\n :param handle_timeout_termination: Handle timeout termination (due to timelimit)\n separately and treat the task as infinite horizon task.\n https://github.com/DLR-RM/stable-baselines3/issues/284\n ",
"__init__": "<function ReplayBuffer.__init__ at 0x28e193e20>",
"add": "<function ReplayBuffer.add at 0x28e193f60>",
"sample": "<function ReplayBuffer.sample at 0x28e1b4040>",
"_get_samples": "<function ReplayBuffer._get_samples at 0x28e1b40e0>",
"_maybe_cast_dtype": "<staticmethod(<function ReplayBuffer._maybe_cast_dtype at 0x28e1b4180>)>",
"__abstractmethods__": "frozenset()",
"_abc_impl": "<_abc._abc_data object at 0x28c483d40>"
},
"replay_buffer_kwargs": {},
"train_freq": {
":type:": "<class 'stable_baselines3.common.type_aliases.TrainFreq'>",
":serialized:": "gAWVYQAAAAAAAACMJXN0YWJsZV9iYXNlbGluZXMzLmNvbW1vbi50eXBlX2FsaWFzZXOUjAlUcmFpbkZyZXGUk5RLBGgAjBJUcmFpbkZyZXF1ZW5jeVVuaXSUk5SMBHN0ZXCUhZRSlIaUgZQu"
},
"use_sde_at_warmup": false,
"exploration_initial_eps": 1.0,
"exploration_final_eps": 0.02,
"exploration_fraction": 0.1,
"target_update_interval": 500,
"_n_calls": 625000,
"max_grad_norm": 10,
"exploration_rate": 0.02,
"lr_schedule": {
":type:": "<class 'function'>",
":serialized:": "gAWVBwMAAAAAAACMF2Nsb3VkcGlja2xlLmNsb3VkcGlja2xllIwOX21ha2VfZnVuY3Rpb26Uk5QoaACMDV9idWlsdGluX3R5cGWUk5SMCENvZGVUeXBllIWUUpQoSwFLAEsASwFLAUsTQwiVAZcAiQFTAJROhZQpjAFflIWUjHEvVXNlcnMvbWlrb2xham1pYWxrb3dza2kvb3B0L2FuYWNvbmRhMy9lbnZzL3VuaXQtMS9saWIvcHl0aG9uMy4xMS9zaXRlLXBhY2thZ2VzL3N0YWJsZV9iYXNlbGluZXMzL2NvbW1vbi91dGlscy5weZSMBGZ1bmOUjBljb25zdGFudF9mbi48bG9jYWxzPi5mdW5jlEuDQwj4gADYDxKICpRDAJSMA3ZhbJSFlCl0lFKUfZQojAtfX3BhY2thZ2VfX5SMGHN0YWJsZV9iYXNlbGluZXMzLmNvbW1vbpSMCF9fbmFtZV9flIwec3RhYmxlX2Jhc2VsaW5lczMuY29tbW9uLnV0aWxzlIwIX19maWxlX1+UjHEvVXNlcnMvbWlrb2xham1pYWxrb3dza2kvb3B0L2FuYWNvbmRhMy9lbnZzL3VuaXQtMS9saWIvcHl0aG9uMy4xMS9zaXRlLXBhY2thZ2VzL3N0YWJsZV9iYXNlbGluZXMzL2NvbW1vbi91dGlscy5weZR1Tk5oAIwQX21ha2VfZW1wdHlfY2VsbJSTlClSlIWUdJRSlGgAjBJfZnVuY3Rpb25fc2V0c3RhdGWUk5RoIX2UfZQoaBhoDYwMX19xdWFsbmFtZV9flGgOjA9fX2Fubm90YXRpb25zX1+UfZSMDl9fa3dkZWZhdWx0c19flE6MDF9fZGVmYXVsdHNfX5ROjApfX21vZHVsZV9flGgZjAdfX2RvY19flE6MC19fY2xvc3VyZV9flGgAjApfbWFrZV9jZWxslJOURz9QYk3S8an8hZRSlIWUjBdfY2xvdWRwaWNrbGVfc3VibW9kdWxlc5RdlIwLX19nbG9iYWxzX1+UfZR1hpSGUjAu"
},
"batch_norm_stats": [],
"batch_norm_stats_target": [],
"exploration_schedule": {
":type:": "<class 'function'>",
":serialized:": "gAWV4wMAAAAAAACMF2Nsb3VkcGlja2xlLmNsb3VkcGlja2xllIwOX21ha2VfZnVuY3Rpb26Uk5QoaACMDV9idWlsdGluX3R5cGWUk5SMCENvZGVUeXBllIWUUpQoSwFLAEsASwFLBEsTQzyVA5cAZAF8AHoKAACJAmsEAAAAAHICiQFTAIkDZAF8AHoKAACJAYkDegoAAHoFAACJAnoLAAB6AAAAUwCUTksBhpQpjBJwcm9ncmVzc19yZW1haW5pbmeUhZSMcS9Vc2Vycy9taWtvbGFqbWlhbGtvd3NraS9vcHQvYW5hY29uZGEzL2VudnMvdW5pdC0xL2xpYi9weXRob24zLjExL3NpdGUtcGFja2FnZXMvc3RhYmxlX2Jhc2VsaW5lczMvY29tbW9uL3V0aWxzLnB5lIwEZnVuY5SMG2dldF9saW5lYXJfZm4uPGxvY2Fscz4uZnVuY5RLcUM4+IAA2AwN0BAi0QwioGzSCzLQCzLYExaISuATGJhB0CAy0RwysHO4VbF70RtDwGzRG1LRE1LQDFKUQwCUjANlbmSUjAxlbmRfZnJhY3Rpb26UjAVzdGFydJSHlCl0lFKUfZQojAtfX3BhY2thZ2VfX5SMGHN0YWJsZV9iYXNlbGluZXMzLmNvbW1vbpSMCF9fbmFtZV9flIwec3RhYmxlX2Jhc2VsaW5lczMuY29tbW9uLnV0aWxzlIwIX19maWxlX1+UjHEvVXNlcnMvbWlrb2xham1pYWxrb3dza2kvb3B0L2FuYWNvbmRhMy9lbnZzL3VuaXQtMS9saWIvcHl0aG9uMy4xMS9zaXRlLXBhY2thZ2VzL3N0YWJsZV9iYXNlbGluZXMzL2NvbW1vbi91dGlscy5weZR1Tk5oAIwQX21ha2VfZW1wdHlfY2VsbJSTlClSlGgfKVKUaB8pUpSHlHSUUpRoAIwSX2Z1bmN0aW9uX3NldHN0YXRllJOUaCV9lH2UKGgaaA2MDF9fcXVhbG5hbWVfX5RoDowPX19hbm5vdGF0aW9uc19flH2UKGgKjAhidWlsdGluc5SMBWZsb2F0lJOUjAZyZXR1cm6UaC91jA5fX2t3ZGVmYXVsdHNfX5ROjAxfX2RlZmF1bHRzX1+UTowKX19tb2R1bGVfX5RoG4wHX19kb2NfX5ROjAtfX2Nsb3N1cmVfX5RoAIwKX21ha2VfY2VsbJSTlEc/lHrhR64Ue4WUUpRoN0c/uZmZmZmZmoWUUpRoN0c/8AAAAAAAAIWUUpSHlIwXX2Nsb3VkcGlja2xlX3N1Ym1vZHVsZXOUXZSMC19fZ2xvYmFsc19flH2UdYaUhlIwLg=="
}
}