juan9 commited on
Commit
798d87d
1 Parent(s): d5b41c4

First Push

Browse files
README.md ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ library_name: ml-agents
3
+ tags:
4
+ - Pyramids
5
+ - deep-reinforcement-learning
6
+ - reinforcement-learning
7
+ - ML-Agents-Pyramids
8
+ ---
9
+
10
+ # **ppo** Agent playing **Pyramids**
11
+ This is a trained model of a **ppo** agent playing **Pyramids**
12
+ using the [Unity ML-Agents Library](https://github.com/Unity-Technologies/ml-agents).
13
+
14
+ ## Usage (with ML-Agents)
15
+ The Documentation: https://unity-technologies.github.io/ml-agents/ML-Agents-Toolkit-Documentation/
16
+
17
+ We wrote a complete tutorial to learn to train your first agent using ML-Agents and publish it to the Hub:
18
+ - A *short tutorial* where you teach Huggy the Dog 🐶 to fetch the stick and then play with him directly in your
19
+ browser: https://huggingface.co/learn/deep-rl-course/unitbonus1/introduction
20
+ - A *longer tutorial* to understand how works ML-Agents:
21
+ https://huggingface.co/learn/deep-rl-course/unit5/introduction
22
+
23
+ ### Resume the training
24
+ ```bash
25
+ mlagents-learn <your_configuration_file_path.yaml> --run-id=<run_id> --resume
26
+ ```
27
+
28
+ ### Watch your Agent play
29
+ You can watch your agent **playing directly in your browser**
30
+
31
+ 1. If the environment is part of ML-Agents official environments, go to https://huggingface.co/unity
32
+ 2. Step 1: Find your model_id: juan9/ppo-Pyramis-Training
33
+ 3. Step 2: Select your *.nn /*.onnx file
34
+ 4. Click on Watch the agent play 👀
35
+
config.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"default_settings": null, "behaviors": {"Pyramids": {"trainer_type": "ppo", "hyperparameters": {"batch_size": 128, "buffer_size": 2048, "learning_rate": 0.0003, "beta": 0.01, "epsilon": 0.2, "lambd": 0.95, "num_epoch": 3, "shared_critic": false, "learning_rate_schedule": "linear", "beta_schedule": "linear", "epsilon_schedule": "linear"}, "checkpoint_interval": 500000, "network_settings": {"normalize": false, "hidden_units": 512, "num_layers": 2, "vis_encode_type": "simple", "memory": null, "goal_conditioning_type": "hyper", "deterministic": false}, "reward_signals": {"extrinsic": {"gamma": 0.99, "strength": 1.0, "network_settings": {"normalize": false, "hidden_units": 128, "num_layers": 2, "vis_encode_type": "simple", "memory": null, "goal_conditioning_type": "hyper", "deterministic": false}}, "rnd": {"gamma": 0.99, "strength": 0.01, "network_settings": {"normalize": false, "hidden_units": 64, "num_layers": 3, "vis_encode_type": "simple", "memory": null, "goal_conditioning_type": "hyper", "deterministic": false}, "learning_rate": 0.0001, "encoding_size": null}}, "init_path": null, "keep_checkpoints": 5, "even_checkpoints": false, "max_steps": 1000000, "time_horizon": 128, "summary_freq": 30000, "threaded": false, "self_play": null, "behavioral_cloning": null}}, "env_settings": {"env_path": "./training-envs-executables/linux/Pyramids/Pyramids", "env_args": null, "base_port": 5005, "num_envs": 1, "num_areas": 1, "timeout_wait": 60, "seed": -1, "max_lifetime_restarts": 10, "restarts_rate_limit_n": 1, "restarts_rate_limit_period_s": 60}, "engine_settings": {"width": 84, "height": 84, "quality_level": 5, "time_scale": 20, "target_frame_rate": -1, "capture_frame_rate": 60, "no_graphics": true, "no_graphics_monitor": false}, "environment_parameters": null, "checkpoint_settings": {"run_id": "Pyramids Training", "initialize_from": null, "load_model": false, "resume": false, "force": false, "train_model": false, "inference": false, "results_dir": "results"}, "torch_settings": {"device": null}, "debug": false}
configuration.yaml ADDED
@@ -0,0 +1,92 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ default_settings: null
2
+ behaviors:
3
+ Pyramids:
4
+ trainer_type: ppo
5
+ hyperparameters:
6
+ batch_size: 128
7
+ buffer_size: 2048
8
+ learning_rate: 0.0003
9
+ beta: 0.01
10
+ epsilon: 0.2
11
+ lambd: 0.95
12
+ num_epoch: 3
13
+ shared_critic: false
14
+ learning_rate_schedule: linear
15
+ beta_schedule: linear
16
+ epsilon_schedule: linear
17
+ checkpoint_interval: 500000
18
+ network_settings:
19
+ normalize: false
20
+ hidden_units: 512
21
+ num_layers: 2
22
+ vis_encode_type: simple
23
+ memory: null
24
+ goal_conditioning_type: hyper
25
+ deterministic: false
26
+ reward_signals:
27
+ extrinsic:
28
+ gamma: 0.99
29
+ strength: 1.0
30
+ network_settings:
31
+ normalize: false
32
+ hidden_units: 128
33
+ num_layers: 2
34
+ vis_encode_type: simple
35
+ memory: null
36
+ goal_conditioning_type: hyper
37
+ deterministic: false
38
+ rnd:
39
+ gamma: 0.99
40
+ strength: 0.01
41
+ network_settings:
42
+ normalize: false
43
+ hidden_units: 64
44
+ num_layers: 3
45
+ vis_encode_type: simple
46
+ memory: null
47
+ goal_conditioning_type: hyper
48
+ deterministic: false
49
+ learning_rate: 0.0001
50
+ encoding_size: null
51
+ init_path: null
52
+ keep_checkpoints: 5
53
+ even_checkpoints: false
54
+ max_steps: 1000000
55
+ time_horizon: 128
56
+ summary_freq: 30000
57
+ threaded: false
58
+ self_play: null
59
+ behavioral_cloning: null
60
+ env_settings:
61
+ env_path: ./training-envs-executables/linux/Pyramids/Pyramids
62
+ env_args: null
63
+ base_port: 5005
64
+ num_envs: 1
65
+ num_areas: 1
66
+ timeout_wait: 60
67
+ seed: -1
68
+ max_lifetime_restarts: 10
69
+ restarts_rate_limit_n: 1
70
+ restarts_rate_limit_period_s: 60
71
+ engine_settings:
72
+ width: 84
73
+ height: 84
74
+ quality_level: 5
75
+ time_scale: 20
76
+ target_frame_rate: -1
77
+ capture_frame_rate: 60
78
+ no_graphics: true
79
+ no_graphics_monitor: false
80
+ environment_parameters: null
81
+ checkpoint_settings:
82
+ run_id: Pyramids Training
83
+ initialize_from: null
84
+ load_model: false
85
+ resume: false
86
+ force: false
87
+ train_model: false
88
+ inference: false
89
+ results_dir: results
90
+ torch_settings:
91
+ device: null
92
+ debug: false
run_logs/timers.json ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "root",
3
+ "metadata": {
4
+ "timer_format_version": "0.1.0",
5
+ "start_time_seconds": "1707941582",
6
+ "python_version": "3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0]",
7
+ "command_line_arguments": "/usr/local/bin/mlagents-learn ./config/ppo/PyramidsRND.yaml --env=./training-envs-executables/linux/Pyramids/Pyramids --run-id=Pyramids Training --no-graphics",
8
+ "mlagents_version": "1.1.0.dev0",
9
+ "mlagents_envs_version": "1.1.0.dev0",
10
+ "communication_protocol_version": "1.5.0",
11
+ "pytorch_version": "2.2.0+cu121",
12
+ "numpy_version": "1.23.5",
13
+ "end_time_seconds": "1707941582"
14
+ },
15
+ "total": 0.1519914749999316,
16
+ "count": 1,
17
+ "self": 0.016260902999988502,
18
+ "children": {
19
+ "run_training.setup": {
20
+ "total": 0.07344121500000256,
21
+ "count": 1,
22
+ "self": 0.07344121500000256
23
+ },
24
+ "TrainerController.start_learning": {
25
+ "total": 0.06228935699994054,
26
+ "count": 1,
27
+ "self": 0.0007777309999710269,
28
+ "children": {
29
+ "TrainerController._reset_env": {
30
+ "total": 0.06149067399996966,
31
+ "count": 1,
32
+ "self": 0.06149067399996966
33
+ },
34
+ "trainer_threads": {
35
+ "total": 1.2639999340535724e-06,
36
+ "count": 1,
37
+ "self": 1.2639999340535724e-06
38
+ },
39
+ "TrainerController._save_models": {
40
+ "total": 1.9688000065798406e-05,
41
+ "count": 1,
42
+ "self": 1.9688000065798406e-05
43
+ }
44
+ }
45
+ }
46
+ }
47
+ }
run_logs/training_status.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "metadata": {
3
+ "stats_format_version": "0.3.0",
4
+ "mlagents_version": "1.1.0.dev0",
5
+ "torch_version": "2.2.0+cu121"
6
+ }
7
+ }