First commit
Browse files- Pyramids/Pyramids-499939.onnx +3 -0
- Pyramids/Pyramids-499939.pt +3 -0
- Pyramids/Pyramids-999964.onnx +3 -0
- Pyramids/Pyramids-999964.pt +3 -0
- Pyramids/checkpoint.pt +3 -0
- Pyramids/events.out.tfevents.1762610957.DESKTOP-8RCDASI.26961.0 +3 -0
- README.md +35 -0
- config.json +1 -0
- configuration.yaml +92 -0
- run_logs/Player-0.log +23 -0
- run_logs/timers.json +42 -0
- run_logs/training_status.json +7 -0
Pyramids/Pyramids-499939.onnx
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:995e04541df1933120e6fc54b45e4d0fac976060c2b1bb741e0a42bc42248b34
|
| 3 |
+
size 1420238
|
Pyramids/Pyramids-499939.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:be32917df5da1294cd9af0ff616bf8f767f60fa1d2b4cc48d00671b53ff02060
|
| 3 |
+
size 8656650
|
Pyramids/Pyramids-999964.onnx
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:3c1c5b01625322a2ce399dd65891ddb8f874b181f05e0a8dc73508b3ea85557a
|
| 3 |
+
size 1420238
|
Pyramids/Pyramids-999964.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:dd3874d90d046b91b1162e24385125f3c54c1ab933f1813af876ff7e5af6fcff
|
| 3 |
+
size 8656650
|
Pyramids/checkpoint.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:739b41d507cbd0b7ee5029901f30993ee6d6af3ddb80a31c8622f0dcb70d41df
|
| 3 |
+
size 8656181
|
Pyramids/events.out.tfevents.1762610957.DESKTOP-8RCDASI.26961.0
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:8a8052232b3861ca9a9ae4dfa91a89b5dc18c23e789f1980ec83ef7e7c4403e4
|
| 3 |
+
size 467355
|
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: pabloramesc/ppo-Pyramids
|
| 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": true, "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: true
|
| 87 |
+
train_model: false
|
| 88 |
+
inference: false
|
| 89 |
+
results_dir: results
|
| 90 |
+
torch_settings:
|
| 91 |
+
device: null
|
| 92 |
+
debug: false
|
run_logs/Player-0.log
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Mono path[0] = '/home/pablo/courses/deep-rl-course/unit5/ml-agents/training-envs-executables/linux/Pyramids/Pyramids_Data/Managed'
|
| 2 |
+
Mono config path = '/home/pablo/courses/deep-rl-course/unit5/ml-agents/training-envs-executables/linux/Pyramids/Pyramids_Data/MonoBleedingEdge/etc'
|
| 3 |
+
Found 2 interfaces on host : 0) 10.255.255.254 1) 172.21.26.189
|
| 4 |
+
Multi-casting "[IP] 10.255.255.254 [Port] 55256 [Flags] 2 [Guid] 2823262993 [EditorId] 764847374 [Version] 1048832 [Id] LinuxPlayer(13,172.21.26.189) [Debug] 0 [PackageName] LinuxPlayer [ProjectName] UnityEnvironment" to [225.0.0.222:54997]...
|
| 5 |
+
Preloaded 'lib_burst_generated.so'
|
| 6 |
+
Preloaded 'libgrpc_csharp_ext.x64.so'
|
| 7 |
+
Initialize engine version: 2021.3.5f1 (40eb3a945986)
|
| 8 |
+
[Subsystems] Discovering subsystems at path /home/pablo/courses/deep-rl-course/unit5/ml-agents/training-envs-executables/linux/Pyramids/Pyramids_Data/UnitySubsystems
|
| 9 |
+
Forcing GfxDevice: Null
|
| 10 |
+
GfxDevice: creating device client; threaded=0; jobified=0
|
| 11 |
+
NullGfxDevice:
|
| 12 |
+
Version: NULL 1.0 [1.0]
|
| 13 |
+
Renderer: Null Device
|
| 14 |
+
Vendor: Unity Technologies
|
| 15 |
+
ALSA lib confmisc.c:855:(parse_card) cannot find card '0'
|
| 16 |
+
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_card_inum returned error: No such file or directory
|
| 17 |
+
ALSA lib confmisc.c:422:(snd_func_concat) error evaluating strings
|
| 18 |
+
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
|
| 19 |
+
ALSA lib confmisc.c:1342:(snd_func_refer) error evaluating name
|
| 20 |
+
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
|
| 21 |
+
ALSA lib conf.c:5727:(snd_config_expand) Evaluate error: No such file or directory
|
| 22 |
+
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM default
|
| 23 |
+
FMOD failed to initialize the output device.: "Error initializing output device. " (60)
|
run_logs/timers.json
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "root",
|
| 3 |
+
"metadata": {
|
| 4 |
+
"timer_format_version": "0.1.0",
|
| 5 |
+
"start_time_seconds": "1762618791",
|
| 6 |
+
"python_version": "3.10.12 (main, Jul 5 2023, 18:54:27) [GCC 11.2.0]",
|
| 7 |
+
"command_line_arguments": "/home/pablo/courses/deep-rl-course/unit5/venv/bin/mlagents-learn ./config/ppo/PyramidsRND.yaml --env=./training-envs-executables/linux/Pyramids/Pyramids --run-id=Pyramids Training --no-graphics --force",
|
| 8 |
+
"mlagents_version": "1.2.0.dev0",
|
| 9 |
+
"mlagents_envs_version": "1.2.0.dev0",
|
| 10 |
+
"communication_protocol_version": "1.5.0",
|
| 11 |
+
"pytorch_version": "2.8.0+cu128",
|
| 12 |
+
"numpy_version": "1.23.5",
|
| 13 |
+
"end_time_seconds": "1762618849"
|
| 14 |
+
},
|
| 15 |
+
"total": 60.22778404300152,
|
| 16 |
+
"count": 1,
|
| 17 |
+
"self": 0.005582625999522861,
|
| 18 |
+
"children": {
|
| 19 |
+
"run_training.setup": {
|
| 20 |
+
"total": 0.024385534001339693,
|
| 21 |
+
"count": 1,
|
| 22 |
+
"self": 0.024385534001339693
|
| 23 |
+
},
|
| 24 |
+
"TrainerController.start_learning": {
|
| 25 |
+
"total": 60.19781588300066,
|
| 26 |
+
"count": 1,
|
| 27 |
+
"self": 0.0001413570007571252,
|
| 28 |
+
"children": {
|
| 29 |
+
"TrainerController._reset_env": {
|
| 30 |
+
"total": 60.197644560999834,
|
| 31 |
+
"count": 1,
|
| 32 |
+
"self": 60.197644560999834
|
| 33 |
+
},
|
| 34 |
+
"TrainerController._save_models": {
|
| 35 |
+
"total": 2.996500006702263e-05,
|
| 36 |
+
"count": 1,
|
| 37 |
+
"self": 2.996500006702263e-05
|
| 38 |
+
}
|
| 39 |
+
}
|
| 40 |
+
}
|
| 41 |
+
}
|
| 42 |
+
}
|
run_logs/training_status.json
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"metadata": {
|
| 3 |
+
"stats_format_version": "0.3.0",
|
| 4 |
+
"mlagents_version": "1.2.0.dev0",
|
| 5 |
+
"torch_version": "2.8.0+cu128"
|
| 6 |
+
}
|
| 7 |
+
}
|