Ankit Kumar
commited on
Commit
•
ec75bf3
1
Parent(s):
03ad24b
First Push
Browse files- SoccerTwos/events.out.tfevents.1699096825.b0236b23e47a.4493.0 +3 -0
- config.json +1 -1
- configuration.yaml +1 -1
- run_logs/Player-0.log +57 -17
- run_logs/timers.json +221 -137
- run_logs/training_status.json +1 -21
SoccerTwos/events.out.tfevents.1699096825.b0236b23e47a.4493.0
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:261618376b5ef4e8fb6572a4cfe5c18c9b829efb8f4f5e32bebf068547a02971
|
3 |
+
size 65575
|
config.json
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"default_settings": null, "behaviors": {"SoccerTwos": {"trainer_type": "poca", "hyperparameters": {"batch_size": 2048, "buffer_size": 20480, "learning_rate": 0.002, "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": 750000000, "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": "/content/ml-agents/training-envs-executables/linux/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}, "environment_parameters": null, "checkpoint_settings": {"run_id": "
|
|
|
1 |
+
{"default_settings": null, "behaviors": {"SoccerTwos": {"trainer_type": "poca", "hyperparameters": {"batch_size": 2048, "buffer_size": 20480, "learning_rate": 0.002, "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": 750000000, "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": "/content/ml-agents/training-envs-executables/linux/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}, "environment_parameters": null, "checkpoint_settings": {"run_id": "SoccerTwos01", "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
CHANGED
@@ -70,7 +70,7 @@ engine_settings:
|
|
70 |
no_graphics: true
|
71 |
environment_parameters: null
|
72 |
checkpoint_settings:
|
73 |
-
run_id:
|
74 |
initialize_from: null
|
75 |
load_model: false
|
76 |
resume: false
|
|
|
70 |
no_graphics: true
|
71 |
environment_parameters: null
|
72 |
checkpoint_settings:
|
73 |
+
run_id: SoccerTwos01
|
74 |
initialize_from: null
|
75 |
load_model: false
|
76 |
resume: false
|
run_logs/Player-0.log
CHANGED
@@ -31,7 +31,7 @@ ALSA lib pcm.c:2664:(snd_pcm_open_noupdate) Unknown PCM default
|
|
31 |
FMOD failed to initialize the output device.: "Error initializing output device. " (60)
|
32 |
FMOD initialized on nosound output
|
33 |
Begin MonoManager ReloadAssembly
|
34 |
-
- Completed reload, in 0.
|
35 |
ERROR: Shader Sprites/Default shader is not supported on this GPU (none of subshaders/fallbacks are suitable)
|
36 |
ERROR: Shader Sprites/Mask shader is not supported on this GPU (none of subshaders/fallbacks are suitable)
|
37 |
ERROR: Shader Legacy Shaders/VertexLit shader is not supported on this GPU (none of subshaders/fallbacks are suitable)
|
@@ -56,7 +56,7 @@ ERROR: Shader Standard shader is not supported on this GPU (none of subshaders/f
|
|
56 |
WARNING: Shader Unsupported: 'Standard' - All subshaders removed
|
57 |
WARNING: Shader Did you use #pragma only_renderers and omit this platform?
|
58 |
WARNING: Shader If subshaders removal was intentional, you may have forgotten turning Fallback off?
|
59 |
-
UnloadTime: 0.
|
60 |
Registered Communicator in Agent.
|
61 |
ERROR: Shader UI/Default shader is not supported on this GPU (none of subshaders/fallbacks are suitable)
|
62 |
requesting resize 84 x 84
|
@@ -67,12 +67,52 @@ TOO LONG
|
|
67 |
TOO LONG
|
68 |
TOO LONG
|
69 |
TOO LONG
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
Setting up 1 worker threads for Enlighten.
|
|
|
|
|
|
|
|
|
71 |
Memory Statistics:
|
72 |
[ALLOC_TEMP_TLS] TLS Allocator
|
73 |
StackAllocators :
|
74 |
[ALLOC_TEMP_MAIN]
|
75 |
-
Peak usage frame count: [8.0 KB-16.0 KB]:
|
76 |
Initial Block Size 4.0 MB
|
77 |
Current Block Size 4.0 MB
|
78 |
Peak Allocated Bytes 2.1 MB
|
@@ -188,23 +228,23 @@ Memory Statistics:
|
|
188 |
Peak Allocated Bytes 0 B
|
189 |
Overflow Count 0
|
190 |
[ALLOC_DEFAULT] Dual Thread Allocator
|
191 |
-
Peak main deferred allocation count
|
192 |
[ALLOC_BUCKET]
|
193 |
Large Block size 4.0 MB
|
194 |
Used Block count 1
|
195 |
Peak Allocated bytes 1.0 MB
|
196 |
[ALLOC_DEFAULT_MAIN]
|
197 |
-
Peak usage frame count: [
|
198 |
Requested Block Size 16.0 MB
|
199 |
Peak Block count 1
|
200 |
-
Peak Allocated memory
|
201 |
-
Peak Large allocation bytes 0
|
202 |
[ALLOC_DEFAULT_THREAD]
|
203 |
-
Peak usage frame count: [
|
204 |
Requested Block Size 16.0 MB
|
205 |
Peak Block count 1
|
206 |
-
Peak Allocated memory
|
207 |
-
Peak Large allocation bytes
|
208 |
[ALLOC_TEMP_JOB_1_FRAME]
|
209 |
Initial Block Size 2.0 MB
|
210 |
Used Block Count 1
|
@@ -232,13 +272,13 @@ Memory Statistics:
|
|
232 |
Used Block count 1
|
233 |
Peak Allocated bytes 1.0 MB
|
234 |
[ALLOC_GFX_MAIN]
|
235 |
-
Peak usage frame count: [32.0 KB-64.0 KB]:
|
236 |
Requested Block Size 16.0 MB
|
237 |
Peak Block count 1
|
238 |
Peak Allocated memory 65.6 KB
|
239 |
Peak Large allocation bytes 0 B
|
240 |
[ALLOC_GFX_THREAD]
|
241 |
-
Peak usage frame count: [128.0 KB-256.0 KB]:
|
242 |
Requested Block Size 16.0 MB
|
243 |
Peak Block count 1
|
244 |
Peak Allocated memory 173.5 KB
|
@@ -250,16 +290,16 @@ Memory Statistics:
|
|
250 |
Used Block count 1
|
251 |
Peak Allocated bytes 1.0 MB
|
252 |
[ALLOC_CACHEOBJECTS_MAIN]
|
253 |
-
Peak usage frame count: [0.5 MB-1.0 MB]:
|
254 |
Requested Block Size 4.0 MB
|
255 |
Peak Block count 1
|
256 |
Peak Allocated memory 0.6 MB
|
257 |
Peak Large allocation bytes 0 B
|
258 |
[ALLOC_CACHEOBJECTS_THREAD]
|
259 |
-
Peak usage frame count: [0.5 MB-1.0 MB]:
|
260 |
Requested Block Size 4.0 MB
|
261 |
Peak Block count 2
|
262 |
-
Peak Allocated memory 4.
|
263 |
Peak Large allocation bytes 0 B
|
264 |
[ALLOC_TYPETREE] Dual Thread Allocator
|
265 |
Peak main deferred allocation count 0
|
@@ -268,13 +308,13 @@ Memory Statistics:
|
|
268 |
Used Block count 1
|
269 |
Peak Allocated bytes 1.0 MB
|
270 |
[ALLOC_TYPETREE_MAIN]
|
271 |
-
Peak usage frame count: [0-1.0 KB]:
|
272 |
Requested Block Size 2.0 MB
|
273 |
Peak Block count 1
|
274 |
Peak Allocated memory 1.0 KB
|
275 |
Peak Large allocation bytes 0 B
|
276 |
[ALLOC_TYPETREE_THREAD]
|
277 |
-
Peak usage frame count: [1.0 KB-2.0 KB]:
|
278 |
Requested Block Size 2.0 MB
|
279 |
Peak Block count 1
|
280 |
Peak Allocated memory 2.2 KB
|
|
|
31 |
FMOD failed to initialize the output device.: "Error initializing output device. " (60)
|
32 |
FMOD initialized on nosound output
|
33 |
Begin MonoManager ReloadAssembly
|
34 |
+
- Completed reload, in 0.112 seconds
|
35 |
ERROR: Shader Sprites/Default shader is not supported on this GPU (none of subshaders/fallbacks are suitable)
|
36 |
ERROR: Shader Sprites/Mask shader is not supported on this GPU (none of subshaders/fallbacks are suitable)
|
37 |
ERROR: Shader Legacy Shaders/VertexLit shader is not supported on this GPU (none of subshaders/fallbacks are suitable)
|
|
|
56 |
WARNING: Shader Unsupported: 'Standard' - All subshaders removed
|
57 |
WARNING: Shader Did you use #pragma only_renderers and omit this platform?
|
58 |
WARNING: Shader If subshaders removal was intentional, you may have forgotten turning Fallback off?
|
59 |
+
UnloadTime: 0.831598 ms
|
60 |
Registered Communicator in Agent.
|
61 |
ERROR: Shader UI/Default shader is not supported on this GPU (none of subshaders/fallbacks are suitable)
|
62 |
requesting resize 84 x 84
|
|
|
67 |
TOO LONG
|
68 |
TOO LONG
|
69 |
TOO LONG
|
70 |
+
TOO LONG
|
71 |
+
TOO LONG
|
72 |
+
TOO LONG
|
73 |
+
TOO LONG
|
74 |
+
TOO LONG
|
75 |
+
TOO LONG
|
76 |
+
TOO LONG
|
77 |
+
TOO LONG
|
78 |
+
TOO LONG
|
79 |
+
TOO LONG
|
80 |
+
TOO LONG
|
81 |
+
TOO LONG
|
82 |
+
TOO LONG
|
83 |
+
TOO LONG
|
84 |
+
TOO LONG
|
85 |
+
TOO LONG
|
86 |
+
TOO LONG
|
87 |
+
TOO LONG
|
88 |
+
TOO LONG
|
89 |
+
TOO LONG
|
90 |
+
TOO LONG
|
91 |
+
TOO LONG
|
92 |
+
TOO LONG
|
93 |
+
TOO LONG
|
94 |
+
TOO LONG
|
95 |
+
TOO LONG
|
96 |
+
TOO LONG
|
97 |
+
TOO LONG
|
98 |
+
TOO LONG
|
99 |
+
TOO LONG
|
100 |
+
TOO LONG
|
101 |
+
TOO LONG
|
102 |
+
TOO LONG
|
103 |
+
TOO LONG
|
104 |
+
TOO LONG
|
105 |
+
TOO LONG
|
106 |
Setting up 1 worker threads for Enlighten.
|
107 |
+
abort_threads: Failed aborting id: 0x795bc6df9640, mono_thread_manage will ignore it
|
108 |
+
|
109 |
+
abort_threads: Failed aborting id: 0x795bc6ffa640, mono_thread_manage will ignore it
|
110 |
+
|
111 |
Memory Statistics:
|
112 |
[ALLOC_TEMP_TLS] TLS Allocator
|
113 |
StackAllocators :
|
114 |
[ALLOC_TEMP_MAIN]
|
115 |
+
Peak usage frame count: [8.0 KB-16.0 KB]: 2110 frames, [2.0 MB-4.0 MB]: 1 frames
|
116 |
Initial Block Size 4.0 MB
|
117 |
Current Block Size 4.0 MB
|
118 |
Peak Allocated Bytes 2.1 MB
|
|
|
228 |
Peak Allocated Bytes 0 B
|
229 |
Overflow Count 0
|
230 |
[ALLOC_DEFAULT] Dual Thread Allocator
|
231 |
+
Peak main deferred allocation count 2
|
232 |
[ALLOC_BUCKET]
|
233 |
Large Block size 4.0 MB
|
234 |
Used Block count 1
|
235 |
Peak Allocated bytes 1.0 MB
|
236 |
[ALLOC_DEFAULT_MAIN]
|
237 |
+
Peak usage frame count: [16.0 MB-32.0 MB]: 2111 frames
|
238 |
Requested Block Size 16.0 MB
|
239 |
Peak Block count 1
|
240 |
+
Peak Allocated memory 20.7 MB
|
241 |
+
Peak Large allocation bytes 16.0 MB
|
242 |
[ALLOC_DEFAULT_THREAD]
|
243 |
+
Peak usage frame count: [1.0 MB-2.0 MB]: 2111 frames
|
244 |
Requested Block Size 16.0 MB
|
245 |
Peak Block count 1
|
246 |
+
Peak Allocated memory 1.5 MB
|
247 |
+
Peak Large allocation bytes 0 B
|
248 |
[ALLOC_TEMP_JOB_1_FRAME]
|
249 |
Initial Block Size 2.0 MB
|
250 |
Used Block Count 1
|
|
|
272 |
Used Block count 1
|
273 |
Peak Allocated bytes 1.0 MB
|
274 |
[ALLOC_GFX_MAIN]
|
275 |
+
Peak usage frame count: [32.0 KB-64.0 KB]: 2110 frames, [64.0 KB-128.0 KB]: 1 frames
|
276 |
Requested Block Size 16.0 MB
|
277 |
Peak Block count 1
|
278 |
Peak Allocated memory 65.6 KB
|
279 |
Peak Large allocation bytes 0 B
|
280 |
[ALLOC_GFX_THREAD]
|
281 |
+
Peak usage frame count: [128.0 KB-256.0 KB]: 2111 frames
|
282 |
Requested Block Size 16.0 MB
|
283 |
Peak Block count 1
|
284 |
Peak Allocated memory 173.5 KB
|
|
|
290 |
Used Block count 1
|
291 |
Peak Allocated bytes 1.0 MB
|
292 |
[ALLOC_CACHEOBJECTS_MAIN]
|
293 |
+
Peak usage frame count: [0.5 MB-1.0 MB]: 2111 frames
|
294 |
Requested Block Size 4.0 MB
|
295 |
Peak Block count 1
|
296 |
Peak Allocated memory 0.6 MB
|
297 |
Peak Large allocation bytes 0 B
|
298 |
[ALLOC_CACHEOBJECTS_THREAD]
|
299 |
+
Peak usage frame count: [0.5 MB-1.0 MB]: 2110 frames, [4.0 MB-8.0 MB]: 1 frames
|
300 |
Requested Block Size 4.0 MB
|
301 |
Peak Block count 2
|
302 |
+
Peak Allocated memory 4.5 MB
|
303 |
Peak Large allocation bytes 0 B
|
304 |
[ALLOC_TYPETREE] Dual Thread Allocator
|
305 |
Peak main deferred allocation count 0
|
|
|
308 |
Used Block count 1
|
309 |
Peak Allocated bytes 1.0 MB
|
310 |
[ALLOC_TYPETREE_MAIN]
|
311 |
+
Peak usage frame count: [0-1.0 KB]: 2111 frames
|
312 |
Requested Block Size 2.0 MB
|
313 |
Peak Block count 1
|
314 |
Peak Allocated memory 1.0 KB
|
315 |
Peak Large allocation bytes 0 B
|
316 |
[ALLOC_TYPETREE_THREAD]
|
317 |
+
Peak usage frame count: [1.0 KB-2.0 KB]: 2110 frames, [2.0 KB-4.0 KB]: 1 frames
|
318 |
Requested Block Size 2.0 MB
|
319 |
Peak Block count 1
|
320 |
Peak Allocated memory 2.2 KB
|
run_logs/timers.json
CHANGED
@@ -2,189 +2,261 @@
|
|
2 |
"name": "root",
|
3 |
"gauges": {
|
4 |
"SoccerTwos.Policy.Entropy.mean": {
|
5 |
-
"value": 3.
|
6 |
-
"min": 3.
|
7 |
-
"max": 3.
|
8 |
-
"count":
|
9 |
},
|
10 |
"SoccerTwos.Policy.Entropy.sum": {
|
11 |
-
"value":
|
12 |
-
"min":
|
13 |
-
"max": 105462.
|
14 |
-
"count":
|
15 |
},
|
16 |
"SoccerTwos.Environment.EpisodeLength.mean": {
|
17 |
-
"value":
|
18 |
-
"min":
|
19 |
-
"max":
|
20 |
-
"count":
|
21 |
},
|
22 |
"SoccerTwos.Environment.EpisodeLength.sum": {
|
23 |
-
"value":
|
24 |
-
"min":
|
25 |
-
"max":
|
26 |
-
"count":
|
27 |
},
|
28 |
"SoccerTwos.Self-play.ELO.mean": {
|
29 |
-
"value":
|
30 |
-
"min":
|
31 |
-
"max":
|
32 |
-
"count":
|
33 |
},
|
34 |
"SoccerTwos.Self-play.ELO.sum": {
|
35 |
-
"value":
|
36 |
-
"min":
|
37 |
-
"max":
|
38 |
-
"count":
|
39 |
},
|
40 |
"SoccerTwos.Step.mean": {
|
41 |
-
"value":
|
42 |
-
"min":
|
43 |
-
"max":
|
44 |
-
"count":
|
45 |
},
|
46 |
"SoccerTwos.Step.sum": {
|
47 |
-
"value":
|
48 |
-
"min":
|
49 |
-
"max":
|
50 |
-
"count":
|
51 |
},
|
52 |
"SoccerTwos.Policy.ExtrinsicBaselineEstimate.mean": {
|
53 |
-
"value": -0.
|
54 |
-
"min": -0.
|
55 |
-
"max": -0.
|
56 |
-
"count":
|
57 |
},
|
58 |
"SoccerTwos.Policy.ExtrinsicBaselineEstimate.sum": {
|
59 |
-
"value": -0.
|
60 |
-
"min": -
|
61 |
-
"max": -0.
|
62 |
-
"count":
|
63 |
},
|
64 |
"SoccerTwos.Policy.ExtrinsicValueEstimate.mean": {
|
65 |
-
"value": -0.
|
66 |
-
"min": -0.
|
67 |
-
"max": -0.
|
68 |
-
"count":
|
69 |
},
|
70 |
"SoccerTwos.Policy.ExtrinsicValueEstimate.sum": {
|
71 |
-
"value": -0.
|
72 |
-
"min": -0.
|
73 |
-
"max": -0.
|
74 |
-
"count":
|
75 |
},
|
76 |
"SoccerTwos.Environment.CumulativeReward.mean": {
|
77 |
"value": 0.0,
|
78 |
"min": 0.0,
|
79 |
"max": 0.0,
|
80 |
-
"count":
|
81 |
},
|
82 |
"SoccerTwos.Environment.CumulativeReward.sum": {
|
83 |
"value": 0.0,
|
84 |
"min": 0.0,
|
85 |
"max": 0.0,
|
86 |
-
"count":
|
87 |
},
|
88 |
"SoccerTwos.Policy.ExtrinsicReward.mean": {
|
89 |
-
"value": 0.
|
90 |
-
"min": 0.
|
91 |
-
"max": 0.
|
92 |
-
"count":
|
93 |
},
|
94 |
"SoccerTwos.Policy.ExtrinsicReward.sum": {
|
95 |
-
"value":
|
96 |
-
"min":
|
97 |
-
"max":
|
98 |
-
"count":
|
99 |
},
|
100 |
"SoccerTwos.Environment.GroupCumulativeReward.mean": {
|
101 |
-
"value": 0.
|
102 |
-
"min": 0.
|
103 |
-
"max": 0.
|
104 |
-
"count":
|
105 |
},
|
106 |
"SoccerTwos.Environment.GroupCumulativeReward.sum": {
|
107 |
-
"value":
|
108 |
-
"min":
|
109 |
-
"max":
|
110 |
-
"count":
|
111 |
},
|
112 |
"SoccerTwos.IsTraining.mean": {
|
113 |
"value": 1.0,
|
114 |
"min": 1.0,
|
115 |
"max": 1.0,
|
116 |
-
"count":
|
117 |
},
|
118 |
"SoccerTwos.IsTraining.sum": {
|
119 |
"value": 1.0,
|
120 |
"min": 1.0,
|
121 |
"max": 1.0,
|
122 |
-
"count":
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
123 |
}
|
124 |
},
|
125 |
"metadata": {
|
126 |
"timer_format_version": "0.1.0",
|
127 |
-
"start_time_seconds": "
|
128 |
"python_version": "3.10.12 (main, Jun 11 2023, 05:26:28) [GCC 11.4.0]",
|
129 |
-
"command_line_arguments": "/usr/local/bin/mlagents-learn ./config/poca/SoccerTwos.yaml --env=/content/ml-agents/training-envs-executables/linux/SoccerTwos.x86_64 --run-id=
|
130 |
"mlagents_version": "1.1.0.dev0",
|
131 |
"mlagents_envs_version": "1.1.0.dev0",
|
132 |
"communication_protocol_version": "1.5.0",
|
133 |
"pytorch_version": "2.1.0+cu118",
|
134 |
"numpy_version": "1.23.5",
|
135 |
-
"end_time_seconds": "
|
136 |
},
|
137 |
-
"total":
|
138 |
"count": 1,
|
139 |
-
"self": 0.
|
140 |
"children": {
|
141 |
"run_training.setup": {
|
142 |
-
"total": 0.
|
143 |
"count": 1,
|
144 |
-
"self": 0.
|
145 |
},
|
146 |
"TrainerController.start_learning": {
|
147 |
-
"total":
|
148 |
"count": 1,
|
149 |
-
"self": 0.
|
150 |
"children": {
|
151 |
"TrainerController._reset_env": {
|
152 |
-
"total":
|
153 |
"count": 1,
|
154 |
-
"self":
|
155 |
},
|
156 |
"TrainerController.advance": {
|
157 |
-
"total":
|
158 |
-
"count":
|
159 |
-
"self": 0.
|
160 |
"children": {
|
161 |
"env_step": {
|
162 |
-
"total":
|
163 |
-
"count":
|
164 |
-
"self":
|
165 |
"children": {
|
166 |
"SubprocessEnvManager._take_step": {
|
167 |
-
"total":
|
168 |
-
"count":
|
169 |
-
"self":
|
170 |
"children": {
|
171 |
"TorchPolicy.evaluate": {
|
172 |
-
"total":
|
173 |
-
"count":
|
174 |
-
"self":
|
175 |
}
|
176 |
}
|
177 |
},
|
178 |
"workers": {
|
179 |
-
"total": 0.
|
180 |
-
"count":
|
181 |
"self": 0.0,
|
182 |
"children": {
|
183 |
"worker_root": {
|
184 |
-
"total":
|
185 |
-
"count":
|
186 |
"is_parallel": true,
|
187 |
-
"self":
|
188 |
"children": {
|
189 |
"run_training.setup": {
|
190 |
"total": 0.0,
|
@@ -193,48 +265,48 @@
|
|
193 |
"self": 0.0,
|
194 |
"children": {
|
195 |
"steps_from_proto": {
|
196 |
-
"total": 0.
|
197 |
"count": 2,
|
198 |
"is_parallel": true,
|
199 |
-
"self": 0.
|
200 |
"children": {
|
201 |
"_process_rank_one_or_two_observation": {
|
202 |
-
"total": 0.
|
203 |
"count": 8,
|
204 |
"is_parallel": true,
|
205 |
-
"self": 0.
|
206 |
}
|
207 |
}
|
208 |
},
|
209 |
"UnityEnvironment.step": {
|
210 |
-
"total": 0.
|
211 |
"count": 1,
|
212 |
"is_parallel": true,
|
213 |
-
"self": 0.
|
214 |
"children": {
|
215 |
"UnityEnvironment._generate_step_input": {
|
216 |
-
"total": 0.
|
217 |
"count": 1,
|
218 |
"is_parallel": true,
|
219 |
-
"self": 0.
|
220 |
},
|
221 |
"communicator.exchange": {
|
222 |
-
"total": 0.
|
223 |
"count": 1,
|
224 |
"is_parallel": true,
|
225 |
-
"self": 0.
|
226 |
},
|
227 |
"steps_from_proto": {
|
228 |
-
"total": 0.
|
229 |
"count": 2,
|
230 |
"is_parallel": true,
|
231 |
-
"self": 0.
|
232 |
"children": {
|
233 |
"_process_rank_one_or_two_observation": {
|
234 |
-
"total": 0.
|
235 |
"count": 8,
|
236 |
"is_parallel": true,
|
237 |
-
"self": 0.
|
238 |
}
|
239 |
}
|
240 |
}
|
@@ -243,34 +315,34 @@
|
|
243 |
}
|
244 |
},
|
245 |
"UnityEnvironment.step": {
|
246 |
-
"total":
|
247 |
-
"count":
|
248 |
"is_parallel": true,
|
249 |
-
"self":
|
250 |
"children": {
|
251 |
"UnityEnvironment._generate_step_input": {
|
252 |
-
"total":
|
253 |
-
"count":
|
254 |
"is_parallel": true,
|
255 |
-
"self":
|
256 |
},
|
257 |
"communicator.exchange": {
|
258 |
-
"total":
|
259 |
-
"count":
|
260 |
"is_parallel": true,
|
261 |
-
"self":
|
262 |
},
|
263 |
"steps_from_proto": {
|
264 |
-
"total":
|
265 |
-
"count":
|
266 |
"is_parallel": true,
|
267 |
-
"self":
|
268 |
"children": {
|
269 |
"_process_rank_one_or_two_observation": {
|
270 |
-
"total":
|
271 |
-
"count":
|
272 |
"is_parallel": true,
|
273 |
-
"self":
|
274 |
}
|
275 |
}
|
276 |
}
|
@@ -283,33 +355,45 @@
|
|
283 |
}
|
284 |
},
|
285 |
"trainer_advance": {
|
286 |
-
"total":
|
287 |
-
"count":
|
288 |
-
"self":
|
289 |
"children": {
|
290 |
"process_trajectory": {
|
291 |
-
"total":
|
292 |
-
"count":
|
293 |
-
"self":
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
294 |
}
|
295 |
}
|
296 |
}
|
297 |
}
|
298 |
},
|
299 |
"trainer_threads": {
|
300 |
-
"total": 1.
|
301 |
"count": 1,
|
302 |
-
"self": 1.
|
303 |
},
|
304 |
"TrainerController._save_models": {
|
305 |
-
"total": 0.
|
306 |
"count": 1,
|
307 |
-
"self":
|
308 |
"children": {
|
309 |
"RLTrainer._checkpoint": {
|
310 |
-
"total": 0.
|
311 |
"count": 1,
|
312 |
-
"self": 0.
|
313 |
}
|
314 |
}
|
315 |
}
|
|
|
2 |
"name": "root",
|
3 |
"gauges": {
|
4 |
"SoccerTwos.Policy.Entropy.mean": {
|
5 |
+
"value": 3.2614316940307617,
|
6 |
+
"min": 3.258707284927368,
|
7 |
+
"max": 3.295718193054199,
|
8 |
+
"count": 10
|
9 |
},
|
10 |
"SoccerTwos.Policy.Entropy.sum": {
|
11 |
+
"value": 89650.234375,
|
12 |
+
"min": 30292.70703125,
|
13 |
+
"max": 105462.984375,
|
14 |
+
"count": 10
|
15 |
},
|
16 |
"SoccerTwos.Environment.EpisodeLength.mean": {
|
17 |
+
"value": 883.1666666666666,
|
18 |
+
"min": 642.625,
|
19 |
+
"max": 999.0,
|
20 |
+
"count": 10
|
21 |
},
|
22 |
"SoccerTwos.Environment.EpisodeLength.sum": {
|
23 |
+
"value": 21196.0,
|
24 |
+
"min": 12328.0,
|
25 |
+
"max": 27864.0,
|
26 |
+
"count": 10
|
27 |
},
|
28 |
"SoccerTwos.Self-play.ELO.mean": {
|
29 |
+
"value": 1200.6875594647793,
|
30 |
+
"min": 1200.6875594647793,
|
31 |
+
"max": 1203.943047306674,
|
32 |
+
"count": 8
|
33 |
},
|
34 |
"SoccerTwos.Self-play.ELO.sum": {
|
35 |
+
"value": 7204.125356788676,
|
36 |
+
"min": 2403.8360569975775,
|
37 |
+
"max": 9623.964240807352,
|
38 |
+
"count": 8
|
39 |
},
|
40 |
"SoccerTwos.Step.mean": {
|
41 |
+
"value": 99390.0,
|
42 |
+
"min": 9948.0,
|
43 |
+
"max": 99390.0,
|
44 |
+
"count": 10
|
45 |
},
|
46 |
"SoccerTwos.Step.sum": {
|
47 |
+
"value": 99390.0,
|
48 |
+
"min": 9948.0,
|
49 |
+
"max": 99390.0,
|
50 |
+
"count": 10
|
51 |
},
|
52 |
"SoccerTwos.Policy.ExtrinsicBaselineEstimate.mean": {
|
53 |
+
"value": -0.03879609331488609,
|
54 |
+
"min": -0.10664743185043335,
|
55 |
+
"max": -0.03879609331488609,
|
56 |
+
"count": 10
|
57 |
},
|
58 |
"SoccerTwos.Policy.ExtrinsicBaselineEstimate.sum": {
|
59 |
+
"value": -0.42675700783729553,
|
60 |
+
"min": -1.1396600008010864,
|
61 |
+
"max": -0.42675700783729553,
|
62 |
+
"count": 10
|
63 |
},
|
64 |
"SoccerTwos.Policy.ExtrinsicValueEstimate.mean": {
|
65 |
+
"value": -0.03732283413410187,
|
66 |
+
"min": -0.05642535164952278,
|
67 |
+
"max": -0.03732283413410187,
|
68 |
+
"count": 10
|
69 |
},
|
70 |
"SoccerTwos.Policy.ExtrinsicValueEstimate.sum": {
|
71 |
+
"value": -0.41055116057395935,
|
72 |
+
"min": -0.8185520172119141,
|
73 |
+
"max": -0.40887296199798584,
|
74 |
+
"count": 10
|
75 |
},
|
76 |
"SoccerTwos.Environment.CumulativeReward.mean": {
|
77 |
"value": 0.0,
|
78 |
"min": 0.0,
|
79 |
"max": 0.0,
|
80 |
+
"count": 10
|
81 |
},
|
82 |
"SoccerTwos.Environment.CumulativeReward.sum": {
|
83 |
"value": 0.0,
|
84 |
"min": 0.0,
|
85 |
"max": 0.0,
|
86 |
+
"count": 10
|
87 |
},
|
88 |
"SoccerTwos.Policy.ExtrinsicReward.mean": {
|
89 |
+
"value": -0.2970909096977927,
|
90 |
+
"min": -0.36251764437731576,
|
91 |
+
"max": 0.17113332947095236,
|
92 |
+
"count": 10
|
93 |
},
|
94 |
"SoccerTwos.Policy.ExtrinsicReward.sum": {
|
95 |
+
"value": -3.26800000667572,
|
96 |
+
"min": -6.162799954414368,
|
97 |
+
"max": 2.0535999536514282,
|
98 |
+
"count": 10
|
99 |
},
|
100 |
"SoccerTwos.Environment.GroupCumulativeReward.mean": {
|
101 |
+
"value": -0.2970909096977927,
|
102 |
+
"min": -0.36251764437731576,
|
103 |
+
"max": 0.17113332947095236,
|
104 |
+
"count": 10
|
105 |
},
|
106 |
"SoccerTwos.Environment.GroupCumulativeReward.sum": {
|
107 |
+
"value": -3.26800000667572,
|
108 |
+
"min": -6.162799954414368,
|
109 |
+
"max": 2.0535999536514282,
|
110 |
+
"count": 10
|
111 |
},
|
112 |
"SoccerTwos.IsTraining.mean": {
|
113 |
"value": 1.0,
|
114 |
"min": 1.0,
|
115 |
"max": 1.0,
|
116 |
+
"count": 10
|
117 |
},
|
118 |
"SoccerTwos.IsTraining.sum": {
|
119 |
"value": 1.0,
|
120 |
"min": 1.0,
|
121 |
"max": 1.0,
|
122 |
+
"count": 10
|
123 |
+
},
|
124 |
+
"SoccerTwos.Losses.PolicyLoss.mean": {
|
125 |
+
"value": 0.016862712742295116,
|
126 |
+
"min": 0.01494209394052935,
|
127 |
+
"max": 0.020022764914513876,
|
128 |
+
"count": 4
|
129 |
+
},
|
130 |
+
"SoccerTwos.Losses.PolicyLoss.sum": {
|
131 |
+
"value": 0.016862712742295116,
|
132 |
+
"min": 0.01494209394052935,
|
133 |
+
"max": 0.020022764914513876,
|
134 |
+
"count": 4
|
135 |
+
},
|
136 |
+
"SoccerTwos.Losses.ValueLoss.mean": {
|
137 |
+
"value": 0.0019297421560622752,
|
138 |
+
"min": 0.0008788986102445051,
|
139 |
+
"max": 2.080857078152864,
|
140 |
+
"count": 4
|
141 |
+
},
|
142 |
+
"SoccerTwos.Losses.ValueLoss.sum": {
|
143 |
+
"value": 0.0019297421560622752,
|
144 |
+
"min": 0.0008788986102445051,
|
145 |
+
"max": 2.080857078152864,
|
146 |
+
"count": 4
|
147 |
+
},
|
148 |
+
"SoccerTwos.Losses.BaselineLoss.mean": {
|
149 |
+
"value": 0.0019658890281183026,
|
150 |
+
"min": 0.0013164583060036724,
|
151 |
+
"max": 2.0529311431649453,
|
152 |
+
"count": 4
|
153 |
+
},
|
154 |
+
"SoccerTwos.Losses.BaselineLoss.sum": {
|
155 |
+
"value": 0.0019658890281183026,
|
156 |
+
"min": 0.0013164583060036724,
|
157 |
+
"max": 2.0529311431649453,
|
158 |
+
"count": 4
|
159 |
+
},
|
160 |
+
"SoccerTwos.Policy.LearningRate.mean": {
|
161 |
+
"value": 0.0020000000000000005,
|
162 |
+
"min": 0.0020000000000000005,
|
163 |
+
"max": 0.0020000000000000005,
|
164 |
+
"count": 4
|
165 |
+
},
|
166 |
+
"SoccerTwos.Policy.LearningRate.sum": {
|
167 |
+
"value": 0.0020000000000000005,
|
168 |
+
"min": 0.0020000000000000005,
|
169 |
+
"max": 0.0020000000000000005,
|
170 |
+
"count": 4
|
171 |
+
},
|
172 |
+
"SoccerTwos.Policy.Epsilon.mean": {
|
173 |
+
"value": 0.20000000000000007,
|
174 |
+
"min": 0.20000000000000007,
|
175 |
+
"max": 0.20000000000000007,
|
176 |
+
"count": 4
|
177 |
+
},
|
178 |
+
"SoccerTwos.Policy.Epsilon.sum": {
|
179 |
+
"value": 0.20000000000000007,
|
180 |
+
"min": 0.20000000000000007,
|
181 |
+
"max": 0.20000000000000007,
|
182 |
+
"count": 4
|
183 |
+
},
|
184 |
+
"SoccerTwos.Policy.Beta.mean": {
|
185 |
+
"value": 0.005000000000000001,
|
186 |
+
"min": 0.005000000000000001,
|
187 |
+
"max": 0.005000000000000001,
|
188 |
+
"count": 4
|
189 |
+
},
|
190 |
+
"SoccerTwos.Policy.Beta.sum": {
|
191 |
+
"value": 0.005000000000000001,
|
192 |
+
"min": 0.005000000000000001,
|
193 |
+
"max": 0.005000000000000001,
|
194 |
+
"count": 4
|
195 |
}
|
196 |
},
|
197 |
"metadata": {
|
198 |
"timer_format_version": "0.1.0",
|
199 |
+
"start_time_seconds": "1699096824",
|
200 |
"python_version": "3.10.12 (main, Jun 11 2023, 05:26:28) [GCC 11.4.0]",
|
201 |
+
"command_line_arguments": "/usr/local/bin/mlagents-learn ./config/poca/SoccerTwos.yaml --env=/content/ml-agents/training-envs-executables/linux/SoccerTwos.x86_64 --run-id=SoccerTwos01 --no-graphics",
|
202 |
"mlagents_version": "1.1.0.dev0",
|
203 |
"mlagents_envs_version": "1.1.0.dev0",
|
204 |
"communication_protocol_version": "1.5.0",
|
205 |
"pytorch_version": "2.1.0+cu118",
|
206 |
"numpy_version": "1.23.5",
|
207 |
+
"end_time_seconds": "1699097055"
|
208 |
},
|
209 |
+
"total": 231.51909745199998,
|
210 |
"count": 1,
|
211 |
+
"self": 0.433240799000032,
|
212 |
"children": {
|
213 |
"run_training.setup": {
|
214 |
+
"total": 0.068995616000052,
|
215 |
"count": 1,
|
216 |
+
"self": 0.068995616000052
|
217 |
},
|
218 |
"TrainerController.start_learning": {
|
219 |
+
"total": 231.0168610369999,
|
220 |
"count": 1,
|
221 |
+
"self": 0.151787955996042,
|
222 |
"children": {
|
223 |
"TrainerController._reset_env": {
|
224 |
+
"total": 4.105791149999959,
|
225 |
"count": 1,
|
226 |
+
"self": 4.105791149999959
|
227 |
},
|
228 |
"TrainerController.advance": {
|
229 |
+
"total": 226.75851142400393,
|
230 |
+
"count": 7079,
|
231 |
+
"self": 0.17550149299711393,
|
232 |
"children": {
|
233 |
"env_step": {
|
234 |
+
"total": 185.79979378700045,
|
235 |
+
"count": 7079,
|
236 |
+
"self": 142.23789582400184,
|
237 |
"children": {
|
238 |
"SubprocessEnvManager._take_step": {
|
239 |
+
"total": 43.46966568900291,
|
240 |
+
"count": 7079,
|
241 |
+
"self": 1.2732977140242383,
|
242 |
"children": {
|
243 |
"TorchPolicy.evaluate": {
|
244 |
+
"total": 42.19636797497867,
|
245 |
+
"count": 14072,
|
246 |
+
"self": 42.19636797497867
|
247 |
}
|
248 |
}
|
249 |
},
|
250 |
"workers": {
|
251 |
+
"total": 0.09223227399570533,
|
252 |
+
"count": 7078,
|
253 |
"self": 0.0,
|
254 |
"children": {
|
255 |
"worker_root": {
|
256 |
+
"total": 230.68744517500602,
|
257 |
+
"count": 7078,
|
258 |
"is_parallel": true,
|
259 |
+
"self": 110.80680951599982,
|
260 |
"children": {
|
261 |
"run_training.setup": {
|
262 |
"total": 0.0,
|
|
|
265 |
"self": 0.0,
|
266 |
"children": {
|
267 |
"steps_from_proto": {
|
268 |
+
"total": 0.004338862000054178,
|
269 |
"count": 2,
|
270 |
"is_parallel": true,
|
271 |
+
"self": 0.0009452800001099604,
|
272 |
"children": {
|
273 |
"_process_rank_one_or_two_observation": {
|
274 |
+
"total": 0.0033935819999442174,
|
275 |
"count": 8,
|
276 |
"is_parallel": true,
|
277 |
+
"self": 0.0033935819999442174
|
278 |
}
|
279 |
}
|
280 |
},
|
281 |
"UnityEnvironment.step": {
|
282 |
+
"total": 0.0403638760000149,
|
283 |
"count": 1,
|
284 |
"is_parallel": true,
|
285 |
+
"self": 0.0011478690000785718,
|
286 |
"children": {
|
287 |
"UnityEnvironment._generate_step_input": {
|
288 |
+
"total": 0.0009303319999389714,
|
289 |
"count": 1,
|
290 |
"is_parallel": true,
|
291 |
+
"self": 0.0009303319999389714
|
292 |
},
|
293 |
"communicator.exchange": {
|
294 |
+
"total": 0.03501296700005696,
|
295 |
"count": 1,
|
296 |
"is_parallel": true,
|
297 |
+
"self": 0.03501296700005696
|
298 |
},
|
299 |
"steps_from_proto": {
|
300 |
+
"total": 0.003272707999940394,
|
301 |
"count": 2,
|
302 |
"is_parallel": true,
|
303 |
+
"self": 0.0005610439999372829,
|
304 |
"children": {
|
305 |
"_process_rank_one_or_two_observation": {
|
306 |
+
"total": 0.002711664000003111,
|
307 |
"count": 8,
|
308 |
"is_parallel": true,
|
309 |
+
"self": 0.002711664000003111
|
310 |
}
|
311 |
}
|
312 |
}
|
|
|
315 |
}
|
316 |
},
|
317 |
"UnityEnvironment.step": {
|
318 |
+
"total": 119.8806356590062,
|
319 |
+
"count": 7077,
|
320 |
"is_parallel": true,
|
321 |
+
"self": 7.849778665020153,
|
322 |
"children": {
|
323 |
"UnityEnvironment._generate_step_input": {
|
324 |
+
"total": 5.165152892002652,
|
325 |
+
"count": 7077,
|
326 |
"is_parallel": true,
|
327 |
+
"self": 5.165152892002652
|
328 |
},
|
329 |
"communicator.exchange": {
|
330 |
+
"total": 83.09441377599637,
|
331 |
+
"count": 7077,
|
332 |
"is_parallel": true,
|
333 |
+
"self": 83.09441377599637
|
334 |
},
|
335 |
"steps_from_proto": {
|
336 |
+
"total": 23.771290325987025,
|
337 |
+
"count": 14154,
|
338 |
"is_parallel": true,
|
339 |
+
"self": 3.8716112029813985,
|
340 |
"children": {
|
341 |
"_process_rank_one_or_two_observation": {
|
342 |
+
"total": 19.899679123005626,
|
343 |
+
"count": 56616,
|
344 |
"is_parallel": true,
|
345 |
+
"self": 19.899679123005626
|
346 |
}
|
347 |
}
|
348 |
}
|
|
|
355 |
}
|
356 |
},
|
357 |
"trainer_advance": {
|
358 |
+
"total": 40.78321614400636,
|
359 |
+
"count": 7078,
|
360 |
+
"self": 1.2156955810019099,
|
361 |
"children": {
|
362 |
"process_trajectory": {
|
363 |
+
"total": 9.969533540004363,
|
364 |
+
"count": 7078,
|
365 |
+
"self": 9.969533540004363
|
366 |
+
},
|
367 |
+
"_update_policy": {
|
368 |
+
"total": 29.597987023000087,
|
369 |
+
"count": 5,
|
370 |
+
"self": 17.846319298001617,
|
371 |
+
"children": {
|
372 |
+
"TorchPOCAOptimizer.update": {
|
373 |
+
"total": 11.75166772499847,
|
374 |
+
"count": 150,
|
375 |
+
"self": 11.75166772499847
|
376 |
+
}
|
377 |
+
}
|
378 |
}
|
379 |
}
|
380 |
}
|
381 |
}
|
382 |
},
|
383 |
"trainer_threads": {
|
384 |
+
"total": 1.13999999484804e-06,
|
385 |
"count": 1,
|
386 |
+
"self": 1.13999999484804e-06
|
387 |
},
|
388 |
"TrainerController._save_models": {
|
389 |
+
"total": 0.0007693669999753183,
|
390 |
"count": 1,
|
391 |
+
"self": 4.186799992567103e-05,
|
392 |
"children": {
|
393 |
"RLTrainer._checkpoint": {
|
394 |
+
"total": 0.0007274990000496473,
|
395 |
"count": 1,
|
396 |
+
"self": 0.0007274990000496473
|
397 |
}
|
398 |
}
|
399 |
}
|
run_logs/training_status.json
CHANGED
@@ -1,26 +1,6 @@
|
|
1 |
{
|
2 |
"SoccerTwos": {
|
3 |
-
"elo":
|
4 |
-
"checkpoints": [
|
5 |
-
{
|
6 |
-
"steps": 18984,
|
7 |
-
"file_path": "results/SoccerTwos0/SoccerTwos/SoccerTwos-18984.onnx",
|
8 |
-
"reward": 0.0,
|
9 |
-
"creation_time": 1699096781.9356186,
|
10 |
-
"auxillary_file_paths": [
|
11 |
-
"results/SoccerTwos0/SoccerTwos/SoccerTwos-18984.pt"
|
12 |
-
]
|
13 |
-
}
|
14 |
-
],
|
15 |
-
"final_checkpoint": {
|
16 |
-
"steps": 18984,
|
17 |
-
"file_path": "results/SoccerTwos0/SoccerTwos.onnx",
|
18 |
-
"reward": 0.0,
|
19 |
-
"creation_time": 1699096781.9356186,
|
20 |
-
"auxillary_file_paths": [
|
21 |
-
"results/SoccerTwos0/SoccerTwos/SoccerTwos-18984.pt"
|
22 |
-
]
|
23 |
-
}
|
24 |
},
|
25 |
"metadata": {
|
26 |
"stats_format_version": "0.3.0",
|
|
|
1 |
{
|
2 |
"SoccerTwos": {
|
3 |
+
"elo": 1200.9371342856173
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
},
|
5 |
"metadata": {
|
6 |
"stats_format_version": "0.3.0",
|