ValentinGuigon
commited on
Commit
•
516f66d
1
Parent(s):
b09955d
First Push
Browse files- README.md +35 -0
- config.json +1 -0
- configuration.yaml +84 -0
- run_logs/timers.json +47 -0
- run_logs/training_status.json +7 -0
README.md
ADDED
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
library_name: ml-agents
|
3 |
+
tags:
|
4 |
+
- SoccerTwos
|
5 |
+
- deep-reinforcement-learning
|
6 |
+
- reinforcement-learning
|
7 |
+
- ML-Agents-SoccerTwos
|
8 |
+
---
|
9 |
+
|
10 |
+
# **poca** Agent playing **SoccerTwos**
|
11 |
+
This is a trained model of a **poca** agent playing **SoccerTwos**
|
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: ValentinGuigon/poca-SoccerTwos
|
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": {"SoccerTwos": {"trainer_type": "poca", "hyperparameters": {"batch_size": 2048, "buffer_size": 20480, "learning_rate": 0.0003, "beta": 0.005, "epsilon": 0.2, "lambd": 0.95, "num_epoch": 3, "learning_rate_schedule": "constant", "beta_schedule": "constant", "epsilon_schedule": "constant"}, "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}}}, "init_path": null, "keep_checkpoints": 5, "even_checkpoints": false, "max_steps": 5000000, "time_horizon": 1000, "summary_freq": 10000, "threaded": false, "self_play": {"save_steps": 50000, "team_change": 200000, "swap_steps": 2000, "window": 10, "play_against_latest_model_ratio": 0.5, "initial_elo": 1200.0}, "behavioral_cloning": null}}, "env_settings": {"env_path": "./SoccerTwos.x86_64", "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": "SoccerTwos", "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,84 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
default_settings: null
|
2 |
+
behaviors:
|
3 |
+
SoccerTwos:
|
4 |
+
trainer_type: poca
|
5 |
+
hyperparameters:
|
6 |
+
batch_size: 2048
|
7 |
+
buffer_size: 20480
|
8 |
+
learning_rate: 0.0003
|
9 |
+
beta: 0.005
|
10 |
+
epsilon: 0.2
|
11 |
+
lambd: 0.95
|
12 |
+
num_epoch: 3
|
13 |
+
learning_rate_schedule: constant
|
14 |
+
beta_schedule: constant
|
15 |
+
epsilon_schedule: constant
|
16 |
+
checkpoint_interval: 500000
|
17 |
+
network_settings:
|
18 |
+
normalize: false
|
19 |
+
hidden_units: 512
|
20 |
+
num_layers: 2
|
21 |
+
vis_encode_type: simple
|
22 |
+
memory: null
|
23 |
+
goal_conditioning_type: hyper
|
24 |
+
deterministic: false
|
25 |
+
reward_signals:
|
26 |
+
extrinsic:
|
27 |
+
gamma: 0.99
|
28 |
+
strength: 1.0
|
29 |
+
network_settings:
|
30 |
+
normalize: false
|
31 |
+
hidden_units: 128
|
32 |
+
num_layers: 2
|
33 |
+
vis_encode_type: simple
|
34 |
+
memory: null
|
35 |
+
goal_conditioning_type: hyper
|
36 |
+
deterministic: false
|
37 |
+
init_path: null
|
38 |
+
keep_checkpoints: 5
|
39 |
+
even_checkpoints: false
|
40 |
+
max_steps: 5000000
|
41 |
+
time_horizon: 1000
|
42 |
+
summary_freq: 10000
|
43 |
+
threaded: false
|
44 |
+
self_play:
|
45 |
+
save_steps: 50000
|
46 |
+
team_change: 200000
|
47 |
+
swap_steps: 2000
|
48 |
+
window: 10
|
49 |
+
play_against_latest_model_ratio: 0.5
|
50 |
+
initial_elo: 1200.0
|
51 |
+
behavioral_cloning: null
|
52 |
+
env_settings:
|
53 |
+
env_path: ./SoccerTwos.x86_64
|
54 |
+
env_args: null
|
55 |
+
base_port: 5005
|
56 |
+
num_envs: 1
|
57 |
+
num_areas: 1
|
58 |
+
timeout_wait: 60
|
59 |
+
seed: -1
|
60 |
+
max_lifetime_restarts: 10
|
61 |
+
restarts_rate_limit_n: 1
|
62 |
+
restarts_rate_limit_period_s: 60
|
63 |
+
engine_settings:
|
64 |
+
width: 84
|
65 |
+
height: 84
|
66 |
+
quality_level: 5
|
67 |
+
time_scale: 20
|
68 |
+
target_frame_rate: -1
|
69 |
+
capture_frame_rate: 60
|
70 |
+
no_graphics: true
|
71 |
+
no_graphics_monitor: false
|
72 |
+
environment_parameters: null
|
73 |
+
checkpoint_settings:
|
74 |
+
run_id: SoccerTwos
|
75 |
+
initialize_from: null
|
76 |
+
load_model: false
|
77 |
+
resume: false
|
78 |
+
force: false
|
79 |
+
train_model: false
|
80 |
+
inference: false
|
81 |
+
results_dir: results
|
82 |
+
torch_settings:
|
83 |
+
device: null
|
84 |
+
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": "1727384688",
|
6 |
+
"python_version": "3.10.12 (main, Sep 11 2024, 15:47:36) [GCC 11.4.0]",
|
7 |
+
"command_line_arguments": "/usr/local/bin/mlagents-learn ./config/poca/SoccerTwos.yaml --env=./SoccerTwos.x86_64 --run-id=SoccerTwos --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.4.1+cu121",
|
12 |
+
"numpy_version": "1.23.5",
|
13 |
+
"end_time_seconds": "1727384689"
|
14 |
+
},
|
15 |
+
"total": 0.1029315340000494,
|
16 |
+
"count": 1,
|
17 |
+
"self": 0.012467513000046893,
|
18 |
+
"children": {
|
19 |
+
"run_training.setup": {
|
20 |
+
"total": 0.06769089499999836,
|
21 |
+
"count": 1,
|
22 |
+
"self": 0.06769089499999836
|
23 |
+
},
|
24 |
+
"TrainerController.start_learning": {
|
25 |
+
"total": 0.02277312600000414,
|
26 |
+
"count": 1,
|
27 |
+
"self": 0.0006830749999835461,
|
28 |
+
"children": {
|
29 |
+
"TrainerController._reset_env": {
|
30 |
+
"total": 0.022068676000003506,
|
31 |
+
"count": 1,
|
32 |
+
"self": 0.022068676000003506
|
33 |
+
},
|
34 |
+
"trainer_threads": {
|
35 |
+
"total": 1.6340000001946464e-06,
|
36 |
+
"count": 1,
|
37 |
+
"self": 1.6340000001946464e-06
|
38 |
+
},
|
39 |
+
"TrainerController._save_models": {
|
40 |
+
"total": 1.974100001689294e-05,
|
41 |
+
"count": 1,
|
42 |
+
"self": 1.974100001689294e-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.4.1+cu121"
|
6 |
+
}
|
7 |
+
}
|