AlekseyKorshuk
commited on
Commit
•
cb31c93
1
Parent(s):
798bc92
huggingartists
Browse files- README.md +4 -4
- config.json +4 -2
- evaluation.txt +1 -1
- flax_model.msgpack +1 -1
- optimizer.pt +2 -2
- pytorch_model.bin +1 -1
- rng_state.pth +1 -1
- scheduler.pt +1 -1
- tokenizer_config.json +1 -1
- trainer_state.json +293 -7
- training_args.bin +2 -2
README.md
CHANGED
@@ -14,7 +14,7 @@ widget:
|
|
14 |
<div class="inline-flex flex-col" style="line-height: 1.5;">
|
15 |
<div class="flex">
|
16 |
<div
|
17 |
-
style="display:DISPLAY_1; margin-left: auto; margin-right: auto; width: 92px; height:92px; border-radius: 50%; background-size: cover; background-image: url('https://images.genius.com/
|
18 |
</div>
|
19 |
</div>
|
20 |
<div style="text-align: center; margin-top: 3px; font-size: 16px; font-weight: 800">🤖 HuggingArtists Model 🤖</div>
|
@@ -45,15 +45,15 @@ from datasets import load_dataset
|
|
45 |
dataset = load_dataset("huggingartists/madonna")
|
46 |
```
|
47 |
|
48 |
-
[Explore the data](https://wandb.ai/huggingartists/huggingartists/runs/
|
49 |
|
50 |
## Training procedure
|
51 |
|
52 |
The model is based on a pre-trained [GPT-2](https://huggingface.co/gpt2) which is fine-tuned on Madonna's lyrics.
|
53 |
|
54 |
-
Hyperparameters and metrics are recorded in the [W&B training run](https://wandb.ai/huggingartists/huggingartists/runs/
|
55 |
|
56 |
-
At the end of training, [the final model](https://wandb.ai/huggingartists/huggingartists/runs/
|
57 |
|
58 |
## How to use
|
59 |
|
|
|
14 |
<div class="inline-flex flex-col" style="line-height: 1.5;">
|
15 |
<div class="flex">
|
16 |
<div
|
17 |
+
style="display:DISPLAY_1; margin-left: auto; margin-right: auto; width: 92px; height:92px; border-radius: 50%; background-size: cover; background-image: url('https://images.genius.com/e4051ba629f57622a2a35571e5676824.720x720x1.jpg')">
|
18 |
</div>
|
19 |
</div>
|
20 |
<div style="text-align: center; margin-top: 3px; font-size: 16px; font-weight: 800">🤖 HuggingArtists Model 🤖</div>
|
|
|
45 |
dataset = load_dataset("huggingartists/madonna")
|
46 |
```
|
47 |
|
48 |
+
[Explore the data](https://wandb.ai/huggingartists/huggingartists/runs/1zgkgxrp/artifacts), which is tracked with [W&B artifacts](https://docs.wandb.com/artifacts) at every step of the pipeline.
|
49 |
|
50 |
## Training procedure
|
51 |
|
52 |
The model is based on a pre-trained [GPT-2](https://huggingface.co/gpt2) which is fine-tuned on Madonna's lyrics.
|
53 |
|
54 |
+
Hyperparameters and metrics are recorded in the [W&B training run](https://wandb.ai/huggingartists/huggingartists/runs/1nejy753) for full transparency and reproducibility.
|
55 |
|
56 |
+
At the end of training, [the final model](https://wandb.ai/huggingartists/huggingartists/runs/1nejy753/artifacts) is logged and versioned.
|
57 |
|
58 |
## How to use
|
59 |
|
config.json
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
{
|
2 |
-
"_name_or_path": "
|
3 |
"activation_function": "gelu_new",
|
4 |
"architectures": [
|
5 |
"GPT2LMHeadModel"
|
@@ -18,7 +18,9 @@
|
|
18 |
"n_inner": null,
|
19 |
"n_layer": 12,
|
20 |
"n_positions": 1024,
|
|
|
21 |
"resid_pdrop": 0.1,
|
|
|
22 |
"scale_attn_weights": true,
|
23 |
"summary_activation": null,
|
24 |
"summary_first_dropout": 0.1,
|
@@ -35,7 +37,7 @@
|
|
35 |
}
|
36 |
},
|
37 |
"torch_dtype": "float32",
|
38 |
-
"transformers_version": "4.
|
39 |
"use_cache": true,
|
40 |
"vocab_size": 50257
|
41 |
}
|
|
|
1 |
{
|
2 |
+
"_name_or_path": "madonna",
|
3 |
"activation_function": "gelu_new",
|
4 |
"architectures": [
|
5 |
"GPT2LMHeadModel"
|
|
|
18 |
"n_inner": null,
|
19 |
"n_layer": 12,
|
20 |
"n_positions": 1024,
|
21 |
+
"reorder_and_upcast_attn": false,
|
22 |
"resid_pdrop": 0.1,
|
23 |
+
"scale_attn_by_inverse_layer_idx": false,
|
24 |
"scale_attn_weights": true,
|
25 |
"summary_activation": null,
|
26 |
"summary_first_dropout": 0.1,
|
|
|
37 |
}
|
38 |
},
|
39 |
"torch_dtype": "float32",
|
40 |
+
"transformers_version": "4.15.0",
|
41 |
"use_cache": true,
|
42 |
"vocab_size": 50257
|
43 |
}
|
evaluation.txt
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"eval_loss":
|
|
|
1 |
+
{"eval_loss": 1.5412778854370117, "eval_runtime": 17.7742, "eval_samples_per_second": 17.272, "eval_steps_per_second": 2.194, "epoch": 2.0}
|
flax_model.msgpack
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:
|
3 |
size 497764120
|
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:25566d27aa0a638f5602254e69031264732abeaa33b25755bd5b7e9febdce8f7
|
3 |
size 497764120
|
optimizer.pt
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:
|
3 |
-
size
|
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:dc55df2228257ecd9fbf03f2979f7659de46424b72ffa514ec925c65c4ceaf50
|
3 |
+
size 995604017
|
pytorch_model.bin
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:
|
3 |
size 510403817
|
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:cffe2698db26bffad1da8bea41d71775f16f1b35e022d24c8c80b1ca1297a533
|
3 |
size 510403817
|
rng_state.pth
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:
|
3 |
size 14503
|
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:0706774df0979b928412046725f3584988207df65c21b575ba45213c1e46e201
|
3 |
size 14503
|
scheduler.pt
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:
|
3 |
size 623
|
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:73d66e37400481ce71994edfed806089e04a5cb8f448f68f1ec267b591d1dbe6
|
3 |
size 623
|
tokenizer_config.json
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"unk_token": "<|endoftext|>", "bos_token": "<|endoftext|>", "eos_token": "<|endoftext|>", "add_prefix_space": false, "model_max_length": 1024, "special_tokens_map_file": null, "name_or_path": "huggingartists/
|
|
|
1 |
+
{"unk_token": "<|endoftext|>", "bos_token": "<|endoftext|>", "eos_token": "<|endoftext|>", "add_prefix_space": false, "model_max_length": 1024, "special_tokens_map_file": null, "name_or_path": "huggingartists/madonna", "tokenizer_class": "GPT2Tokenizer"}
|
trainer_state.json
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
{
|
2 |
-
"best_metric": 1.
|
3 |
-
"best_model_checkpoint": "output/madonna/checkpoint-
|
4 |
-
"epoch":
|
5 |
-
"global_step":
|
6 |
"is_hyper_param_search": false,
|
7 |
"is_local_process_zero": true,
|
8 |
"is_world_process_zero": true,
|
@@ -278,11 +278,297 @@
|
|
278 |
"eval_samples_per_second": 22.672,
|
279 |
"eval_steps_per_second": 2.887,
|
280 |
"step": 222
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
281 |
}
|
282 |
],
|
283 |
-
"max_steps":
|
284 |
-
"num_train_epochs":
|
285 |
-
"total_flos":
|
286 |
"trial_name": null,
|
287 |
"trial_params": null
|
288 |
}
|
|
|
1 |
{
|
2 |
+
"best_metric": 1.5412778854370117,
|
3 |
+
"best_model_checkpoint": "output/madonna/checkpoint-448",
|
4 |
+
"epoch": 2.0,
|
5 |
+
"global_step": 448,
|
6 |
"is_hyper_param_search": false,
|
7 |
"is_local_process_zero": true,
|
8 |
"is_world_process_zero": true,
|
|
|
278 |
"eval_samples_per_second": 22.672,
|
279 |
"eval_steps_per_second": 2.887,
|
280 |
"step": 222
|
281 |
+
},
|
282 |
+
{
|
283 |
+
"epoch": 1.0,
|
284 |
+
"eval_loss": 1.7440342903137207,
|
285 |
+
"eval_runtime": 17.6835,
|
286 |
+
"eval_samples_per_second": 17.361,
|
287 |
+
"eval_steps_per_second": 2.205,
|
288 |
+
"step": 224
|
289 |
+
},
|
290 |
+
{
|
291 |
+
"epoch": 1.0,
|
292 |
+
"learning_rate": 6.746689293153874e-09,
|
293 |
+
"loss": 2.1578,
|
294 |
+
"step": 225
|
295 |
+
},
|
296 |
+
{
|
297 |
+
"epoch": 1.03,
|
298 |
+
"learning_rate": 2.427415035313232e-07,
|
299 |
+
"loss": 1.867,
|
300 |
+
"step": 230
|
301 |
+
},
|
302 |
+
{
|
303 |
+
"epoch": 1.05,
|
304 |
+
"learning_rate": 8.147449052190903e-07,
|
305 |
+
"loss": 1.7004,
|
306 |
+
"step": 235
|
307 |
+
},
|
308 |
+
{
|
309 |
+
"epoch": 1.07,
|
310 |
+
"learning_rate": 1.7199452243268996e-06,
|
311 |
+
"loss": 1.8748,
|
312 |
+
"step": 240
|
313 |
+
},
|
314 |
+
{
|
315 |
+
"epoch": 1.09,
|
316 |
+
"learning_rate": 2.9538929687704672e-06,
|
317 |
+
"loss": 1.7175,
|
318 |
+
"step": 245
|
319 |
+
},
|
320 |
+
{
|
321 |
+
"epoch": 1.12,
|
322 |
+
"learning_rate": 4.510522695790453e-06,
|
323 |
+
"loss": 1.9134,
|
324 |
+
"step": 250
|
325 |
+
},
|
326 |
+
{
|
327 |
+
"epoch": 1.14,
|
328 |
+
"learning_rate": 6.382182826501689e-06,
|
329 |
+
"loss": 1.8779,
|
330 |
+
"step": 255
|
331 |
+
},
|
332 |
+
{
|
333 |
+
"epoch": 1.16,
|
334 |
+
"learning_rate": 8.559673257059505e-06,
|
335 |
+
"loss": 1.9084,
|
336 |
+
"step": 260
|
337 |
+
},
|
338 |
+
{
|
339 |
+
"epoch": 1.18,
|
340 |
+
"learning_rate": 1.1032290581565944e-05,
|
341 |
+
"loss": 1.7949,
|
342 |
+
"step": 265
|
343 |
+
},
|
344 |
+
{
|
345 |
+
"epoch": 1.21,
|
346 |
+
"learning_rate": 1.3787880704424101e-05,
|
347 |
+
"loss": 1.7769,
|
348 |
+
"step": 270
|
349 |
+
},
|
350 |
+
{
|
351 |
+
"epoch": 1.23,
|
352 |
+
"learning_rate": 1.681289858352526e-05,
|
353 |
+
"loss": 1.724,
|
354 |
+
"step": 275
|
355 |
+
},
|
356 |
+
{
|
357 |
+
"epoch": 1.25,
|
358 |
+
"learning_rate": 2.009247481060283e-05,
|
359 |
+
"loss": 1.8311,
|
360 |
+
"step": 280
|
361 |
+
},
|
362 |
+
{
|
363 |
+
"epoch": 1.27,
|
364 |
+
"learning_rate": 2.3610488701478854e-05,
|
365 |
+
"loss": 1.7348,
|
366 |
+
"step": 285
|
367 |
+
},
|
368 |
+
{
|
369 |
+
"epoch": 1.29,
|
370 |
+
"learning_rate": 2.734964753692934e-05,
|
371 |
+
"loss": 1.768,
|
372 |
+
"step": 290
|
373 |
+
},
|
374 |
+
{
|
375 |
+
"epoch": 1.32,
|
376 |
+
"learning_rate": 3.129157156466198e-05,
|
377 |
+
"loss": 1.7488,
|
378 |
+
"step": 295
|
379 |
+
},
|
380 |
+
{
|
381 |
+
"epoch": 1.34,
|
382 |
+
"learning_rate": 3.541688434458052e-05,
|
383 |
+
"loss": 1.9316,
|
384 |
+
"step": 300
|
385 |
+
},
|
386 |
+
{
|
387 |
+
"epoch": 1.36,
|
388 |
+
"learning_rate": 3.970530799324656e-05,
|
389 |
+
"loss": 1.7607,
|
390 |
+
"step": 305
|
391 |
+
},
|
392 |
+
{
|
393 |
+
"epoch": 1.38,
|
394 |
+
"learning_rate": 4.413576285936533e-05,
|
395 |
+
"loss": 1.6681,
|
396 |
+
"step": 310
|
397 |
+
},
|
398 |
+
{
|
399 |
+
"epoch": 1.41,
|
400 |
+
"learning_rate": 4.8686471140343875e-05,
|
401 |
+
"loss": 2.065,
|
402 |
+
"step": 315
|
403 |
+
},
|
404 |
+
{
|
405 |
+
"epoch": 1.43,
|
406 |
+
"learning_rate": 5.333506393059682e-05,
|
407 |
+
"loss": 1.848,
|
408 |
+
"step": 320
|
409 |
+
},
|
410 |
+
{
|
411 |
+
"epoch": 1.45,
|
412 |
+
"learning_rate": 5.805869117540521e-05,
|
413 |
+
"loss": 1.8802,
|
414 |
+
"step": 325
|
415 |
+
},
|
416 |
+
{
|
417 |
+
"epoch": 1.47,
|
418 |
+
"learning_rate": 6.283413398985365e-05,
|
419 |
+
"loss": 1.7551,
|
420 |
+
"step": 330
|
421 |
+
},
|
422 |
+
{
|
423 |
+
"epoch": 1.5,
|
424 |
+
"learning_rate": 6.763791879074358e-05,
|
425 |
+
"loss": 1.7544,
|
426 |
+
"step": 335
|
427 |
+
},
|
428 |
+
{
|
429 |
+
"epoch": 1.52,
|
430 |
+
"learning_rate": 7.244643268047132e-05,
|
431 |
+
"loss": 1.793,
|
432 |
+
"step": 340
|
433 |
+
},
|
434 |
+
{
|
435 |
+
"epoch": 1.54,
|
436 |
+
"learning_rate": 7.723603951570171e-05,
|
437 |
+
"loss": 1.7917,
|
438 |
+
"step": 345
|
439 |
+
},
|
440 |
+
{
|
441 |
+
"epoch": 1.56,
|
442 |
+
"learning_rate": 8.19831960903064e-05,
|
443 |
+
"loss": 1.63,
|
444 |
+
"step": 350
|
445 |
+
},
|
446 |
+
{
|
447 |
+
"epoch": 1.58,
|
448 |
+
"learning_rate": 8.666456786147141e-05,
|
449 |
+
"loss": 2.0457,
|
450 |
+
"step": 355
|
451 |
+
},
|
452 |
+
{
|
453 |
+
"epoch": 1.61,
|
454 |
+
"learning_rate": 9.125714365012444e-05,
|
455 |
+
"loss": 2.0322,
|
456 |
+
"step": 360
|
457 |
+
},
|
458 |
+
{
|
459 |
+
"epoch": 1.63,
|
460 |
+
"learning_rate": 9.5738348751875e-05,
|
461 |
+
"loss": 1.687,
|
462 |
+
"step": 365
|
463 |
+
},
|
464 |
+
{
|
465 |
+
"epoch": 1.65,
|
466 |
+
"learning_rate": 0.00010008615590247305,
|
467 |
+
"loss": 1.9025,
|
468 |
+
"step": 370
|
469 |
+
},
|
470 |
+
{
|
471 |
+
"epoch": 1.67,
|
472 |
+
"learning_rate": 0.00010427919355233763,
|
473 |
+
"loss": 1.7503,
|
474 |
+
"step": 375
|
475 |
+
},
|
476 |
+
{
|
477 |
+
"epoch": 1.7,
|
478 |
+
"learning_rate": 0.00010829685091793463,
|
479 |
+
"loss": 1.7749,
|
480 |
+
"step": 380
|
481 |
+
},
|
482 |
+
{
|
483 |
+
"epoch": 1.72,
|
484 |
+
"learning_rate": 0.00011211937929362609,
|
485 |
+
"loss": 1.6852,
|
486 |
+
"step": 385
|
487 |
+
},
|
488 |
+
{
|
489 |
+
"epoch": 1.74,
|
490 |
+
"learning_rate": 0.00011572798912599424,
|
491 |
+
"loss": 1.8013,
|
492 |
+
"step": 390
|
493 |
+
},
|
494 |
+
{
|
495 |
+
"epoch": 1.76,
|
496 |
+
"learning_rate": 0.00011910494237347491,
|
497 |
+
"loss": 1.5069,
|
498 |
+
"step": 395
|
499 |
+
},
|
500 |
+
{
|
501 |
+
"epoch": 1.79,
|
502 |
+
"learning_rate": 0.00012223363969730684,
|
503 |
+
"loss": 1.5859,
|
504 |
+
"step": 400
|
505 |
+
},
|
506 |
+
{
|
507 |
+
"epoch": 1.81,
|
508 |
+
"learning_rate": 0.00012509870205521334,
|
509 |
+
"loss": 1.5894,
|
510 |
+
"step": 405
|
511 |
+
},
|
512 |
+
{
|
513 |
+
"epoch": 1.83,
|
514 |
+
"learning_rate": 0.00012768604629674322,
|
515 |
+
"loss": 1.9085,
|
516 |
+
"step": 410
|
517 |
+
},
|
518 |
+
{
|
519 |
+
"epoch": 1.85,
|
520 |
+
"learning_rate": 0.00012998295438868449,
|
521 |
+
"loss": 1.8982,
|
522 |
+
"step": 415
|
523 |
+
},
|
524 |
+
{
|
525 |
+
"epoch": 1.88,
|
526 |
+
"learning_rate": 0.00013197813593027427,
|
527 |
+
"loss": 1.9507,
|
528 |
+
"step": 420
|
529 |
+
},
|
530 |
+
{
|
531 |
+
"epoch": 1.9,
|
532 |
+
"learning_rate": 0.00013366178365091335,
|
533 |
+
"loss": 1.7504,
|
534 |
+
"step": 425
|
535 |
+
},
|
536 |
+
{
|
537 |
+
"epoch": 1.92,
|
538 |
+
"learning_rate": 0.00013502562161758715,
|
539 |
+
"loss": 1.7843,
|
540 |
+
"step": 430
|
541 |
+
},
|
542 |
+
{
|
543 |
+
"epoch": 1.94,
|
544 |
+
"learning_rate": 0.00013606294591503093,
|
545 |
+
"loss": 1.6083,
|
546 |
+
"step": 435
|
547 |
+
},
|
548 |
+
{
|
549 |
+
"epoch": 1.96,
|
550 |
+
"learning_rate": 0.00013676865759867644,
|
551 |
+
"loss": 1.5864,
|
552 |
+
"step": 440
|
553 |
+
},
|
554 |
+
{
|
555 |
+
"epoch": 1.99,
|
556 |
+
"learning_rate": 0.00013713928775840084,
|
557 |
+
"loss": 1.8849,
|
558 |
+
"step": 445
|
559 |
+
},
|
560 |
+
{
|
561 |
+
"epoch": 2.0,
|
562 |
+
"eval_loss": 1.5412778854370117,
|
563 |
+
"eval_runtime": 17.7637,
|
564 |
+
"eval_samples_per_second": 17.282,
|
565 |
+
"eval_steps_per_second": 2.195,
|
566 |
+
"step": 448
|
567 |
}
|
568 |
],
|
569 |
+
"max_steps": 448,
|
570 |
+
"num_train_epochs": 2,
|
571 |
+
"total_flos": 467712737280000.0,
|
572 |
"trial_name": null,
|
573 |
"trial_params": null
|
574 |
}
|
training_args.bin
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:
|
3 |
-
size
|
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:eaf00d98777c40d1ee6ae43b9a54114156e44aec0020e9e8e22c522be0398be6
|
3 |
+
size 2991
|