versae commited on
Commit
ca89510
1 Parent(s): ce31127

aa3ycswy: saving weights and logs of step 3k

Browse files
Files changed (48) hide show
  1. .gitattributes +1 -1
  2. .run.sh.swp +0 -0
  3. events.out.tfevents.1659269009.t1v-n-eedfb410-w-0.1520908.0.v2 +3 -0
  4. events.out.tfevents.1659270085.t1v-n-eedfb410-w-0.532896.0.v2 +3 -0
  5. events.out.tfevents.1659271924.t1v-n-eedfb410-w-0.3751729.0.v2 +3 -0
  6. flax_model.msgpack +1 -1
  7. run.sh +5 -5
  8. special_tokens_map.json +42 -0
  9. wandb/debug-internal.log +1 -1
  10. wandb/debug.log +1 -1
  11. wandb/latest-run +1 -1
  12. wandb/run-20220730_174606-j2u4n7h4/files/config.yaml +6 -0
  13. wandb/run-20220730_174606-j2u4n7h4/files/media/table/eval/step_3k_3000_7f6d2aff7a45425d179c.table.json +1 -0
  14. wandb/run-20220730_174606-j2u4n7h4/files/output.log +265 -0
  15. wandb/run-20220730_174606-j2u4n7h4/files/wandb-summary.json +0 -0
  16. wandb/run-20220730_174606-j2u4n7h4/logs/debug-internal.log +592 -0
  17. wandb/run-20220730_174606-j2u4n7h4/logs/debug.log +164 -0
  18. wandb/run-20220730_174606-j2u4n7h4/run-j2u4n7h4.wandb +2 -2
  19. wandb/run-20220731_115136-a9kwr28f/files/code/run_flax_speech_recognition_ctc.py +1604 -0
  20. wandb/run-20220731_115136-a9kwr28f/files/config.yaml +33 -0
  21. wandb/run-20220731_115136-a9kwr28f/files/diff.patch +0 -0
  22. wandb/run-20220731_115136-a9kwr28f/files/output.log +0 -0
  23. wandb/run-20220731_115136-a9kwr28f/files/requirements.txt +158 -0
  24. wandb/run-20220731_115136-a9kwr28f/files/wandb-metadata.json +68 -0
  25. wandb/run-20220731_115136-a9kwr28f/files/wandb-summary.json +1 -0
  26. wandb/run-20220731_115136-a9kwr28f/logs/debug-internal.log +532 -0
  27. wandb/run-20220731_115136-a9kwr28f/logs/debug.log +148 -0
  28. wandb/run-20220731_115136-a9kwr28f/run-a9kwr28f.wandb +3 -0
  29. wandb/run-20220731_120912-3m2amvk9/files/code/run_flax_speech_recognition_ctc.py +1604 -0
  30. wandb/run-20220731_120912-3m2amvk9/files/config.yaml +27 -0
  31. wandb/run-20220731_120912-3m2amvk9/files/diff.patch +0 -0
  32. wandb/run-20220731_120912-3m2amvk9/files/output.log +0 -0
  33. wandb/run-20220731_120912-3m2amvk9/files/requirements.txt +158 -0
  34. wandb/run-20220731_120912-3m2amvk9/files/wandb-metadata.json +68 -0
  35. wandb/run-20220731_120912-3m2amvk9/files/wandb-summary.json +1 -0
  36. wandb/run-20220731_120912-3m2amvk9/logs/debug-internal.log +600 -0
  37. wandb/run-20220731_120912-3m2amvk9/logs/debug.log +26 -0
  38. wandb/run-20220731_120912-3m2amvk9/run-3m2amvk9.wandb +3 -0
  39. wandb/run-20220731_124004-aa3ycswy/files/code/run_flax_speech_recognition_ctc.py +1604 -0
  40. wandb/run-20220731_124004-aa3ycswy/files/config.yaml +27 -0
  41. wandb/run-20220731_124004-aa3ycswy/files/diff.patch +0 -0
  42. wandb/run-20220731_124004-aa3ycswy/files/output.log +0 -0
  43. wandb/run-20220731_124004-aa3ycswy/files/requirements.txt +158 -0
  44. wandb/run-20220731_124004-aa3ycswy/files/wandb-metadata.json +68 -0
  45. wandb/run-20220731_124004-aa3ycswy/files/wandb-summary.json +1 -0
  46. wandb/run-20220731_124004-aa3ycswy/logs/debug-internal.log +0 -0
  47. wandb/run-20220731_124004-aa3ycswy/logs/debug.log +23 -0
  48. wandb/run-20220731_124004-aa3ycswy/run-aa3ycswy.wandb +3 -0
.gitattributes CHANGED
@@ -29,4 +29,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
29
  *.zip filter=lfs diff=lfs merge=lfs -text
30
  *.zstandard filter=lfs diff=lfs merge=lfs -text
31
  *tfevents* filter=lfs diff=lfs merge=lfs -text
32
- *.wandb filter=lfs diff=lfs merge=lfs -text
 
29
  *.zip filter=lfs diff=lfs merge=lfs -text
30
  *.zstandard filter=lfs diff=lfs merge=lfs -text
31
  *tfevents* filter=lfs diff=lfs merge=lfs -text
32
+ *.wandb filter=lfs diff=lfs merge=lfs -text
.run.sh.swp DELETED
Binary file (1.02 kB)
 
events.out.tfevents.1659269009.t1v-n-eedfb410-w-0.1520908.0.v2 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8386bdf800d5d6ab92071e7b241c2cb0264dd33040069778562eb58e771dc4cf
3
+ size 40
events.out.tfevents.1659270085.t1v-n-eedfb410-w-0.532896.0.v2 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:32b0aa01501a5340822a4d6d0da6ea295c1bc0d29ee685c1780cc179dec75d76
3
+ size 40
events.out.tfevents.1659271924.t1v-n-eedfb410-w-0.3751729.0.v2 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ffd6029010d74ffc8e1f738202126cd851d0ba4e915f93679ae50784a032c433
3
+ size 40
flax_model.msgpack CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:2e9a1ae09dd75c84e0a8cfc7015fe827c936cdea6cd12c682ab850361b33f27f
3
  size 3850218852
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1dd8c8bb12c7c6c6e5bdb02dde56ea8c284c6daa9aa61c6a3470e3eb8b4aadcf
3
  size 3850218852
run.sh CHANGED
@@ -5,18 +5,18 @@ WANDB_ENTITY=NbAiLab WANDB_PROJECT=wav2vec2 python run_flax_speech_recognition_c
5
  --output_dir="./" \
6
  --overwrite_output_dir \
7
  --num_train_epochs="40" \
8
- --per_device_train_batch_size="12" \
9
- --per_device_eval_batch_size="12" \
10
  --gradient_accumulation_steps="1" \
11
  --precision="full_mixed" \
12
  --matmul_precision="bfloat16" \
13
- --learning_rate="1e-4" \
14
  --warmup_steps="4000" \
15
  --length_column_name="input_length" \
16
  --evaluation_strategy="steps" \
17
  --text_column_name="text" \
18
- --save_steps="1000" \
19
- --eval_steps="1000" \
20
  --logging_steps="100" \
21
  --layerdrop="0.041" \
22
  --attention_dropout="0.094" \
 
5
  --output_dir="./" \
6
  --overwrite_output_dir \
7
  --num_train_epochs="40" \
8
+ --per_device_train_batch_size="10" \
9
+ --per_device_eval_batch_size="10" \
10
  --gradient_accumulation_steps="1" \
11
  --precision="full_mixed" \
12
  --matmul_precision="bfloat16" \
13
+ --learning_rate="8e-4" \
14
  --warmup_steps="4000" \
15
  --length_column_name="input_length" \
16
  --evaluation_strategy="steps" \
17
  --text_column_name="text" \
18
+ --save_steps="3783" \
19
+ --eval_steps="3783" \
20
  --logging_steps="100" \
21
  --layerdrop="0.041" \
22
  --attention_dropout="0.094" \
special_tokens_map.json CHANGED
@@ -175,6 +175,48 @@
175
  "rstrip": false,
176
  "single_word": false
177
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
178
  {
179
  "content": "</s>",
180
  "lstrip": false,
 
175
  "rstrip": false,
176
  "single_word": false
177
  },
178
+ {
179
+ "content": "</s>",
180
+ "lstrip": false,
181
+ "normalized": true,
182
+ "rstrip": false,
183
+ "single_word": false
184
+ },
185
+ {
186
+ "content": "<s>",
187
+ "lstrip": false,
188
+ "normalized": true,
189
+ "rstrip": false,
190
+ "single_word": false
191
+ },
192
+ {
193
+ "content": "</s>",
194
+ "lstrip": false,
195
+ "normalized": true,
196
+ "rstrip": false,
197
+ "single_word": false
198
+ },
199
+ {
200
+ "content": "<s>",
201
+ "lstrip": false,
202
+ "normalized": true,
203
+ "rstrip": false,
204
+ "single_word": false
205
+ },
206
+ {
207
+ "content": "</s>",
208
+ "lstrip": false,
209
+ "normalized": true,
210
+ "rstrip": false,
211
+ "single_word": false
212
+ },
213
+ {
214
+ "content": "<s>",
215
+ "lstrip": false,
216
+ "normalized": true,
217
+ "rstrip": false,
218
+ "single_word": false
219
+ },
220
  {
221
  "content": "</s>",
222
  "lstrip": false,
wandb/debug-internal.log CHANGED
@@ -1 +1 @@
1
- run-20220730_174606-j2u4n7h4/logs/debug-internal.log
 
1
+ run-20220731_124004-aa3ycswy/logs/debug-internal.log
wandb/debug.log CHANGED
@@ -1 +1 @@
1
- run-20220730_174606-j2u4n7h4/logs/debug.log
 
1
+ run-20220731_124004-aa3ycswy/logs/debug.log
wandb/latest-run CHANGED
@@ -1 +1 @@
1
- run-20220730_174606-j2u4n7h4
 
1
+ run-20220731_124004-aa3ycswy
wandb/run-20220730_174606-j2u4n7h4/files/config.yaml CHANGED
@@ -18,6 +18,12 @@ _wandb:
18
  - 3
19
  - 11
20
  - 12
 
 
 
 
 
 
21
  3:
22
  - 13
23
  4: 3.8.10
 
18
  - 3
19
  - 11
20
  - 12
21
+ 2:
22
+ - 1
23
+ - 2
24
+ - 3
25
+ - 11
26
+ - 12
27
  3:
28
  - 13
29
  4: 3.8.10
wandb/run-20220730_174606-j2u4n7h4/files/media/table/eval/step_3k_3000_7f6d2aff7a45425d179c.table.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"columns": ["label_str", "pred_str"], "data": [["men n\u00e5r n\u00e5r senterpartiet \u00f8nsker \u00e5 bruke denne anledningen til \u00e5 svekke e\u00f8s[UNK]avtalen s\u00e5 s\u00e5 er det det er lov \u00e5 fors\u00f8ke det men jeg er veldig glad for at det fors\u00f8ket ikke lykkes og at det fortsatt er trygt og godt flertall denne salen for \u00e5 slutte opp om e\u00f8s[UNK]avtalen eee og at denne utredningen n\u00e5 ikke blir noe av", "men n\u00e5r n\u00e5senterpartiet \u00f8nsker \u00e5 bruke ennan ledninger til \u00e5 svekke i vesavtalen s\u00e5 s\u00e5 er det det er ov o fors\u00f8ke de men etg er veldig glad for at det fors\u00f8ket ikke lykkes og at de fortsatt er tryktav godt flertall dn saven for \u00e5 o slutte opp p\u00e5 mevesavtalen ee og at denne utredningen \u00e5g ikke bli gva"], ["i samme \u00e5nd vil jeg ogs\u00e5 nevne forslaget fra kristelig folkeparti og arbeiderpartiet som stortinget voterte over tidligere i \u00e5r om \u00e5 starte prosessen med \u00e5 trekke fondet ut av spillselskaper med begrunnelsen at eierskapet i disse selskapene truer norsk tippings spillmonopol i norge", "i samme ognn vil det alts\u00e5 nevne forslaget fra krisi folkepartiet og arbaderpartiet som stortinget voterte over tidligere \u00e5r om \u00e5 state prosesen med \u00e5 trekke i fonden utav spilseskaper vi begrunnsnt eikapet i disse selskapene truer norsk typpingsspilmonipol i norge"], ["vi har konkurransedyktige b\u00e5de l\u00f8nninger men og vi har god kompetanse i norge som og kunne ha v\u00e6rt videreutvikla gjennom at en hadde flytta en st\u00f8rre del av forvaltninga til norge og derfor s\u00e5 fremmer vi og forslag om \u00e5 utrede det", "vi har konkurranse dyktige b\u00e5de l\u00f8ndninger men og vi ha god kompetanse i norge s\u00e5 \u00e5 kunna v\u00e6re vierutvikla i\u00f8naten hadde flytta enn st\u00f8rre del av forvaltninga tilnorge og derfor s\u00e5 fremmer vi og forslag om o utrede det"], ["president i mmm november s\u00e5 stilte jeg skriftlig sp\u00f8rsm\u00e5l til finansministeren om narvik kommune som har gruveselskapet lkab eee som jo har bidratt vesentlig til mmm kommune\u00f8konomien for narvik kommune gjennom inntektene eee i eiendomsskatten for verk og bruk", "president i november s\u00e5 stilteet skriftit sp\u00f8rsm\u00e5let il finansministeren om narvik kommune som har gruveselskapet elkag e som jo har bidrat vesentlig tilgnn kommune \u00f8konomiene for narvik kommune igjennom intekta iagjendomskatten forverkebruk"], ["oppl\u00e6ringslovens paragraf ni a fem om aktivitetsplikt ved krenking har v\u00e6rt tema for debatt og fagbladet eee nei om unnskyld og forbundsleder i skoleforbundet stig johannessen uttrykker en forventning om at lovgivende myndighet rydder til side all tvil knytta til paragrafen", "opplaingsloven paragra ni av fem om aktivitetsplikt ved kenking har v\u00e6rt tema for debatt og fagblae og unog forbundsleder i skoleforbundetestig i johannesen uttrykker enn for ventning rm atil lovivne myndighet rydder til side alt vil knytta til paragrafen"], ["jeg tror svaret ligger nettopp i dette at vi i den eee driftshverdagen og innenfor det vedtatte budsjett \u00e5rlig blir tvunget til \u00e5 skape rom for qqq for eee det vedlikeholdet som m\u00e5 gj\u00f8res for at det ikke skal bli tillatt \u00e5 bygge opp et s\u00e5 stort etterslep", "jeg tror svaret ligger nettopp i dette attt vi iden driftsverdagen og innenfor det vedtatte budsjett \u00e5rlig blir tvunge til \u00e5 skape rom for for det vi likeholds\u00e5 m\u00e5 gj\u00f8res for at det ikke skal blie tillatt \u00e5 bygge opp et s\u00e5storteteslip"], ["eee og s\u00e5 er det jo s\u00e5nt at eee det likestilling det at en skal ha mulighet for \u00e5 f\u00e5 hjelp til assistert befruktning eee i i like stor grad n\u00e5r det er kvinnen som har eee et problem som n\u00e5r det er mannen er selvf\u00f8lgelig et argument for eggdonasjon som jeg og eee erkjenner og anerkjenner", "ogs\u00e5 er det s\u00e5nnt at det er likestiling i det at en skal ha mulighet for \u00e5 f\u00e5 hjelpt asistert p\u00e5 fruktning i liketor grad n\u00e5r det er kvinnen som har ett problem som n\u00e5r dt mannen ee selvf\u00f8lgelig et argument for egdnasjon som eog akenne og anda knne"], ["samtidig s\u00e5 var jeg jo byr\u00e5d i oslo p\u00e5 den tiden da dette ble innf\u00f8rt og da h\u00f8rte jeg egentlig det motsatte ogs\u00e5 av det som representanten b\u00f8hler tar opp nemlig en bekymring for at utsatte ungdom ogs\u00e5 ble trukket ut av skolen fordi de fire tusen kronene eller tiltakspengene at det ble ogs\u00e5 en viktig del av b\u00e5de ungdommen og til og med ogs\u00e5 kanskje til og med familienes \u00f8konomi", "samtidig s\u00e5 var jeg jo byr\u00e5dt olo p\u00e5 den tiden da dette ble innf\u00f8rt g det a h\u00f8rte egenti et motsette ogs\u00e5 a deta som representanten b\u00f8tar opp nemlig bekymring for at utsatte ungdome ogs\u00e5 bli trukket ut av skolen fordi de firetusen i kronen eller tiltakspengene at det ble ogs\u00e5 nviktig del av b\u00e5de ungdomen og tilvose kanske til med familienes \u00f8konomi"], ["eee n\u00e5r storbritannia skal ut av av eu s\u00e5 ser de ikke p\u00e5 e\u00f8s som et aktuelt alternativ eee men for norge \u00e5 skulle eee f\u00f8lge etter storbritannia og og velge \u00e5 g\u00e5 ut av eus indre marked det er ikke et alternativ jeg vil anbefale denne salen", "e n\u00e5 storbritania ska ut av av eu s\u00e5 ser det ikke p\u00e5 euesom et aktuelt alternativ ee men for norge og sklle f\u00f8lghetil storbritania og og velge \u00e5 g\u00e5 ut av eus indtremarked det er ikkeet alternativavil ambefalle denne saom"], ["at vi er eee ansvarlige b\u00e5de vi som politikere men og sj\u00f8lsagt at de som har f\u00e5tt det store ansvar som det inneb\u00e6rer \u00e5 forvalte de store milliardrikdommene som eee den norske sa p\u00e5 vegne av det norske fellesskapet at de og er sitt ansvar bevisst", "at vi er e ansvarlige b\u00e5de visom politikera men og k\u00f8lsagt at dte som hari f\u00e5tt det store ansvar som det inneb\u00e6re og forvalt de store miladerikdommene som ee det norske somer p\u00e5 vegnen av det norske fellesskapet at ete ogesitt ansvar bevisst"], ["og det ser jo ut som eee de som har forskanset seg i en motstand mot eu og e\u00f8s ikke er klar over den levende debatten og den regelutviklingen som skjer nettopp for \u00e5 sette gode rammer ogs\u00e5 innenfor eee det som gjelder arbeidslivet", "og det ser jo utsom de som har forstanset seg i motstanden mot eu og us ikke re klare vordt en levende debatten og den reglutviklinge som sker nettopp for o sette gode rammer ogs\u00e5 innenfor detsom ele arbeidslivet"], ["jeg vil vektlegge at det er viktig at en fortsatt utreder det som g\u00e5r p\u00e5 en eee eee moms p\u00e5 finansielle tjenester i kombinasjon med en skatt p\u00e5 margininntekt eee men og det \u00e5 sj\u00e5 p\u00e5 \u00f8kt eee s eee skatt p\u00e5 overskudd i n\u00e6ringa", "et vir vektleggatet er viktig at et ener fortsatt utredav det som g\u00e5r p\u00e5 enn e mons p\u00e5\u00e5 finansielle teneste i komminasjonmenn skatt p\u00e5 marginintekt e men og det ogs\u00e5 p\u00e5 \u00f8kt skatt p\u00e5 overskudd i n\u00e6ringar"], ["forslaget fikk st\u00f8tte fra blant anna integrerings[UNK] og mangfoldsdirektoratet som uttalte at det ikke b\u00f8r v\u00e6re ordninger med kontantytelser de f\u00f8rste \u00e5ra i norge som gj\u00f8r det \u00f8konomisk gunstig \u00e5 v\u00e6re borte fra introduksjonsprogrammet", "forslaget fikk st\u00f8tte fra blant annal integiering som hanf\u00e5lds direktoratet som uttalt at det ikke buer hver ordninga meed kontantytilsa de f\u00f8rste \u00e5rane i norge som gj\u00f8r\u00f8r det \u00f8konomisk gunstig og et e borte fra introduksjonsprogrammer"], ["eee d d de store budsjettprosessene handler jo om \u00e5 definere omr\u00e5der som krever en s\u00e6rskilt satsing fra det ene \u00e5ret til det andre men det fratar oss jo ikke eee for ansvaret for \u00e5 stille et generelt krav til alle statlige bedrifter om \u00e5 effektivisere driften sin", "e dde store bedsj\u00f8ttpl\u00e5selseme hanger jo om \u00e5 definere omr\u00e5der som krever en s\u00e6rskilt satsing fra det ene \u00e5ret til det andre men det fratar jose ikke e for ansvaret for og stillet semierelt krav til alle statilige bedrifter om \u00e5 effektivisere driften si"], ["det er innf\u00f8rt rentetak p\u00e5 l\u00e5n og kreditt i mange land i verden og rentetit e re rentetak vil inneb\u00e6re at det ikke lenger vil v\u00e6re l\u00f8nnsomt for bankene \u00e5 gi l\u00e5n til de personene som har h\u00f8yest kredittrisiko det vil si den gruppa som st\u00e5r i kj eee st\u00f8rst fare for \u00e5 f\u00e5 betalingsvansker", "det e innf\u00f8rt rente tak p\u00e5 l\u00e5m og kreditt i mange land i verden g rente tit r\u00f8nte tak vil innerbere at det ki lenge l v\u00e6re l\u00f8nsomt for banken og gir l\u00e5n til de personene som har h\u00f8yest kredittrisiko det il si det en gruppa som st\u00e5r i i st\u00f8rstfare for \u00e5 ff\u00e5 betalingsvansker"], ["og derfor president s\u00e5 vil jeg egentlig bare utfordre au eee finansministeren fordi at jeg regner ikke med at finansdepartementet bare sitter og ser p\u00e5 det som skjer i eu og og er likegyldig til det men men tar vel stilling til au det regelverket og \u00e5ssen en en \u00f8nsker \u00e5 m\u00f8te det n\u00e5r n\u00e5r de endringene kjem", "og derfor president s\u00e5 vil eienklig bare utfordrau e finansministreren fordi at e reide ikke med finansdebartementet bare side \u00e5 ser p\u00e5 det som skjer i eu o og el likylig til det men men det e vel stilling til au det er regelverket og ogs\u00e5m e en en \u00f8nsker m\u00f8te det n\u00e5r n\u00e5r de i endringane kjermer"], ["kvinesdal kommune er varsla av kommunerevisjonen vest vest[UNK]agder iks om at de ikke vil attestere krav om momskompensasjon for sjette termin tjuesytten til sv\u00f8mmehall uten \u00e5 ta forbehold knytta til at dette er \u00e5 anse som konkurranse med private akt\u00f8rer", "finsi a kommune er varslar av kommun revisjonen vest hver s trag d\u00e5t i k s om at det ikke vil adtestere krav og moms kompensasjonfor sjette t\u00f8rmin tjuesytten til sv\u00f8medhal uden \u00e5 ta forbehold knyttar til at dette er \u00e5 anse som konkurranse med private akt\u00f8rer"], ["president eg registrerer i at i den behandlinga av stortingsmeldinga som representanten lundteigen refererer til s\u00e5 gjekk eee senterpartiet vekk fr\u00e5 dei resultatm\u00e5la for sj\u00f8lvforsyningsgrad som dei sj\u00f8l f\u00f8reslo fr\u00e5 stortinget sist dei sat i regjering", "president jeg registrera i ate denne behandlingav stortings meldinga som representanten lund te en refererar til s\u00e5 gikk senterpartiet vekk fora dei resultat m\u00e5la for sj\u00f8lforsyningsgrad som dei sj\u00f8lforo slo fra stortinget sist det satte i regjering"], ["vi bygger ut psykologkompetanse i kommunene eee med \u00f8remerka midler og et lovfesta krav og vi ser n\u00e5 at der er en kraftig \u00f8kning i antall kommuner som ansetter psykologer det samme og med \u00e5 gi et tidlig hjelp gjennom helsestasjonen og skolehelsetjenesten som og bygges eee eee bygges ut", "ed \u00e5 beggudt sykologkompetanse i kommunene e med \u00f8remarkar midtel og et l\u00e5festa krav og mei ser n\u00e5 at de e en kraftig \u00f8kning i antal kommuner som ansetter psykologar det samme og med \u00e5 gi e tidlig hjelp gjennom helsesitasjon og skolehelsetjenstem som og byggese bygges ut"], ["nederlands utviklingsminister mobiliserte til en stor konferanse i brussel for \u00e5 kompensere for amerikanernes kutt og der takket hun medarrang\u00f8rene belgia danmark og sverige og de landene som hadde meldt sin st\u00f8tte til det initiativet canada kapp verde estland finland og luxemburg", "nederlands utvykingsministrer m\u00e5 bli selte til en stor konfuranse i bruslu for \u00e5 kompensere for amerikanernes skutt og de takker hun medarang\u00f8rerne belgia danmark og svare og de landene som hadde melt sin st\u00f8tte til let initiativet kam \u00e5 erk ap verde eslam finland og luksemburg"], ["eee vil ogs\u00e5 p\u00e5 vegne av h\u00f8yre slutte meg til de merknadene hvor komiteen st\u00e5r samlet eee men jeg har allikevel behov for \u00e5 bruke eee min taletid til \u00e5 gj\u00f8re noen generelle refleksjoner rundt d eee s\u00e6rlig debatten knyttet til oljefondsmeldingen president", "il ogs\u00e5 p\u00e5 vaeine \u00e5 h\u00f8re skutter meg til de marknaden i ordkomitene st\u00e5r samlett e men jeg har alikel beho for \u00e5 bruke e min tale tid til \u00e5 gj\u00f8re noen generele refleksjoner rundt d s\u00e6rlig debatten knyttet til olerfondsmellingen president"], ["det som er faren er jo at utviklinga som har skjedd under eee siv jensen som finansminister vil fortsette nemlig at det vil bli \u00f8kt eiendomsskatt ute i kommunene at det vil bli \u00f8kt eiendomsskatt p\u00e5 bolig at det vil bli \u00f8kt eiendomsskatt p\u00e5 anna n\u00e6ringsliv fordi at kommunene ikke har noe oljefond \u00e5 hente ifra", "det som er faren er jo at det utviklingar s\u00e5 sedd under e si jensten som finansministr ved fortsette nemlig at det er blir \u00f8kte eiendomsskatt ute i kommunmanmet at det vil blir \u00f8kt eiendomskatt p\u00e5 bolig gat det ver bi \u00f8kt eiendomsskatt p\u00e5 anla m\u00e6ringsliv fordi at kommunmanme ikke har nok olje fom e hent ir fra"], ["nevne at tidligere fiskeriminister helga pedersen kommer st\u00e5 i til \u00e5 st\u00e5 igjen i norsk historie som en av de som virkelig gjorde store framskritt i forhold til internasjonal registrering av s\u00e5kalt u u[UNK]fiske og eee jobba tungt internasjonalt med det", "mende at ti ligere fiskeriministrer helga peder som kmmer st\u00e5 it \u00e5 s\u00e5 igjen i norsk historie som en av de som viriklig gjorder store framskrift i forholt ti internasjonal registrering a s\u00e5kalt uufiske og e jobber tunkt internasjonaltmed det"], ["viss vi g\u00e5r tilbake igjen til det som var omstridt i nittennittito om innhaldet i e\u00f8s[UNK]avtalen s\u00e5 er det jo slik at i e\u00f8s[UNK]tilhengjarane har tatt feil p\u00e5 alle punkt og avtalen har hatt den verknaden som e\u00f8s[UNK]motstandarane sa", "det ve g\u00e5r tilbake ig en tires s\u00e5 omstrit i nitt nitti to om inhalde i \u00f8savtalen s\u00e5 e r det jo slik at de ei\u00f8es tilhengarene har tatt feil p\u00e5 alle punkt ogog avtalen hatt den verknaden som i \u00f8es motstandardene sa"], ["det er merkme verdig n\u00e5r en seier at en vil men beskriver alle de problem som er i dag knytta til riktig skattlegging som er til kontroll eee knytta til utenlandske arbeidstakere og s\u00e5 etablerer en ei ordning som er valgfri for den enkelte arbeidstaker", "det emerkm\u00e6 v\u00e6rdne see at en vil n\u00e5en beskrive all de problem som ei i dag knyttar til riktig skattel\u00f8ging som et til kontroll knyttartil utennaska arbeidstake og s\u00e5g etablere ene i ordning som er valgfrif en enkelte arbeidstaker"], ["jeg eller xxx milj\u00f8partiet de gr\u00f8nne f\u00e5r ikke stemt fordi vi ikke faller inn under utbytteordningen men vi er alts\u00e5 en del av det eee enstemmige flertallet som st\u00e5r bak denne eee innstillingen og den forrige innstillingen", "ja ve milj\u00f8parte mil\u00f8parti igr\u00f8nne f\u00e5r ike stemt fordi vi ikke faller inn under utbyteordningen men vi er alts\u00e5 en del av de ensemige flertallet som st\u00e5r bak denne innstillingen oen f\u00e5r instiring"], ["jeg tror politikken er et viktig eee kan bidra med noe viktig nemlig i selvstendiggj\u00f8ringa av kvinner eee det med \u00e5 eee skape forst\u00e5else for at deres stemme er viktig at dem skal bli h\u00f8rt at i norge har du en rett til \u00e5 bli h\u00f8rt", "eg trur politikken er et viktig kan bidra med n\u00e5 viktig nemlig i selvstendigj\u00f8ringa av kvinner de med \u00e5 skape forst\u00e5else for at de med sstemme er viktig at dem skal bli h\u00f8rt at i norge har ven retti\u00e5g bli h\u00f8rt"], ["president jeg mener det er veldig bra at flertallet her sl\u00e5r fast at klimaendringene vil kunne p\u00e5virke verdiene av finansforetakenes investeringer og klimarisikoutvalget skal fram til desember totusenogatten vurdere betydningen av klimarisiko for norsk \u00f8konomi", "president jeg mener de veldig bra at flertallet her sl\u00e5 fast at klimaendringan vil kunne p\u00e5virke verdian av finansforetakens investeringer og klimarisiko utvalget skal a fram til desember totusenatten vurdere betydningen av klimarisiko for norsk \u00f8konomi"], ["eee men det vi egentlig sp\u00f8r om her og og det som jeg syns g\u00e5r igjen i riksrevisjonens rapport er v vil en ogs\u00e5 \u00f8ke den relative andelen av oppmerksomhet i form av kontroll og i form av eee forskning til det omr\u00e5det som det n\u00e5 er pekt p\u00e5 har en for liten andel av det", "men vevge til sp\u00f8rom her o og det som \u00e5susg\u00e5r igjen riksevisjonsrapport\u00e6r vil den alts\u00e5 \u00f8ke den relative andelen av oppm\u00e6rksomhet yvform av kontroll og i form av forskning til det omr\u00e5de som e m\u00e5 ar pep\u00e5 har en for liten andel av det"], ["det betyr at \u00f8velser m\u00e5 gjennomf\u00f8res regelmessig b\u00e5de for \u00e5 avdekke utfordringer ved den enkelte tunnel og for \u00e5 sikre at den enkelte n\u00f8detat er ordentlig kjent med forholdene i de tunellene de har ansvaret for og det utstyret de skal bruke der", "det betyr at \u00f8velser m\u00e5 gjennomf\u00f8res regelmessig b\u00e5de for \u00e5 avvikke utfordringe v\u00e6renenkeltunell og for \u00e5 sikre at en enkelte n\u00f8detat er ordentlig kjent med forholdene i de tunelne d ar ansvare for og der utstyre de skalbrukel\u00e6r"], ["president qqq jeg vil ber\u00f8mme statsr\u00e5den for at han har tatt skikkelig tak i problemstillingene vedr\u00f8rende manglende vedlikehold p\u00e5 jernbanen og at regjeringen fra tjuefemten har f\u00e5tt stortinget med p\u00e5 \u00e5 bevilge nok midler til \u00e5 redusere vedlikeholdsetterslepet", "president jeg vil bra med statsr\u00e5den for at ha har tatt skikkelig tak i problemstillingene bedrodende mangglunder vid likeh\u00e5ld p\u00e5 gj\u00e6rnban og at reg\u00e6ringen fra tjuefemta fa stortingt med p\u00e5 \u00e5 bvilge nok midler til \u00e5 redusere vilikeholdsettersleper"], ["dette mener vi fremdeles er eee hensyn som er viktig \u00e5 ha med seg i debatten og vi mener at det er ingenting i dag eee som er nytt som eee viser til at situasjonen her har eee har eee endret seg", "dette mener vi framdigeles er e hensyn som er viktig \u00e5 ha med seg i debatten og vi mener at det ingen ting i d\u00e5g er s\u00e5 minytt som viser til at situasjonn her har har endret seg"], ["men bestillinger fra flertallet p\u00e5 eller fra et samla storting si side ifra en samla komite er at den ekstra arbeidsgiveravgifta skal fjernes og det er utrolig viktig at det ikke blir skapt uklarhet rundt det slik at bransjen veit hva en har \u00e5 forholde seg til", "men bestillinge fr\u00e5 fl\u00e6rtaler p\u00e5 eller foret samla storting s\u00e5 i sie ifor en smlag komite ir at en ekstra arbeidsgiveravgiftar skall fjenast og det utrulig viktig at ikke bli skapte uklarhetrundte slik at bransjen veit kan h\u00e5r og forholde seg til"], ["poenget er jo at vi \u00f8nsker en handelsavtale som er klart definert og der endringer skal avtales og forhandles mellom partene og ikke v\u00e6re slik som i dag under e\u00f8s[UNK]avtalen at den ene parten som bestemmer reglene og den andre part som m\u00e5 eee m\u00e5 godta dem", "men p\u00e5enger jo at vi \u00f8nsker en handelsavtale som er klart definert og der endringa skal avtalesog forhandlas m\u00f8llapartane og ike v\u00e6r slik som i dag gunnar i eusavtalen at en egne part som bestemmer reglane og den andre part som m\u00e5 m\u00e5 godta degi"], ["den sjokkarta \u00f8kninga som var i sukker[UNK] og sjokoladevareavgifta og avgift p\u00e5 ikke[UNK]alkoholholdige drikkevarer i budsjettet i h\u00f8st som kom i en sein nattetime uten utredning uten at bransjen var informert", "der en sjokkart og \u00f8kningar som var i sukkar og sjokolade varavgifte og avgift p\u00e5 vitalkol\u00e5ldedrekvare i budsjettet i haust som komm i en segnn at etimeuten utredning uten at et bransjen var informert"], ["eee takk president jeg hadde egentlig ikke tenkt til \u00e5 ta ordet noe mer i den her debatten men eee men eee f\u00f8lte at det xxx meg kalt n\u00e5 n\u00e5r det ser ut til at det er en litt s\u00e5nn hva man skal si kreativ historieskrivning p\u00e5 gang ifra eee representanter fra regjeringas partier fordi", "takk president eg hadde iggen klikke tankt \u00e5 ta \u00e5rden og med i den h\u00e6r dibatten men men f\u00f8lktata vma kall andud \u00e5r de se util at er liksom kan vi ska si kreativ historieskrivning p\u00e5 gang i fra representanter fra regjeringaspartierflyr"], ["i den nye modellen m\u00e5 avdelingsoversykepleier og avdelingsoverlege drive et utstrakt samarbeide for \u00e5 ivareta pasienters interesser og behov[UNK]", "i den nye modellen m\u00e5 avdelingsoversykepleier og avdelingsoverlege drive et utstrakt samarbeide for \u00e5 ivareta pasienters interesser og behov[UNK]"], ["for det f\u00f8rste er den stinn av vel tilrettelagt kunnskap[UNK] uhyre poengtert[UNK] klart og oversiktlig fremf\u00f8rt[UNK]", "for det f\u00f8rste er mstin avel til rettelagt kunnskap[UNK] uhyre poengthet[UNK] klart og oversiktig fremf\u00f8rt[UNK]"], ["h\u00f8yres h\u00f8 \u00f8nske var prim\u00e6rt ikke \u00e5 \u00f8ke avgiftene men som en del av budsjettforliket fant man en litt bedre l\u00f8sning for \u00e5 finansiere viktige satsinger for mere kunnskap i skolen tryggere veier et styrka forsvar og fjerning av maskinskatten", "h\u00f8yre \u00f8nske var prem\u00e6rt ikkje \u00f8keavgiftenemen som en del av budsjett forlike fant man en litt berre l\u00f8sning for \u00e5 finansiere viktige sattinger for mere kunnskap i skolen tryggroveier et styrk av forsvar og fjerning av maskinskaten"], ["n\u00e5r le leger og forskere advarer mot et \u00f8kende antall elever med stressrelaterte sykto sykdommer p\u00e5 grunn av prestasjonskravene eee og all testinga i skolen", "n\u00e5 la\u00e6ga \u00e5 forskere advara mot et \u00f8kanes antall er leva med stressreloterte siktsykdomer p\u00e5grunn av presasjonskraven e og all testingar i skolen"], ["jeg syns det er heilt tydelig at regjeringen her f\u00f8ler seg pressa med v\u00e5rt forslag som er fremma men det er synd at n\u00e5r en erkjenner at en trenger \u00e5 gj\u00f8re endringer i kvalitetsvurderingssystemet s\u00e5 lander en ned p\u00e5 feil side og avviser det viktige forslaget om en heilhetlig diskusjon og gjennomgang", "jeg sus et r helt thyrlig at regjeringen her f\u00f8ler seg preser me v\u00e5rt forslag som e fremar men det er s\u00f8nmer at n\u00e5r hen erskjenne at han trenger \u00e5 gjr endringer i kvalitetsvedringsystemet s\u00e5 lander mer p\u00e5 feilside \u00e5o avise et viktige forslage og min h\u00f8llet ti diskusjon \u00e5 gjennomganger"], ["og eee jeg vil starte med \u00e5 gi min fulle tilslutning til eee keshvaris framstilling eee av den enstemmige innstillinga ifra komiteen og si at jeg er veldig glad for at riksrevisjonen har g\u00e5tt s\u00e5 grundig inn i dehenne saken", "\u00e5 arvi starte med \u00e5ifulletierslting til tsvareframstilling av en enstemmig innstillingar i fra komiteen \u00e5 si at e er velig glar for atriksrevisjonen har g\u00e5tt s\u00e5 grundig inn i den heme saken"], ["president i meldingen la regjeringen opp til \u00e5 vurdere investeringer i unotert infrastruktur for fornybar energi innen milj\u00f8mandatene med s\u00e6 med med krav til \u00e5penhet avkastning og risiko som for \u00f8 \u00f8vrige investeringer i spu", "presidet i meldingen lar regjringen opp til \u00e5 vurdere investeringer i unotert infrastruktur for fornybar energi innenen milj\u00f8mandatene med s\u00e6me me krav til \u00e5pnhet avkosstning og risiko som for \u00f8\u00f8vrge investeringer i spu"], ["inneb\u00e6rer det at man i brevet til komiteen eee har eee lagt seg p\u00e5 en linje hvor man egentlig advarer mot det vedtaket vi n\u00e5 skal gj\u00f8re eller kan vi forvente at det ligger en god utredning i statsbudsjettet", "innev\u00e6rer det at man i reve til komitee har lagt sa p\u00e5 en line hvor man megentlig avarer mot det vedtake vi n\u00e5 skal gj\u00f8re eller kan vi forvemte atdet ligger en god utredning i statsbudsjette"], ["s\u00e5 det er da \u00e5 \u00e5pne opp for investeringer i fornybar infrastruktur innenfor milj\u00f8mandatet via et f\u00f8rste musesteg for \u00e5 la pensjonsfondet v\u00e5rt f\u00e5 investere i fremtidens energisystem ogs\u00e5", "s\u00e5 det er a \u00e5 \u00e5pne opp for investeringar i fornybar infrastruktur innenfor milj\u00f8mandate vi et f\u00f8rste musstegforhola pensjonsfonne\u00e5rt for investere i fremtidens enrgisystem ogs\u00e5"], ["derfor meiner fremskrittspartiet at me skal vera eee forsiktig med \u00e5 legga inn for mange eee ulike eee b\u00e5de utanrikspolitiske og ideologiske og andre \u00f8nske inn i i denne debatten eee fordi at det er ting som kan eee l\u00f8ysast i andre saker", "derfor meinr av fremskittspartiat mi skal v\u00e6ra forsiktig me leiga inn for mange ulike b\u00e5de utenr\u00f8gspolitiske og ideologiske og andre \u00f8nske inn i denne debatten fordei at daer ting som kan l\u00f8sa i andre saker"], ["r\u00f8dt foresl\u00e5r derfor at stortinget ber regjeringen i forbindelse med forslaget til statsbudsjett for totusenognitten fastsette skattesatsen for kildeskatt for utenlandske arbeidere p\u00e5 midlertito midlertidig opphold til tjueseks prosent", "r\u00f8dt foresl\u00e5r derfor at stortinget ber regjeringen i forbindese med forslaget ti statsbusjett for totusnognitten fatsette kattesatsen for sileskatt for utenanske arbeidere p\u00e5 midmilrti ppholl til tjueseksprosent"], ["i tillegg s\u00e5 kommer jo det elementet med at hvis man g\u00e5r en turnus som tilsier at du kanskje har et morgenskift eee og veksler til skift inn forbi kort tid kveld morgen og kanskje p\u00e5 igjen neste morgen og s\u00e5 videre at hviletida ikke er lang nok s\u00e5 er det en stor belastning", "i tillegg s\u00e5 kommer jo detemente med at hvis man g\u00e5r en t\u00f8rno som tilse t kansje har et moranskift og vekslanseskift innfor bkorti kvel morran o kansje p\u00e5ien neste moran og s\u00e5videreat pintier ike lang no s\u00e5 er det en storbelasing"], ["og for oss i vestfold og jeg vil tru andre fylker langs eee skagerrak s\u00e5 har det lenge v\u00e6rt eee en f\u00f8lelse av at forvaltninga av de som vi oppfatter som veldig viktig bestander eee har v\u00e6rt stemoderlig behandla av fiskeriforvaltninga", "og for oss i vestfold jeg vi tru andre fylkelandsskagerks\u00e5 har de lengere v\u00e6rt en f\u00f8lelse av at forvaltninga av de som viopfater som veldig viktig bestandadr ehar v\u00e6rt stemodelig behandler av fiskerieeeforvaltningan"], ["jeg viste til i forrige replikkordskifte at elevene er mer p\u00e5 skolen de l\u00e6rer mer og flere fullf\u00f8rer videreg\u00e5ende skole og vi ser n\u00e5 og det tror jeg kanskje er f\u00f8rste gang at vi klarer \u00e5 l\u00f8fte en del av de elevene som har blitt hengende etter", "jeg viser til den forrige replikkorsifter aat eleven er mer p\u00e5 skolen de l\u00e6rer mer og flere fullf\u00f8rer videreg\u00e5endo skole og vi ser n\u00e5 og det trur jeg kansje je f\u00f8rste gan at vi klarer l\u00f8fte endel av de elevene som \u00e5 har blitt tengende etter"]]}
wandb/run-20220730_174606-j2u4n7h4/files/output.log CHANGED
@@ -5290,3 +5290,268 @@ tcmalloc: large alloc 3850223616 bytes == 0x9413e6000 @ 0x7f975ff0f680 0x7f975f
5290
  Model weights saved in /data/wav2vec2-1b-npsc-nst/flax_model.msgpack
5291
  tokenizer config file saved in ./tokenizer_config.json
5292
  Special tokens file saved in ./special_tokens_map.json
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5290
  Model weights saved in /data/wav2vec2-1b-npsc-nst/flax_model.msgpack
5291
  tokenizer config file saved in ./tokenizer_config.json
5292
  Special tokens file saved in ./special_tokens_map.json
5293
+ added tokens file saved in ./added_tokens.json
5294
+
5295
+
5296
+
5297
+
5298
+
5299
+
5300
+
5301
+
5302
+
5303
+
5304
+
5305
+
5306
+
5307
+
5308
+
5309
+
5310
+
5311
+
5312
+
5313
+
5314
+
5315
+
5316
+
5317
+
5318
+
5319
+
5320
+
5321
+
5322
+
5323
+
5324
+
5325
+
5326
+
5327
+
5328
+
5329
+
5330
+
5331
+
5332
+
5333
+
5334
+
5335
+
5336
+
5337
+
5338
+
5339
+
5340
+
5341
+
5342
+
5343
+
5344
+
5345
+
5346
+
5347
+
5348
+
5349
+
5350
+
5351
+
5352
+
5353
+
5354
+
5355
+
5356
+
5357
+
5358
+
5359
+
5360
+
5361
+
5362
+
5363
+
5364
+
5365
+
5366
+
5367
+
5368
+
5369
+
5370
+
5371
+
5372
+
5373
+
5374
+
5375
+
5376
+
5377
+
5378
+
5379
+
5380
+
5381
+
5382
+
5383
+
5384
+
5385
+
5386
+
5387
+
5388
+ return jax.tree_map(lambda x: x.astype(jnp.float32) if x.dtype == jnp.bfloat16 else x, t)█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ | 3099/3153 [5:02:47<01:12, 1.35s/it]
5389
+ Step... (3000/126120 | Eval Loss: 0.4165652394294739 | Eval wer: 0.3462994456013605 | Eval cer: 0.0990741924291949 |): 0%| | 0/40 [5:02:57<?, ?it/s]
5390
+ Training...: 98%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ | 3100/3153 [5:02:49<01:23, 1.58s/it]
5391
+
5392
+
5393
+
5394
+
5395
+
5396
+
5397
+
5398
+
5399
+
5400
+
5401
+
5402
+
5403
+
5404
+
5405
+
5406
+
5407
+
5408
+
5409
+
5410
+
5411
+
5412
+
5413
+
5414
+
5415
+
5416
+
5417
+
5418
+
5419
+
5420
+
5421
+
5422
+
5423
+
5424
+
5425
+
5426
+
5427
+
5428
+
5429
+
5430
+
5431
+
5432
+
5433
+
5434
+
5435
+
5436
+
5437
+
5438
+
5439
+ return jax.tree_map(lambda x: x.astype(jnp.bfloat16) if x.dtype == jnp.float32 else x, t)████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▊| 3150/3153 [5:05:44<00:03, 1.22s/it]
5440
+ run_flax_speech_recognition_ctc.py:397: FutureWarning: jax.tree_map is deprecated, and will be removed in a future release. Use jax.tree_util.tree_map instead.
5441
+ grads = jax.tree_map(lambda t: (t / g_norm) * casted_max_grad_norm, grads)
5442
+ run_flax_speech_recognition_ctc.py:1391: FutureWarning: jax.tree_map is deprecated, and will be removed in a future release. Use jax.tree_util.tree_map instead.
5443
+ layer_grad_norm = jax.tree_map(jnp.linalg.norm, grad)
5444
+ run_flax_speech_recognition_ctc.py:1398: FutureWarning: jax.tree_map is deprecated, and will be removed in a future release. Use jax.tree_util.tree_map instead.
5445
+ layer_param_norm = jax.tree_map(jnp.linalg.norm, new_state.params)
5446
+
5447
+
5448
+ Step... (3000/126120 | Eval Loss: 0.4165652394294739 | Eval wer: 0.3462994456013605 | Eval cer: 0.0990741924291949 |): 2%|██▉ | 1/40 [5:10:52<202:04:15, 18652.71s/it]
5449
+
5450
+
5451
+
5452
+
5453
+
5454
+
5455
+
5456
+
5457
+
5458
+
5459
+
5460
+
5461
+
5462
+
5463
+
5464
+
5465
+
5466
+
5467
+
5468
+
5469
+
5470
+
5471
+
5472
+
5473
+
5474
+
5475
+
5476
+
5477
+
5478
+
5479
+
5480
+
5481
+
5482
+
5483
+
5484
+
5485
+
5486
+
5487
+
5488
+
5489
+
5490
+
5491
+
5492
+
5493
+
5494
+ Training...: 1%|███▎ | 46/3153 [02:57<1:52:18, 2.17s/it]
5495
+
5496
+
5497
+
5498
+
5499
+
5500
+
5501
+
5502
+
5503
+
5504
+
5505
+
5506
+
5507
+
5508
+
5509
+
5510
+
5511
+
5512
+
5513
+
5514
+
5515
+
5516
+
5517
+
5518
+
5519
+
5520
+
5521
+
5522
+
5523
+
5524
+
5525
+
5526
+
5527
+
5528
+
5529
+
5530
+
5531
+
5532
+
5533
+
5534
+
5535
+
5536
+
5537
+
5538
+
5539
+
5540
+
5541
+
5542
+
5543
+
5544
+ 2022-07-30 23:15:12.979850: E external/org_tensorflow/tensorflow/compiler/xla/pjrt/pjrt_stream_executor_client.cc:2130] Execution of replica 4 failed: RESOURCE_EXHAUSTED: Attempting to reserve 4.94G at the bottom of memory. That was not possible. There are 8.21G free, 0B reserved, and 3.64G reservable. If fragmentation is eliminated, the maximum reservable bytes would be 8.21G, so compaction will enable this reservation. The nearest obstacle is at 3.64G from the bottom with size 19.53M.
5545
+ 2022-07-30 23:15:12.983255: E external/org_tensorflow/tensorflow/compiler/xla/pjrt/pjrt_stream_executor_client.cc:2130] Execution of replica 7 failed: RESOURCE_EXHAUSTED: Attempting to reserve 4.94G at the bottom of memory. That was not possible. There are 8.21G free, 0B reserved, and 3.64G reservable. If fragmentation is eliminated, the maximum reservable bytes would be 8.21G, so compaction will enable this reservation. The nearest obstacle is at 3.64G from the bottom with size 19.53M.
5546
+ 2022-07-30 23:15:12.983306: E external/org_tensorflow/tensorflow/compiler/xla/pjrt/pjrt_stream_executor_client.cc:2130] Execution of replica 1 failed: RESOURCE_EXHAUSTED: Attempting to reserve 4.94G at the bottom of memory. That was not possible. There are 8.21G free, 0B reserved, and 3.64G reservable. If fragmentation is eliminated, the maximum reservable bytes would be 8.21G, so compaction will enable this reservation. The nearest obstacle is at 3.64G from the bottom with size 19.53M.
5547
+ 2022-07-30 23:15:12.983553: E external/org_tensorflow/tensorflow/compiler/xla/pjrt/pjrt_stream_executor_client.cc:2130] Execution of replica 6 failed: RESOURCE_EXHAUSTED: Attempting to reserve 4.94G at the bottom of memory. That was not possible. There are 8.21G free, 0B reserved, and 3.64G reservable. If fragmentation is eliminated, the maximum reservable bytes would be 8.21G, so compaction will enable this reservation. The nearest obstacle is at 3.64G from the bottom with size 19.53M.
5548
+ 2022-07-30 23:15:12.983746: E external/org_tensorflow/tensorflow/compiler/xla/pjrt/pjrt_stream_executor_client.cc:2130] Execution of replica 2 failed: RESOURCE_EXHAUSTED: Attempting to reserve 4.94G at the bottom of memory. That was not possible. There are 8.21G free, 0B reserved, and 3.64G reservable. If fragmentation is eliminated, the maximum reservable bytes would be 8.21G, so compaction will enable this reservation. The nearest obstacle is at 3.64G from the bottom with size 19.53M.
5549
+ 2022-07-30 23:15:12.985075: E external/org_tensorflow/tensorflow/compiler/xla/pjrt/pjrt_stream_executor_client.cc:2130] Execution of replica 3 failed: RESOURCE_EXHAUSTED: Attempting to reserve 4.94G at the bottom of memory. That was not possible. There are 8.21G free, 0B reserved, and 3.64G reservable. If fragmentation is eliminated, the maximum reservable bytes would be 8.21G, so compaction will enable this reservation. The nearest obstacle is at 3.64G from the bottom with size 19.53M.
5550
+ Training...: 3%|███████▏ | 100/3153 [06:18<3:12:49, 3.79s/it]
5551
+ Step... (3000/126120 | Eval Loss: 0.4165652394294739 | Eval wer: 0.3462994456013605 | Eval cer: 0.0990741924291949 |): 2%|██▉ | 1/40 [5:17:15<206:13:01, 19035.42s/it]
5552
+ Traceback (most recent call last):
5553
+ File "run_flax_speech_recognition_ctc.py", line 1604, in <module>
5554
+ main()
5555
+ File "run_flax_speech_recognition_ctc.py", line 1516, in main
5556
+ state, train_metric = p_train_step(state, batch)
5557
+ ValueError: RESOURCE_EXHAUSTED: Attempting to reserve 4.94G at the bottom of memory. That was not possible. There are 8.21G free, 0B reserved, and 3.64G reservable. If fragmentation is eliminated, the maximum reservable bytes would be 8.21G, so compaction will enable this reservation. The nearest obstacle is at 3.64G from the bottom with size 19.53M.: while running replica 1 and partition 0 of a replicated computation (other replicas may have failed as well).
wandb/run-20220730_174606-j2u4n7h4/files/wandb-summary.json CHANGED
The diff for this file is too large to render. See raw diff
 
wandb/run-20220730_174606-j2u4n7h4/logs/debug-internal.log CHANGED
@@ -7492,3 +7492,595 @@
7492
  2022-07-30 22:54:20,900 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7493
  2022-07-30 22:54:20,901 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7494
  2022-07-30 22:54:23,251 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7492
  2022-07-30 22:54:20,900 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7493
  2022-07-30 22:54:20,901 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7494
  2022-07-30 22:54:23,251 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7495
+ 2022-07-30 22:54:36,214 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7496
+ 2022-07-30 22:54:36,214 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7497
+ 2022-07-30 22:54:45,113 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7498
+ 2022-07-30 22:54:51,531 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7499
+ 2022-07-30 22:54:51,532 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7500
+ 2022-07-30 22:54:53,330 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7501
+ 2022-07-30 22:54:59,120 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7502
+ 2022-07-30 22:55:07,063 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7503
+ 2022-07-30 22:55:07,063 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7504
+ 2022-07-30 22:55:07,124 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7505
+ 2022-07-30 22:55:17,129 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7506
+ 2022-07-30 22:55:22,365 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7507
+ 2022-07-30 22:55:22,366 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7508
+ 2022-07-30 22:55:23,400 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7509
+ 2022-07-30 22:55:24,133 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7510
+ 2022-07-30 22:55:32,137 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7511
+ 2022-07-30 22:55:36,139 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7512
+ 2022-07-30 22:55:37,680 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7513
+ 2022-07-30 22:55:37,680 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7514
+ 2022-07-30 22:55:42,142 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7515
+ 2022-07-30 22:55:48,145 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7516
+ 2022-07-30 22:55:52,860 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7517
+ 2022-07-30 22:55:52,861 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7518
+ 2022-07-30 22:55:53,473 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7519
+ 2022-07-30 22:55:56,149 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7520
+ 2022-07-30 22:56:00,151 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7521
+ 2022-07-30 22:56:05,154 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7522
+ 2022-07-30 22:56:08,017 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7523
+ 2022-07-30 22:56:08,017 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7524
+ 2022-07-30 22:56:11,157 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7525
+ 2022-07-30 22:56:15,159 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7526
+ 2022-07-30 22:56:19,161 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7527
+ 2022-07-30 22:56:23,163 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7528
+ 2022-07-30 22:56:23,315 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7529
+ 2022-07-30 22:56:23,316 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7530
+ 2022-07-30 22:56:23,552 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7531
+ 2022-07-30 22:56:30,167 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7532
+ 2022-07-30 22:56:34,169 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7533
+ 2022-07-30 22:56:38,171 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7534
+ 2022-07-30 22:56:38,637 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7535
+ 2022-07-30 22:56:38,638 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7536
+ 2022-07-30 22:56:44,174 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7537
+ 2022-07-30 22:56:48,176 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7538
+ 2022-07-30 22:56:52,179 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7539
+ 2022-07-30 22:56:53,629 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7540
+ 2022-07-30 22:56:53,847 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7541
+ 2022-07-30 22:56:53,847 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7542
+ 2022-07-30 22:56:54,180 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7543
+ 2022-07-30 22:56:59,183 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7544
+ 2022-07-30 22:57:03,185 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7545
+ 2022-07-30 22:57:05,186 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7546
+ 2022-07-30 22:57:09,067 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7547
+ 2022-07-30 22:57:09,067 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7548
+ 2022-07-30 22:57:09,188 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7549
+ 2022-07-30 22:57:11,189 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7550
+ 2022-07-30 22:57:15,191 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7551
+ 2022-07-30 22:57:17,192 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7552
+ 2022-07-30 22:57:21,194 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7553
+ 2022-07-30 22:57:23,195 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7554
+ 2022-07-30 22:57:23,706 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7555
+ 2022-07-30 22:57:24,278 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7556
+ 2022-07-30 22:57:24,278 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7557
+ 2022-07-30 22:57:25,197 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7558
+ 2022-07-30 22:57:31,199 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7559
+ 2022-07-30 22:57:33,200 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7560
+ 2022-07-30 22:57:35,201 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7561
+ 2022-07-30 22:57:37,203 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7562
+ 2022-07-30 22:57:39,204 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7563
+ 2022-07-30 22:57:39,499 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7564
+ 2022-07-30 22:57:39,499 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7565
+ 2022-07-30 22:57:41,205 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7566
+ 2022-07-30 22:57:43,206 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7567
+ 2022-07-30 22:57:45,207 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7568
+ 2022-07-30 22:57:48,208 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7569
+ 2022-07-30 22:57:50,209 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7570
+ 2022-07-30 22:57:52,210 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7571
+ 2022-07-30 22:57:53,781 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7572
+ 2022-07-30 22:57:54,211 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7573
+ 2022-07-30 22:57:54,666 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7574
+ 2022-07-30 22:57:54,666 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7575
+ 2022-07-30 22:57:56,213 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7576
+ 2022-07-30 22:57:58,214 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7577
+ 2022-07-30 22:58:00,215 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7578
+ 2022-07-30 22:58:02,216 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7579
+ 2022-07-30 22:58:09,912 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7580
+ 2022-07-30 22:58:09,912 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7581
+ 2022-07-30 22:58:12,221 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7582
+ 2022-07-30 22:58:21,225 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7583
+ 2022-07-30 22:58:23,856 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7584
+ 2022-07-30 22:58:25,274 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7585
+ 2022-07-30 22:58:25,274 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7586
+ 2022-07-30 22:58:27,228 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7587
+ 2022-07-30 22:58:33,231 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7588
+ 2022-07-30 22:58:39,234 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7589
+ 2022-07-30 22:58:40,589 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7590
+ 2022-07-30 22:58:40,590 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7591
+ 2022-07-30 22:58:45,237 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7592
+ 2022-07-30 22:58:52,240 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7593
+ 2022-07-30 22:58:53,933 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7594
+ 2022-07-30 22:58:55,866 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7595
+ 2022-07-30 22:58:55,867 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7596
+ 2022-07-30 22:58:56,242 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7597
+ 2022-07-30 22:59:02,245 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7598
+ 2022-07-30 22:59:06,247 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7599
+ 2022-07-30 22:59:10,249 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7600
+ 2022-07-30 22:59:11,177 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7601
+ 2022-07-30 22:59:11,177 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7602
+ 2022-07-30 22:59:14,251 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7603
+ 2022-07-30 22:59:20,254 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7604
+ 2022-07-30 22:59:24,010 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7605
+ 2022-07-30 22:59:24,256 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7606
+ 2022-07-30 22:59:26,434 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7607
+ 2022-07-30 22:59:26,434 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7608
+ 2022-07-30 22:59:28,258 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7609
+ 2022-07-30 22:59:33,261 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7610
+ 2022-07-30 22:59:37,263 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7611
+ 2022-07-30 22:59:41,265 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7612
+ 2022-07-30 22:59:41,656 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7613
+ 2022-07-30 22:59:41,656 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7614
+ 2022-07-30 22:59:45,267 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7615
+ 2022-07-30 22:59:47,268 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7616
+ 2022-07-30 22:59:51,270 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7617
+ 2022-07-30 22:59:54,088 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7618
+ 2022-07-30 22:59:55,272 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7619
+ 2022-07-30 22:59:56,931 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7620
+ 2022-07-30 22:59:56,931 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7621
+ 2022-07-30 22:59:59,274 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7622
+ 2022-07-30 23:00:01,275 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7623
+ 2022-07-30 23:00:05,277 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7624
+ 2022-07-30 23:00:07,278 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7625
+ 2022-07-30 23:00:11,281 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7626
+ 2022-07-30 23:00:12,195 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7627
+ 2022-07-30 23:00:12,195 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7628
+ 2022-07-30 23:00:13,282 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7629
+ 2022-07-30 23:00:16,283 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7630
+ 2022-07-30 23:00:20,285 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7631
+ 2022-07-30 23:00:22,286 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7632
+ 2022-07-30 23:00:24,166 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7633
+ 2022-07-30 23:00:26,288 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7634
+ 2022-07-30 23:00:27,432 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7635
+ 2022-07-30 23:00:27,432 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7636
+ 2022-07-30 23:00:28,290 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7637
+ 2022-07-30 23:00:30,291 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7638
+ 2022-07-30 23:00:32,292 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7639
+ 2022-07-30 23:00:34,293 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7640
+ 2022-07-30 23:00:36,294 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7641
+ 2022-07-30 23:00:38,295 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7642
+ 2022-07-30 23:00:40,296 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7643
+ 2022-07-30 23:00:42,297 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7644
+ 2022-07-30 23:00:42,636 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7645
+ 2022-07-30 23:00:42,637 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7646
+ 2022-07-30 23:00:44,298 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7647
+ 2022-07-30 23:00:46,299 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7648
+ 2022-07-30 23:00:48,300 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7649
+ 2022-07-30 23:00:50,302 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7650
+ 2022-07-30 23:00:52,303 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7651
+ 2022-07-30 23:00:54,243 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7652
+ 2022-07-30 23:00:54,304 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7653
+ 2022-07-30 23:00:54,472 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: log_artifact
7654
+ 2022-07-30 23:00:54,473 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: log_artifact
7655
+ 2022-07-30 23:00:55,304 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_created():217] file/dir created: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/media/table/eval/step_3k_3000_7f6d2aff7a45425d179c.table.json
7656
+ 2022-07-30 23:00:55,305 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/media/table/eval
7657
+ 2022-07-30 23:00:55,577 INFO Thread-21 :1494437 [upload_job.py:push():95] Uploaded file /home/javierr/.cache/wandb/artifacts/obj/md5/f4/e476c2358c11b27374055cdb2dabb4
7658
+ 2022-07-30 23:00:56,305 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7659
+ 2022-07-30 23:00:56,923 INFO SenderThread:1494437 [sender.py:send_request_log_artifact():968] logged artifact run-j2u4n7h4-evalstep_3k - {'id': 'QXJ0aWZhY3Q6MTY1MzExNzk5', 'digest': '6e81d706760bd2586ca91fa1c4f42dc1', 'state': 'PENDING', 'aliases': [], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjI1MDEzMTQ4', 'latestArtifact': None}, 'version': 'latest'}
7660
+ 2022-07-30 23:00:56,923 DEBUG SenderThread:1494437 [sender.py:send():234] send: files
7661
+ 2022-07-30 23:00:56,923 INFO SenderThread:1494437 [sender.py:_save_file():939] saving file media/table/eval/step_3k_3000_7f6d2aff7a45425d179c.table.json with policy now
7662
+ 2022-07-30 23:00:56,923 DEBUG SenderThread:1494437 [sender.py:send():234] send: history
7663
+ 2022-07-30 23:00:56,927 DEBUG SenderThread:1494437 [sender.py:send():234] send: summary
7664
+ 2022-07-30 23:00:56,930 INFO SenderThread:1494437 [sender.py:_save_file():939] saving file wandb-summary.json with policy end
7665
+ 2022-07-30 23:00:57,305 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7666
+ 2022-07-30 23:00:57,306 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/wandb-summary.json
7667
+ 2022-07-30 23:00:57,412 INFO Thread-22 :1494437 [upload_job.py:push():137] Uploaded file /tmp/tmp29wrl920wandb/2wi7wirr-media/table/eval/step_3k_3000_7f6d2aff7a45425d179c.table.json
7668
+ 2022-07-30 23:00:57,900 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7669
+ 2022-07-30 23:00:57,900 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7670
+ 2022-07-30 23:01:06,310 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7671
+ 2022-07-30 23:01:13,248 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7672
+ 2022-07-30 23:01:13,248 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7673
+ 2022-07-30 23:01:15,314 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7674
+ 2022-07-30 23:01:21,317 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7675
+ 2022-07-30 23:01:24,320 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7676
+ 2022-07-30 23:01:27,324 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7677
+ 2022-07-30 23:01:28,648 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7678
+ 2022-07-30 23:01:28,649 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7679
+ 2022-07-30 23:01:33,327 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7680
+ 2022-07-30 23:01:40,331 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7681
+ 2022-07-30 23:01:43,954 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7682
+ 2022-07-30 23:01:43,954 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7683
+ 2022-07-30 23:01:46,334 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7684
+ 2022-07-30 23:01:50,336 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7685
+ 2022-07-30 23:01:54,338 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7686
+ 2022-07-30 23:01:54,393 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7687
+ 2022-07-30 23:01:59,307 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7688
+ 2022-07-30 23:01:59,308 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7689
+ 2022-07-30 23:02:00,341 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7690
+ 2022-07-30 23:02:04,343 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7691
+ 2022-07-30 23:02:10,346 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7692
+ 2022-07-30 23:02:14,348 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7693
+ 2022-07-30 23:02:14,586 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7694
+ 2022-07-30 23:02:14,586 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7695
+ 2022-07-30 23:02:18,350 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7696
+ 2022-07-30 23:02:23,353 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7697
+ 2022-07-30 23:02:24,465 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7698
+ 2022-07-30 23:02:27,355 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7699
+ 2022-07-30 23:02:29,884 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7700
+ 2022-07-30 23:02:29,884 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7701
+ 2022-07-30 23:02:31,357 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7702
+ 2022-07-30 23:02:35,359 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7703
+ 2022-07-30 23:02:39,361 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7704
+ 2022-07-30 23:02:41,362 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7705
+ 2022-07-30 23:02:45,176 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7706
+ 2022-07-30 23:02:45,176 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7707
+ 2022-07-30 23:02:45,364 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7708
+ 2022-07-30 23:02:49,366 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7709
+ 2022-07-30 23:02:53,368 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7710
+ 2022-07-30 23:02:54,539 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7711
+ 2022-07-30 23:02:55,369 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7712
+ 2022-07-30 23:02:59,372 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7713
+ 2022-07-30 23:03:00,393 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7714
+ 2022-07-30 23:03:00,394 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7715
+ 2022-07-30 23:03:01,373 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7716
+ 2022-07-30 23:03:06,375 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7717
+ 2022-07-30 23:03:08,376 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7718
+ 2022-07-30 23:03:12,378 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7719
+ 2022-07-30 23:03:14,379 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7720
+ 2022-07-30 23:03:15,568 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7721
+ 2022-07-30 23:03:15,569 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7722
+ 2022-07-30 23:03:16,380 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7723
+ 2022-07-30 23:03:20,383 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7724
+ 2022-07-30 23:03:22,384 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7725
+ 2022-07-30 23:03:24,385 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7726
+ 2022-07-30 23:03:24,610 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7727
+ 2022-07-30 23:03:26,386 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7728
+ 2022-07-30 23:03:28,387 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7729
+ 2022-07-30 23:03:30,388 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7730
+ 2022-07-30 23:03:30,786 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7731
+ 2022-07-30 23:03:30,787 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7732
+ 2022-07-30 23:03:32,389 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7733
+ 2022-07-30 23:03:34,391 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7734
+ 2022-07-30 23:03:36,392 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7735
+ 2022-07-30 23:03:38,393 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7736
+ 2022-07-30 23:03:40,394 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7737
+ 2022-07-30 23:03:42,395 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7738
+ 2022-07-30 23:03:44,396 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7739
+ 2022-07-30 23:03:45,997 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7740
+ 2022-07-30 23:03:45,998 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7741
+ 2022-07-30 23:03:46,397 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7742
+ 2022-07-30 23:03:48,398 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7743
+ 2022-07-30 23:03:51,400 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7744
+ 2022-07-30 23:03:54,679 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7745
+ 2022-07-30 23:03:58,404 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7746
+ 2022-07-30 23:04:01,157 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7747
+ 2022-07-30 23:04:01,157 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7748
+ 2022-07-30 23:04:16,311 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7749
+ 2022-07-30 23:04:16,311 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7750
+ 2022-07-30 23:04:18,413 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7751
+ 2022-07-30 23:04:24,752 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7752
+ 2022-07-30 23:04:26,417 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7753
+ 2022-07-30 23:04:28,418 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7754
+ 2022-07-30 23:04:31,476 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7755
+ 2022-07-30 23:04:31,477 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7756
+ 2022-07-30 23:04:46,640 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7757
+ 2022-07-30 23:04:46,641 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7758
+ 2022-07-30 23:04:54,822 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7759
+ 2022-07-30 23:05:01,790 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7760
+ 2022-07-30 23:05:01,790 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7761
+ 2022-07-30 23:05:16,923 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7762
+ 2022-07-30 23:05:16,923 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7763
+ 2022-07-30 23:05:24,895 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7764
+ 2022-07-30 23:05:32,060 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7765
+ 2022-07-30 23:05:32,060 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7766
+ 2022-07-30 23:05:47,197 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7767
+ 2022-07-30 23:05:47,198 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7768
+ 2022-07-30 23:05:54,969 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7769
+ 2022-07-30 23:06:02,369 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7770
+ 2022-07-30 23:06:02,370 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7771
+ 2022-07-30 23:06:17,528 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7772
+ 2022-07-30 23:06:17,528 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7773
+ 2022-07-30 23:06:25,046 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7774
+ 2022-07-30 23:06:32,667 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7775
+ 2022-07-30 23:06:32,667 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7776
+ 2022-07-30 23:06:47,829 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7777
+ 2022-07-30 23:06:47,830 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7778
+ 2022-07-30 23:06:55,123 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7779
+ 2022-07-30 23:07:02,971 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7780
+ 2022-07-30 23:07:02,972 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7781
+ 2022-07-30 23:07:18,157 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7782
+ 2022-07-30 23:07:18,157 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7783
+ 2022-07-30 23:07:25,198 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7784
+ 2022-07-30 23:07:33,322 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7785
+ 2022-07-30 23:07:33,323 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7786
+ 2022-07-30 23:07:48,463 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7787
+ 2022-07-30 23:07:48,463 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7788
+ 2022-07-30 23:07:55,270 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7789
+ 2022-07-30 23:08:03,599 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7790
+ 2022-07-30 23:08:03,600 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7791
+ 2022-07-30 23:08:18,735 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7792
+ 2022-07-30 23:08:18,735 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7793
+ 2022-07-30 23:08:25,375 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7794
+ 2022-07-30 23:08:33,866 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7795
+ 2022-07-30 23:08:33,866 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7796
+ 2022-07-30 23:08:41,550 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7797
+ 2022-07-30 23:08:49,000 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7798
+ 2022-07-30 23:08:49,001 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7799
+ 2022-07-30 23:08:49,554 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7800
+ 2022-07-30 23:08:53,556 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7801
+ 2022-07-30 23:08:55,448 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7802
+ 2022-07-30 23:08:55,557 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7803
+ 2022-07-30 23:09:04,140 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7804
+ 2022-07-30 23:09:04,141 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7805
+ 2022-07-30 23:09:08,565 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7806
+ 2022-07-30 23:09:16,569 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7807
+ 2022-07-30 23:09:19,336 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7808
+ 2022-07-30 23:09:19,337 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7809
+ 2022-07-30 23:09:25,525 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7810
+ 2022-07-30 23:09:26,574 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7811
+ 2022-07-30 23:09:34,578 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7812
+ 2022-07-30 23:09:34,649 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7813
+ 2022-07-30 23:09:34,650 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7814
+ 2022-07-30 23:09:38,580 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7815
+ 2022-07-30 23:09:45,584 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7816
+ 2022-07-30 23:09:49,963 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7817
+ 2022-07-30 23:09:49,964 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7818
+ 2022-07-30 23:09:51,588 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7819
+ 2022-07-30 23:09:55,590 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7820
+ 2022-07-30 23:09:55,601 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7821
+ 2022-07-30 23:10:01,593 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7822
+ 2022-07-30 23:10:05,209 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7823
+ 2022-07-30 23:10:05,210 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7824
+ 2022-07-30 23:10:05,595 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7825
+ 2022-07-30 23:10:09,597 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7826
+ 2022-07-30 23:10:13,600 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7827
+ 2022-07-30 23:10:18,602 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7828
+ 2022-07-30 23:10:20,408 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7829
+ 2022-07-30 23:10:20,409 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7830
+ 2022-07-30 23:10:22,605 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7831
+ 2022-07-30 23:10:25,678 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7832
+ 2022-07-30 23:10:26,607 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7833
+ 2022-07-30 23:10:30,609 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7834
+ 2022-07-30 23:10:34,611 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7835
+ 2022-07-30 23:10:35,637 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7836
+ 2022-07-30 23:10:35,638 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7837
+ 2022-07-30 23:10:38,614 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7838
+ 2022-07-30 23:10:44,617 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7839
+ 2022-07-30 23:10:48,619 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7840
+ 2022-07-30 23:10:50,971 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7841
+ 2022-07-30 23:10:50,971 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7842
+ 2022-07-30 23:10:52,621 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7843
+ 2022-07-30 23:10:54,622 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7844
+ 2022-07-30 23:10:55,754 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7845
+ 2022-07-30 23:10:59,625 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7846
+ 2022-07-30 23:11:01,626 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7847
+ 2022-07-30 23:11:05,628 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7848
+ 2022-07-30 23:11:06,211 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7849
+ 2022-07-30 23:11:06,212 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7850
+ 2022-07-30 23:11:07,630 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7851
+ 2022-07-30 23:11:11,632 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7852
+ 2022-07-30 23:11:13,633 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7853
+ 2022-07-30 23:11:17,635 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7854
+ 2022-07-30 23:11:19,636 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7855
+ 2022-07-30 23:11:21,382 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7856
+ 2022-07-30 23:11:21,382 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7857
+ 2022-07-30 23:11:21,637 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7858
+ 2022-07-30 23:11:25,640 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7859
+ 2022-07-30 23:11:25,833 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7860
+ 2022-07-30 23:11:27,641 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7861
+ 2022-07-30 23:11:29,642 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7862
+ 2022-07-30 23:11:31,643 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7863
+ 2022-07-30 23:11:33,644 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7864
+ 2022-07-30 23:11:35,645 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7865
+ 2022-07-30 23:11:36,536 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7866
+ 2022-07-30 23:11:36,536 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7867
+ 2022-07-30 23:11:37,647 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7868
+ 2022-07-30 23:11:39,648 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7869
+ 2022-07-30 23:11:42,649 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7870
+ 2022-07-30 23:11:44,650 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7871
+ 2022-07-30 23:11:46,652 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7872
+ 2022-07-30 23:11:48,653 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7873
+ 2022-07-30 23:11:50,654 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7874
+ 2022-07-30 23:11:51,709 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7875
+ 2022-07-30 23:11:51,710 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7876
+ 2022-07-30 23:11:54,002 DEBUG SenderThread:1494437 [sender.py:send():234] send: history
7877
+ 2022-07-30 23:11:54,005 DEBUG SenderThread:1494437 [sender.py:send():234] send: summary
7878
+ 2022-07-30 23:11:54,009 INFO SenderThread:1494437 [sender.py:_save_file():939] saving file wandb-summary.json with policy end
7879
+ 2022-07-30 23:11:54,656 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7880
+ 2022-07-30 23:11:54,657 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/wandb-summary.json
7881
+ 2022-07-30 23:11:55,657 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7882
+ 2022-07-30 23:11:55,914 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7883
+ 2022-07-30 23:11:56,657 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7884
+ 2022-07-30 23:11:58,659 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7885
+ 2022-07-30 23:12:07,030 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7886
+ 2022-07-30 23:12:07,030 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7887
+ 2022-07-30 23:12:08,664 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7888
+ 2022-07-30 23:12:18,669 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7889
+ 2022-07-30 23:12:22,359 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7890
+ 2022-07-30 23:12:22,360 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7891
+ 2022-07-30 23:12:25,990 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7892
+ 2022-07-30 23:12:26,673 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7893
+ 2022-07-30 23:12:37,611 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7894
+ 2022-07-30 23:12:37,611 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7895
+ 2022-07-30 23:12:37,679 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7896
+ 2022-07-30 23:12:43,682 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7897
+ 2022-07-30 23:12:49,686 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7898
+ 2022-07-30 23:12:53,052 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7899
+ 2022-07-30 23:12:53,052 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7900
+ 2022-07-30 23:12:53,688 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7901
+ 2022-07-30 23:12:56,058 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7902
+ 2022-07-30 23:12:59,691 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7903
+ 2022-07-30 23:13:05,695 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7904
+ 2022-07-30 23:13:08,353 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7905
+ 2022-07-30 23:13:08,354 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7906
+ 2022-07-30 23:13:12,698 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7907
+ 2022-07-30 23:13:16,701 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7908
+ 2022-07-30 23:13:20,703 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7909
+ 2022-07-30 23:13:23,563 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7910
+ 2022-07-30 23:13:23,564 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7911
+ 2022-07-30 23:13:24,705 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7912
+ 2022-07-30 23:13:26,128 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7913
+ 2022-07-30 23:13:28,708 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7914
+ 2022-07-30 23:13:32,710 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7915
+ 2022-07-30 23:13:36,712 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7916
+ 2022-07-30 23:13:38,799 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7917
+ 2022-07-30 23:13:38,799 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7918
+ 2022-07-30 23:13:40,715 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7919
+ 2022-07-30 23:13:46,718 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7920
+ 2022-07-30 23:13:49,720 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7921
+ 2022-07-30 23:13:53,722 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7922
+ 2022-07-30 23:13:54,037 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7923
+ 2022-07-30 23:13:54,038 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7924
+ 2022-07-30 23:13:56,199 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7925
+ 2022-07-30 23:13:57,725 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7926
+ 2022-07-30 23:14:01,727 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7927
+ 2022-07-30 23:14:03,728 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7928
+ 2022-07-30 23:14:07,730 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7929
+ 2022-07-30 23:14:09,390 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7930
+ 2022-07-30 23:14:09,391 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7931
+ 2022-07-30 23:14:09,731 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7932
+ 2022-07-30 23:14:13,734 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7933
+ 2022-07-30 23:14:15,735 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7934
+ 2022-07-30 23:14:17,736 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7935
+ 2022-07-30 23:14:21,738 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7936
+ 2022-07-30 23:14:23,740 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7937
+ 2022-07-30 23:14:24,602 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7938
+ 2022-07-30 23:14:24,602 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7939
+ 2022-07-30 23:14:26,268 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7940
+ 2022-07-30 23:14:27,742 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7941
+ 2022-07-30 23:14:32,745 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7942
+ 2022-07-30 23:14:34,746 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7943
+ 2022-07-30 23:14:36,747 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7944
+ 2022-07-30 23:14:38,748 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7945
+ 2022-07-30 23:14:39,827 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7946
+ 2022-07-30 23:14:39,827 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7947
+ 2022-07-30 23:14:40,749 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7948
+ 2022-07-30 23:14:42,751 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7949
+ 2022-07-30 23:14:44,752 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7950
+ 2022-07-30 23:14:46,753 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7951
+ 2022-07-30 23:14:48,754 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7952
+ 2022-07-30 23:14:50,755 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7953
+ 2022-07-30 23:14:52,757 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7954
+ 2022-07-30 23:14:54,758 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7955
+ 2022-07-30 23:14:55,006 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7956
+ 2022-07-30 23:14:55,007 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7957
+ 2022-07-30 23:14:56,339 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7958
+ 2022-07-30 23:14:56,759 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7959
+ 2022-07-30 23:15:00,761 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7960
+ 2022-07-30 23:15:02,763 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7961
+ 2022-07-30 23:15:04,764 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7962
+ 2022-07-30 23:15:10,337 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: stop_status
7963
+ 2022-07-30 23:15:10,337 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: stop_status
7964
+ 2022-07-30 23:15:13,635 DEBUG SenderThread:1494437 [sender.py:send():234] send: history
7965
+ 2022-07-30 23:15:13,639 DEBUG SenderThread:1494437 [sender.py:send():234] send: summary
7966
+ 2022-07-30 23:15:13,642 INFO SenderThread:1494437 [sender.py:_save_file():939] saving file wandb-summary.json with policy end
7967
+ 2022-07-30 23:15:13,769 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/wandb-summary.json
7968
+ 2022-07-30 23:15:15,770 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
7969
+ 2022-07-30 23:15:16,325 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: poll_exit
7970
+ 2022-07-30 23:15:16,325 DEBUG SenderThread:1494437 [sender.py:send():234] send: telemetry
7971
+ 2022-07-30 23:15:16,325 DEBUG SenderThread:1494437 [sender.py:send():234] send: exit
7972
+ 2022-07-30 23:15:16,325 INFO SenderThread:1494437 [sender.py:send_exit():366] handling exit code: 1
7973
+ 2022-07-30 23:15:16,327 INFO SenderThread:1494437 [sender.py:send_exit():368] handling runtime: 19748
7974
+ 2022-07-30 23:15:16,330 INFO SenderThread:1494437 [sender.py:_save_file():939] saving file wandb-summary.json with policy end
7975
+ 2022-07-30 23:15:16,330 INFO SenderThread:1494437 [sender.py:send_exit():374] send defer
7976
+ 2022-07-30 23:15:16,330 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: poll_exit
7977
+ 2022-07-30 23:15:16,331 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: defer
7978
+ 2022-07-30 23:15:16,331 INFO HandlerThread:1494437 [handler.py:handle_request_defer():147] handle defer: 0
7979
+ 2022-07-30 23:15:16,331 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: defer
7980
+ 2022-07-30 23:15:16,331 INFO SenderThread:1494437 [sender.py:send_request_defer():383] handle sender defer: 0
7981
+ 2022-07-30 23:15:16,331 INFO SenderThread:1494437 [sender.py:transition_state():387] send defer: 1
7982
+ 2022-07-30 23:15:16,332 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: defer
7983
+ 2022-07-30 23:15:16,332 INFO HandlerThread:1494437 [handler.py:handle_request_defer():147] handle defer: 1
7984
+ 2022-07-30 23:15:16,383 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: defer
7985
+ 2022-07-30 23:15:16,383 INFO SenderThread:1494437 [sender.py:send_request_defer():383] handle sender defer: 1
7986
+ 2022-07-30 23:15:16,383 INFO SenderThread:1494437 [sender.py:transition_state():387] send defer: 2
7987
+ 2022-07-30 23:15:16,383 DEBUG SenderThread:1494437 [sender.py:send():234] send: stats
7988
+ 2022-07-30 23:15:16,383 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: defer
7989
+ 2022-07-30 23:15:16,383 INFO HandlerThread:1494437 [handler.py:handle_request_defer():147] handle defer: 2
7990
+ 2022-07-30 23:15:16,384 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: defer
7991
+ 2022-07-30 23:15:16,384 INFO SenderThread:1494437 [sender.py:send_request_defer():383] handle sender defer: 2
7992
+ 2022-07-30 23:15:16,384 INFO SenderThread:1494437 [sender.py:transition_state():387] send defer: 3
7993
+ 2022-07-30 23:15:16,384 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: defer
7994
+ 2022-07-30 23:15:16,384 INFO HandlerThread:1494437 [handler.py:handle_request_defer():147] handle defer: 3
7995
+ 2022-07-30 23:15:16,386 DEBUG SenderThread:1494437 [sender.py:send():234] send: summary
7996
+ 2022-07-30 23:15:16,390 INFO SenderThread:1494437 [sender.py:_save_file():939] saving file wandb-summary.json with policy end
7997
+ 2022-07-30 23:15:16,390 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: defer
7998
+ 2022-07-30 23:15:16,390 INFO SenderThread:1494437 [sender.py:send_request_defer():383] handle sender defer: 3
7999
+ 2022-07-30 23:15:16,390 INFO SenderThread:1494437 [sender.py:transition_state():387] send defer: 4
8000
+ 2022-07-30 23:15:16,390 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: defer
8001
+ 2022-07-30 23:15:16,390 INFO HandlerThread:1494437 [handler.py:handle_request_defer():147] handle defer: 4
8002
+ 2022-07-30 23:15:16,391 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: defer
8003
+ 2022-07-30 23:15:16,391 INFO SenderThread:1494437 [sender.py:send_request_defer():383] handle sender defer: 4
8004
+ 2022-07-30 23:15:16,433 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: poll_exit
8005
+ 2022-07-30 23:15:16,694 INFO SenderThread:1494437 [sender.py:transition_state():387] send defer: 5
8006
+ 2022-07-30 23:15:16,694 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: poll_exit
8007
+ 2022-07-30 23:15:16,695 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: defer
8008
+ 2022-07-30 23:15:16,695 INFO HandlerThread:1494437 [handler.py:handle_request_defer():147] handle defer: 5
8009
+ 2022-07-30 23:15:16,695 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: defer
8010
+ 2022-07-30 23:15:16,695 INFO SenderThread:1494437 [sender.py:send_request_defer():383] handle sender defer: 5
8011
+ 2022-07-30 23:15:16,695 INFO SenderThread:1494437 [dir_watcher.py:finish():283] shutting down directory watcher
8012
+ 2022-07-30 23:15:16,770 INFO Thread-8 :1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/config.yaml
8013
+ 2022-07-30 23:15:16,771 INFO SenderThread:1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
8014
+ 2022-07-30 23:15:16,771 INFO SenderThread:1494437 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/wandb-summary.json
8015
+ 2022-07-30 23:15:16,771 INFO SenderThread:1494437 [dir_watcher.py:finish():313] scan: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files
8016
+ 2022-07-30 23:15:16,771 INFO SenderThread:1494437 [dir_watcher.py:finish():327] scan save: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/config.yaml config.yaml
8017
+ 2022-07-30 23:15:16,772 INFO SenderThread:1494437 [dir_watcher.py:finish():327] scan save: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/diff.patch diff.patch
8018
+ 2022-07-30 23:15:16,772 INFO SenderThread:1494437 [dir_watcher.py:finish():327] scan save: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/requirements.txt requirements.txt
8019
+ 2022-07-30 23:15:16,772 INFO SenderThread:1494437 [dir_watcher.py:finish():327] scan save: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log output.log
8020
+ 2022-07-30 23:15:16,772 INFO SenderThread:1494437 [dir_watcher.py:finish():327] scan save: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/wandb-summary.json wandb-summary.json
8021
+ 2022-07-30 23:15:16,772 INFO SenderThread:1494437 [dir_watcher.py:finish():327] scan save: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/wandb-metadata.json wandb-metadata.json
8022
+ 2022-07-30 23:15:16,776 INFO SenderThread:1494437 [dir_watcher.py:finish():327] scan save: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/media/table/eval/step_1k_1000_ce5fff7a5f93dcf0e7ad.table.json media/table/eval/step_1k_1000_ce5fff7a5f93dcf0e7ad.table.json
8023
+ 2022-07-30 23:15:16,776 INFO SenderThread:1494437 [dir_watcher.py:finish():327] scan save: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/media/table/eval/step_2k_2000_a82fd645d93af68dc377.table.json media/table/eval/step_2k_2000_a82fd645d93af68dc377.table.json
8024
+ 2022-07-30 23:15:16,776 INFO SenderThread:1494437 [dir_watcher.py:finish():327] scan save: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/media/table/eval/step_3k_3000_7f6d2aff7a45425d179c.table.json media/table/eval/step_3k_3000_7f6d2aff7a45425d179c.table.json
8025
+ 2022-07-30 23:15:16,779 INFO SenderThread:1494437 [dir_watcher.py:finish():327] scan save: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/code/run_flax_speech_recognition_ctc.py code/run_flax_speech_recognition_ctc.py
8026
+ 2022-07-30 23:15:16,779 INFO SenderThread:1494437 [sender.py:transition_state():387] send defer: 6
8027
+ 2022-07-30 23:15:16,784 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: defer
8028
+ 2022-07-30 23:15:16,784 INFO HandlerThread:1494437 [handler.py:handle_request_defer():147] handle defer: 6
8029
+ 2022-07-30 23:15:16,785 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: defer
8030
+ 2022-07-30 23:15:16,785 INFO SenderThread:1494437 [sender.py:send_request_defer():383] handle sender defer: 6
8031
+ 2022-07-30 23:15:16,785 INFO SenderThread:1494437 [file_pusher.py:finish():177] shutting down file pusher
8032
+ 2022-07-30 23:15:16,796 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: poll_exit
8033
+ 2022-07-30 23:15:16,796 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: poll_exit
8034
+ 2022-07-30 23:15:16,898 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: poll_exit
8035
+ 2022-07-30 23:15:16,898 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: poll_exit
8036
+ 2022-07-30 23:15:17,000 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: poll_exit
8037
+ 2022-07-30 23:15:17,001 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: poll_exit
8038
+ 2022-07-30 23:15:17,103 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: poll_exit
8039
+ 2022-07-30 23:15:17,103 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: poll_exit
8040
+ 2022-07-30 23:15:17,205 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: poll_exit
8041
+ 2022-07-30 23:15:17,205 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: poll_exit
8042
+ 2022-07-30 23:15:17,307 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: poll_exit
8043
+ 2022-07-30 23:15:17,307 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: poll_exit
8044
+ 2022-07-30 23:15:17,314 INFO Thread-23 :1494437 [upload_job.py:push():137] Uploaded file /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/config.yaml
8045
+ 2022-07-30 23:15:17,324 INFO Thread-24 :1494437 [upload_job.py:push():137] Uploaded file /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/requirements.txt
8046
+ 2022-07-30 23:15:17,352 INFO Thread-26 :1494437 [upload_job.py:push():137] Uploaded file /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/wandb-summary.json
8047
+ 2022-07-30 23:15:17,409 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: poll_exit
8048
+ 2022-07-30 23:15:17,409 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: poll_exit
8049
+ 2022-07-30 23:15:17,510 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: poll_exit
8050
+ 2022-07-30 23:15:17,511 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: poll_exit
8051
+ 2022-07-30 23:15:17,537 INFO Thread-25 :1494437 [upload_job.py:push():137] Uploaded file /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/files/output.log
8052
+ 2022-07-30 23:15:17,612 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: poll_exit
8053
+ 2022-07-30 23:15:17,612 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: poll_exit
8054
+ 2022-07-30 23:15:17,714 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: poll_exit
8055
+ 2022-07-30 23:15:17,714 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: poll_exit
8056
+ 2022-07-30 23:15:17,737 INFO Thread-7 :1494437 [sender.py:transition_state():387] send defer: 7
8057
+ 2022-07-30 23:15:17,738 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: defer
8058
+ 2022-07-30 23:15:17,738 INFO HandlerThread:1494437 [handler.py:handle_request_defer():147] handle defer: 7
8059
+ 2022-07-30 23:15:17,738 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: defer
8060
+ 2022-07-30 23:15:17,738 INFO SenderThread:1494437 [sender.py:send_request_defer():383] handle sender defer: 7
8061
+ 2022-07-30 23:15:17,816 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: poll_exit
8062
+ 2022-07-30 23:15:19,126 INFO SenderThread:1494437 [sender.py:transition_state():387] send defer: 8
8063
+ 2022-07-30 23:15:19,127 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: poll_exit
8064
+ 2022-07-30 23:15:19,127 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: defer
8065
+ 2022-07-30 23:15:19,127 INFO HandlerThread:1494437 [handler.py:handle_request_defer():147] handle defer: 8
8066
+ 2022-07-30 23:15:19,128 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: defer
8067
+ 2022-07-30 23:15:19,128 INFO SenderThread:1494437 [sender.py:send_request_defer():383] handle sender defer: 8
8068
+ 2022-07-30 23:15:19,128 INFO SenderThread:1494437 [sender.py:transition_state():387] send defer: 9
8069
+ 2022-07-30 23:15:19,128 DEBUG SenderThread:1494437 [sender.py:send():234] send: final
8070
+ 2022-07-30 23:15:19,128 DEBUG SenderThread:1494437 [sender.py:send():234] send: footer
8071
+ 2022-07-30 23:15:19,128 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: defer
8072
+ 2022-07-30 23:15:19,129 INFO HandlerThread:1494437 [handler.py:handle_request_defer():147] handle defer: 9
8073
+ 2022-07-30 23:15:19,129 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: defer
8074
+ 2022-07-30 23:15:19,129 INFO SenderThread:1494437 [sender.py:send_request_defer():383] handle sender defer: 9
8075
+ 2022-07-30 23:15:19,229 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: poll_exit
8076
+ 2022-07-30 23:15:19,229 DEBUG SenderThread:1494437 [sender.py:send_request():248] send_request: poll_exit
8077
+ 2022-07-30 23:15:19,230 INFO SenderThread:1494437 [file_pusher.py:join():182] waiting for file pusher
8078
+ 2022-07-30 23:15:19,397 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: get_summary
8079
+ 2022-07-30 23:15:19,402 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: sampled_history
8080
+ 2022-07-30 23:15:19,404 DEBUG HandlerThread:1494437 [handler.py:handle_request():130] handle_request: shutdown
8081
+ 2022-07-30 23:15:19,404 INFO HandlerThread:1494437 [handler.py:finish():731] shutting down handler
8082
+ 2022-07-30 23:15:20,129 INFO WriterThread:1494437 [datastore.py:close():281] close: /data/wav2vec2-1b-npsc-nst/wandb/run-20220730_174606-j2u4n7h4/run-j2u4n7h4.wandb
8083
+ 2022-07-30 23:15:20,396 INFO SenderThread:1494437 [sender.py:finish():1070] shutting down sender
8084
+ 2022-07-30 23:15:20,396 INFO SenderThread:1494437 [file_pusher.py:finish():177] shutting down file pusher
8085
+ 2022-07-30 23:15:20,396 INFO SenderThread:1494437 [file_pusher.py:join():182] waiting for file pusher
8086
+ 2022-07-30 23:15:20,397 INFO MainThread:1494437 [internal.py:handle_exit():77] Internal process exited
wandb/run-20220730_174606-j2u4n7h4/logs/debug.log CHANGED
@@ -21,3 +21,167 @@ config: {}
21
  2022-07-30 17:46:10,085 INFO MainThread:1493173 [wandb_run.py:_redirect():1689] Redirecting console.
22
  2022-07-30 17:46:10,087 INFO MainThread:1493173 [wandb_run.py:_redirect():1745] Redirects installed.
23
  2022-07-30 17:46:10,087 INFO MainThread:1493173 [wandb_init.py:init():633] run started, returning control to user process
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
  2022-07-30 17:46:10,085 INFO MainThread:1493173 [wandb_run.py:_redirect():1689] Redirecting console.
22
  2022-07-30 17:46:10,087 INFO MainThread:1493173 [wandb_run.py:_redirect():1745] Redirects installed.
23
  2022-07-30 17:46:10,087 INFO MainThread:1493173 [wandb_init.py:init():633] run started, returning control to user process
24
+ 2022-07-30 23:15:13,316 INFO MainThread:1493173 [wandb_run.py:_atexit_cleanup():1780] got exitcode: 1
25
+ 2022-07-30 23:15:13,627 INFO MainThread:1493173 [wandb_run.py:_restore():1752] restore
26
+ 2022-07-30 23:15:16,331 INFO MainThread:1493173 [wandb_run.py:_wait_for_finish():1912] got exit ret: file_counts {
27
+ wandb_count: 2
28
+ media_count: 3
29
+ artifact_count: 3
30
+ other_count: 1
31
+ }
32
+ pusher_stats {
33
+ uploaded_bytes: 240845
34
+ total_bytes: 240845
35
+ }
36
+
37
+ 2022-07-30 23:15:16,695 INFO MainThread:1493173 [wandb_run.py:_wait_for_finish():1912] got exit ret: file_counts {
38
+ wandb_count: 2
39
+ media_count: 3
40
+ artifact_count: 3
41
+ other_count: 1
42
+ }
43
+ pusher_stats {
44
+ uploaded_bytes: 240845
45
+ total_bytes: 240845
46
+ }
47
+
48
+ 2022-07-30 23:15:16,797 INFO MainThread:1493173 [wandb_run.py:_wait_for_finish():1912] got exit ret: file_counts {
49
+ wandb_count: 6
50
+ media_count: 3
51
+ artifact_count: 3
52
+ other_count: 1
53
+ }
54
+ pusher_stats {
55
+ uploaded_bytes: 240845
56
+ total_bytes: 613221
57
+ }
58
+
59
+ 2022-07-30 23:15:16,899 INFO MainThread:1493173 [wandb_run.py:_wait_for_finish():1912] got exit ret: file_counts {
60
+ wandb_count: 6
61
+ media_count: 3
62
+ artifact_count: 3
63
+ other_count: 1
64
+ }
65
+ pusher_stats {
66
+ uploaded_bytes: 240845
67
+ total_bytes: 613221
68
+ }
69
+
70
+ 2022-07-30 23:15:17,002 INFO MainThread:1493173 [wandb_run.py:_wait_for_finish():1912] got exit ret: file_counts {
71
+ wandb_count: 6
72
+ media_count: 3
73
+ artifact_count: 3
74
+ other_count: 1
75
+ }
76
+ pusher_stats {
77
+ uploaded_bytes: 240845
78
+ total_bytes: 613221
79
+ }
80
+
81
+ 2022-07-30 23:15:17,104 INFO MainThread:1493173 [wandb_run.py:_wait_for_finish():1912] got exit ret: file_counts {
82
+ wandb_count: 6
83
+ media_count: 3
84
+ artifact_count: 3
85
+ other_count: 1
86
+ }
87
+ pusher_stats {
88
+ uploaded_bytes: 613221
89
+ total_bytes: 613221
90
+ }
91
+
92
+ 2022-07-30 23:15:17,206 INFO MainThread:1493173 [wandb_run.py:_wait_for_finish():1912] got exit ret: file_counts {
93
+ wandb_count: 6
94
+ media_count: 3
95
+ artifact_count: 3
96
+ other_count: 1
97
+ }
98
+ pusher_stats {
99
+ uploaded_bytes: 613221
100
+ total_bytes: 613221
101
+ }
102
+
103
+ 2022-07-30 23:15:17,308 INFO MainThread:1493173 [wandb_run.py:_wait_for_finish():1912] got exit ret: file_counts {
104
+ wandb_count: 6
105
+ media_count: 3
106
+ artifact_count: 3
107
+ other_count: 1
108
+ }
109
+ pusher_stats {
110
+ uploaded_bytes: 613221
111
+ total_bytes: 613221
112
+ }
113
+
114
+ 2022-07-30 23:15:17,410 INFO MainThread:1493173 [wandb_run.py:_wait_for_finish():1912] got exit ret: file_counts {
115
+ wandb_count: 6
116
+ media_count: 3
117
+ artifact_count: 3
118
+ other_count: 1
119
+ }
120
+ pusher_stats {
121
+ uploaded_bytes: 613221
122
+ total_bytes: 613221
123
+ }
124
+
125
+ 2022-07-30 23:15:17,511 INFO MainThread:1493173 [wandb_run.py:_wait_for_finish():1912] got exit ret: file_counts {
126
+ wandb_count: 6
127
+ media_count: 3
128
+ artifact_count: 3
129
+ other_count: 1
130
+ }
131
+ pusher_stats {
132
+ uploaded_bytes: 613221
133
+ total_bytes: 613221
134
+ }
135
+
136
+ 2022-07-30 23:15:17,613 INFO MainThread:1493173 [wandb_run.py:_wait_for_finish():1912] got exit ret: file_counts {
137
+ wandb_count: 6
138
+ media_count: 3
139
+ artifact_count: 3
140
+ other_count: 1
141
+ }
142
+ pusher_stats {
143
+ uploaded_bytes: 613221
144
+ total_bytes: 613221
145
+ }
146
+
147
+ 2022-07-30 23:15:17,715 INFO MainThread:1493173 [wandb_run.py:_wait_for_finish():1912] got exit ret: file_counts {
148
+ wandb_count: 6
149
+ media_count: 3
150
+ artifact_count: 3
151
+ other_count: 1
152
+ }
153
+ pusher_stats {
154
+ uploaded_bytes: 613221
155
+ total_bytes: 613221
156
+ }
157
+
158
+ 2022-07-30 23:15:19,128 INFO MainThread:1493173 [wandb_run.py:_wait_for_finish():1912] got exit ret: file_counts {
159
+ wandb_count: 6
160
+ media_count: 3
161
+ artifact_count: 3
162
+ other_count: 1
163
+ }
164
+ pusher_stats {
165
+ uploaded_bytes: 613221
166
+ total_bytes: 613221
167
+ }
168
+
169
+ 2022-07-30 23:15:19,396 INFO MainThread:1493173 [wandb_run.py:_wait_for_finish():1912] got exit ret: done: true
170
+ exit_result {
171
+ }
172
+ file_counts {
173
+ wandb_count: 6
174
+ media_count: 3
175
+ artifact_count: 3
176
+ other_count: 1
177
+ }
178
+ pusher_stats {
179
+ uploaded_bytes: 613221
180
+ total_bytes: 613221
181
+ }
182
+ local_info {
183
+ }
184
+
185
+ 2022-07-30 23:15:20,998 INFO MainThread:1493173 [wandb_run.py:_append_history():2130] rendering history
186
+ 2022-07-30 23:15:20,999 INFO MainThread:1493173 [wandb_run.py:_append_summary():2085] rendering summary
187
+ 2022-07-30 23:15:20,999 INFO MainThread:1493173 [wandb_run.py:_append_files():2180] logging synced files
wandb/run-20220730_174606-j2u4n7h4/run-j2u4n7h4.wandb CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:dd10cd99cc3ad134d08d4ffdd8d288d6d24cd5569bc7e687764690d671c4b140
3
- size 4378046
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:72a755224cb1e0c3572d3b42c525289cca5718623023f850e3030bbc61b5e4ac
3
+ size 4776456
wandb/run-20220731_115136-a9kwr28f/files/code/run_flax_speech_recognition_ctc.py ADDED
@@ -0,0 +1,1604 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python
2
+ # coding=utf-8
3
+ # Copyright 2022 The HuggingFace Team All rights reserved.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ """
17
+ Fine-tuning the Flax library models for connectionist temporal classification (CTC) speech recognition.
18
+ """
19
+ # You can also adapt this script on your own sequence to sequence task. Pointers for this are left as comments.
20
+
21
+ import logging
22
+ import math
23
+ import os
24
+ import re
25
+ import sys
26
+ import time
27
+ from dataclasses import dataclass, field
28
+ from pathlib import Path
29
+ from typing import Any, Callable, Dict, List, Optional, Union
30
+
31
+ import datasets
32
+ import numpy as np
33
+ from datasets import DatasetDict, load_dataset, load_metric
34
+ from tqdm import tqdm
35
+
36
+ import flax
37
+ import jax
38
+ import jax.numpy as jnp
39
+ import optax
40
+ import transformers
41
+ import wandb as wandb
42
+ from flax import core, jax_utils, struct, traverse_util
43
+ from flax.jax_utils import unreplicate, pad_shard_unpad
44
+ from flax.training.common_utils import get_metrics, shard, shard_prng_key
45
+ from huggingface_hub import Repository
46
+ from models import Wav2Vec2Config, FlaxWav2Vec2ForCTC
47
+ from optax._src import linear_algebra
48
+ from transformers import (
49
+ AutoFeatureExtractor,
50
+ AutoProcessor,
51
+ AutoTokenizer,
52
+ HfArgumentParser,
53
+ TrainingArguments,
54
+ is_tensorboard_available,
55
+ set_seed,
56
+ )
57
+ from transformers.file_utils import get_full_repo_name
58
+ from transformers.utils import check_min_version
59
+ from transformers.utils.versions import require_version
60
+
61
+
62
+ # Will error if the minimal version of Transformers is not installed. Remove at your own risks.
63
+ check_min_version("4.17.0.dev0")
64
+
65
+ require_version("datasets>=1.18.0", "To fix: pip install -r examples/pytorch/speech-recognition/requirements.txt")
66
+
67
+ logger = logging.getLogger(__name__)
68
+
69
+
70
+ @flax.struct.dataclass
71
+ class ModelArguments:
72
+ """
73
+ Arguments pertaining to which model/config/tokenizer we are going to fine-tune from.
74
+ """
75
+
76
+ model_name_or_path: str = field(
77
+ metadata={"help": "Path to pretrained model or model identifier from huggingface.co/models"}
78
+ )
79
+ config_name: Optional[str] = field(
80
+ default=None, metadata={"help": "Pretrained config name or path if not the same as model_name"}
81
+ )
82
+ tokenizer_name: Optional[str] = field(
83
+ default=None, metadata={"help": "Pretrained tokenizer name or path if not the same as model_name"}
84
+ )
85
+ feature_extractor_name: Optional[str] = field(
86
+ default=None, metadata={"help": "feature extractor name or path if not the same as model_name"}
87
+ )
88
+ cache_dir: Optional[str] = field(
89
+ default=None,
90
+ metadata={"help": "Where to store the pretrained models downloaded from huggingface.co"},
91
+ )
92
+ use_fast_tokenizer: bool = field(
93
+ default=True,
94
+ metadata={"help": "Whether to use one of the fast tokenizer (backed by the tokenizers library) or not."},
95
+ )
96
+ model_revision: str = field(
97
+ default="main",
98
+ metadata={"help": "The specific model version to use (can be a branch name, tag name or commit id)."},
99
+ )
100
+ use_auth_token: bool = field(
101
+ default=False,
102
+ metadata={
103
+ "help": "Will use the token generated when running `transformers-cli login` (necessary to use this script "
104
+ "with private models)."
105
+ },
106
+ )
107
+ freeze_feature_encoder: bool = field(
108
+ default=True, metadata={"help": "Whether to freeze the feature encoder layers of the model."}
109
+ )
110
+ attention_dropout: float = field(
111
+ default=0.0, metadata={"help": "The dropout ratio for the attention probabilities."}
112
+ )
113
+ activation_dropout: float = field(
114
+ default=0.1,
115
+ metadata={
116
+ "help": "The hidden activation dropout probability in the embeddings, encoder, and pooler."
117
+ },
118
+ )
119
+ hidden_dropout: float = field(
120
+ default=0.1,
121
+ metadata={
122
+ "help": "The dropout probability for all fully connected layers in the embeddings, encoder, and pooler."
123
+ },
124
+ )
125
+ feat_proj_dropout: float = field(
126
+ default=0.0,
127
+ metadata={
128
+ "help": "The feat proj dropout probability for feature encoder representations."
129
+ },
130
+ )
131
+ final_dropout: float = field(
132
+ default=0.0,
133
+ metadata={"help": "The dropout probability for the final projection layer."},
134
+ )
135
+ mask_time_prob: float = field(
136
+ default=0.1,
137
+ metadata={
138
+ "help": "The spec aug dropout probability for feature encoder representations."
139
+ },
140
+ )
141
+ mask_time_length: int = field(
142
+ default=10,
143
+ metadata={"help": "Length of vector span to mask along the time axis."},
144
+ )
145
+ mask_feature_prob: float = field(
146
+ default=0.0,
147
+ metadata={
148
+ "help": "Probability of each feature vector along the feature axis to be chosen as the start of the vector"
149
+ "span to be masked. Approximately ``mask_feature_prob * sequence_length // mask_feature_length`` feature bins will be masked along the time axis."
150
+ },
151
+ )
152
+ mask_feature_length: int = field(
153
+ default=10,
154
+ metadata={"help": "Length of vector span to mask along the feature axis."},
155
+ )
156
+ layerdrop: float = field(default=0.0, metadata={"help": "The LayerDrop probability."})
157
+ ctc_loss_reduction: Optional[str] = field(
158
+ default="mean", metadata={"help": "The way the ctc loss should be reduced. Should be one of 'mean' or 'sum'."}
159
+ )
160
+ ctc_zero_infinity: Optional[bool] = field(
161
+ default=False, metadata={"help": "If True, will try yo aboud the CTC loss goinf to infinity."}
162
+ )
163
+
164
+
165
+ @flax.struct.dataclass
166
+ class DataTrainingArguments:
167
+ """
168
+ Arguments pertaining to what data we are going to input our model for training and eval.
169
+ """
170
+
171
+ dataset_name: str = field(
172
+ default=None, metadata={"help": "The name of the dataset to use (via the datasets library)."}
173
+ )
174
+ dataset_config_name: Optional[str] = field(
175
+ default=None, metadata={"help": "The configuration name of the dataset to use (via the datasets library)."}
176
+ )
177
+ text_column: Optional[str] = field(
178
+ default=None,
179
+ metadata={"help": "The name of the column in the datasets containing the full texts (for summarization)."},
180
+ )
181
+ dataset_cache_dir: Optional[str] = field(
182
+ default=None, metadata={"help": "Path to cache directory for saving and loading datasets"}
183
+ )
184
+ overwrite_cache: bool = field(
185
+ default=False, metadata={"help": "Overwrite the cached training and evaluation sets"}
186
+ )
187
+ preprocessing_num_workers: Optional[int] = field(
188
+ default=None,
189
+ metadata={"help": "The number of processes to use for the preprocessing."},
190
+ )
191
+ max_train_samples: Optional[int] = field(
192
+ default=None,
193
+ metadata={
194
+ "help": "For debugging purposes or quicker training, truncate the number of training examples to this "
195
+ "value if set."
196
+ },
197
+ )
198
+ max_eval_samples: Optional[int] = field(
199
+ default=None,
200
+ metadata={
201
+ "help": "For debugging purposes or quicker training, truncate the number of evaluation examples to this "
202
+ "value if set."
203
+ },
204
+ )
205
+ max_test_samples: Optional[int] = field(
206
+ default=None,
207
+ metadata={
208
+ "help": "For debugging purposes or quicker training, truncate the number of test examples to this "
209
+ "value if set."
210
+ },
211
+ )
212
+ audio_column_name: str = field(
213
+ default="audio",
214
+ metadata={"help": "The name of the dataset column containing the audio data. Defaults to 'audio'"},
215
+ )
216
+ text_column_name: str = field(
217
+ default="text",
218
+ metadata={"help": "The name of the dataset column containing the text data. Defaults to 'text'"},
219
+ )
220
+ max_duration_in_seconds: float = field(
221
+ default=20.0,
222
+ metadata={
223
+ "help": "Truncate audio files that are longer than `max_duration_in_seconds` seconds to 'max_duration_in_seconds`"
224
+ },
225
+ )
226
+ min_duration_in_seconds: float = field(
227
+ default=0.0, metadata={"help": "Filter audio files that are shorter than `min_duration_in_seconds` seconds"}
228
+ )
229
+ max_label_length: Optional[int] = field(
230
+ default=512,
231
+ metadata={
232
+ "help": "The minimum total sequence length for target text after tokenization. Sequences shorter "
233
+ "than this will be filtered."
234
+ },
235
+ )
236
+ min_label_length: Optional[int] = field(
237
+ default=2,
238
+ metadata={
239
+ "help": "The minimum total sequence length for target text after tokenization. Sequences shorter "
240
+ "than this will be filtered."
241
+ },
242
+ )
243
+ pad_input_to_multiple_of: Optional[int] = field(
244
+ default=32000,
245
+ metadata={
246
+ "help": "If set will pad the input sequence to a multiple of the provided value. "
247
+ "This is important to avoid triggering recompilations on TPU."
248
+ },
249
+ )
250
+ pad_target_to_multiple_of: Optional[int] = field(
251
+ default=None,
252
+ metadata={
253
+ "help": "If set will pad the target sequence to a multiple of the provided value. "
254
+ "This is important to avoid triggering recompilations on TPU."
255
+ },
256
+ )
257
+ preprocessing_only: bool = field(
258
+ default=False,
259
+ metadata={
260
+ "help": "Whether to only do data preprocessing and skip training. "
261
+ "This is especially useful when data preprocessing errors out in distributed training due to timeout. "
262
+ "In this case, one should run the preprocessing in a non-distributed setup with `preprocessing_only=True` "
263
+ "so that the cached datasets can consequently be loaded in distributed training"
264
+ },
265
+ )
266
+ train_split_name: str = field(
267
+ default="train",
268
+ metadata={
269
+ "help": "The name of the training data set split to use (via the datasets library). Defaults to 'train'"
270
+ },
271
+ )
272
+ eval_split_name: str = field(
273
+ default="validation",
274
+ metadata={
275
+ "help": "The name of the training data set split to use (via the datasets library). Defaults to 'train'"
276
+ },
277
+ )
278
+ do_lower_case: bool = field(
279
+ default=True,
280
+ metadata={"help": "Whether the target text should be lower cased."},
281
+ )
282
+ wandb_project: str = field(
283
+ default="flax-speech-recognition-ctc",
284
+ metadata={"help": "The name of the wandb project."},
285
+ )
286
+ wandb_name: str = field(
287
+ default=None,
288
+ metadata={"help": "The name of the wandb run."},
289
+ )
290
+ wandb_job_type: str = field(
291
+ default="CTC",
292
+ metadata={"help": "The name of the wandb job type."},
293
+ )
294
+ test_split_name: str = field(
295
+ default="test",
296
+ metadata={"help": "The name of the test data set split to use (via the datasets library). Defaults to 'test'"},
297
+ )
298
+ remove_punctuation: bool = field(
299
+ default=False, metadata={"help": "Whether or not to remove punctuation during training."}
300
+ )
301
+
302
+
303
+ # @flax.struct.dataclass
304
+ @dataclass
305
+ class FlaxTrainingArguments(TrainingArguments):
306
+ precision: str = field(
307
+ default="full",
308
+ metadata={
309
+ "help": "Whether to enable mixed-precision training. If true, the optimizer is stored in half-precision (bfloat16) and computations are executed in half-precision"
310
+ "**Note that this only specifies the dtype of the computation and optimizer state. It does not influence the dtype of model parameters.**"
311
+ },
312
+ )
313
+ matmul_precision: str = field(
314
+ default="default",
315
+ metadata={
316
+ "help": "Default floating-point precision of internal computations used in TPU matrix multiplications and convolutions. "
317
+ "This configuration option controls the default precision for JAX operations that take an optional precision argument (e.g. `lax.conv_general_dilated` and `lax.dot`). "
318
+ "This configuration option does not change the behaviours of such calls with explicit precision arguments; "
319
+ "it only changes the behaviors of calls with no such argument provided. "
320
+ "One of `['highest', 'float32', 'high', 'bfloat16_3x', 'default', 'bfloat16', 'fastest', None]`."
321
+ },
322
+ )
323
+ multisteps: bool = field(
324
+ default=False,
325
+ metadata={
326
+ "help": "Whether to use Optax MultiSteps for gradient accumulation. If `False` (default) and `gradient_accumulation_steps > 1`, "
327
+ "a custom gradient accumulation implementation will be employed."
328
+ },
329
+ )
330
+
331
+
332
+ def to_fp32(t):
333
+ return jax.tree_map(lambda x: x.astype(jnp.float32) if x.dtype == jnp.bfloat16 else x, t)
334
+
335
+
336
+ def to_bf16(t):
337
+ return jax.tree_map(lambda x: x.astype(jnp.bfloat16) if x.dtype == jnp.float32 else x, t)
338
+
339
+
340
+ class MixedPrecisionTrainState(struct.PyTreeNode):
341
+ """Train state for use with a single Optax optimizer.
342
+ Adapted from flax train_state https://github.com/google/flax/blob/main/flax/training/train_state.py
343
+
344
+ Synopsis::
345
+
346
+ state = TrainState.create(
347
+ apply_fn=model.apply,
348
+ params=variables['params'],
349
+ tx=tx)
350
+ grad_fn = jax.grad(make_loss_fn(state.apply_fn))
351
+ for batch in data:
352
+ grads = grad_fn(state.params, batch)
353
+ state = state.apply_gradients(grads=grads)
354
+
355
+ Args:
356
+ step: Counter starts at 0 and is incremented by every call to
357
+ `.apply_gradients()`.
358
+ apply_fn: Usually set to `model.apply()`. Kept in this dataclass for
359
+ convenience to have a shorter params list for the `train_step()` function
360
+ in your training loop.
361
+ params: The parameters to be updated by `tx` and used by `apply_fn`.
362
+ tx: An Optax gradient transformation.
363
+ opt_state: The state for `tx`.
364
+ dropout_rng: PRNG key for stochastic operations.
365
+ bf16: Whether to use bf16 16-bit (mixed) precision training instead of 32-bit training.
366
+ """
367
+
368
+ step: int
369
+ apply_fn: Callable = struct.field(pytree_node=False)
370
+ get_attention_mask_fn: Callable = struct.field(pytree_node=False)
371
+ params: core.FrozenDict[str, Any]
372
+ tx: optax.GradientTransformation = struct.field(pytree_node=False)
373
+ opt_state: optax.OptState
374
+ dropout_rng: jnp.ndarray
375
+ max_grad_norm: Optional[float] = 1.0
376
+
377
+ def apply_gradients(self, *, grads, to_dtype, **kwargs):
378
+ """Updates `step`, `params`, `opt_state` and `**kwargs` in return value.
379
+
380
+ Note that internally this function calls `.tx.update()` followed by a call
381
+ to `optax.apply_updates()` to update `params` and `opt_state`.
382
+
383
+ Args:
384
+ grads: Gradients that have the same pytree structure as `.params`.
385
+ **kwargs: Additional dataclass attributes that should be `.replace()`-ed.
386
+
387
+ Returns:
388
+ An updated instance of `self` with `step` incremented by one, `params`
389
+ and `opt_state` updated by applying `grads`, and additional attributes
390
+ replaced as specified by `kwargs`.
391
+ """
392
+
393
+ # clip gradients by global l2 norm
394
+ casted_max_grad_norm = to_dtype(self.max_grad_norm)
395
+ g_norm = linear_algebra.global_norm(grads)
396
+ g_norm = jnp.maximum(casted_max_grad_norm, g_norm)
397
+ grads = jax.tree_map(lambda t: (t / g_norm) * casted_max_grad_norm, grads)
398
+
399
+ # perform update step in fp32 and subsequently downcast optimizer states if mixed precision training
400
+ # grads and opt_state in bf16 (need to upcast), params in fp32 (leave as is)
401
+ updates, new_opt_state = self.tx.update(to_fp32(grads), to_fp32(self.opt_state), self.params)
402
+
403
+ new_params = optax.apply_updates(self.params, updates)
404
+ return self.replace(
405
+ step=self.step + 1,
406
+ params=new_params,
407
+ opt_state=to_dtype(new_opt_state),
408
+ **kwargs,
409
+ )
410
+
411
+ @classmethod
412
+ def create(cls, *, apply_fn, params, tx, to_dtype, **kwargs):
413
+ """Creates a new instance with `step=0` and initialized `opt_state`."""
414
+ # downcast optimizer state to bf16 if mixed-precision training
415
+ opt_state = tx.init(to_dtype(params)) if tx is not None else None
416
+ return cls(
417
+ step=0,
418
+ apply_fn=apply_fn,
419
+ params=params,
420
+ tx=tx,
421
+ opt_state=opt_state,
422
+ **kwargs,
423
+ )
424
+
425
+ def replicate(self):
426
+ return jax_utils.replicate(self).replace(dropout_rng=shard_prng_key(self.dropout_rng))
427
+
428
+
429
+ @flax.struct.dataclass
430
+ class FlaxDataCollatorSpeechSeq2SeqWithPadding:
431
+ """
432
+ Data collator that will dynamically pad the inputs received.
433
+ Args:
434
+ processor ([`Wav2Vec2Processor`])
435
+ The processor used for proccessing the data.
436
+ decoder_start_token_id (:obj: `int`)
437
+ The begin-of-sentence of the decoder.
438
+ input_padding (:obj:`bool`, :obj:`str` or :class:`~transformers.tokenization_utils_base.PaddingStrategy`, `optional`, defaults to :obj:`True`):
439
+ Select a strategy to pad the returned input sequences (according to the model's padding side and padding index)
440
+ among:
441
+ * :obj:`True` or :obj:`'longest'`: Pad to the longest sequence in the batch (or no padding if only a single
442
+ sequence if provided).
443
+ * :obj:`'max_length'`: Pad to a maximum length specified with the argument :obj:`max_length` or to the
444
+ maximum acceptable input length for the model if that argument is not provided.
445
+ * :obj:`False` or :obj:`'do_not_pad'` (default): No padding (i.e., can output a batch with sequences of
446
+ different lengths).
447
+ target_padding (:obj:`bool`, :obj:`str` or :class:`~transformers.tokenization_utils_base.PaddingStrategy`, `optional`, defaults to :obj:`True`):
448
+ Select a strategy to pad the returned target sequences (according to the model's padding side and padding index).
449
+ See above for details.
450
+ max_input_length (:obj:`float`, `optional`):
451
+ Maximum length of the ``input_values`` of the returned list and optionally padding length (see above).
452
+ pad_input_to_multiple_of (:obj:`int`, `optional`):
453
+ If set will pad the input sequence to a multiple of the provided value.
454
+ This is especially useful to enable the use of Tensor Cores on NVIDIA hardware with compute capability >=
455
+ 7.5 (Volta).
456
+ pad_target_to_multiple_of (:obj:`int`, `optional`):
457
+ If set will pad the target sequence to a multiple of the provided value.
458
+ This is especially useful to enable the use of Tensor Cores on NVIDIA hardware with compute capability >=
459
+ 7.5 (Volta).
460
+ """
461
+
462
+ processor: Any
463
+ input_padding: Union[bool, str] = "longest"
464
+ label_padding: Union[bool, str] = "max_length"
465
+ pad_input_to_multiple_of: Optional[int] = None
466
+ pad_to_multiple_of_label: Optional[int] = None
467
+ max_input_length: Optional[float] = None
468
+ max_label_length: Optional[float] = None
469
+
470
+ def __call__(self, features: List[Dict[str, Union[List[int], np.ndarray]]]) -> Dict[str, np.ndarray]:
471
+ # split inputs and labels since they have to be of different lengths and need
472
+ # different padding methods
473
+ input_features = [{"input_values": feature["input_values"]} for feature in features]
474
+ label_features = [{"input_ids": feature["labels"]} for feature in features]
475
+
476
+ # reformat list to dict and set to pytorch format
477
+ batch = self.processor.feature_extractor.pad(
478
+ input_features,
479
+ max_length=self.max_input_length,
480
+ padding=self.input_padding,
481
+ pad_to_multiple_of=self.pad_input_to_multiple_of,
482
+ return_tensors="np",
483
+ )
484
+
485
+ labels_batch = self.processor.tokenizer.pad(
486
+ label_features,
487
+ max_length=self.max_label_length,
488
+ padding=self.label_padding,
489
+ pad_to_multiple_of=self.pad_to_multiple_of_label,
490
+ return_tensors="np",
491
+ )
492
+
493
+ labels = labels_batch["input_ids"]
494
+ labels = np.ma.array(labels, mask=np.not_equal(labels_batch.attention_mask, 1))
495
+ labels = labels.filled(fill_value=-100)
496
+
497
+ batch["labels"] = labels
498
+
499
+ return batch
500
+
501
+
502
+ def get_grouped_indices(
503
+ dataset, batch_size: int, rng: Optional[List[int]] = None, mega_batch_mult: Optional[int] = None
504
+ ) -> np.array:
505
+ """
506
+ Adapted from the `get_length_grouped_indices` function in the PyTorch Trainer utils file (https://github.com/huggingface/transformers/blob/main/src/transformers/trainer_pt_utils.py#L486)
507
+ Function that returns a list of indices in which each slice of `batch_size` consecutive indices correspond to elements of similar
508
+ lengths. To do this, the indices are:
509
+
510
+ - randomly permuted (if a JAX rng is specified)
511
+ - grouped in mega-batches of size `mega_batch_mult * batch_size`
512
+ - sorted by length in each mega-batch
513
+
514
+ The result is the concatenation of all mega-batches, with the batch of `batch_size` containing the element of
515
+ maximum length placed first, so that an OOM happens sooner rather than later.
516
+ """
517
+ lengths = dataset["input_length"]
518
+
519
+ # Default for mega_batch_mult: 50 or the number to get 4 megabatches, whichever is smaller.
520
+ if mega_batch_mult is None:
521
+ mega_batch_mult = min(len(lengths) // (batch_size * 4), 50)
522
+ # Just in case, for tiny datasets
523
+ if mega_batch_mult == 0:
524
+ mega_batch_mult = 1
525
+
526
+ # We need to use JAX for the random permutation as the PRNG key will be set based on the seed outside of the sampler.
527
+ num_samples = len(lengths)
528
+ indices = jax.random.permutation(rng, np.arange(num_samples)) if rng is not None else np.arange(num_samples)
529
+
530
+ megabatch_size = mega_batch_mult * batch_size
531
+ megabatches = [indices[i : i + megabatch_size].tolist() for i in range(0, len(lengths), megabatch_size)]
532
+ megabatches = [list(sorted(megabatch, key=lambda i: lengths[i], reverse=True)) for megabatch in megabatches]
533
+
534
+ # The rest is to get the biggest batch first.
535
+ # Since each megabatch is sorted by descending length, the longest element is the first
536
+ megabatch_maximums = [lengths[megabatch[0]] for megabatch in megabatches]
537
+ max_idx = np.argmax(megabatch_maximums).item()
538
+ # Switch to put the longest batch in first position
539
+ # (note that this is different to the PT grouped sampler in which we only put the longest element in the first position, and not its batch)
540
+ megabatches[0], megabatches[max_idx] = megabatches[max_idx], megabatches[0]
541
+
542
+ megabatches = np.array([i for megabatch in megabatches for i in megabatch])
543
+
544
+ return megabatches
545
+
546
+
547
+ def generate_batch_splits(samples_idx: np.ndarray, batch_size: int, drop_last=True) -> np.ndarray:
548
+ """Generate batches of data for a specified batch size from sample indices. If the dataset size is not divisible by
549
+ the batch size and `drop_last` is `True`, the last incomplete batch is dropped. Else, it is returned."""
550
+ num_samples = len(samples_idx)
551
+ if drop_last:
552
+ samples_to_remove = num_samples % batch_size
553
+ if samples_to_remove != 0:
554
+ samples_idx = samples_idx[:-samples_to_remove]
555
+ sections_split = num_samples // batch_size
556
+ samples_idx = samples_idx.reshape((sections_split, batch_size))
557
+ else:
558
+ sections_split = math.ceil(num_samples / batch_size)
559
+ samples_idx = np.array_split(samples_idx, sections_split)
560
+ return samples_idx
561
+
562
+
563
+ def write_train_metric(summary_writer, train_metrics, train_time, step):
564
+ summary_writer.scalar("train_time", train_time, step)
565
+
566
+ train_metrics = get_metrics(train_metrics)
567
+ for key, vals in train_metrics.items():
568
+ tag = f"train_{key}"
569
+ for i, val in enumerate(vals):
570
+ summary_writer.scalar(tag, val, step - len(vals) + i + 1)
571
+
572
+
573
+ def write_eval_metric(summary_writer, eval_metrics, step, pred_str=None):
574
+ for metric_name, value in eval_metrics.items():
575
+ summary_writer.scalar(f"eval_{metric_name}", value, step)
576
+
577
+ if pred_str is not None:
578
+ # write output actual predictions for debugging
579
+ summary_writer.text("eval_predictions", "\n".join(pred_str), step)
580
+
581
+
582
+ def write_wandb_log(metrics, step, prefix=None):
583
+ if jax.process_index() == 0:
584
+ log_metrics = {}
585
+ for k, v in metrics.items():
586
+ if "layer" in k:
587
+ log_metrics[f"{k}/"] = v
588
+ elif prefix is not None:
589
+ log_metrics[f"{prefix}/{k}"] = v
590
+ else:
591
+ log_metrics[k] = v
592
+ wandb.log(log_metrics, step)
593
+
594
+
595
+ def write_wandb_pred(pred_str, label_str, step, num_log=50, prefix="eval"):
596
+ if jax.process_index() == 0:
597
+ # convert str data to a wandb compatible format
598
+ str_data = [[label_str[i], pred_str[i]] for i in range(len(pred_str))]
599
+ # we'll log the first 50 predictions for each epoch
600
+ wandb.log(
601
+ {
602
+ f"{prefix}/step_{int(step / 1000)}k": wandb.Table(
603
+ columns=["label_str", "pred_str"], data=str_data[:num_log]
604
+ )
605
+ },
606
+ step,
607
+ )
608
+
609
+
610
+ def create_learning_rate_fn(
611
+ num_train_steps: int, num_warmup_steps: int, learning_rate: float
612
+ ) -> Callable[[int], jnp.array]:
613
+ """Returns a linear warmup, linear_decay learning rate function."""
614
+ warmup_fn = optax.linear_schedule(init_value=0.0, end_value=learning_rate, transition_steps=num_warmup_steps)
615
+ decay_fn = optax.linear_schedule(
616
+ init_value=learning_rate, end_value=0, transition_steps=num_train_steps - num_warmup_steps
617
+ )
618
+ schedule_fn = optax.join_schedules(schedules=[warmup_fn, decay_fn], boundaries=[num_warmup_steps])
619
+ return schedule_fn
620
+
621
+
622
+ def ctc_loss(
623
+ logits,
624
+ logits_attention_mask,
625
+ labels,
626
+ blank_id,
627
+ loss_reduction="mean",
628
+ output_emission_dict=False,
629
+ log_epsilon=-100000.0,
630
+ ):
631
+ """Computes CTC loss.
632
+ This function performs forward computation over an FSA with `N * 2` states
633
+ where `N` is the max number of labels. The states are split into two groups:
634
+ Phi states and emission states. a phi-state accepts repetition of
635
+ phi (blank)-symbols and transits to emission state when the correct label is
636
+ observed. An emission state accepts repetition of the label and transits to
637
+ the next phi states at any time (so called epsilon-transition).
638
+ Below, `B` denotes the batch size, `T` denotes the time steps in `logits`,
639
+ and `N` denotes the time steps in `labels`.
640
+ Args:
641
+ logits: (B, T, K)-array containing log-probabilities of each class.
642
+ logitpaddings: (B, T)-array. Padding indicators for `logits`.
643
+ labels: (B, N)-array containing reference integer labels.
644
+ labelpaddings: (B, N)-array. Padding indicators for `labels`. Currently,
645
+ `labels` must be right-padded, i.e. each row of `labelpaddings` must be
646
+ repetition of zeroes, followed by repetition of ones.
647
+ blank_id: Id for blank token.
648
+ loss_reduction: one of "mean", "sum", "default"
649
+ - "none": no reduction is applied.
650
+ - "mean": output loss will be divided by target lengths and then the
651
+ mean over the batch is taken.
652
+ - "sum": output loss are summed over batch
653
+ output_emission_dict: whether to output additional information about the emission probs
654
+ Returns:
655
+ A pair of `(per_seq_loss, aux)`.
656
+ per_seq_loss:
657
+ (B,)-array containing loss values for each sequence in the batch.
658
+ aux: Dictionary containing interim variables used for computing losses.
659
+ aux['logalpha_phi']: (T, B, N+1)-array. Log-forward-probabilities of each
660
+ phi-state corresponding to the n-th label.
661
+ aux['logalpha_emit']: (T, B, N)-array. Log-forward-probabilities of each
662
+ emission-state corresponding to the n-th label.
663
+ aux['logprobs_phi']: (T, B, 1)-array. Probability of the phi-symbol
664
+ corresponding to each time frame.
665
+ aux['logprobs_emit']: (T, B, N)-array. Probability of the n-th label
666
+ corresponding to each time frame.
667
+ """
668
+ # label paddings are indicated by -100
669
+ labelpaddings = labels < 0
670
+ # logit paddings are the inverse of attention_mask
671
+ logitpaddings = ~logits_attention_mask
672
+
673
+ # Copied from https://github.com/tensorflow/lingvo/blob/master/lingvo/jax/layers/ctc_objectives.py
674
+ batchsize, unused_maxinputlen, num_classes = logits.shape
675
+ batchsize_, maxlabellen = labels.shape
676
+
677
+ logprobs = jax.nn.log_softmax(logits)
678
+ labellens = maxlabellen - jnp.sum(labelpaddings, axis=1).astype(jnp.int32)
679
+
680
+ # repeat[b, n] == 1.0 when label[b, n] == label[b, n+1].
681
+ repeat = (labels[:, :-1] == labels[:, 1:]).astype(jnp.float32)
682
+ repeat = jnp.pad(repeat, ((0, 0), (0, 1)))
683
+
684
+ logprobs_phi = logprobs[:, :, blank_id : blank_id + 1] # [B, T, 1]
685
+ logprobs_phi = jnp.transpose(logprobs_phi, (1, 0, 2)) # [T, B, 1]
686
+
687
+ one_hot = jax.nn.one_hot(labels, num_classes=num_classes) # [B, N, K]
688
+ logprobs_emit = jnp.einsum("btk,bnk->btn", logprobs, one_hot)
689
+ logprobs_emit = jnp.transpose(logprobs_emit, (1, 0, 2)) # [T, B, N]
690
+
691
+ logalpha_phi_init = jnp.ones((batchsize, maxlabellen + 1)) * log_epsilon # [B, N]
692
+ logalpha_phi_init = logalpha_phi_init.at[:, 0].set(0.0)
693
+ logalpha_emit_init = jnp.ones((batchsize, maxlabellen)) * log_epsilon # [B, N]
694
+
695
+ def loop_body(prev, x):
696
+ prev_phi, prev_emit = prev
697
+ # emit-to-phi epsilon transition, except if the next label is repetition
698
+ prev_phi_orig = prev_phi
699
+ prev_phi = prev_phi.at[:, 1:].set(jnp.logaddexp(prev_phi[:, 1:], prev_emit + log_epsilon * repeat))
700
+
701
+ logprob_emit, logprob_phi, pad = x
702
+
703
+ # phi-to-emit transition
704
+ next_emit = jnp.logaddexp(prev_phi[:, :-1] + logprob_emit, prev_emit + logprob_emit)
705
+ # self-loop transition
706
+ next_phi = prev_phi + logprob_phi
707
+ # emit-to-phi blank transition only when the next label is repetition
708
+ next_phi = next_phi.at[:, 1:].set(
709
+ jnp.logaddexp(next_phi[:, 1:], prev_emit + logprob_phi + log_epsilon * (1.0 - repeat))
710
+ )
711
+
712
+ pad = pad.reshape((batchsize, 1))
713
+ next_emit = pad * prev_emit + (1.0 - pad) * next_emit
714
+ next_phi = pad * prev_phi_orig + (1.0 - pad) * next_phi
715
+
716
+ return (next_phi, next_emit), (next_phi, next_emit)
717
+
718
+ xs = (logprobs_emit, logprobs_phi, logitpaddings.transpose((1, 0)))
719
+ _, (logalpha_phi, logalpha_emit) = jax.lax.scan(loop_body, (logalpha_phi_init, logalpha_emit_init), xs)
720
+
721
+ # last row needs to be updated with the last epsilon transition
722
+ logalpha_phi_last = logalpha_phi[-1].at[:, 1:].set(jnp.logaddexp(logalpha_phi[-1, :, 1:], logalpha_emit[-1]))
723
+ logalpha_phi = logalpha_phi.at[-1].set(logalpha_phi_last)
724
+
725
+ # extract per_seq_loss
726
+ one_hot = jax.nn.one_hot(labellens, num_classes=maxlabellen + 1) # [B, N+1]
727
+ per_seq_loss = -jnp.einsum("bn,bn->b", logalpha_phi_last, one_hot)
728
+
729
+ if loss_reduction == "mean":
730
+ target_lengths = labelpaddings.shape[-1] - labelpaddings.sum(axis=-1)
731
+ loss = (per_seq_loss / target_lengths).mean()
732
+ elif loss_reduction == "sum":
733
+ loss = per_seq_loss.sum()
734
+ else:
735
+ loss = per_seq_loss
736
+
737
+ if not output_emission_dict:
738
+ return loss
739
+
740
+ return loss, {
741
+ "logalpha_phi": logalpha_phi,
742
+ "logalpha_emit": logalpha_emit,
743
+ "logprobs_phi": logprobs_phi,
744
+ "logprobs_emit": logprobs_emit,
745
+ }
746
+
747
+
748
+ def make_dataset(data_args, seed=42):
749
+ # Pre-processing dataset
750
+ import re
751
+
752
+ def map_nst(entry):
753
+ text = entry["text"].lower()
754
+ text = text.replace("(...vær stille under dette opptaket...)", "")
755
+ text = re.sub('[áàâ]', 'a', text)
756
+ text = re.sub('[ä]', 'æ', text)
757
+ text = re.sub('[éèëê]', 'e', text)
758
+ text = re.sub('[íìïî]', 'i', text)
759
+ text = re.sub('[óòöô]', 'o', text)
760
+ text = re.sub('[ö]', 'ø', text)
761
+ text = re.sub('[ç]', 'c', text)
762
+ text = re.sub('[úùüû]', 'u', text)
763
+ # text = re.sub('\\(?=(Punktum|Komma|Utropstegn|Spørsmålstegn))', ' ', text)
764
+ text = re.sub('\s+', ' ', text)
765
+ return {"text": text}
766
+
767
+ def filter_nst(entry):
768
+ if not ((len(entry["text"]) <= len(entry["audio"]["array"]) // 320) and (len(entry["text"].strip()) >= 3)):
769
+ return False # Too short
770
+ if re.match(entry["type"], "pIW|CA"):
771
+ return False # Spelling out words
772
+ return True
773
+
774
+ def filter_npsc(entry):
775
+ # False if there are digits in the text
776
+ if not ((len(entry["text"]) <= len(entry["audio"]["array"]) // 320) and (len(entry["text"].strip()) >= 3)):
777
+ return False # Too short
778
+ if re.search("\d", entry["text"]):
779
+ return False
780
+ return True
781
+
782
+ def map_npsc(entry):
783
+ batch = {"text": entry["text"].lower()}
784
+ batch["text"] = re.sub('[áàâ]', 'a', batch["text"])
785
+ batch["text"] = re.sub('[ä]', 'æ', batch["text"])
786
+ batch["text"] = re.sub('[éèëê]', 'e', batch["text"])
787
+ batch["text"] = re.sub('[íìïî]', 'i', batch["text"])
788
+ batch["text"] = re.sub('[óòöô]', 'o', batch["text"])
789
+ batch["text"] = re.sub('[ö]', 'ø', batch["text"])
790
+ batch["text"] = re.sub('[ç]', 'c', batch["text"])
791
+ batch["text"] = re.sub('[úùüû]', 'u', batch["text"])
792
+ batch["text"] = re.sub('\s', ' ', batch["text"])
793
+ batch["text"] = re.sub('<ee>', 'eee', batch["text"])
794
+ batch["text"] = re.sub('<qq>', 'qqq', batch["text"])
795
+ batch["text"] = re.sub('<mm>', 'mmm', batch["text"])
796
+ batch["text"] = re.sub('<inaudible>', 'xxx', batch["text"])
797
+ # batch["text"] = re.sub('<inaudible>', '?', batch["text"])
798
+ if "<" in batch["text"]:
799
+ raise ValueError(batch["text"])
800
+ return batch
801
+
802
+ nst = datasets.load_dataset("NbAiLab/NST", "no-close")
803
+ npsc = datasets.load_dataset("NbAiLab/NPSC", "16K_mp3")
804
+ # TODO NST_hesitate
805
+
806
+ split = len(npsc[data_args.train_split_name]) / (len(npsc[data_args.train_split_name]) + len(npsc[data_args.eval_split_name])) # Use same train/val ratio as NPSC
807
+ nst_train = nst[data_args.train_split_name].train_test_split(train_size=split, seed=seed)
808
+ nst[data_args.train_split_name] = nst_train["train"]
809
+ nst[data_args.eval_split_name] = nst_train["test"]
810
+
811
+ nst = nst.filter(filter_nst).map(
812
+ map_nst,
813
+ num_proc=data_args.preprocessing_num_workers,
814
+ desc="filtering NST",
815
+ ).shuffle(seed=seed)
816
+ npsc = npsc.filter(filter_npsc).map(
817
+ map_npsc,
818
+ num_proc=data_args.preprocessing_num_workers,
819
+ desc="filtering NPSC",
820
+ ).shuffle(seed=seed)
821
+
822
+ npsc_base = npsc.remove_columns([col for col in npsc[data_args.train_split_name].column_names if col not in ["text", "audio"]])
823
+ nst_base = nst.remove_columns([col for col in nst[data_args.train_split_name].column_names if col not in ["text", "audio"]])
824
+
825
+ combined = {}
826
+ for split in data_args.train_split_name, data_args.eval_split_name, data_args.test_split_name:
827
+ probs = np.array([len(nst_base[split]), len(npsc_base[split])]) # Weight by number of examples
828
+ probs = (probs / probs.sum()).tolist()
829
+ comb = datasets.interleave_datasets([nst_base[split], npsc_base[split]], probabilities=probs, seed=seed)
830
+ combined[split] = comb
831
+
832
+ return datasets.DatasetDict(**combined)
833
+
834
+ def main():
835
+ # 1. Parse input arguments
836
+ # See all possible arguments in src/transformers/training_args.py
837
+ # or by passing the --help flag to this script.
838
+ # We now keep distinct sets of args, for a cleaner separation of concerns.
839
+ parser = HfArgumentParser((ModelArguments, DataTrainingArguments, FlaxTrainingArguments))
840
+
841
+ if len(sys.argv) == 2 and sys.argv[1].endswith(".json"):
842
+ # If we pass only one argument to the script and it's the path to a json file,
843
+ # let's parse it to get our arguments.
844
+ model_args, data_args, training_args = parser.parse_json_file(json_file=os.path.abspath(sys.argv[1]))
845
+ else:
846
+ model_args, data_args, training_args = parser.parse_args_into_dataclasses()
847
+
848
+ # 2. Setup logging
849
+ # Make one log on every process with the configuration for debugging.
850
+ logging.basicConfig(
851
+ format="%(asctime)s - %(levelname)s - %(name)s - %(message)s",
852
+ datefmt="%m/%d/%Y %H:%M:%S",
853
+ handlers=[logging.StreamHandler(sys.stdout)],
854
+ )
855
+ # Set the verbosity to info of the Transformers logger.
856
+ # We only want one process per machine to log things on the screen.
857
+ logger.setLevel(logging.INFO if jax.process_index() == 0 else logging.ERROR)
858
+ if jax.process_index() == 0:
859
+ datasets.utils.logging.set_verbosity_warning()
860
+ transformers.utils.logging.set_verbosity_info()
861
+ else:
862
+ datasets.utils.logging.set_verbosity_error()
863
+ transformers.utils.logging.set_verbosity_error()
864
+
865
+ # Set up wandb run
866
+ if jax.process_index() == 0:
867
+ wandb.init(project=data_args.wandb_project, name=data_args.wandb_name, job_type=data_args.wandb_job_type)
868
+
869
+ logger.info("Training/evaluation parameters %s", training_args)
870
+
871
+ # Set the default TPU matmul precision and display the number of devices
872
+ jax.config.update("jax_default_matmul_precision", training_args.matmul_precision)
873
+ logger.info(f"JAX devices: {jax.device_count()}, matmul precision: {training_args.matmul_precision}")
874
+
875
+ # 4. Load dataset
876
+
877
+ set_seed(training_args.seed)
878
+ raw_datasets = make_dataset(data_args, seed=training_args.seed)
879
+
880
+ # raw_datasets = DatasetDict()
881
+
882
+ # if training_args.do_train:
883
+ # raw_datasets[data_args.train_split_name] = load_dataset(
884
+ # data_args.dataset_name,
885
+ # data_args.dataset_config_name,
886
+ # split=data_args.train_split_name,
887
+ # cache_dir=data_args.dataset_cache_dir,
888
+ # use_auth_token=True if model_args.use_auth_token else None,
889
+ # )
890
+
891
+ # if training_args.do_eval:
892
+ # raw_datasets[data_args.eval_split_name] = load_dataset(
893
+ # data_args.dataset_name,
894
+ # data_args.dataset_config_name,
895
+ # split=data_args.eval_split_name,
896
+ # cache_dir=data_args.dataset_cache_dir,
897
+ # use_auth_token=True if model_args.use_auth_token else None,
898
+ # )
899
+
900
+ # if training_args.do_predict:
901
+ # test_split = data_args.test_split_name.split("+")
902
+ # for split in test_split:
903
+ # raw_datasets[split] = load_dataset(
904
+ # data_args.dataset_name,
905
+ # data_args.dataset_config_name,
906
+ # split=split,
907
+ # cache_dir=data_args.dataset_cache_dir,
908
+ # use_auth_token=True if model_args.use_auth_token else None,
909
+ # )
910
+
911
+ if not training_args.do_train and not training_args.do_eval and not training_args.do_predict:
912
+ raise ValueError(
913
+ "Cannot not train, not do evaluation and not do prediction. At least one of "
914
+ "training, evaluation or prediction has to be done."
915
+ )
916
+
917
+ # if not training, there is no need to run multiple epochs
918
+ if not training_args.do_train:
919
+ training_args.num_train_epochs = 1
920
+
921
+ if data_args.audio_column_name not in next(iter(raw_datasets.values())).column_names:
922
+ raise ValueError(
923
+ f"--audio_column_name '{data_args.audio_column_name}' not found in dataset '{data_args.dataset_name}'. "
924
+ "Make sure to set `--audio_column_name` to the correct audio column - one of "
925
+ f"{', '.join(next(iter(raw_datasets.values())).column_names)}."
926
+ )
927
+
928
+ if data_args.text_column_name not in next(iter(raw_datasets.values())).column_names:
929
+ raise ValueError(
930
+ f"--text_column_name {data_args.text_column_name} not found in dataset '{data_args.dataset_name}'. "
931
+ "Make sure to set `--text_column_name` to the correct text column - one of "
932
+ f"{', '.join(next(iter(raw_datasets.values())).column_names)}."
933
+ )
934
+
935
+ # 5. Load pretrained model, tokenizer, and feature extractor
936
+ #
937
+ # Distributed training:
938
+ # The .from_pretrained methods guarantee that only one local process can concurrently
939
+ config = Wav2Vec2Config.from_pretrained(
940
+ model_args.config_name if model_args.config_name else model_args.model_name_or_path,
941
+ cache_dir=model_args.cache_dir,
942
+ revision=model_args.model_revision,
943
+ use_auth_token=True if model_args.use_auth_token else None,
944
+ )
945
+ feature_extractor = AutoFeatureExtractor.from_pretrained(
946
+ model_args.feature_extractor_name if model_args.feature_extractor_name else model_args.model_name_or_path,
947
+ cache_dir=model_args.cache_dir,
948
+ revision=model_args.model_revision,
949
+ use_auth_token=True if model_args.use_auth_token else None,
950
+ )
951
+ tokenizer = AutoTokenizer.from_pretrained(
952
+ model_args.tokenizer_name if model_args.tokenizer_name else model_args.model_name_or_path,
953
+ cache_dir=model_args.cache_dir,
954
+ revision=model_args.model_revision,
955
+ use_auth_token=True if model_args.use_auth_token else None,
956
+ )
957
+ # update config according to training args, model args, and tokenizer attributes
958
+ config.update(
959
+ {
960
+ "feat_proj_dropout": model_args.feat_proj_dropout,
961
+ "attention_dropout": model_args.attention_dropout,
962
+ "hidden_dropout": model_args.hidden_dropout,
963
+ "final_dropout": model_args.final_dropout,
964
+ "mask_time_prob": model_args.mask_time_prob,
965
+ "mask_time_length": model_args.mask_time_length,
966
+ "mask_feature_prob": model_args.mask_feature_prob,
967
+ "mask_feature_length": model_args.mask_feature_length,
968
+ "gradient_checkpointing": training_args.gradient_checkpointing,
969
+ "layerdrop": model_args.layerdrop,
970
+ "ctc_loss_reduction": model_args.ctc_loss_reduction,
971
+ "ctc_zero_infinity": model_args.ctc_zero_infinity,
972
+ "pad_token_id": tokenizer.pad_token_id,
973
+ "vocab_size": tokenizer.vocab_size, # len(tokenizer),
974
+ "activation_dropout": model_args.activation_dropout,
975
+ }
976
+ )
977
+
978
+ if tokenizer.do_lower_case and data_args.dataset_name != "librispeech_asr":
979
+ raise ValueError(
980
+ "Setting the tokenizer attribute `do_lower_case` to `True` converts all input strings to "
981
+ "uppercase prior to tokenization. This should only be done when the tokenizer is built on an uppercased corpus,"
982
+ "i.e. for the dataset `librispeech_asr` only. If your dataset is not `librispeech_asr`, the tokenizer is mostly likely "
983
+ "built on an lowercased corpus. In this case, set `tokenizer.do_lower_case` to ``False`."
984
+ )
985
+
986
+ if training_args.precision == "full_mixed":
987
+ dtype = jnp.bfloat16
988
+ training_args.mixed_precision = True
989
+ elif training_args.precision == "half_mixed":
990
+ dtype = jnp.bfloat16
991
+ training_args.mixed_precision = False
992
+ else:
993
+ dtype = jnp.float32
994
+ training_args.mixed_precision = False
995
+
996
+ model = FlaxWav2Vec2ForCTC.from_pretrained(
997
+ model_args.model_name_or_path,
998
+ config=config,
999
+ dtype=dtype,
1000
+ cache_dir=model_args.cache_dir,
1001
+ revision=model_args.model_revision,
1002
+ use_auth_token=True if model_args.use_auth_token else None,
1003
+ from_pt=True,
1004
+ )
1005
+
1006
+ # 6. Resample speech dataset ALWAYS
1007
+ raw_datasets = raw_datasets.cast_column(
1008
+ data_args.audio_column_name, datasets.features.Audio(sampling_rate=feature_extractor.sampling_rate)
1009
+ )
1010
+
1011
+ # 7. Preprocessing the datasets.
1012
+ # We need to read the audio files as arrays and tokenize the targets.
1013
+ max_input_length = int(data_args.max_duration_in_seconds * feature_extractor.sampling_rate)
1014
+ min_input_length = int(data_args.min_duration_in_seconds * feature_extractor.sampling_rate)
1015
+ max_target_length = data_args.max_label_length
1016
+ min_target_length = data_args.min_label_length
1017
+ pad_input_to_multiple_of = data_args.pad_input_to_multiple_of
1018
+ audio_column_name = data_args.audio_column_name
1019
+ num_workers = data_args.preprocessing_num_workers
1020
+ text_column_name = data_args.text_column_name
1021
+ model_input_name = feature_extractor.model_input_names[0]
1022
+ do_lower_case = data_args.do_lower_case
1023
+ dataset_name = data_args.dataset_name
1024
+ chars_to_ignore = ', ? . ! - ; : " “ % ‘ ” ?'.split(" ")
1025
+ chars_to_ignore_regex = f'[{"".join(chars_to_ignore)}]'
1026
+ # gigaspeech_punctuation = {" <comma>": ",", " <period>": ".", " <questionmark>": "?", " <exclamationpoint>": "!"}
1027
+ # gigaspeech_disfluencies = ["<other>", "<sil>"]
1028
+ # swb_disfluencies = ["[noise]", "[laughter]", "[silence]", "<a_aside>", "<b_aside>", "<e_aside>", "[laughter-",
1029
+ # "[vocalized-noise]", "_1"]
1030
+ # swb_punctuations = ["{", "}", "[", "]-", "]"]
1031
+ # earnings_disfluencies = ["<crosstalk>", "<affirmative>", "<inaudible>", "inaudible", "<laugh>", "<unk>"]
1032
+ ignore_segments = ["ignore_time_segment_in_scoring", "<noise>", "<music>", "[noise]", "[laughter]", "[silence]",
1033
+ "[vocalized-noise]", "<crosstalk>", "<affirmative>", "<inaudible>", "<laugh>", "<other>", "<sil>", ""]
1034
+
1035
+ if training_args.do_train and data_args.max_train_samples is not None:
1036
+ raw_datasets[data_args.train_split_name] = raw_datasets[data_args.train_split_name].select(range(data_args.max_train_samples))
1037
+
1038
+ if training_args.do_eval and data_args.max_eval_samples is not None:
1039
+ raw_datasets[data_args.eval_split_name] = raw_datasets[data_args.eval_split_name].select(range(data_args.max_eval_samples))
1040
+
1041
+ if training_args.do_predict and data_args.max_test_samples is not None:
1042
+ raw_datasets[data_args.test_split_name] = raw_datasets[data_args.test_split_name].select(range(data_args.max_eval_samples))
1043
+
1044
+ if training_args.do_train and data_args.remove_punctuation:
1045
+
1046
+ def remove_punctuation(batch):
1047
+ batch[text_column_name] = (
1048
+ re.sub(chars_to_ignore_regex, "", batch[text_column_name]).replace("'", "").replace('"', "")
1049
+ )
1050
+
1051
+ raw_datasets[data_args.train_split_name] = raw_datasets[data_args.train_split_name].map(
1052
+ remove_punctuation,
1053
+ num_proc=data_args.preprocessing_num_workers,
1054
+ desc="removing punctuation from train split",
1055
+ )
1056
+
1057
+ # filter data where the targets are ignored in scoring
1058
+ def is_target_labels(input_str):
1059
+ return input_str.lower() not in ignore_segments
1060
+
1061
+ raw_datasets = raw_datasets.filter(
1062
+ is_target_labels,
1063
+ num_proc=num_workers,
1064
+ input_columns=[text_column_name],
1065
+ desc="filtering data where the targets are ignored in scoring",
1066
+ )
1067
+
1068
+ def prepare_dataset(batch):
1069
+ # process audio
1070
+ try:
1071
+ sample = batch[audio_column_name]
1072
+ except ValueError:
1073
+ sample = {"array": np.array([0.]), "sampling_rate": feature_extractor.sampling_rate}
1074
+ inputs = feature_extractor(sample["array"], sampling_rate=sample["sampling_rate"])
1075
+ # process audio length
1076
+ batch[model_input_name] = inputs.input_values[0]
1077
+ batch["input_length"] = len(batch["input_values"])
1078
+
1079
+ # process targets
1080
+ input_str = batch[text_column_name].lower() if do_lower_case else batch[text_column_name]
1081
+
1082
+ # if dataset_name == "google/xtreme_s":
1083
+ # # Finally, we tokenize the processed text
1084
+ # batch["labels"] = tokenizer(input_str).input_ids
1085
+ # batch["labels_length"] = len(batch["labels"])
1086
+ # return batch
1087
+
1088
+ # # Common Voice 9
1089
+ # if input_str.startswith('"') and input_str.endswith('"'):
1090
+ # # we can remove trailing quotation marks as they do not affect the transcription
1091
+ # input_str = input_str[1:-1]
1092
+ # # normalize quotation marks
1093
+ # input_str = re.sub(r'["“”]', '"', input_str)
1094
+ # # normalize apostrophes
1095
+ # input_str = re.sub(r"[’']", "'", input_str)
1096
+ # # normalize hyphens
1097
+ # input_str = re.sub(r"[—–]", "-", input_str)
1098
+ # # replace double quotation marks with single
1099
+ # input_str = input_str.replace('""', '"')
1100
+ # if dataset_name == "mozilla-foundation/common_voice_9_0" and len(input_str):
1101
+ # # for CV9, we'll normalize the text to always finish with punctuation
1102
+ # if input_str[-1] not in [".", "?", "!"]:
1103
+ # input_str = input_str + "."
1104
+
1105
+ # # TEDLIUM-3
1106
+ # # delete the <unk> token from the text and replace spaced apostrophes with un-spaced
1107
+ # input_str = input_str.replace("<unk>", "").replace(" '", "'")
1108
+
1109
+ # # GigaSpeech
1110
+ # for disfluency in gigaspeech_disfluencies:
1111
+ # input_str = input_str.replace(disfluency, "")
1112
+ # # convert spelled out punctuation to symbolic form
1113
+ # for punctuation, replacement in gigaspeech_punctuation.items():
1114
+ # input_str = input_str.replace(punctuation, replacement)
1115
+ # if dataset_name == "speechcolab/gigaspeech" and len(input_str):
1116
+ # # for GS, we'll normalize the text to always finish with punctuation
1117
+ # if input_str[-1] not in [".", "?", "!"]:
1118
+ # input_str = input_str + "."
1119
+
1120
+ # # SWB
1121
+ # for disfluency in swb_disfluencies:
1122
+ # input_str = input_str.replace(disfluency, "")
1123
+ # # remove parenthesised text (test data only)
1124
+ # input_str = re.sub("[\(].*?[\)]", "", input_str)
1125
+ # for punctuation in swb_punctuations:
1126
+ # input_str = input_str.replace(punctuation, "")
1127
+ # # replace anomalous words with their correct transcriptions
1128
+ # split_str = input_str.split("/")
1129
+ # if len(split_str) > 1:
1130
+ # input_str = " ".join(
1131
+ # [" ".join([" ".join(i.split(" ")[:-1]) for i in split_str])] + [split_str[-1].split(" ")[-1]])
1132
+
1133
+ # # Earnings 22
1134
+ # for disfluency in earnings_disfluencies:
1135
+ # input_str = input_str.replace(disfluency, "")
1136
+ # # replace mal-formatted ellipsis
1137
+ # input_str = input_str.replace("…", ".")
1138
+
1139
+ # JIWER compliance
1140
+ # remove multiple spaces
1141
+ input_str = re.sub(r"\s\s+", " ", input_str)
1142
+ # strip trailing spaces
1143
+ input_str = input_str.strip()
1144
+
1145
+ # Finally, we tokenize the processed text
1146
+ batch["labels"] = tokenizer(input_str).input_ids
1147
+ batch["labels_length"] = len(batch["labels"])
1148
+ return batch
1149
+
1150
+ vectorized_datasets = raw_datasets.map(
1151
+ prepare_dataset,
1152
+ remove_columns=next(iter(raw_datasets.values())).column_names,
1153
+ num_proc=num_workers,
1154
+ desc="preprocess dataset",
1155
+ )
1156
+
1157
+ # filter data with inputs shorter than min_input_length or longer than max_input_length
1158
+ def is_audio_in_length_range(length):
1159
+ return length > min_input_length and length < max_input_length
1160
+
1161
+ vectorized_datasets = vectorized_datasets.filter(
1162
+ is_audio_in_length_range,
1163
+ num_proc=num_workers,
1164
+ input_columns=["input_length"],
1165
+ )
1166
+
1167
+ # filter data with targets shorter than min_target_length or longer than max_target_length
1168
+ def is_labels_in_length_range(length):
1169
+ return length > min_target_length # and length < max_target_length
1170
+
1171
+ vectorized_datasets = vectorized_datasets.filter(
1172
+ is_labels_in_length_range,
1173
+ num_proc=num_workers,
1174
+ input_columns=["labels_length"],
1175
+ )
1176
+
1177
+ # for large datasets it is advised to run the preprocessing on a
1178
+ # single machine first with `args.preprocessing_only` since there will mostly likely
1179
+ # be a timeout when running the script in distributed mode.
1180
+ # In a second step `args.preprocessing_only` can then be set to `False` to load the
1181
+ # cached dataset
1182
+ if data_args.preprocessing_only:
1183
+ cache = {k: v.cache_files for k, v in vectorized_datasets.items()}
1184
+ logger.info(f"Data preprocessing finished. Files cached at {cache}.")
1185
+ return
1186
+
1187
+ # 8. Load Metrics
1188
+ wer_metric = load_metric("wer")
1189
+ cer_metric = load_metric("cer")
1190
+
1191
+ def compute_metrics(pred_ids: List[List[int]], label_ids: List[List[int]]):
1192
+ padded_ids = np.where(np.asarray(label_ids) == -100, tokenizer.pad_token_id, np.asarray(label_ids))
1193
+
1194
+ pred_str = tokenizer.batch_decode(pred_ids)
1195
+ # we do not want to group tokens when computing the metrics
1196
+ label_str = tokenizer.batch_decode(padded_ids, group_tokens=False)
1197
+
1198
+ wer = wer_metric.compute(predictions=pred_str, references=label_str)
1199
+ cer = cer_metric.compute(predictions=pred_str, references=label_str)
1200
+
1201
+ return {"wer": wer, "cer": cer}, pred_str, label_str
1202
+
1203
+ # 9. save feature extractor, tokenizer and config
1204
+ feature_extractor.save_pretrained(training_args.output_dir)
1205
+ tokenizer.save_pretrained(training_args.output_dir)
1206
+ config.save_pretrained(training_args.output_dir)
1207
+
1208
+ processor = AutoProcessor.from_pretrained(training_args.output_dir)
1209
+
1210
+ data_collator = FlaxDataCollatorSpeechSeq2SeqWithPadding(
1211
+ processor=processor,
1212
+ input_padding="longest",
1213
+ pad_input_to_multiple_of=pad_input_to_multiple_of,
1214
+ max_label_length=data_args.max_label_length,
1215
+ )
1216
+
1217
+ # Enable tensorboard only on the master node
1218
+ has_tensorboard = is_tensorboard_available()
1219
+ if has_tensorboard and jax.process_index() == 0:
1220
+ try:
1221
+ from flax.metrics.tensorboard import SummaryWriter
1222
+
1223
+ summary_writer = SummaryWriter(log_dir=Path(training_args.output_dir))
1224
+ except ImportError as ie:
1225
+ has_tensorboard = False
1226
+ logger.warning(
1227
+ f"Unable to display metrics through TensorBoard because some package are not installed: {ie}"
1228
+ )
1229
+ else:
1230
+ logger.warning(
1231
+ "Unable to display metrics through TensorBoard because the package is not installed: "
1232
+ "Please run `pip install tensorboard` to enable."
1233
+ )
1234
+
1235
+ # 10. Handle the repository creation
1236
+ if training_args.push_to_hub:
1237
+ with open(os.path.join(training_args.output_dir, ".gitattributes"), "r+") as f:
1238
+ git_lfs_extensions = f.read()
1239
+ if "*.wandb" not in git_lfs_extensions:
1240
+ f.write("*.wandb filter=lfs diff=lfs merge=lfs -text")
1241
+ if training_args.hub_model_id is None:
1242
+ repo_name = get_full_repo_name(
1243
+ Path(training_args.output_dir).absolute().name, token=training_args.hub_token
1244
+ )
1245
+ else:
1246
+ repo_name = training_args.hub_model_id
1247
+ repo = Repository(training_args.output_dir, clone_from=repo_name)
1248
+
1249
+ # 11. Initialize our training
1250
+ rng = jax.random.PRNGKey(training_args.seed)
1251
+ rng, dropout_rng = jax.random.split(rng)
1252
+
1253
+ # Store some constants
1254
+ max_steps = int(training_args.max_steps)
1255
+ gradient_accumulation_steps = int(training_args.gradient_accumulation_steps)
1256
+ train_batch_size = int(training_args.per_device_train_batch_size) * jax.device_count()
1257
+ batch_size_per_update = train_batch_size * gradient_accumulation_steps
1258
+ per_device_eval_batch_size = int(training_args.per_device_eval_batch_size)
1259
+ eval_batch_size = int(training_args.per_device_eval_batch_size) * jax.device_count()
1260
+ to_dtype = to_bf16 if training_args.mixed_precision else to_fp32
1261
+
1262
+ if training_args.do_train:
1263
+ num_train_samples = len(vectorized_datasets[data_args.train_split_name])
1264
+ steps_per_epoch = num_train_samples // batch_size_per_update
1265
+ if max_steps > 0:
1266
+ num_epochs = -(training_args.max_steps // -steps_per_epoch)
1267
+ total_train_steps = max_steps
1268
+ else:
1269
+ num_epochs = int(training_args.num_train_epochs)
1270
+ total_train_steps = steps_per_epoch * num_epochs
1271
+
1272
+ # Create learning rate schedule
1273
+ # Create learning rate schedule
1274
+ linear_decay_lr_schedule_fn = create_learning_rate_fn(
1275
+ total_train_steps,
1276
+ training_args.warmup_steps,
1277
+ training_args.learning_rate,
1278
+ )
1279
+
1280
+ # We use Optax's "masking" functionality to not apply weight decay
1281
+ # to bias and LayerNorm scale parameters. decay_mask_fn returns a
1282
+ # mask boolean with the same structure as the parameters.
1283
+ # The mask is True for parameters that should be decayed.
1284
+ # Note that this mask is specifically adapted for FlaxWav2Vec2 and FlaxBart.
1285
+ # For FlaxT5, one should correct the layer norm parameter naming
1286
+ # accordingly - see `run_t5_mlm_flax.py` e.g.
1287
+ def decay_mask_fn(params):
1288
+ flat_params = traverse_util.flatten_dict(params)
1289
+ layer_norm_params = [
1290
+ (name, "scale")
1291
+ for name in ["layer_norm", "self_attn_layer_norm", "layernorm_embedding", "final_layer_norm"]
1292
+ ]
1293
+ flat_mask = {path: (path[-1] != "bias" and path[-2:] not in layer_norm_params) for path in flat_params}
1294
+ return traverse_util.unflatten_dict(flat_mask)
1295
+
1296
+ if training_args.adafactor:
1297
+ # Create Adafactor optimizer
1298
+ optim = optax.adafactor(
1299
+ learning_rate=linear_decay_lr_schedule_fn,
1300
+ dtype_momentum=jnp.bfloat16 if training_args.mixed_precision else jnp.float32,
1301
+ weight_decay_rate=training_args.weight_decay,
1302
+ weight_decay_mask=decay_mask_fn,
1303
+ )
1304
+ else:
1305
+ # Create AdamW optimizer
1306
+ optim = optax.adamw(
1307
+ learning_rate=linear_decay_lr_schedule_fn,
1308
+ b1=training_args.adam_beta1,
1309
+ b2=training_args.adam_beta2,
1310
+ eps=training_args.adam_epsilon,
1311
+ weight_decay=training_args.weight_decay,
1312
+ mask=decay_mask_fn,
1313
+ )
1314
+
1315
+ # Optax MultiSteps for gradient accumulation. We'll only call this optimizer transformation if gradient accumulation is required (i.e. gradient accumulation steps > 1)
1316
+ if training_args.multisteps and gradient_accumulation_steps > 1:
1317
+ optim = optax.MultiSteps(optim, gradient_accumulation_steps, use_grad_mean=False)
1318
+ else:
1319
+ num_epochs = 0
1320
+ total_train_steps = 0
1321
+ num_train_samples = 0
1322
+ optim = None
1323
+
1324
+ # Setup train state
1325
+ state = MixedPrecisionTrainState.create(
1326
+ apply_fn=model.__call__,
1327
+ get_attention_mask_fn=model._get_feature_vector_attention_mask,
1328
+ params=model.params,
1329
+ tx=optim,
1330
+ to_dtype=to_dtype,
1331
+ dropout_rng=dropout_rng,
1332
+ max_grad_norm=training_args.max_grad_norm,
1333
+ )
1334
+
1335
+ # Replicate the train state on each device
1336
+ state = state.replicate()
1337
+ blank_id = model.config.pad_token_id
1338
+
1339
+ # Define gradient update step fn
1340
+ def train_step(state, batch):
1341
+ # only one single rng per grad step, with or without accumulation, as the graph should be identical over one effective training batch
1342
+ dropout_rng, new_dropout_rng = jax.random.split(state.dropout_rng)
1343
+
1344
+ def compute_loss(params, minibatch):
1345
+ labels = minibatch.pop("labels")
1346
+ logits = state.apply_fn(
1347
+ **minibatch,
1348
+ params=params,
1349
+ dropout_rng=dropout_rng,
1350
+ freeze_feature_encoder=model_args.freeze_feature_encoder,
1351
+ train=True,
1352
+ )[0]
1353
+ logits_mask = state.get_attention_mask_fn(logits.shape[1], batch["attention_mask"])
1354
+ loss = ctc_loss(logits, logits_mask, labels, blank_id, loss_reduction="mean")
1355
+
1356
+ return loss
1357
+
1358
+ grad_fn = jax.value_and_grad(compute_loss)
1359
+
1360
+ if gradient_accumulation_steps == 1 or training_args.multisteps:
1361
+ loss, grad = grad_fn(to_dtype(state.params), batch)
1362
+
1363
+ # Custom gradient accumulation
1364
+ else:
1365
+ # add a first dimension over gradient_accumulation_steps for minibatch slices
1366
+ batch = jax.tree_map(
1367
+ lambda x: x.reshape(
1368
+ gradient_accumulation_steps, training_args.per_device_train_batch_size, *x.shape[1::]
1369
+ ),
1370
+ batch,
1371
+ )
1372
+
1373
+ def accum_minibatch_step(accum_grad, minibatch):
1374
+ # compute loss, num labels and grad over minibatch and accumulate
1375
+ loss, grad = grad_fn(to_dtype(state.params), minibatch)
1376
+ return jax.tree_map(jnp.add, accum_grad, grad), loss
1377
+
1378
+ # create an initial state for accumulating losses, num labels and gradients
1379
+ init_grad = jax.tree_map(jnp.zeros_like, to_dtype(state.params))
1380
+ # loop accum minibatch step over the number of gradient accumulation steps
1381
+ grad, loss = jax.lax.scan(accum_minibatch_step, init_grad, batch)
1382
+
1383
+ # update state
1384
+ new_state = state.apply_gradients(
1385
+ grads=grad,
1386
+ dropout_rng=new_dropout_rng,
1387
+ to_dtype=to_dtype,
1388
+ )
1389
+
1390
+ # compute gradient norms over all layers and globally for detailed monitoring
1391
+ layer_grad_norm = jax.tree_map(jnp.linalg.norm, grad)
1392
+ logs = {
1393
+ "layer_grad_norm": layer_grad_norm,
1394
+ "grad_norm": jnp.linalg.norm(jax.tree_util.tree_leaves(layer_grad_norm)),
1395
+ }
1396
+
1397
+ # compute parameter norms over all layers and globally for detailed monitoring
1398
+ layer_param_norm = jax.tree_map(jnp.linalg.norm, new_state.params)
1399
+ logs["layer_param_norm"] = layer_param_norm
1400
+ logs["param_norm"] = jnp.linalg.norm(jax.tree_util.tree_leaves(layer_param_norm))
1401
+
1402
+ metrics = {"loss": loss, "learning_rate": linear_decay_lr_schedule_fn(state.step)}
1403
+ metrics.update(logs)
1404
+
1405
+ metrics = jax.lax.pmean(metrics, axis_name="batch")
1406
+ # metrics = to_fp32(metrics)
1407
+
1408
+ return new_state, metrics
1409
+
1410
+ # Define eval fn
1411
+ def eval_step(params, batch):
1412
+ labels = batch.pop("labels")
1413
+ logits = model(**batch, params=params, train=False)[0]
1414
+
1415
+ logits_mask = model._get_feature_vector_attention_mask(logits.shape[1], batch["attention_mask"])
1416
+ loss = ctc_loss(logits, logits_mask, labels, blank_id, loss_reduction="mean")
1417
+
1418
+ pred_ids = jnp.argmax(logits, axis=-1)
1419
+
1420
+ # summarize metrics
1421
+ metrics = {"loss": loss}
1422
+ metrics = jax.lax.pmean(metrics, axis_name="batch")
1423
+ # metrics = to_fp32(metrics)
1424
+ return metrics, pred_ids
1425
+
1426
+ # Create parallel version of the train and eval step
1427
+ if training_args.do_train:
1428
+ p_train_step = jax.pmap(train_step, "batch", donate_argnums=(0,))
1429
+
1430
+ if training_args.do_eval:
1431
+ p_eval_step = jax.pmap(eval_step, "batch")
1432
+
1433
+ def run_evaluation(step):
1434
+ if training_args.do_eval:
1435
+ # ======================== Evaluating ==============================
1436
+ eval_metrics = []
1437
+ eval_preds = []
1438
+ eval_labels = []
1439
+
1440
+ # Generate eval set by sequentially sampling indices from the eval dataset and grouping by length
1441
+ eval_samples_idx = get_grouped_indices(vectorized_datasets[data_args.eval_split_name], eval_batch_size)
1442
+ eval_batch_idx = generate_batch_splits(eval_samples_idx, eval_batch_size, drop_last=False)
1443
+
1444
+ for i, batch_idx in enumerate(tqdm(eval_batch_idx, desc="Evaluating ...", position=2)):
1445
+ samples = [vectorized_datasets[data_args.eval_split_name][int(idx)] for idx in batch_idx]
1446
+ batch = data_collator(samples)
1447
+ labels = batch["labels"]
1448
+
1449
+ metrics, pred_ids = pad_shard_unpad(p_eval_step)(state.params, batch.data, min_device_batch=per_device_eval_batch_size)
1450
+ eval_preds.extend(jax.device_get(pred_ids.reshape(-1, pred_ids.shape[-1])))
1451
+ eval_metrics.append(metrics)
1452
+
1453
+ eval_labels.extend(labels)
1454
+
1455
+ # normalize eval metrics
1456
+ eval_metrics = get_metrics(eval_metrics)
1457
+ eval_metrics = jax.tree_map(jnp.mean, eval_metrics)
1458
+ eval_metrics = to_fp32(eval_metrics)
1459
+
1460
+ # always run compute metrics
1461
+ error_rate_metric, pred_str, label_str = compute_metrics(eval_preds, eval_labels)
1462
+ eval_metrics.update(error_rate_metric)
1463
+ error_rate_desc = " ".join([f"Eval {key}: {value} |" for key, value in error_rate_metric.items()])
1464
+
1465
+ # Print metrics and update progress bar
1466
+ desc = f"Step... ({step}/{total_train_steps} | Eval Loss: {eval_metrics['loss']} | {error_rate_desc})"
1467
+ epochs.write(desc)
1468
+ epochs.desc = desc
1469
+
1470
+ # Save metrics
1471
+ write_wandb_log(eval_metrics, step, prefix="eval")
1472
+ write_wandb_pred(pred_str, label_str, step)
1473
+ # if has_tensorboard and jax.process_index() == 0:
1474
+ # write_eval_metric(summary_writer, eval_metrics, step, pred_str=pred_str)
1475
+
1476
+ def save_checkpoint(step):
1477
+ # save and push checkpoint to the hub
1478
+ if jax.process_index() == 0:
1479
+ params = jax.device_get(jax.tree_map(lambda x: x[0], state.params))
1480
+ model.save_pretrained(training_args.output_dir, params=params)
1481
+ tokenizer.save_pretrained(training_args.output_dir)
1482
+ if training_args.push_to_hub:
1483
+ repo.push_to_hub(commit_message=f"{wandb.run.id}: saving weights and logs of step {int(step / 1000)}k", blocking=False)
1484
+
1485
+ logger.info("***** Running training *****")
1486
+ logger.info(f" Num examples = {num_train_samples}")
1487
+ logger.info(f" Num Epochs = {num_epochs}")
1488
+ logger.info(f" Instantaneous batch size per device = {training_args.per_device_train_batch_size}")
1489
+ logger.info(f" Num gradient accumulation steps = {gradient_accumulation_steps}")
1490
+ logger.info(f" Total train batch size (w. parallel & distributed) = {batch_size_per_update}")
1491
+ logger.info(f" Total optimization steps = {total_train_steps}")
1492
+ logger.info(f" Gradient checkpointing: {config.gradient_checkpointing}")
1493
+ logger.info(f" Use scan: {config.use_scan}")
1494
+ logger.info(f" Fuse matmuls: {config.fuse_matmuls}")
1495
+
1496
+ train_time = cur_step = 0
1497
+ epochs = tqdm(range(num_epochs), desc=f"Epoch ... (1/{num_epochs})", position=0)
1498
+ for epoch in epochs:
1499
+ if training_args.do_train:
1500
+ # ======================== Training ================================
1501
+ train_start = time.time()
1502
+
1503
+ # Create sampling rng
1504
+ rng, input_rng = jax.random.split(rng)
1505
+
1506
+ # Generate an epoch by randomly shuffling sampling indices from the train dataset and grouping by length
1507
+ train_samples_idx = get_grouped_indices(vectorized_datasets[data_args.train_split_name], batch_size_per_update, input_rng)
1508
+ train_batch_idx = generate_batch_splits(train_samples_idx, batch_size_per_update)
1509
+
1510
+ # Gather the indices for creating the batch and do a training step
1511
+ for step, batch_idx in enumerate(tqdm(train_batch_idx, desc="Training...", position=1), 1):
1512
+ samples = [vectorized_datasets[data_args.train_split_name][int(idx)] for idx in batch_idx]
1513
+ batch = data_collator(samples)
1514
+ batch = shard(batch.data)
1515
+ try:
1516
+ state, train_metric = p_train_step(state, batch)
1517
+ except TypeError as e:
1518
+ logger.warning("Encountered following error: \n", e)
1519
+
1520
+ cur_step = epoch * (num_train_samples // batch_size_per_update) + step
1521
+
1522
+ if cur_step % training_args.logging_steps == 0:
1523
+ # Save metrics
1524
+ train_metric = unreplicate(train_metric)
1525
+ train_time += time.time() - train_start
1526
+ # need to upcast all device arrays to fp32 for wandb logging (jnp.bfloat16 not supported) -> do this here OR in train_step
1527
+ write_wandb_log(to_fp32(train_metric), cur_step, prefix=data_args.train_split_name)
1528
+ # we won't log to tensorboard for now (it is fiddly logging param and grad norms on a layer-by-layer basis)
1529
+ # if has_tensorboard and jax.process_index() == 0:
1530
+ # write_train_metric(summary_writer, train_metrics, train_time, cur_step)
1531
+
1532
+ epochs.write(
1533
+ f"Step... ({cur_step} | Loss: {train_metric['loss']}, Learning Rate: {train_metric['learning_rate']}, Gradient Norm: {train_metric['grad_norm']})"
1534
+ )
1535
+
1536
+ if cur_step % total_train_steps == 0:
1537
+ break
1538
+
1539
+ if training_args.eval_steps and cur_step % training_args.eval_steps == 0:
1540
+ run_evaluation(cur_step)
1541
+
1542
+ if cur_step % training_args.save_steps == 0:
1543
+ save_checkpoint(cur_step)
1544
+
1545
+ if training_args.eval_steps == 0 and (epoch + 1) != num_epochs:
1546
+ # run evaluation at the end of the epoch if eval steps are not specified
1547
+ run_evaluation(cur_step)
1548
+ save_checkpoint(cur_step)
1549
+
1550
+ if training_args.do_train:
1551
+ save_checkpoint(cur_step)
1552
+
1553
+ cur_step = max_steps if max_steps > 0 else cur_step # set step to max steps so that eval happens in alignment with training
1554
+
1555
+ if training_args.do_eval:
1556
+ run_evaluation(cur_step)
1557
+
1558
+ # TODO: collapse 'do_predict' into the run_evaluation function
1559
+ if training_args.do_predict:
1560
+ for split in [data_args.test_split_name]:
1561
+ # ======================== Evaluating ==============================
1562
+ eval_metrics = []
1563
+ eval_preds = []
1564
+ eval_labels = []
1565
+
1566
+ # Generate eval set by sequentially sampling indices from the test dataset and grouping by length
1567
+ eval_samples_idx = get_grouped_indices(vectorized_datasets[split], eval_batch_size)
1568
+ eval_batch_idx = generate_batch_splits(eval_samples_idx, eval_batch_size, drop_last=False)
1569
+
1570
+ for i, batch_idx in enumerate(tqdm(eval_batch_idx, desc=f"Predicting {split}...", position=2)):
1571
+ samples = [vectorized_datasets[split][int(idx)] for idx in batch_idx]
1572
+ batch = data_collator(samples)
1573
+ labels = batch["labels"]
1574
+
1575
+ metrics, pred_ids = pad_shard_unpad(p_eval_step)(state.params, batch.data, min_device_batch=per_device_eval_batch_size)
1576
+ eval_preds.extend(jax.device_get(pred_ids.reshape(-1, pred_ids.shape[-1])))
1577
+ eval_metrics.append(metrics)
1578
+
1579
+ eval_labels.extend(labels)
1580
+
1581
+ # normalize eval metrics
1582
+ eval_metrics = get_metrics(eval_metrics)
1583
+ eval_metrics = jax.tree_map(jnp.mean, eval_metrics)
1584
+ eval_metrics = to_fp32(eval_metrics)
1585
+
1586
+ # always run compute metrics
1587
+ error_rate_metric, pred_str, label_str = compute_metrics(eval_preds, eval_labels)
1588
+ eval_metrics.update(error_rate_metric)
1589
+ error_rate_desc = " ".join([f"Eval {key}: {value} |" for key, value in error_rate_metric.items()])
1590
+
1591
+ # Print metrics and update progress bar
1592
+ desc = f"Step... ({cur_step}/{total_train_steps} | Eval Loss: {eval_metrics['loss']} | {error_rate_desc})"
1593
+ epochs.write(desc)
1594
+ epochs.desc = desc
1595
+
1596
+ # Save metrics
1597
+ write_wandb_log(eval_metrics, cur_step, prefix=split)
1598
+ write_wandb_pred(pred_str, label_str, cur_step, prefix=split)
1599
+ # if has_tensorboard and jax.process_index() == 0:
1600
+ # write_eval_metric(summary_writer, eval_metrics, cur_step, pred_str=pred_str)
1601
+
1602
+
1603
+ if __name__ == "__main__":
1604
+ main()
wandb/run-20220731_115136-a9kwr28f/files/config.yaml ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ wandb_version: 1
2
+
3
+ _wandb:
4
+ desc: null
5
+ value:
6
+ cli_version: 0.12.9
7
+ code_path: code/run_flax_speech_recognition_ctc.py
8
+ framework: huggingface
9
+ huggingface_version: 4.21.0
10
+ is_jupyter_run: false
11
+ is_kaggle_kernel: false
12
+ python_version: 3.8.10
13
+ start_time: 1659268296
14
+ t:
15
+ 1:
16
+ - 1
17
+ - 2
18
+ - 3
19
+ - 11
20
+ - 12
21
+ 2:
22
+ - 1
23
+ - 2
24
+ - 3
25
+ - 11
26
+ - 12
27
+ 3:
28
+ - 13
29
+ 4: 3.8.10
30
+ 5: 0.12.9
31
+ 6: 4.21.0
32
+ 8:
33
+ - 5
wandb/run-20220731_115136-a9kwr28f/files/diff.patch ADDED
The diff for this file is too large to render. See raw diff
 
wandb/run-20220731_115136-a9kwr28f/files/output.log ADDED
The diff for this file is too large to render. See raw diff
 
wandb/run-20220731_115136-a9kwr28f/files/requirements.txt ADDED
@@ -0,0 +1,158 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ absl-py==1.0.0
2
+ aiohttp==3.8.1
3
+ aiosignal==1.2.0
4
+ appdirs==1.4.4
5
+ astunparse==1.6.3
6
+ async-timeout==4.0.2
7
+ attrs==21.4.0
8
+ audioread==2.1.9
9
+ backcall==0.2.0
10
+ cachetools==4.2.4
11
+ certifi==2021.10.8
12
+ cffi==1.15.1
13
+ charset-normalizer==2.0.10
14
+ chex==0.1.3
15
+ click==8.0.3
16
+ cloud-tpu-client==0.10
17
+ cloud-tpu-profiler==2.4.0
18
+ clu==0.0.6
19
+ colorama==0.4.5
20
+ commonmark==0.9.1
21
+ configparser==5.2.0
22
+ contextlib2==21.6.0
23
+ cycler==0.11.0
24
+ datasets==2.4.0
25
+ decorator==5.1.0
26
+ dill==0.3.4
27
+ dm-tree==0.1.6
28
+ docker-pycreds==0.4.0
29
+ etils==0.6.0
30
+ exceptiongroup==1.0.0rc8
31
+ filelock==3.4.2
32
+ flatbuffers==2.0
33
+ flax==0.5.3
34
+ fonttools==4.28.5
35
+ frozenlist==1.2.0
36
+ fsspec==2021.11.1
37
+ future==0.18.2
38
+ gast==0.4.0
39
+ gitdb==4.0.9
40
+ gitpython==3.1.26
41
+ google-api-core==1.31.5
42
+ google-api-python-client==1.8.0
43
+ google-auth-httplib2==0.1.0
44
+ google-auth-oauthlib==0.4.6
45
+ google-auth==2.3.3
46
+ google-pasta==0.2.0
47
+ googleapis-common-protos==1.54.0
48
+ grpcio==1.43.0
49
+ h5py==3.6.0
50
+ httplib2==0.20.2
51
+ huggingface-hub==0.2.1
52
+ hypothesis==6.53.0
53
+ idna==3.3
54
+ importlib-metadata==4.10.0
55
+ importlib-resources==5.4.0
56
+ ipython==7.31.0
57
+ jax==0.3.15
58
+ jaxlib==0.3.15
59
+ jedi==0.18.1
60
+ jiwer==2.3.0
61
+ joblib==1.1.0
62
+ keras-preprocessing==1.1.2
63
+ keras==2.7.0
64
+ kiwisolver==1.3.2
65
+ libclang==12.0.0
66
+ librosa==0.9.2
67
+ libtpu-nightly==0.1.dev20220722
68
+ llvmlite==0.39.0
69
+ markdown==3.3.6
70
+ matplotlib-inline==0.1.3
71
+ matplotlib==3.5.1
72
+ ml-collections==0.1.0
73
+ msgpack==1.0.3
74
+ multidict==5.2.0
75
+ multiprocess==0.70.12.2
76
+ numba==0.56.0
77
+ numpy==1.22.0
78
+ oauth2client==4.1.3
79
+ oauthlib==3.1.1
80
+ opt-einsum==3.3.0
81
+ optax==0.1.3
82
+ packaging==21.3
83
+ pandas==1.3.5
84
+ parso==0.8.3
85
+ pathtools==0.1.2
86
+ pexpect==4.8.0
87
+ pickleshare==0.7.5
88
+ pillow==9.0.0
89
+ pip==22.2.1
90
+ pkg-resources==0.0.0
91
+ pooch==1.6.0
92
+ promise==2.3
93
+ prompt-toolkit==3.0.24
94
+ protobuf==3.19.1
95
+ psutil==5.9.0
96
+ ptyprocess==0.7.0
97
+ pyarrow==6.0.1
98
+ pyasn1-modules==0.2.8
99
+ pyasn1==0.4.8
100
+ pycparser==2.21
101
+ pyctcdecode==0.4.0
102
+ pygments==2.11.1
103
+ pygtrie==2.5.0
104
+ pyparsing==3.0.6
105
+ python-dateutil==2.8.2
106
+ python-levenshtein==0.12.2
107
+ pytz==2021.3
108
+ pyyaml==6.0
109
+ regex==2021.11.10
110
+ requests-oauthlib==1.3.0
111
+ requests==2.27.0
112
+ resampy==0.3.1
113
+ responses==0.18.0
114
+ rich==11.2.0
115
+ rsa==4.8
116
+ sacremoses==0.0.46
117
+ scikit-learn==1.1.1
118
+ scipy==1.7.3
119
+ sentry-sdk==1.5.2
120
+ setuptools==44.0.0
121
+ shortuuid==1.0.8
122
+ six==1.16.0
123
+ smmap==5.0.0
124
+ sortedcontainers==2.4.0
125
+ soundfile==0.10.3.post1
126
+ sox==1.4.1
127
+ subprocess32==3.5.4
128
+ tensorboard-data-server==0.6.1
129
+ tensorboard-plugin-wit==1.8.0
130
+ tensorboard==2.7.0
131
+ tensorflow-cpu==2.7.0
132
+ tensorflow-datasets==4.4.0
133
+ tensorflow-estimator==2.7.0
134
+ tensorflow-io-gcs-filesystem==0.23.1
135
+ tensorflow-metadata==1.5.0
136
+ tensorflow==2.7.0
137
+ tensorstore==0.1.21
138
+ termcolor==1.1.0
139
+ threadpoolctl==3.1.0
140
+ tokenizers==0.11.2
141
+ toolz==0.11.2
142
+ torch==1.12.0
143
+ torchaudio==0.12.0+cpu
144
+ tqdm==4.62.3
145
+ traitlets==5.1.1
146
+ transformers==4.21.0
147
+ typing-extensions==4.3.0
148
+ uritemplate==3.0.1
149
+ urllib3==1.26.7
150
+ wandb==0.12.9
151
+ wcwidth==0.2.5
152
+ werkzeug==2.0.2
153
+ wheel==0.37.1
154
+ wrapt==1.13.3
155
+ xxhash==2.0.2
156
+ yarl==1.7.2
157
+ yaspin==2.1.0
158
+ zipp==3.7.0
wandb/run-20220731_115136-a9kwr28f/files/wandb-metadata.json ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "os": "Linux-5.4.0-1043-gcp-x86_64-with-glibc2.29",
3
+ "python": "3.8.10",
4
+ "heartbeatAt": "2022-07-31T11:51:39.912073",
5
+ "startedAt": "2022-07-31T11:51:36.417201",
6
+ "docker": null,
7
+ "cpu_count": 96,
8
+ "cuda": null,
9
+ "args": [
10
+ "--model_name_or_path=facebook/wav2vec2-xls-r-1b",
11
+ "--hub_model_id=NbAiLab/wav2vec2-1b-npsc-nst",
12
+ "--tokenizer_name=./",
13
+ "--output_dir=./",
14
+ "--overwrite_output_dir",
15
+ "--num_train_epochs=40",
16
+ "--per_device_train_batch_size=12",
17
+ "--per_device_eval_batch_size=12",
18
+ "--gradient_accumulation_steps=2",
19
+ "--precision=full_mixed",
20
+ "--matmul_precision=bfloat16",
21
+ "--learning_rate=8e-4",
22
+ "--warmup_steps=4000",
23
+ "--length_column_name=input_length",
24
+ "--evaluation_strategy=steps",
25
+ "--text_column_name=text",
26
+ "--save_steps=3153",
27
+ "--eval_steps=3153",
28
+ "--logging_steps=100",
29
+ "--layerdrop=0.041",
30
+ "--attention_dropout=0.094",
31
+ "--activation_dropout=0.055",
32
+ "--hidden_dropout=0.047",
33
+ "--save_total_limit=5",
34
+ "--freeze_feature_encoder",
35
+ "--feat_proj_dropout=0.04",
36
+ "--mask_time_prob=0.082",
37
+ "--mask_time_length=10",
38
+ "--mask_feature_prob=0.25",
39
+ "--mask_feature_length=64",
40
+ "--gradient_checkpointing",
41
+ "--min_duration_in_seconds=0.5",
42
+ "--max_duration_in_seconds=20.0",
43
+ "--use_auth_token",
44
+ "--seed=42",
45
+ "--group_by_length",
46
+ "--do_train",
47
+ "--do_eval",
48
+ "--push_to_hub",
49
+ "--preprocessing_num_workers=32",
50
+ "--ctc_zero_infinity",
51
+ "--do_lower_case",
52
+ "--wandb_project=wav2vec2",
53
+ "--wandb_name=wav2vec2-1b-npsc-nst",
54
+ "--remove_punctuation"
55
+ ],
56
+ "state": "running",
57
+ "program": "run_flax_speech_recognition_ctc.py",
58
+ "codePath": "run_flax_speech_recognition_ctc.py",
59
+ "git": {
60
+ "remote": "https://huggingface.co/NbAiLab/wav2vec2-1b-npsc-nst",
61
+ "commit": "ce31127160a53192d2ac9bed788e4c4291ce0652"
62
+ },
63
+ "email": "versae@gmail.com",
64
+ "root": "/data/wav2vec2-1b-npsc-nst",
65
+ "host": "t1v-n-eedfb410-w-0",
66
+ "username": "javierr",
67
+ "executable": "/data/flax/bin/python"
68
+ }
wandb/run-20220731_115136-a9kwr28f/files/wandb-summary.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"_wandb": {"runtime": 764}}
wandb/run-20220731_115136-a9kwr28f/logs/debug-internal.log ADDED
@@ -0,0 +1,532 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 2022-07-31 11:51:37,317 INFO MainThread:1522181 [internal.py:wandb_internal():87] W&B internal server running at pid: 1522181, started at: 2022-07-31 11:51:37.317240
2
+ 2022-07-31 11:51:37,319 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: check_version
3
+ 2022-07-31 11:51:37,320 INFO WriterThread:1522181 [datastore.py:open_for_write():77] open: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/run-a9kwr28f.wandb
4
+ 2022-07-31 11:51:37,320 DEBUG SenderThread:1522181 [sender.py:send():234] send: header
5
+ 2022-07-31 11:51:37,321 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: check_version
6
+ 2022-07-31 11:51:37,359 DEBUG SenderThread:1522181 [sender.py:send():234] send: run
7
+ 2022-07-31 11:51:37,542 INFO SenderThread:1522181 [dir_watcher.py:__init__():169] watching files in: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files
8
+ 2022-07-31 11:51:37,542 INFO SenderThread:1522181 [sender.py:_start_run_threads():804] run started: a9kwr28f with start time 1659268296
9
+ 2022-07-31 11:51:37,543 DEBUG SenderThread:1522181 [sender.py:send():234] send: summary
10
+ 2022-07-31 11:51:37,543 INFO SenderThread:1522181 [sender.py:_save_file():939] saving file wandb-summary.json with policy end
11
+ 2022-07-31 11:51:37,544 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: run_start
12
+ 2022-07-31 11:51:38,547 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_created():217] file/dir created: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/wandb-summary.json
13
+ 2022-07-31 11:51:39,911 DEBUG HandlerThread:1522181 [meta.py:__init__():40] meta init
14
+ 2022-07-31 11:51:39,911 DEBUG HandlerThread:1522181 [meta.py:__init__():54] meta init done
15
+ 2022-07-31 11:51:39,912 DEBUG HandlerThread:1522181 [meta.py:probe():214] probe
16
+ 2022-07-31 11:51:39,914 DEBUG HandlerThread:1522181 [meta.py:_setup_git():204] setup git
17
+ 2022-07-31 11:51:39,954 DEBUG HandlerThread:1522181 [meta.py:_setup_git():211] setup git done
18
+ 2022-07-31 11:51:39,955 DEBUG HandlerThread:1522181 [meta.py:_save_code():92] save code
19
+ 2022-07-31 11:51:39,968 DEBUG HandlerThread:1522181 [meta.py:_save_code():113] save code done
20
+ 2022-07-31 11:51:39,968 DEBUG HandlerThread:1522181 [meta.py:_save_patches():130] save patches
21
+ 2022-07-31 11:51:40,293 DEBUG HandlerThread:1522181 [meta.py:_save_patches():172] save patches done
22
+ 2022-07-31 11:51:40,293 DEBUG HandlerThread:1522181 [meta.py:_save_pip():58] save pip
23
+ 2022-07-31 11:51:40,294 DEBUG HandlerThread:1522181 [meta.py:_save_pip():72] save pip done
24
+ 2022-07-31 11:51:40,294 DEBUG HandlerThread:1522181 [meta.py:probe():252] probe done
25
+ 2022-07-31 11:51:40,297 DEBUG SenderThread:1522181 [sender.py:send():234] send: files
26
+ 2022-07-31 11:51:40,297 INFO SenderThread:1522181 [sender.py:_save_file():939] saving file wandb-metadata.json with policy now
27
+ 2022-07-31 11:51:40,298 INFO SenderThread:1522181 [sender.py:_save_file():939] saving file code/run_flax_speech_recognition_ctc.py with policy now
28
+ 2022-07-31 11:51:40,299 INFO SenderThread:1522181 [sender.py:_save_file():939] saving file diff.patch with policy now
29
+ 2022-07-31 11:51:40,305 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
30
+ 2022-07-31 11:51:40,306 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
31
+ 2022-07-31 11:51:40,550 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_created():217] file/dir created: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/wandb-metadata.json
32
+ 2022-07-31 11:51:40,551 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_created():217] file/dir created: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/requirements.txt
33
+ 2022-07-31 11:51:40,551 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_created():217] file/dir created: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/code/run_flax_speech_recognition_ctc.py
34
+ 2022-07-31 11:51:40,551 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_created():217] file/dir created: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
35
+ 2022-07-31 11:51:40,551 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_created():217] file/dir created: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/diff.patch
36
+ 2022-07-31 11:51:40,551 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_created():217] file/dir created: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/code
37
+ 2022-07-31 11:51:40,817 INFO Thread-11 :1522181 [upload_job.py:push():137] Uploaded file /tmp/tmpf_y45o5awandb/smtukorm-wandb-metadata.json
38
+ 2022-07-31 11:51:41,009 INFO Thread-13 :1522181 [upload_job.py:push():137] Uploaded file /tmp/tmpf_y45o5awandb/19fl9gh5-diff.patch
39
+ 2022-07-31 11:51:41,055 INFO Thread-12 :1522181 [upload_job.py:push():137] Uploaded file /tmp/tmpf_y45o5awandb/jkaxn2a5-code/run_flax_speech_recognition_ctc.py
40
+ 2022-07-31 11:51:42,551 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
41
+ 2022-07-31 11:51:44,552 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
42
+ 2022-07-31 11:51:46,553 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
43
+ 2022-07-31 11:51:48,553 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
44
+ 2022-07-31 11:51:54,555 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
45
+ 2022-07-31 11:51:55,442 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
46
+ 2022-07-31 11:51:55,443 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
47
+ 2022-07-31 11:51:56,556 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
48
+ 2022-07-31 11:52:07,992 DEBUG SenderThread:1522181 [sender.py:send():234] send: stats
49
+ 2022-07-31 11:52:10,561 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
50
+ 2022-07-31 11:52:10,579 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
51
+ 2022-07-31 11:52:10,579 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
52
+ 2022-07-31 11:52:12,562 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
53
+ 2022-07-31 11:52:21,566 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
54
+ 2022-07-31 11:52:23,567 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
55
+ 2022-07-31 11:52:25,716 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
56
+ 2022-07-31 11:52:25,716 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
57
+ 2022-07-31 11:52:37,572 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
58
+ 2022-07-31 11:52:38,063 DEBUG SenderThread:1522181 [sender.py:send():234] send: stats
59
+ 2022-07-31 11:52:39,573 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
60
+ 2022-07-31 11:52:40,859 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
61
+ 2022-07-31 11:52:40,859 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
62
+ 2022-07-31 11:52:56,009 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
63
+ 2022-07-31 11:52:56,009 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
64
+ 2022-07-31 11:53:08,125 DEBUG SenderThread:1522181 [sender.py:send():234] send: stats
65
+ 2022-07-31 11:53:11,261 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
66
+ 2022-07-31 11:53:11,261 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
67
+ 2022-07-31 11:53:20,586 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
68
+ 2022-07-31 11:53:22,587 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
69
+ 2022-07-31 11:53:24,588 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
70
+ 2022-07-31 11:53:26,473 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
71
+ 2022-07-31 11:53:26,473 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
72
+ 2022-07-31 11:53:26,589 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
73
+ 2022-07-31 11:53:28,590 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
74
+ 2022-07-31 11:53:30,591 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
75
+ 2022-07-31 11:53:32,592 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
76
+ 2022-07-31 11:53:34,593 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
77
+ 2022-07-31 11:53:36,594 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
78
+ 2022-07-31 11:53:38,193 DEBUG SenderThread:1522181 [sender.py:send():234] send: stats
79
+ 2022-07-31 11:53:38,595 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
80
+ 2022-07-31 11:53:40,596 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
81
+ 2022-07-31 11:53:41,666 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
82
+ 2022-07-31 11:53:41,666 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
83
+ 2022-07-31 11:53:42,597 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
84
+ 2022-07-31 11:53:44,598 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
85
+ 2022-07-31 11:53:46,599 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
86
+ 2022-07-31 11:53:48,600 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
87
+ 2022-07-31 11:53:50,601 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
88
+ 2022-07-31 11:53:52,602 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
89
+ 2022-07-31 11:53:54,603 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
90
+ 2022-07-31 11:53:56,604 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
91
+ 2022-07-31 11:53:56,834 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
92
+ 2022-07-31 11:53:56,834 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
93
+ 2022-07-31 11:53:58,605 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
94
+ 2022-07-31 11:54:00,606 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
95
+ 2022-07-31 11:54:02,607 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
96
+ 2022-07-31 11:54:04,608 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
97
+ 2022-07-31 11:54:06,609 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
98
+ 2022-07-31 11:54:08,271 DEBUG SenderThread:1522181 [sender.py:send():234] send: stats
99
+ 2022-07-31 11:54:08,610 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
100
+ 2022-07-31 11:54:10,611 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
101
+ 2022-07-31 11:54:11,991 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
102
+ 2022-07-31 11:54:11,991 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
103
+ 2022-07-31 11:54:12,612 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
104
+ 2022-07-31 11:54:14,613 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
105
+ 2022-07-31 11:54:16,614 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
106
+ 2022-07-31 11:54:18,615 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
107
+ 2022-07-31 11:54:20,617 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
108
+ 2022-07-31 11:54:22,618 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
109
+ 2022-07-31 11:54:24,619 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
110
+ 2022-07-31 11:54:26,620 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
111
+ 2022-07-31 11:54:27,137 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
112
+ 2022-07-31 11:54:27,137 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
113
+ 2022-07-31 11:54:28,621 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
114
+ 2022-07-31 11:54:30,622 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
115
+ 2022-07-31 11:54:32,623 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
116
+ 2022-07-31 11:54:34,628 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
117
+ 2022-07-31 11:54:36,626 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
118
+ 2022-07-31 11:54:38,341 DEBUG SenderThread:1522181 [sender.py:send():234] send: stats
119
+ 2022-07-31 11:54:38,627 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
120
+ 2022-07-31 11:54:40,628 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
121
+ 2022-07-31 11:54:42,276 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
122
+ 2022-07-31 11:54:42,277 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
123
+ 2022-07-31 11:54:42,629 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
124
+ 2022-07-31 11:54:44,630 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
125
+ 2022-07-31 11:54:46,631 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
126
+ 2022-07-31 11:54:48,633 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
127
+ 2022-07-31 11:54:50,634 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
128
+ 2022-07-31 11:54:52,635 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
129
+ 2022-07-31 11:54:54,636 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
130
+ 2022-07-31 11:54:56,637 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
131
+ 2022-07-31 11:54:57,429 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
132
+ 2022-07-31 11:54:57,430 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
133
+ 2022-07-31 11:54:58,639 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
134
+ 2022-07-31 11:55:00,640 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
135
+ 2022-07-31 11:55:02,641 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
136
+ 2022-07-31 11:55:04,642 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
137
+ 2022-07-31 11:55:06,643 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
138
+ 2022-07-31 11:55:08,420 DEBUG SenderThread:1522181 [sender.py:send():234] send: stats
139
+ 2022-07-31 11:55:08,644 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
140
+ 2022-07-31 11:55:10,645 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
141
+ 2022-07-31 11:55:12,571 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
142
+ 2022-07-31 11:55:12,571 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
143
+ 2022-07-31 11:55:12,646 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
144
+ 2022-07-31 11:55:14,647 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
145
+ 2022-07-31 11:55:16,648 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
146
+ 2022-07-31 11:55:18,649 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
147
+ 2022-07-31 11:55:20,650 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
148
+ 2022-07-31 11:55:22,651 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
149
+ 2022-07-31 11:55:24,652 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
150
+ 2022-07-31 11:55:26,653 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
151
+ 2022-07-31 11:55:27,712 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
152
+ 2022-07-31 11:55:27,712 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
153
+ 2022-07-31 11:55:28,654 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
154
+ 2022-07-31 11:55:30,655 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
155
+ 2022-07-31 11:55:32,658 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
156
+ 2022-07-31 11:55:34,659 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
157
+ 2022-07-31 11:55:36,660 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
158
+ 2022-07-31 11:55:38,507 DEBUG SenderThread:1522181 [sender.py:send():234] send: stats
159
+ 2022-07-31 11:55:38,664 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
160
+ 2022-07-31 11:55:40,665 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
161
+ 2022-07-31 11:55:42,666 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
162
+ 2022-07-31 11:55:42,860 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
163
+ 2022-07-31 11:55:42,860 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
164
+ 2022-07-31 11:55:44,667 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
165
+ 2022-07-31 11:55:46,668 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
166
+ 2022-07-31 11:55:48,669 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
167
+ 2022-07-31 11:55:50,670 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
168
+ 2022-07-31 11:55:52,671 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
169
+ 2022-07-31 11:55:55,672 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
170
+ 2022-07-31 11:55:57,673 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
171
+ 2022-07-31 11:55:58,001 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
172
+ 2022-07-31 11:55:58,002 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
173
+ 2022-07-31 11:55:59,674 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
174
+ 2022-07-31 11:56:01,675 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
175
+ 2022-07-31 11:56:03,677 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
176
+ 2022-07-31 11:56:05,678 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
177
+ 2022-07-31 11:56:07,679 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
178
+ 2022-07-31 11:56:08,594 DEBUG SenderThread:1522181 [sender.py:send():234] send: stats
179
+ 2022-07-31 11:56:09,680 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
180
+ 2022-07-31 11:56:11,681 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
181
+ 2022-07-31 11:56:13,136 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
182
+ 2022-07-31 11:56:13,136 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
183
+ 2022-07-31 11:56:13,682 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
184
+ 2022-07-31 11:56:15,683 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
185
+ 2022-07-31 11:56:17,684 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
186
+ 2022-07-31 11:56:19,685 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
187
+ 2022-07-31 11:56:21,687 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
188
+ 2022-07-31 11:56:23,688 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
189
+ 2022-07-31 11:56:25,689 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
190
+ 2022-07-31 11:56:27,690 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
191
+ 2022-07-31 11:56:28,278 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
192
+ 2022-07-31 11:56:28,278 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
193
+ 2022-07-31 11:56:29,691 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
194
+ 2022-07-31 11:56:31,692 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
195
+ 2022-07-31 11:56:33,692 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
196
+ 2022-07-31 11:56:35,694 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
197
+ 2022-07-31 11:56:37,694 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
198
+ 2022-07-31 11:56:38,669 DEBUG SenderThread:1522181 [sender.py:send():234] send: stats
199
+ 2022-07-31 11:56:39,695 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
200
+ 2022-07-31 11:56:41,698 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
201
+ 2022-07-31 11:56:43,424 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
202
+ 2022-07-31 11:56:43,424 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
203
+ 2022-07-31 11:56:43,699 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
204
+ 2022-07-31 11:56:45,701 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
205
+ 2022-07-31 11:56:47,702 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
206
+ 2022-07-31 11:56:49,704 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
207
+ 2022-07-31 11:56:51,705 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
208
+ 2022-07-31 11:56:53,706 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
209
+ 2022-07-31 11:56:55,707 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
210
+ 2022-07-31 11:56:57,708 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
211
+ 2022-07-31 11:56:58,560 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
212
+ 2022-07-31 11:56:58,561 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
213
+ 2022-07-31 11:56:59,709 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
214
+ 2022-07-31 11:57:01,711 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
215
+ 2022-07-31 11:57:03,712 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
216
+ 2022-07-31 11:57:05,713 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
217
+ 2022-07-31 11:57:07,714 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
218
+ 2022-07-31 11:57:08,747 DEBUG SenderThread:1522181 [sender.py:send():234] send: stats
219
+ 2022-07-31 11:57:09,715 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
220
+ 2022-07-31 11:57:11,715 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
221
+ 2022-07-31 11:57:13,704 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
222
+ 2022-07-31 11:57:13,704 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
223
+ 2022-07-31 11:57:13,717 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
224
+ 2022-07-31 11:57:15,718 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
225
+ 2022-07-31 11:57:17,718 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
226
+ 2022-07-31 11:57:19,720 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
227
+ 2022-07-31 11:57:21,721 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
228
+ 2022-07-31 11:57:23,721 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
229
+ 2022-07-31 11:57:25,722 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
230
+ 2022-07-31 11:57:27,723 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
231
+ 2022-07-31 11:57:28,842 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
232
+ 2022-07-31 11:57:28,842 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
233
+ 2022-07-31 11:57:29,724 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
234
+ 2022-07-31 11:57:31,725 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
235
+ 2022-07-31 11:57:33,726 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
236
+ 2022-07-31 11:57:35,727 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
237
+ 2022-07-31 11:57:37,728 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
238
+ 2022-07-31 11:57:38,819 DEBUG SenderThread:1522181 [sender.py:send():234] send: stats
239
+ 2022-07-31 11:57:39,729 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
240
+ 2022-07-31 11:57:41,730 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
241
+ 2022-07-31 11:57:43,731 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
242
+ 2022-07-31 11:57:43,998 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
243
+ 2022-07-31 11:57:43,999 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
244
+ 2022-07-31 11:57:45,732 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
245
+ 2022-07-31 11:57:47,733 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
246
+ 2022-07-31 11:57:49,734 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
247
+ 2022-07-31 11:57:51,736 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
248
+ 2022-07-31 11:57:53,737 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
249
+ 2022-07-31 11:57:55,738 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
250
+ 2022-07-31 11:57:57,739 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
251
+ 2022-07-31 11:57:59,176 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
252
+ 2022-07-31 11:57:59,176 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
253
+ 2022-07-31 11:57:59,740 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
254
+ 2022-07-31 11:58:01,741 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
255
+ 2022-07-31 11:58:03,742 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
256
+ 2022-07-31 11:58:05,743 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
257
+ 2022-07-31 11:58:07,744 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
258
+ 2022-07-31 11:58:08,893 DEBUG SenderThread:1522181 [sender.py:send():234] send: stats
259
+ 2022-07-31 11:58:09,745 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
260
+ 2022-07-31 11:58:11,747 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
261
+ 2022-07-31 11:58:13,748 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
262
+ 2022-07-31 11:58:14,340 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
263
+ 2022-07-31 11:58:14,340 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
264
+ 2022-07-31 11:58:15,749 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
265
+ 2022-07-31 11:58:17,751 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
266
+ 2022-07-31 11:58:19,752 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
267
+ 2022-07-31 11:58:21,753 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
268
+ 2022-07-31 11:58:23,755 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
269
+ 2022-07-31 11:58:29,478 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
270
+ 2022-07-31 11:58:29,479 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
271
+ 2022-07-31 11:58:33,758 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
272
+ 2022-07-31 11:58:35,759 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
273
+ 2022-07-31 11:58:37,760 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
274
+ 2022-07-31 11:58:38,973 DEBUG SenderThread:1522181 [sender.py:send():234] send: stats
275
+ 2022-07-31 11:58:39,761 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
276
+ 2022-07-31 11:58:41,762 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
277
+ 2022-07-31 11:58:43,763 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
278
+ 2022-07-31 11:58:44,625 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
279
+ 2022-07-31 11:58:44,683 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
280
+ 2022-07-31 11:58:45,764 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
281
+ 2022-07-31 11:58:47,765 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
282
+ 2022-07-31 11:58:49,766 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
283
+ 2022-07-31 11:58:51,767 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
284
+ 2022-07-31 11:58:53,769 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
285
+ 2022-07-31 11:58:55,770 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
286
+ 2022-07-31 11:58:57,771 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
287
+ 2022-07-31 11:58:59,772 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
288
+ 2022-07-31 11:58:59,834 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
289
+ 2022-07-31 11:58:59,906 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
290
+ 2022-07-31 11:59:09,051 DEBUG SenderThread:1522181 [sender.py:send():234] send: stats
291
+ 2022-07-31 11:59:15,045 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
292
+ 2022-07-31 11:59:15,045 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
293
+ 2022-07-31 11:59:28,785 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
294
+ 2022-07-31 11:59:30,201 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
295
+ 2022-07-31 11:59:30,202 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
296
+ 2022-07-31 11:59:30,786 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
297
+ 2022-07-31 11:59:32,787 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
298
+ 2022-07-31 11:59:34,788 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
299
+ 2022-07-31 11:59:36,788 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
300
+ 2022-07-31 11:59:38,790 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
301
+ 2022-07-31 11:59:39,128 DEBUG SenderThread:1522181 [sender.py:send():234] send: stats
302
+ 2022-07-31 11:59:40,791 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
303
+ 2022-07-31 11:59:42,792 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
304
+ 2022-07-31 11:59:44,793 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
305
+ 2022-07-31 11:59:45,337 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
306
+ 2022-07-31 11:59:45,338 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
307
+ 2022-07-31 11:59:46,794 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
308
+ 2022-07-31 11:59:48,795 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
309
+ 2022-07-31 11:59:50,796 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
310
+ 2022-07-31 11:59:52,797 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
311
+ 2022-07-31 11:59:54,798 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
312
+ 2022-07-31 11:59:56,799 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
313
+ 2022-07-31 11:59:58,800 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
314
+ 2022-07-31 12:00:00,483 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
315
+ 2022-07-31 12:00:00,483 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
316
+ 2022-07-31 12:00:04,802 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
317
+ 2022-07-31 12:00:06,804 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
318
+ 2022-07-31 12:00:08,805 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
319
+ 2022-07-31 12:00:09,194 DEBUG SenderThread:1522181 [sender.py:send():234] send: stats
320
+ 2022-07-31 12:00:10,807 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
321
+ 2022-07-31 12:00:12,808 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
322
+ 2022-07-31 12:00:14,809 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
323
+ 2022-07-31 12:00:15,621 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
324
+ 2022-07-31 12:00:15,622 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
325
+ 2022-07-31 12:00:30,785 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
326
+ 2022-07-31 12:00:30,786 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
327
+ 2022-07-31 12:00:39,276 DEBUG SenderThread:1522181 [sender.py:send():234] send: stats
328
+ 2022-07-31 12:00:45,936 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
329
+ 2022-07-31 12:00:45,936 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
330
+ 2022-07-31 12:00:46,824 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
331
+ 2022-07-31 12:00:48,825 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
332
+ 2022-07-31 12:00:50,826 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
333
+ 2022-07-31 12:00:52,828 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
334
+ 2022-07-31 12:00:54,828 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
335
+ 2022-07-31 12:00:56,829 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
336
+ 2022-07-31 12:00:58,830 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
337
+ 2022-07-31 12:01:00,831 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
338
+ 2022-07-31 12:01:01,109 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
339
+ 2022-07-31 12:01:01,109 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
340
+ 2022-07-31 12:01:02,832 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
341
+ 2022-07-31 12:01:04,833 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
342
+ 2022-07-31 12:01:06,834 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
343
+ 2022-07-31 12:01:08,835 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
344
+ 2022-07-31 12:01:09,352 DEBUG SenderThread:1522181 [sender.py:send():234] send: stats
345
+ 2022-07-31 12:01:10,836 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
346
+ 2022-07-31 12:01:12,837 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
347
+ 2022-07-31 12:01:14,838 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
348
+ 2022-07-31 12:01:16,273 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
349
+ 2022-07-31 12:01:16,273 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
350
+ 2022-07-31 12:01:16,839 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
351
+ 2022-07-31 12:01:20,841 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
352
+ 2022-07-31 12:01:22,842 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
353
+ 2022-07-31 12:01:24,843 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
354
+ 2022-07-31 12:01:26,844 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
355
+ 2022-07-31 12:01:28,845 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
356
+ 2022-07-31 12:01:30,846 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
357
+ 2022-07-31 12:01:31,429 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
358
+ 2022-07-31 12:01:31,429 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
359
+ 2022-07-31 12:01:32,847 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
360
+ 2022-07-31 12:01:34,852 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
361
+ 2022-07-31 12:01:36,853 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
362
+ 2022-07-31 12:01:38,854 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
363
+ 2022-07-31 12:01:39,424 DEBUG SenderThread:1522181 [sender.py:send():234] send: stats
364
+ 2022-07-31 12:01:40,855 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
365
+ 2022-07-31 12:01:42,856 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
366
+ 2022-07-31 12:01:44,857 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
367
+ 2022-07-31 12:01:46,572 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
368
+ 2022-07-31 12:01:46,572 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
369
+ 2022-07-31 12:01:46,858 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
370
+ 2022-07-31 12:01:48,862 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
371
+ 2022-07-31 12:01:50,863 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
372
+ 2022-07-31 12:01:52,870 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
373
+ 2022-07-31 12:01:54,871 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
374
+ 2022-07-31 12:01:56,873 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
375
+ 2022-07-31 12:01:58,873 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
376
+ 2022-07-31 12:02:00,874 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
377
+ 2022-07-31 12:02:01,748 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
378
+ 2022-07-31 12:02:01,749 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
379
+ 2022-07-31 12:02:02,875 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
380
+ 2022-07-31 12:02:04,877 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
381
+ 2022-07-31 12:02:06,879 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
382
+ 2022-07-31 12:02:08,880 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
383
+ 2022-07-31 12:02:09,502 DEBUG SenderThread:1522181 [sender.py:send():234] send: stats
384
+ 2022-07-31 12:02:10,881 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
385
+ 2022-07-31 12:02:16,888 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
386
+ 2022-07-31 12:02:16,888 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
387
+ 2022-07-31 12:02:32,103 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
388
+ 2022-07-31 12:02:32,104 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
389
+ 2022-07-31 12:02:39,568 DEBUG SenderThread:1522181 [sender.py:send():234] send: stats
390
+ 2022-07-31 12:02:47,238 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
391
+ 2022-07-31 12:02:47,238 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
392
+ 2022-07-31 12:02:57,898 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
393
+ 2022-07-31 12:03:02,641 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
394
+ 2022-07-31 12:03:02,641 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
395
+ 2022-07-31 12:03:03,901 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
396
+ 2022-07-31 12:03:09,631 DEBUG SenderThread:1522181 [sender.py:send():234] send: stats
397
+ 2022-07-31 12:03:09,903 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
398
+ 2022-07-31 12:03:16,906 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
399
+ 2022-07-31 12:03:17,855 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
400
+ 2022-07-31 12:03:17,856 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
401
+ 2022-07-31 12:03:22,909 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
402
+ 2022-07-31 12:03:29,912 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
403
+ 2022-07-31 12:03:31,913 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
404
+ 2022-07-31 12:03:33,096 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
405
+ 2022-07-31 12:03:33,096 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
406
+ 2022-07-31 12:03:35,914 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
407
+ 2022-07-31 12:03:37,915 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
408
+ 2022-07-31 12:03:39,694 DEBUG SenderThread:1522181 [sender.py:send():234] send: stats
409
+ 2022-07-31 12:03:39,916 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
410
+ 2022-07-31 12:03:47,918 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
411
+ 2022-07-31 12:03:48,475 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
412
+ 2022-07-31 12:03:48,475 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
413
+ 2022-07-31 12:04:03,828 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
414
+ 2022-07-31 12:04:03,828 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
415
+ 2022-07-31 12:04:08,926 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
416
+ 2022-07-31 12:04:09,756 DEBUG SenderThread:1522181 [sender.py:send():234] send: stats
417
+ 2022-07-31 12:04:18,985 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: stop_status
418
+ 2022-07-31 12:04:18,985 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: stop_status
419
+ 2022-07-31 12:04:20,930 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
420
+ 2022-07-31 12:04:22,387 DEBUG SenderThread:1522181 [sender.py:send():234] send: telemetry
421
+ 2022-07-31 12:04:22,387 DEBUG SenderThread:1522181 [sender.py:send():234] send: exit
422
+ 2022-07-31 12:04:22,387 INFO SenderThread:1522181 [sender.py:send_exit():366] handling exit code: 1
423
+ 2022-07-31 12:04:22,389 INFO SenderThread:1522181 [sender.py:send_exit():368] handling runtime: 764
424
+ 2022-07-31 12:04:22,389 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: poll_exit
425
+ 2022-07-31 12:04:22,390 INFO SenderThread:1522181 [sender.py:_save_file():939] saving file wandb-summary.json with policy end
426
+ 2022-07-31 12:04:22,390 INFO SenderThread:1522181 [sender.py:send_exit():374] send defer
427
+ 2022-07-31 12:04:22,390 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: poll_exit
428
+ 2022-07-31 12:04:22,391 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: defer
429
+ 2022-07-31 12:04:22,391 INFO HandlerThread:1522181 [handler.py:handle_request_defer():147] handle defer: 0
430
+ 2022-07-31 12:04:22,391 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: defer
431
+ 2022-07-31 12:04:22,391 INFO SenderThread:1522181 [sender.py:send_request_defer():383] handle sender defer: 0
432
+ 2022-07-31 12:04:22,391 INFO SenderThread:1522181 [sender.py:transition_state():387] send defer: 1
433
+ 2022-07-31 12:04:22,392 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: defer
434
+ 2022-07-31 12:04:22,392 INFO HandlerThread:1522181 [handler.py:handle_request_defer():147] handle defer: 1
435
+ 2022-07-31 12:04:22,482 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: defer
436
+ 2022-07-31 12:04:22,482 INFO SenderThread:1522181 [sender.py:send_request_defer():383] handle sender defer: 1
437
+ 2022-07-31 12:04:22,482 INFO SenderThread:1522181 [sender.py:transition_state():387] send defer: 2
438
+ 2022-07-31 12:04:22,482 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: defer
439
+ 2022-07-31 12:04:22,482 DEBUG SenderThread:1522181 [sender.py:send():234] send: stats
440
+ 2022-07-31 12:04:22,482 INFO HandlerThread:1522181 [handler.py:handle_request_defer():147] handle defer: 2
441
+ 2022-07-31 12:04:22,483 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: defer
442
+ 2022-07-31 12:04:22,483 INFO SenderThread:1522181 [sender.py:send_request_defer():383] handle sender defer: 2
443
+ 2022-07-31 12:04:22,483 INFO SenderThread:1522181 [sender.py:transition_state():387] send defer: 3
444
+ 2022-07-31 12:04:22,483 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: defer
445
+ 2022-07-31 12:04:22,483 INFO HandlerThread:1522181 [handler.py:handle_request_defer():147] handle defer: 3
446
+ 2022-07-31 12:04:22,484 DEBUG SenderThread:1522181 [sender.py:send():234] send: summary
447
+ 2022-07-31 12:04:22,484 INFO SenderThread:1522181 [sender.py:_save_file():939] saving file wandb-summary.json with policy end
448
+ 2022-07-31 12:04:22,484 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: defer
449
+ 2022-07-31 12:04:22,484 INFO SenderThread:1522181 [sender.py:send_request_defer():383] handle sender defer: 3
450
+ 2022-07-31 12:04:22,484 INFO SenderThread:1522181 [sender.py:transition_state():387] send defer: 4
451
+ 2022-07-31 12:04:22,484 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: defer
452
+ 2022-07-31 12:04:22,485 INFO HandlerThread:1522181 [handler.py:handle_request_defer():147] handle defer: 4
453
+ 2022-07-31 12:04:22,485 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: defer
454
+ 2022-07-31 12:04:22,485 INFO SenderThread:1522181 [sender.py:send_request_defer():383] handle sender defer: 4
455
+ 2022-07-31 12:04:22,493 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: poll_exit
456
+ 2022-07-31 12:04:22,646 INFO SenderThread:1522181 [sender.py:transition_state():387] send defer: 5
457
+ 2022-07-31 12:04:22,646 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: poll_exit
458
+ 2022-07-31 12:04:22,647 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: defer
459
+ 2022-07-31 12:04:22,647 INFO HandlerThread:1522181 [handler.py:handle_request_defer():147] handle defer: 5
460
+ 2022-07-31 12:04:22,647 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: defer
461
+ 2022-07-31 12:04:22,647 INFO SenderThread:1522181 [sender.py:send_request_defer():383] handle sender defer: 5
462
+ 2022-07-31 12:04:22,647 INFO SenderThread:1522181 [dir_watcher.py:finish():283] shutting down directory watcher
463
+ 2022-07-31 12:04:22,748 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: poll_exit
464
+ 2022-07-31 12:04:22,931 INFO Thread-8 :1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
465
+ 2022-07-31 12:04:22,931 INFO SenderThread:1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/config.yaml
466
+ 2022-07-31 12:04:22,932 INFO SenderThread:1522181 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/wandb-summary.json
467
+ 2022-07-31 12:04:22,932 INFO SenderThread:1522181 [dir_watcher.py:finish():313] scan: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files
468
+ 2022-07-31 12:04:22,932 INFO SenderThread:1522181 [dir_watcher.py:finish():327] scan save: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/config.yaml config.yaml
469
+ 2022-07-31 12:04:22,932 INFO SenderThread:1522181 [dir_watcher.py:finish():327] scan save: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/diff.patch diff.patch
470
+ 2022-07-31 12:04:22,932 INFO SenderThread:1522181 [dir_watcher.py:finish():327] scan save: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/requirements.txt requirements.txt
471
+ 2022-07-31 12:04:22,932 INFO SenderThread:1522181 [dir_watcher.py:finish():327] scan save: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log output.log
472
+ 2022-07-31 12:04:22,933 INFO SenderThread:1522181 [dir_watcher.py:finish():327] scan save: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/wandb-summary.json wandb-summary.json
473
+ 2022-07-31 12:04:22,933 INFO SenderThread:1522181 [dir_watcher.py:finish():327] scan save: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/wandb-metadata.json wandb-metadata.json
474
+ 2022-07-31 12:04:22,933 INFO SenderThread:1522181 [dir_watcher.py:finish():327] scan save: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/code/run_flax_speech_recognition_ctc.py code/run_flax_speech_recognition_ctc.py
475
+ 2022-07-31 12:04:22,934 INFO SenderThread:1522181 [sender.py:transition_state():387] send defer: 6
476
+ 2022-07-31 12:04:22,934 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: poll_exit
477
+ 2022-07-31 12:04:22,934 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: defer
478
+ 2022-07-31 12:04:22,937 INFO HandlerThread:1522181 [handler.py:handle_request_defer():147] handle defer: 6
479
+ 2022-07-31 12:04:22,938 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: defer
480
+ 2022-07-31 12:04:22,940 INFO SenderThread:1522181 [sender.py:send_request_defer():383] handle sender defer: 6
481
+ 2022-07-31 12:04:22,941 INFO SenderThread:1522181 [file_pusher.py:finish():177] shutting down file pusher
482
+ 2022-07-31 12:04:23,036 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: poll_exit
483
+ 2022-07-31 12:04:23,036 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: poll_exit
484
+ 2022-07-31 12:04:23,138 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: poll_exit
485
+ 2022-07-31 12:04:23,138 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: poll_exit
486
+ 2022-07-31 12:04:23,240 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: poll_exit
487
+ 2022-07-31 12:04:23,240 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: poll_exit
488
+ 2022-07-31 12:04:23,342 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: poll_exit
489
+ 2022-07-31 12:04:23,342 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: poll_exit
490
+ 2022-07-31 12:04:23,406 INFO Thread-15 :1522181 [upload_job.py:push():137] Uploaded file /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/requirements.txt
491
+ 2022-07-31 12:04:23,412 INFO Thread-14 :1522181 [upload_job.py:push():137] Uploaded file /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/config.yaml
492
+ 2022-07-31 12:04:23,444 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: poll_exit
493
+ 2022-07-31 12:04:23,444 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: poll_exit
494
+ 2022-07-31 12:04:23,455 INFO Thread-17 :1522181 [upload_job.py:push():137] Uploaded file /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/wandb-summary.json
495
+ 2022-07-31 12:04:23,546 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: poll_exit
496
+ 2022-07-31 12:04:23,546 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: poll_exit
497
+ 2022-07-31 12:04:23,623 INFO Thread-16 :1522181 [upload_job.py:push():137] Uploaded file /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/files/output.log
498
+ 2022-07-31 12:04:23,648 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: poll_exit
499
+ 2022-07-31 12:04:23,648 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: poll_exit
500
+ 2022-07-31 12:04:23,750 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: poll_exit
501
+ 2022-07-31 12:04:23,750 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: poll_exit
502
+ 2022-07-31 12:04:23,823 INFO Thread-7 :1522181 [sender.py:transition_state():387] send defer: 7
503
+ 2022-07-31 12:04:23,824 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: defer
504
+ 2022-07-31 12:04:23,824 INFO HandlerThread:1522181 [handler.py:handle_request_defer():147] handle defer: 7
505
+ 2022-07-31 12:04:23,824 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: defer
506
+ 2022-07-31 12:04:23,824 INFO SenderThread:1522181 [sender.py:send_request_defer():383] handle sender defer: 7
507
+ 2022-07-31 12:04:23,852 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: poll_exit
508
+ 2022-07-31 12:04:24,327 INFO SenderThread:1522181 [sender.py:transition_state():387] send defer: 8
509
+ 2022-07-31 12:04:24,327 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: poll_exit
510
+ 2022-07-31 12:04:24,328 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: defer
511
+ 2022-07-31 12:04:24,328 INFO HandlerThread:1522181 [handler.py:handle_request_defer():147] handle defer: 8
512
+ 2022-07-31 12:04:24,328 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: defer
513
+ 2022-07-31 12:04:24,328 INFO SenderThread:1522181 [sender.py:send_request_defer():383] handle sender defer: 8
514
+ 2022-07-31 12:04:24,328 INFO SenderThread:1522181 [sender.py:transition_state():387] send defer: 9
515
+ 2022-07-31 12:04:24,328 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: defer
516
+ 2022-07-31 12:04:24,329 INFO HandlerThread:1522181 [handler.py:handle_request_defer():147] handle defer: 9
517
+ 2022-07-31 12:04:24,329 DEBUG SenderThread:1522181 [sender.py:send():234] send: final
518
+ 2022-07-31 12:04:24,329 DEBUG SenderThread:1522181 [sender.py:send():234] send: footer
519
+ 2022-07-31 12:04:24,329 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: defer
520
+ 2022-07-31 12:04:24,329 INFO SenderThread:1522181 [sender.py:send_request_defer():383] handle sender defer: 9
521
+ 2022-07-31 12:04:24,429 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: poll_exit
522
+ 2022-07-31 12:04:24,430 DEBUG SenderThread:1522181 [sender.py:send_request():248] send_request: poll_exit
523
+ 2022-07-31 12:04:24,430 INFO SenderThread:1522181 [file_pusher.py:join():182] waiting for file pusher
524
+ 2022-07-31 12:04:24,737 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: get_summary
525
+ 2022-07-31 12:04:24,738 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: sampled_history
526
+ 2022-07-31 12:04:24,738 DEBUG HandlerThread:1522181 [handler.py:handle_request():130] handle_request: shutdown
527
+ 2022-07-31 12:04:24,738 INFO HandlerThread:1522181 [handler.py:finish():731] shutting down handler
528
+ 2022-07-31 12:04:25,329 INFO WriterThread:1522181 [datastore.py:close():281] close: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/run-a9kwr28f.wandb
529
+ 2022-07-31 12:04:25,735 INFO SenderThread:1522181 [sender.py:finish():1070] shutting down sender
530
+ 2022-07-31 12:04:25,736 INFO SenderThread:1522181 [file_pusher.py:finish():177] shutting down file pusher
531
+ 2022-07-31 12:04:25,736 INFO SenderThread:1522181 [file_pusher.py:join():182] waiting for file pusher
532
+ 2022-07-31 12:04:25,739 INFO MainThread:1522181 [internal.py:handle_exit():77] Internal process exited
wandb/run-20220731_115136-a9kwr28f/logs/debug.log ADDED
@@ -0,0 +1,148 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 2022-07-31 11:51:36,421 INFO MainThread:1520908 [wandb_setup.py:_flush():71] setting env: {'project': 'wav2vec2', 'entity': 'NbAiLab'}
2
+ 2022-07-31 11:51:36,421 INFO MainThread:1520908 [wandb_setup.py:_flush():71] setting login settings: {}
3
+ 2022-07-31 11:51:36,421 INFO MainThread:1520908 [wandb_init.py:_log_setup():371] Logging user logs to /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/logs/debug.log
4
+ 2022-07-31 11:51:36,421 INFO MainThread:1520908 [wandb_init.py:_log_setup():372] Logging internal logs to /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_115136-a9kwr28f/logs/debug-internal.log
5
+ 2022-07-31 11:51:36,421 INFO MainThread:1520908 [wandb_init.py:init():404] calling init triggers
6
+ 2022-07-31 11:51:36,421 INFO MainThread:1520908 [wandb_init.py:init():409] wandb.init called with sweep_config: {}
7
+ config: {}
8
+ 2022-07-31 11:51:36,421 INFO MainThread:1520908 [wandb_init.py:init():460] starting backend
9
+ 2022-07-31 11:51:36,421 INFO MainThread:1520908 [backend.py:_multiprocessing_setup():99] multiprocessing start_methods=fork,spawn,forkserver, using: spawn
10
+ 2022-07-31 11:51:36,471 INFO MainThread:1520908 [backend.py:ensure_launched():216] starting backend process...
11
+ 2022-07-31 11:51:36,516 INFO MainThread:1520908 [backend.py:ensure_launched():221] started backend process with pid: 1522181
12
+ 2022-07-31 11:51:36,518 INFO MainThread:1520908 [wandb_init.py:init():469] backend started and connected
13
+ 2022-07-31 11:51:36,533 INFO MainThread:1520908 [wandb_init.py:init():533] updated telemetry
14
+ 2022-07-31 11:51:36,647 INFO MainThread:1520908 [wandb_init.py:init():563] communicating current version
15
+ 2022-07-31 11:51:37,358 INFO MainThread:1520908 [wandb_init.py:init():568] got version response upgrade_message: "wandb version 0.12.21 is available! To upgrade, please run:\n $ pip install wandb --upgrade"
16
+
17
+ 2022-07-31 11:51:37,358 INFO MainThread:1520908 [wandb_init.py:init():578] communicating run to backend with 30 second timeout
18
+ 2022-07-31 11:51:37,544 INFO MainThread:1520908 [wandb_init.py:init():606] starting run threads in backend
19
+ 2022-07-31 11:51:40,302 INFO MainThread:1520908 [wandb_run.py:_console_start():1810] atexit reg
20
+ 2022-07-31 11:51:40,302 INFO MainThread:1520908 [wandb_run.py:_redirect():1684] redirect: SettingsConsole.REDIRECT
21
+ 2022-07-31 11:51:40,303 INFO MainThread:1520908 [wandb_run.py:_redirect():1689] Redirecting console.
22
+ 2022-07-31 11:51:40,305 INFO MainThread:1520908 [wandb_run.py:_redirect():1745] Redirects installed.
23
+ 2022-07-31 11:51:40,305 INFO MainThread:1520908 [wandb_init.py:init():633] run started, returning control to user process
24
+ 2022-07-31 12:04:20,156 INFO MainThread:1520908 [wandb_run.py:_atexit_cleanup():1780] got exitcode: 1
25
+ 2022-07-31 12:04:20,158 INFO MainThread:1520908 [wandb_run.py:_restore():1752] restore
26
+ 2022-07-31 12:04:22,391 INFO MainThread:1520908 [wandb_run.py:_wait_for_finish():1912] got exit ret: file_counts {
27
+ wandb_count: 2
28
+ other_count: 1
29
+ }
30
+ pusher_stats {
31
+ uploaded_bytes: 301937
32
+ total_bytes: 301937
33
+ }
34
+
35
+ 2022-07-31 12:04:22,647 INFO MainThread:1520908 [wandb_run.py:_wait_for_finish():1912] got exit ret: file_counts {
36
+ wandb_count: 2
37
+ other_count: 1
38
+ }
39
+ pusher_stats {
40
+ uploaded_bytes: 301937
41
+ total_bytes: 301937
42
+ }
43
+
44
+ 2022-07-31 12:04:22,934 INFO MainThread:1520908 [wandb_run.py:_wait_for_finish():1912] got exit ret: file_counts {
45
+ wandb_count: 6
46
+ other_count: 1
47
+ }
48
+ pusher_stats {
49
+ uploaded_bytes: 301937
50
+ total_bytes: 617690
51
+ }
52
+
53
+ 2022-07-31 12:04:23,037 INFO MainThread:1520908 [wandb_run.py:_wait_for_finish():1912] got exit ret: file_counts {
54
+ wandb_count: 6
55
+ other_count: 1
56
+ }
57
+ pusher_stats {
58
+ uploaded_bytes: 301937
59
+ total_bytes: 617690
60
+ }
61
+
62
+ 2022-07-31 12:04:23,139 INFO MainThread:1520908 [wandb_run.py:_wait_for_finish():1912] got exit ret: file_counts {
63
+ wandb_count: 6
64
+ other_count: 1
65
+ }
66
+ pusher_stats {
67
+ uploaded_bytes: 617690
68
+ total_bytes: 617690
69
+ }
70
+
71
+ 2022-07-31 12:04:23,241 INFO MainThread:1520908 [wandb_run.py:_wait_for_finish():1912] got exit ret: file_counts {
72
+ wandb_count: 6
73
+ other_count: 1
74
+ }
75
+ pusher_stats {
76
+ uploaded_bytes: 617690
77
+ total_bytes: 617690
78
+ }
79
+
80
+ 2022-07-31 12:04:23,343 INFO MainThread:1520908 [wandb_run.py:_wait_for_finish():1912] got exit ret: file_counts {
81
+ wandb_count: 6
82
+ other_count: 1
83
+ }
84
+ pusher_stats {
85
+ uploaded_bytes: 617690
86
+ total_bytes: 617690
87
+ }
88
+
89
+ 2022-07-31 12:04:23,445 INFO MainThread:1520908 [wandb_run.py:_wait_for_finish():1912] got exit ret: file_counts {
90
+ wandb_count: 6
91
+ other_count: 1
92
+ }
93
+ pusher_stats {
94
+ uploaded_bytes: 617690
95
+ total_bytes: 617690
96
+ }
97
+
98
+ 2022-07-31 12:04:23,547 INFO MainThread:1520908 [wandb_run.py:_wait_for_finish():1912] got exit ret: file_counts {
99
+ wandb_count: 6
100
+ other_count: 1
101
+ }
102
+ pusher_stats {
103
+ uploaded_bytes: 617690
104
+ total_bytes: 617690
105
+ }
106
+
107
+ 2022-07-31 12:04:23,649 INFO MainThread:1520908 [wandb_run.py:_wait_for_finish():1912] got exit ret: file_counts {
108
+ wandb_count: 6
109
+ other_count: 1
110
+ }
111
+ pusher_stats {
112
+ uploaded_bytes: 617690
113
+ total_bytes: 617690
114
+ }
115
+
116
+ 2022-07-31 12:04:23,751 INFO MainThread:1520908 [wandb_run.py:_wait_for_finish():1912] got exit ret: file_counts {
117
+ wandb_count: 6
118
+ other_count: 1
119
+ }
120
+ pusher_stats {
121
+ uploaded_bytes: 617690
122
+ total_bytes: 617690
123
+ }
124
+
125
+ 2022-07-31 12:04:24,328 INFO MainThread:1520908 [wandb_run.py:_wait_for_finish():1912] got exit ret: file_counts {
126
+ wandb_count: 6
127
+ other_count: 1
128
+ }
129
+ pusher_stats {
130
+ uploaded_bytes: 617690
131
+ total_bytes: 617690
132
+ }
133
+
134
+ 2022-07-31 12:04:24,736 INFO MainThread:1520908 [wandb_run.py:_wait_for_finish():1912] got exit ret: done: true
135
+ exit_result {
136
+ }
137
+ file_counts {
138
+ wandb_count: 6
139
+ other_count: 1
140
+ }
141
+ pusher_stats {
142
+ uploaded_bytes: 617690
143
+ total_bytes: 617690
144
+ }
145
+ local_info {
146
+ }
147
+
148
+ 2022-07-31 12:04:26,498 INFO MainThread:1520908 [wandb_run.py:_append_files():2180] logging synced files
wandb/run-20220731_115136-a9kwr28f/run-a9kwr28f.wandb ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b2f5d8625d527afe9282afb0f6f02b299bf8395d385b9e5d493509681c6918ce
3
+ size 439578
wandb/run-20220731_120912-3m2amvk9/files/code/run_flax_speech_recognition_ctc.py ADDED
@@ -0,0 +1,1604 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python
2
+ # coding=utf-8
3
+ # Copyright 2022 The HuggingFace Team All rights reserved.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ """
17
+ Fine-tuning the Flax library models for connectionist temporal classification (CTC) speech recognition.
18
+ """
19
+ # You can also adapt this script on your own sequence to sequence task. Pointers for this are left as comments.
20
+
21
+ import logging
22
+ import math
23
+ import os
24
+ import re
25
+ import sys
26
+ import time
27
+ from dataclasses import dataclass, field
28
+ from pathlib import Path
29
+ from typing import Any, Callable, Dict, List, Optional, Union
30
+
31
+ import datasets
32
+ import numpy as np
33
+ from datasets import DatasetDict, load_dataset, load_metric
34
+ from tqdm import tqdm
35
+
36
+ import flax
37
+ import jax
38
+ import jax.numpy as jnp
39
+ import optax
40
+ import transformers
41
+ import wandb as wandb
42
+ from flax import core, jax_utils, struct, traverse_util
43
+ from flax.jax_utils import unreplicate, pad_shard_unpad
44
+ from flax.training.common_utils import get_metrics, shard, shard_prng_key
45
+ from huggingface_hub import Repository
46
+ from models import Wav2Vec2Config, FlaxWav2Vec2ForCTC
47
+ from optax._src import linear_algebra
48
+ from transformers import (
49
+ AutoFeatureExtractor,
50
+ AutoProcessor,
51
+ AutoTokenizer,
52
+ HfArgumentParser,
53
+ TrainingArguments,
54
+ is_tensorboard_available,
55
+ set_seed,
56
+ )
57
+ from transformers.file_utils import get_full_repo_name
58
+ from transformers.utils import check_min_version
59
+ from transformers.utils.versions import require_version
60
+
61
+
62
+ # Will error if the minimal version of Transformers is not installed. Remove at your own risks.
63
+ check_min_version("4.17.0.dev0")
64
+
65
+ require_version("datasets>=1.18.0", "To fix: pip install -r examples/pytorch/speech-recognition/requirements.txt")
66
+
67
+ logger = logging.getLogger(__name__)
68
+
69
+
70
+ @flax.struct.dataclass
71
+ class ModelArguments:
72
+ """
73
+ Arguments pertaining to which model/config/tokenizer we are going to fine-tune from.
74
+ """
75
+
76
+ model_name_or_path: str = field(
77
+ metadata={"help": "Path to pretrained model or model identifier from huggingface.co/models"}
78
+ )
79
+ config_name: Optional[str] = field(
80
+ default=None, metadata={"help": "Pretrained config name or path if not the same as model_name"}
81
+ )
82
+ tokenizer_name: Optional[str] = field(
83
+ default=None, metadata={"help": "Pretrained tokenizer name or path if not the same as model_name"}
84
+ )
85
+ feature_extractor_name: Optional[str] = field(
86
+ default=None, metadata={"help": "feature extractor name or path if not the same as model_name"}
87
+ )
88
+ cache_dir: Optional[str] = field(
89
+ default=None,
90
+ metadata={"help": "Where to store the pretrained models downloaded from huggingface.co"},
91
+ )
92
+ use_fast_tokenizer: bool = field(
93
+ default=True,
94
+ metadata={"help": "Whether to use one of the fast tokenizer (backed by the tokenizers library) or not."},
95
+ )
96
+ model_revision: str = field(
97
+ default="main",
98
+ metadata={"help": "The specific model version to use (can be a branch name, tag name or commit id)."},
99
+ )
100
+ use_auth_token: bool = field(
101
+ default=False,
102
+ metadata={
103
+ "help": "Will use the token generated when running `transformers-cli login` (necessary to use this script "
104
+ "with private models)."
105
+ },
106
+ )
107
+ freeze_feature_encoder: bool = field(
108
+ default=True, metadata={"help": "Whether to freeze the feature encoder layers of the model."}
109
+ )
110
+ attention_dropout: float = field(
111
+ default=0.0, metadata={"help": "The dropout ratio for the attention probabilities."}
112
+ )
113
+ activation_dropout: float = field(
114
+ default=0.1,
115
+ metadata={
116
+ "help": "The hidden activation dropout probability in the embeddings, encoder, and pooler."
117
+ },
118
+ )
119
+ hidden_dropout: float = field(
120
+ default=0.1,
121
+ metadata={
122
+ "help": "The dropout probability for all fully connected layers in the embeddings, encoder, and pooler."
123
+ },
124
+ )
125
+ feat_proj_dropout: float = field(
126
+ default=0.0,
127
+ metadata={
128
+ "help": "The feat proj dropout probability for feature encoder representations."
129
+ },
130
+ )
131
+ final_dropout: float = field(
132
+ default=0.0,
133
+ metadata={"help": "The dropout probability for the final projection layer."},
134
+ )
135
+ mask_time_prob: float = field(
136
+ default=0.1,
137
+ metadata={
138
+ "help": "The spec aug dropout probability for feature encoder representations."
139
+ },
140
+ )
141
+ mask_time_length: int = field(
142
+ default=10,
143
+ metadata={"help": "Length of vector span to mask along the time axis."},
144
+ )
145
+ mask_feature_prob: float = field(
146
+ default=0.0,
147
+ metadata={
148
+ "help": "Probability of each feature vector along the feature axis to be chosen as the start of the vector"
149
+ "span to be masked. Approximately ``mask_feature_prob * sequence_length // mask_feature_length`` feature bins will be masked along the time axis."
150
+ },
151
+ )
152
+ mask_feature_length: int = field(
153
+ default=10,
154
+ metadata={"help": "Length of vector span to mask along the feature axis."},
155
+ )
156
+ layerdrop: float = field(default=0.0, metadata={"help": "The LayerDrop probability."})
157
+ ctc_loss_reduction: Optional[str] = field(
158
+ default="mean", metadata={"help": "The way the ctc loss should be reduced. Should be one of 'mean' or 'sum'."}
159
+ )
160
+ ctc_zero_infinity: Optional[bool] = field(
161
+ default=False, metadata={"help": "If True, will try yo aboud the CTC loss goinf to infinity."}
162
+ )
163
+
164
+
165
+ @flax.struct.dataclass
166
+ class DataTrainingArguments:
167
+ """
168
+ Arguments pertaining to what data we are going to input our model for training and eval.
169
+ """
170
+
171
+ dataset_name: str = field(
172
+ default=None, metadata={"help": "The name of the dataset to use (via the datasets library)."}
173
+ )
174
+ dataset_config_name: Optional[str] = field(
175
+ default=None, metadata={"help": "The configuration name of the dataset to use (via the datasets library)."}
176
+ )
177
+ text_column: Optional[str] = field(
178
+ default=None,
179
+ metadata={"help": "The name of the column in the datasets containing the full texts (for summarization)."},
180
+ )
181
+ dataset_cache_dir: Optional[str] = field(
182
+ default=None, metadata={"help": "Path to cache directory for saving and loading datasets"}
183
+ )
184
+ overwrite_cache: bool = field(
185
+ default=False, metadata={"help": "Overwrite the cached training and evaluation sets"}
186
+ )
187
+ preprocessing_num_workers: Optional[int] = field(
188
+ default=None,
189
+ metadata={"help": "The number of processes to use for the preprocessing."},
190
+ )
191
+ max_train_samples: Optional[int] = field(
192
+ default=None,
193
+ metadata={
194
+ "help": "For debugging purposes or quicker training, truncate the number of training examples to this "
195
+ "value if set."
196
+ },
197
+ )
198
+ max_eval_samples: Optional[int] = field(
199
+ default=None,
200
+ metadata={
201
+ "help": "For debugging purposes or quicker training, truncate the number of evaluation examples to this "
202
+ "value if set."
203
+ },
204
+ )
205
+ max_test_samples: Optional[int] = field(
206
+ default=None,
207
+ metadata={
208
+ "help": "For debugging purposes or quicker training, truncate the number of test examples to this "
209
+ "value if set."
210
+ },
211
+ )
212
+ audio_column_name: str = field(
213
+ default="audio",
214
+ metadata={"help": "The name of the dataset column containing the audio data. Defaults to 'audio'"},
215
+ )
216
+ text_column_name: str = field(
217
+ default="text",
218
+ metadata={"help": "The name of the dataset column containing the text data. Defaults to 'text'"},
219
+ )
220
+ max_duration_in_seconds: float = field(
221
+ default=20.0,
222
+ metadata={
223
+ "help": "Truncate audio files that are longer than `max_duration_in_seconds` seconds to 'max_duration_in_seconds`"
224
+ },
225
+ )
226
+ min_duration_in_seconds: float = field(
227
+ default=0.0, metadata={"help": "Filter audio files that are shorter than `min_duration_in_seconds` seconds"}
228
+ )
229
+ max_label_length: Optional[int] = field(
230
+ default=512,
231
+ metadata={
232
+ "help": "The minimum total sequence length for target text after tokenization. Sequences shorter "
233
+ "than this will be filtered."
234
+ },
235
+ )
236
+ min_label_length: Optional[int] = field(
237
+ default=2,
238
+ metadata={
239
+ "help": "The minimum total sequence length for target text after tokenization. Sequences shorter "
240
+ "than this will be filtered."
241
+ },
242
+ )
243
+ pad_input_to_multiple_of: Optional[int] = field(
244
+ default=32000,
245
+ metadata={
246
+ "help": "If set will pad the input sequence to a multiple of the provided value. "
247
+ "This is important to avoid triggering recompilations on TPU."
248
+ },
249
+ )
250
+ pad_target_to_multiple_of: Optional[int] = field(
251
+ default=None,
252
+ metadata={
253
+ "help": "If set will pad the target sequence to a multiple of the provided value. "
254
+ "This is important to avoid triggering recompilations on TPU."
255
+ },
256
+ )
257
+ preprocessing_only: bool = field(
258
+ default=False,
259
+ metadata={
260
+ "help": "Whether to only do data preprocessing and skip training. "
261
+ "This is especially useful when data preprocessing errors out in distributed training due to timeout. "
262
+ "In this case, one should run the preprocessing in a non-distributed setup with `preprocessing_only=True` "
263
+ "so that the cached datasets can consequently be loaded in distributed training"
264
+ },
265
+ )
266
+ train_split_name: str = field(
267
+ default="train",
268
+ metadata={
269
+ "help": "The name of the training data set split to use (via the datasets library). Defaults to 'train'"
270
+ },
271
+ )
272
+ eval_split_name: str = field(
273
+ default="validation",
274
+ metadata={
275
+ "help": "The name of the training data set split to use (via the datasets library). Defaults to 'train'"
276
+ },
277
+ )
278
+ do_lower_case: bool = field(
279
+ default=True,
280
+ metadata={"help": "Whether the target text should be lower cased."},
281
+ )
282
+ wandb_project: str = field(
283
+ default="flax-speech-recognition-ctc",
284
+ metadata={"help": "The name of the wandb project."},
285
+ )
286
+ wandb_name: str = field(
287
+ default=None,
288
+ metadata={"help": "The name of the wandb run."},
289
+ )
290
+ wandb_job_type: str = field(
291
+ default="CTC",
292
+ metadata={"help": "The name of the wandb job type."},
293
+ )
294
+ test_split_name: str = field(
295
+ default="test",
296
+ metadata={"help": "The name of the test data set split to use (via the datasets library). Defaults to 'test'"},
297
+ )
298
+ remove_punctuation: bool = field(
299
+ default=False, metadata={"help": "Whether or not to remove punctuation during training."}
300
+ )
301
+
302
+
303
+ # @flax.struct.dataclass
304
+ @dataclass
305
+ class FlaxTrainingArguments(TrainingArguments):
306
+ precision: str = field(
307
+ default="full",
308
+ metadata={
309
+ "help": "Whether to enable mixed-precision training. If true, the optimizer is stored in half-precision (bfloat16) and computations are executed in half-precision"
310
+ "**Note that this only specifies the dtype of the computation and optimizer state. It does not influence the dtype of model parameters.**"
311
+ },
312
+ )
313
+ matmul_precision: str = field(
314
+ default="default",
315
+ metadata={
316
+ "help": "Default floating-point precision of internal computations used in TPU matrix multiplications and convolutions. "
317
+ "This configuration option controls the default precision for JAX operations that take an optional precision argument (e.g. `lax.conv_general_dilated` and `lax.dot`). "
318
+ "This configuration option does not change the behaviours of such calls with explicit precision arguments; "
319
+ "it only changes the behaviors of calls with no such argument provided. "
320
+ "One of `['highest', 'float32', 'high', 'bfloat16_3x', 'default', 'bfloat16', 'fastest', None]`."
321
+ },
322
+ )
323
+ multisteps: bool = field(
324
+ default=False,
325
+ metadata={
326
+ "help": "Whether to use Optax MultiSteps for gradient accumulation. If `False` (default) and `gradient_accumulation_steps > 1`, "
327
+ "a custom gradient accumulation implementation will be employed."
328
+ },
329
+ )
330
+
331
+
332
+ def to_fp32(t):
333
+ return jax.tree_map(lambda x: x.astype(jnp.float32) if x.dtype == jnp.bfloat16 else x, t)
334
+
335
+
336
+ def to_bf16(t):
337
+ return jax.tree_map(lambda x: x.astype(jnp.bfloat16) if x.dtype == jnp.float32 else x, t)
338
+
339
+
340
+ class MixedPrecisionTrainState(struct.PyTreeNode):
341
+ """Train state for use with a single Optax optimizer.
342
+ Adapted from flax train_state https://github.com/google/flax/blob/main/flax/training/train_state.py
343
+
344
+ Synopsis::
345
+
346
+ state = TrainState.create(
347
+ apply_fn=model.apply,
348
+ params=variables['params'],
349
+ tx=tx)
350
+ grad_fn = jax.grad(make_loss_fn(state.apply_fn))
351
+ for batch in data:
352
+ grads = grad_fn(state.params, batch)
353
+ state = state.apply_gradients(grads=grads)
354
+
355
+ Args:
356
+ step: Counter starts at 0 and is incremented by every call to
357
+ `.apply_gradients()`.
358
+ apply_fn: Usually set to `model.apply()`. Kept in this dataclass for
359
+ convenience to have a shorter params list for the `train_step()` function
360
+ in your training loop.
361
+ params: The parameters to be updated by `tx` and used by `apply_fn`.
362
+ tx: An Optax gradient transformation.
363
+ opt_state: The state for `tx`.
364
+ dropout_rng: PRNG key for stochastic operations.
365
+ bf16: Whether to use bf16 16-bit (mixed) precision training instead of 32-bit training.
366
+ """
367
+
368
+ step: int
369
+ apply_fn: Callable = struct.field(pytree_node=False)
370
+ get_attention_mask_fn: Callable = struct.field(pytree_node=False)
371
+ params: core.FrozenDict[str, Any]
372
+ tx: optax.GradientTransformation = struct.field(pytree_node=False)
373
+ opt_state: optax.OptState
374
+ dropout_rng: jnp.ndarray
375
+ max_grad_norm: Optional[float] = 1.0
376
+
377
+ def apply_gradients(self, *, grads, to_dtype, **kwargs):
378
+ """Updates `step`, `params`, `opt_state` and `**kwargs` in return value.
379
+
380
+ Note that internally this function calls `.tx.update()` followed by a call
381
+ to `optax.apply_updates()` to update `params` and `opt_state`.
382
+
383
+ Args:
384
+ grads: Gradients that have the same pytree structure as `.params`.
385
+ **kwargs: Additional dataclass attributes that should be `.replace()`-ed.
386
+
387
+ Returns:
388
+ An updated instance of `self` with `step` incremented by one, `params`
389
+ and `opt_state` updated by applying `grads`, and additional attributes
390
+ replaced as specified by `kwargs`.
391
+ """
392
+
393
+ # clip gradients by global l2 norm
394
+ casted_max_grad_norm = to_dtype(self.max_grad_norm)
395
+ g_norm = linear_algebra.global_norm(grads)
396
+ g_norm = jnp.maximum(casted_max_grad_norm, g_norm)
397
+ grads = jax.tree_map(lambda t: (t / g_norm) * casted_max_grad_norm, grads)
398
+
399
+ # perform update step in fp32 and subsequently downcast optimizer states if mixed precision training
400
+ # grads and opt_state in bf16 (need to upcast), params in fp32 (leave as is)
401
+ updates, new_opt_state = self.tx.update(to_fp32(grads), to_fp32(self.opt_state), self.params)
402
+
403
+ new_params = optax.apply_updates(self.params, updates)
404
+ return self.replace(
405
+ step=self.step + 1,
406
+ params=new_params,
407
+ opt_state=to_dtype(new_opt_state),
408
+ **kwargs,
409
+ )
410
+
411
+ @classmethod
412
+ def create(cls, *, apply_fn, params, tx, to_dtype, **kwargs):
413
+ """Creates a new instance with `step=0` and initialized `opt_state`."""
414
+ # downcast optimizer state to bf16 if mixed-precision training
415
+ opt_state = tx.init(to_dtype(params)) if tx is not None else None
416
+ return cls(
417
+ step=0,
418
+ apply_fn=apply_fn,
419
+ params=params,
420
+ tx=tx,
421
+ opt_state=opt_state,
422
+ **kwargs,
423
+ )
424
+
425
+ def replicate(self):
426
+ return jax_utils.replicate(self).replace(dropout_rng=shard_prng_key(self.dropout_rng))
427
+
428
+
429
+ @flax.struct.dataclass
430
+ class FlaxDataCollatorSpeechSeq2SeqWithPadding:
431
+ """
432
+ Data collator that will dynamically pad the inputs received.
433
+ Args:
434
+ processor ([`Wav2Vec2Processor`])
435
+ The processor used for proccessing the data.
436
+ decoder_start_token_id (:obj: `int`)
437
+ The begin-of-sentence of the decoder.
438
+ input_padding (:obj:`bool`, :obj:`str` or :class:`~transformers.tokenization_utils_base.PaddingStrategy`, `optional`, defaults to :obj:`True`):
439
+ Select a strategy to pad the returned input sequences (according to the model's padding side and padding index)
440
+ among:
441
+ * :obj:`True` or :obj:`'longest'`: Pad to the longest sequence in the batch (or no padding if only a single
442
+ sequence if provided).
443
+ * :obj:`'max_length'`: Pad to a maximum length specified with the argument :obj:`max_length` or to the
444
+ maximum acceptable input length for the model if that argument is not provided.
445
+ * :obj:`False` or :obj:`'do_not_pad'` (default): No padding (i.e., can output a batch with sequences of
446
+ different lengths).
447
+ target_padding (:obj:`bool`, :obj:`str` or :class:`~transformers.tokenization_utils_base.PaddingStrategy`, `optional`, defaults to :obj:`True`):
448
+ Select a strategy to pad the returned target sequences (according to the model's padding side and padding index).
449
+ See above for details.
450
+ max_input_length (:obj:`float`, `optional`):
451
+ Maximum length of the ``input_values`` of the returned list and optionally padding length (see above).
452
+ pad_input_to_multiple_of (:obj:`int`, `optional`):
453
+ If set will pad the input sequence to a multiple of the provided value.
454
+ This is especially useful to enable the use of Tensor Cores on NVIDIA hardware with compute capability >=
455
+ 7.5 (Volta).
456
+ pad_target_to_multiple_of (:obj:`int`, `optional`):
457
+ If set will pad the target sequence to a multiple of the provided value.
458
+ This is especially useful to enable the use of Tensor Cores on NVIDIA hardware with compute capability >=
459
+ 7.5 (Volta).
460
+ """
461
+
462
+ processor: Any
463
+ input_padding: Union[bool, str] = "longest"
464
+ label_padding: Union[bool, str] = "max_length"
465
+ pad_input_to_multiple_of: Optional[int] = None
466
+ pad_to_multiple_of_label: Optional[int] = None
467
+ max_input_length: Optional[float] = None
468
+ max_label_length: Optional[float] = None
469
+
470
+ def __call__(self, features: List[Dict[str, Union[List[int], np.ndarray]]]) -> Dict[str, np.ndarray]:
471
+ # split inputs and labels since they have to be of different lengths and need
472
+ # different padding methods
473
+ input_features = [{"input_values": feature["input_values"]} for feature in features]
474
+ label_features = [{"input_ids": feature["labels"]} for feature in features]
475
+
476
+ # reformat list to dict and set to pytorch format
477
+ batch = self.processor.feature_extractor.pad(
478
+ input_features,
479
+ max_length=self.max_input_length,
480
+ padding=self.input_padding,
481
+ pad_to_multiple_of=self.pad_input_to_multiple_of,
482
+ return_tensors="np",
483
+ )
484
+
485
+ labels_batch = self.processor.tokenizer.pad(
486
+ label_features,
487
+ max_length=self.max_label_length,
488
+ padding=self.label_padding,
489
+ pad_to_multiple_of=self.pad_to_multiple_of_label,
490
+ return_tensors="np",
491
+ )
492
+
493
+ labels = labels_batch["input_ids"]
494
+ labels = np.ma.array(labels, mask=np.not_equal(labels_batch.attention_mask, 1))
495
+ labels = labels.filled(fill_value=-100)
496
+
497
+ batch["labels"] = labels
498
+
499
+ return batch
500
+
501
+
502
+ def get_grouped_indices(
503
+ dataset, batch_size: int, rng: Optional[List[int]] = None, mega_batch_mult: Optional[int] = None
504
+ ) -> np.array:
505
+ """
506
+ Adapted from the `get_length_grouped_indices` function in the PyTorch Trainer utils file (https://github.com/huggingface/transformers/blob/main/src/transformers/trainer_pt_utils.py#L486)
507
+ Function that returns a list of indices in which each slice of `batch_size` consecutive indices correspond to elements of similar
508
+ lengths. To do this, the indices are:
509
+
510
+ - randomly permuted (if a JAX rng is specified)
511
+ - grouped in mega-batches of size `mega_batch_mult * batch_size`
512
+ - sorted by length in each mega-batch
513
+
514
+ The result is the concatenation of all mega-batches, with the batch of `batch_size` containing the element of
515
+ maximum length placed first, so that an OOM happens sooner rather than later.
516
+ """
517
+ lengths = dataset["input_length"]
518
+
519
+ # Default for mega_batch_mult: 50 or the number to get 4 megabatches, whichever is smaller.
520
+ if mega_batch_mult is None:
521
+ mega_batch_mult = min(len(lengths) // (batch_size * 4), 50)
522
+ # Just in case, for tiny datasets
523
+ if mega_batch_mult == 0:
524
+ mega_batch_mult = 1
525
+
526
+ # We need to use JAX for the random permutation as the PRNG key will be set based on the seed outside of the sampler.
527
+ num_samples = len(lengths)
528
+ indices = jax.random.permutation(rng, np.arange(num_samples)) if rng is not None else np.arange(num_samples)
529
+
530
+ megabatch_size = mega_batch_mult * batch_size
531
+ megabatches = [indices[i : i + megabatch_size].tolist() for i in range(0, len(lengths), megabatch_size)]
532
+ megabatches = [list(sorted(megabatch, key=lambda i: lengths[i], reverse=True)) for megabatch in megabatches]
533
+
534
+ # The rest is to get the biggest batch first.
535
+ # Since each megabatch is sorted by descending length, the longest element is the first
536
+ megabatch_maximums = [lengths[megabatch[0]] for megabatch in megabatches]
537
+ max_idx = np.argmax(megabatch_maximums).item()
538
+ # Switch to put the longest batch in first position
539
+ # (note that this is different to the PT grouped sampler in which we only put the longest element in the first position, and not its batch)
540
+ megabatches[0], megabatches[max_idx] = megabatches[max_idx], megabatches[0]
541
+
542
+ megabatches = np.array([i for megabatch in megabatches for i in megabatch])
543
+
544
+ return megabatches
545
+
546
+
547
+ def generate_batch_splits(samples_idx: np.ndarray, batch_size: int, drop_last=True) -> np.ndarray:
548
+ """Generate batches of data for a specified batch size from sample indices. If the dataset size is not divisible by
549
+ the batch size and `drop_last` is `True`, the last incomplete batch is dropped. Else, it is returned."""
550
+ num_samples = len(samples_idx)
551
+ if drop_last:
552
+ samples_to_remove = num_samples % batch_size
553
+ if samples_to_remove != 0:
554
+ samples_idx = samples_idx[:-samples_to_remove]
555
+ sections_split = num_samples // batch_size
556
+ samples_idx = samples_idx.reshape((sections_split, batch_size))
557
+ else:
558
+ sections_split = math.ceil(num_samples / batch_size)
559
+ samples_idx = np.array_split(samples_idx, sections_split)
560
+ return samples_idx
561
+
562
+
563
+ def write_train_metric(summary_writer, train_metrics, train_time, step):
564
+ summary_writer.scalar("train_time", train_time, step)
565
+
566
+ train_metrics = get_metrics(train_metrics)
567
+ for key, vals in train_metrics.items():
568
+ tag = f"train_{key}"
569
+ for i, val in enumerate(vals):
570
+ summary_writer.scalar(tag, val, step - len(vals) + i + 1)
571
+
572
+
573
+ def write_eval_metric(summary_writer, eval_metrics, step, pred_str=None):
574
+ for metric_name, value in eval_metrics.items():
575
+ summary_writer.scalar(f"eval_{metric_name}", value, step)
576
+
577
+ if pred_str is not None:
578
+ # write output actual predictions for debugging
579
+ summary_writer.text("eval_predictions", "\n".join(pred_str), step)
580
+
581
+
582
+ def write_wandb_log(metrics, step, prefix=None):
583
+ if jax.process_index() == 0:
584
+ log_metrics = {}
585
+ for k, v in metrics.items():
586
+ if "layer" in k:
587
+ log_metrics[f"{k}/"] = v
588
+ elif prefix is not None:
589
+ log_metrics[f"{prefix}/{k}"] = v
590
+ else:
591
+ log_metrics[k] = v
592
+ wandb.log(log_metrics, step)
593
+
594
+
595
+ def write_wandb_pred(pred_str, label_str, step, num_log=50, prefix="eval"):
596
+ if jax.process_index() == 0:
597
+ # convert str data to a wandb compatible format
598
+ str_data = [[label_str[i], pred_str[i]] for i in range(len(pred_str))]
599
+ # we'll log the first 50 predictions for each epoch
600
+ wandb.log(
601
+ {
602
+ f"{prefix}/step_{int(step / 1000)}k": wandb.Table(
603
+ columns=["label_str", "pred_str"], data=str_data[:num_log]
604
+ )
605
+ },
606
+ step,
607
+ )
608
+
609
+
610
+ def create_learning_rate_fn(
611
+ num_train_steps: int, num_warmup_steps: int, learning_rate: float
612
+ ) -> Callable[[int], jnp.array]:
613
+ """Returns a linear warmup, linear_decay learning rate function."""
614
+ warmup_fn = optax.linear_schedule(init_value=0.0, end_value=learning_rate, transition_steps=num_warmup_steps)
615
+ decay_fn = optax.linear_schedule(
616
+ init_value=learning_rate, end_value=0, transition_steps=num_train_steps - num_warmup_steps
617
+ )
618
+ schedule_fn = optax.join_schedules(schedules=[warmup_fn, decay_fn], boundaries=[num_warmup_steps])
619
+ return schedule_fn
620
+
621
+
622
+ def ctc_loss(
623
+ logits,
624
+ logits_attention_mask,
625
+ labels,
626
+ blank_id,
627
+ loss_reduction="mean",
628
+ output_emission_dict=False,
629
+ log_epsilon=-100000.0,
630
+ ):
631
+ """Computes CTC loss.
632
+ This function performs forward computation over an FSA with `N * 2` states
633
+ where `N` is the max number of labels. The states are split into two groups:
634
+ Phi states and emission states. a phi-state accepts repetition of
635
+ phi (blank)-symbols and transits to emission state when the correct label is
636
+ observed. An emission state accepts repetition of the label and transits to
637
+ the next phi states at any time (so called epsilon-transition).
638
+ Below, `B` denotes the batch size, `T` denotes the time steps in `logits`,
639
+ and `N` denotes the time steps in `labels`.
640
+ Args:
641
+ logits: (B, T, K)-array containing log-probabilities of each class.
642
+ logitpaddings: (B, T)-array. Padding indicators for `logits`.
643
+ labels: (B, N)-array containing reference integer labels.
644
+ labelpaddings: (B, N)-array. Padding indicators for `labels`. Currently,
645
+ `labels` must be right-padded, i.e. each row of `labelpaddings` must be
646
+ repetition of zeroes, followed by repetition of ones.
647
+ blank_id: Id for blank token.
648
+ loss_reduction: one of "mean", "sum", "default"
649
+ - "none": no reduction is applied.
650
+ - "mean": output loss will be divided by target lengths and then the
651
+ mean over the batch is taken.
652
+ - "sum": output loss are summed over batch
653
+ output_emission_dict: whether to output additional information about the emission probs
654
+ Returns:
655
+ A pair of `(per_seq_loss, aux)`.
656
+ per_seq_loss:
657
+ (B,)-array containing loss values for each sequence in the batch.
658
+ aux: Dictionary containing interim variables used for computing losses.
659
+ aux['logalpha_phi']: (T, B, N+1)-array. Log-forward-probabilities of each
660
+ phi-state corresponding to the n-th label.
661
+ aux['logalpha_emit']: (T, B, N)-array. Log-forward-probabilities of each
662
+ emission-state corresponding to the n-th label.
663
+ aux['logprobs_phi']: (T, B, 1)-array. Probability of the phi-symbol
664
+ corresponding to each time frame.
665
+ aux['logprobs_emit']: (T, B, N)-array. Probability of the n-th label
666
+ corresponding to each time frame.
667
+ """
668
+ # label paddings are indicated by -100
669
+ labelpaddings = labels < 0
670
+ # logit paddings are the inverse of attention_mask
671
+ logitpaddings = ~logits_attention_mask
672
+
673
+ # Copied from https://github.com/tensorflow/lingvo/blob/master/lingvo/jax/layers/ctc_objectives.py
674
+ batchsize, unused_maxinputlen, num_classes = logits.shape
675
+ batchsize_, maxlabellen = labels.shape
676
+
677
+ logprobs = jax.nn.log_softmax(logits)
678
+ labellens = maxlabellen - jnp.sum(labelpaddings, axis=1).astype(jnp.int32)
679
+
680
+ # repeat[b, n] == 1.0 when label[b, n] == label[b, n+1].
681
+ repeat = (labels[:, :-1] == labels[:, 1:]).astype(jnp.float32)
682
+ repeat = jnp.pad(repeat, ((0, 0), (0, 1)))
683
+
684
+ logprobs_phi = logprobs[:, :, blank_id : blank_id + 1] # [B, T, 1]
685
+ logprobs_phi = jnp.transpose(logprobs_phi, (1, 0, 2)) # [T, B, 1]
686
+
687
+ one_hot = jax.nn.one_hot(labels, num_classes=num_classes) # [B, N, K]
688
+ logprobs_emit = jnp.einsum("btk,bnk->btn", logprobs, one_hot)
689
+ logprobs_emit = jnp.transpose(logprobs_emit, (1, 0, 2)) # [T, B, N]
690
+
691
+ logalpha_phi_init = jnp.ones((batchsize, maxlabellen + 1)) * log_epsilon # [B, N]
692
+ logalpha_phi_init = logalpha_phi_init.at[:, 0].set(0.0)
693
+ logalpha_emit_init = jnp.ones((batchsize, maxlabellen)) * log_epsilon # [B, N]
694
+
695
+ def loop_body(prev, x):
696
+ prev_phi, prev_emit = prev
697
+ # emit-to-phi epsilon transition, except if the next label is repetition
698
+ prev_phi_orig = prev_phi
699
+ prev_phi = prev_phi.at[:, 1:].set(jnp.logaddexp(prev_phi[:, 1:], prev_emit + log_epsilon * repeat))
700
+
701
+ logprob_emit, logprob_phi, pad = x
702
+
703
+ # phi-to-emit transition
704
+ next_emit = jnp.logaddexp(prev_phi[:, :-1] + logprob_emit, prev_emit + logprob_emit)
705
+ # self-loop transition
706
+ next_phi = prev_phi + logprob_phi
707
+ # emit-to-phi blank transition only when the next label is repetition
708
+ next_phi = next_phi.at[:, 1:].set(
709
+ jnp.logaddexp(next_phi[:, 1:], prev_emit + logprob_phi + log_epsilon * (1.0 - repeat))
710
+ )
711
+
712
+ pad = pad.reshape((batchsize, 1))
713
+ next_emit = pad * prev_emit + (1.0 - pad) * next_emit
714
+ next_phi = pad * prev_phi_orig + (1.0 - pad) * next_phi
715
+
716
+ return (next_phi, next_emit), (next_phi, next_emit)
717
+
718
+ xs = (logprobs_emit, logprobs_phi, logitpaddings.transpose((1, 0)))
719
+ _, (logalpha_phi, logalpha_emit) = jax.lax.scan(loop_body, (logalpha_phi_init, logalpha_emit_init), xs)
720
+
721
+ # last row needs to be updated with the last epsilon transition
722
+ logalpha_phi_last = logalpha_phi[-1].at[:, 1:].set(jnp.logaddexp(logalpha_phi[-1, :, 1:], logalpha_emit[-1]))
723
+ logalpha_phi = logalpha_phi.at[-1].set(logalpha_phi_last)
724
+
725
+ # extract per_seq_loss
726
+ one_hot = jax.nn.one_hot(labellens, num_classes=maxlabellen + 1) # [B, N+1]
727
+ per_seq_loss = -jnp.einsum("bn,bn->b", logalpha_phi_last, one_hot)
728
+
729
+ if loss_reduction == "mean":
730
+ target_lengths = labelpaddings.shape[-1] - labelpaddings.sum(axis=-1)
731
+ loss = (per_seq_loss / target_lengths).mean()
732
+ elif loss_reduction == "sum":
733
+ loss = per_seq_loss.sum()
734
+ else:
735
+ loss = per_seq_loss
736
+
737
+ if not output_emission_dict:
738
+ return loss
739
+
740
+ return loss, {
741
+ "logalpha_phi": logalpha_phi,
742
+ "logalpha_emit": logalpha_emit,
743
+ "logprobs_phi": logprobs_phi,
744
+ "logprobs_emit": logprobs_emit,
745
+ }
746
+
747
+
748
+ def make_dataset(data_args, seed=42):
749
+ # Pre-processing dataset
750
+ import re
751
+
752
+ def map_nst(entry):
753
+ text = entry["text"].lower()
754
+ text = text.replace("(...vær stille under dette opptaket...)", "")
755
+ text = re.sub('[áàâ]', 'a', text)
756
+ text = re.sub('[ä]', 'æ', text)
757
+ text = re.sub('[éèëê]', 'e', text)
758
+ text = re.sub('[íìïî]', 'i', text)
759
+ text = re.sub('[óòöô]', 'o', text)
760
+ text = re.sub('[ö]', 'ø', text)
761
+ text = re.sub('[ç]', 'c', text)
762
+ text = re.sub('[úùüû]', 'u', text)
763
+ # text = re.sub('\\(?=(Punktum|Komma|Utropstegn|Spørsmålstegn))', ' ', text)
764
+ text = re.sub('\s+', ' ', text)
765
+ return {"text": text}
766
+
767
+ def filter_nst(entry):
768
+ if not ((len(entry["text"]) <= len(entry["audio"]["array"]) // 320) and (len(entry["text"].strip()) >= 3)):
769
+ return False # Too short
770
+ if re.match(entry["type"], "pIW|CA"):
771
+ return False # Spelling out words
772
+ return True
773
+
774
+ def filter_npsc(entry):
775
+ # False if there are digits in the text
776
+ if not ((len(entry["text"]) <= len(entry["audio"]["array"]) // 320) and (len(entry["text"].strip()) >= 3)):
777
+ return False # Too short
778
+ if re.search("\d", entry["text"]):
779
+ return False
780
+ return True
781
+
782
+ def map_npsc(entry):
783
+ batch = {"text": entry["text"].lower()}
784
+ batch["text"] = re.sub('[áàâ]', 'a', batch["text"])
785
+ batch["text"] = re.sub('[ä]', 'æ', batch["text"])
786
+ batch["text"] = re.sub('[éèëê]', 'e', batch["text"])
787
+ batch["text"] = re.sub('[íìïî]', 'i', batch["text"])
788
+ batch["text"] = re.sub('[óòöô]', 'o', batch["text"])
789
+ batch["text"] = re.sub('[ö]', 'ø', batch["text"])
790
+ batch["text"] = re.sub('[ç]', 'c', batch["text"])
791
+ batch["text"] = re.sub('[úùüû]', 'u', batch["text"])
792
+ batch["text"] = re.sub('\s', ' ', batch["text"])
793
+ batch["text"] = re.sub('<ee>', 'eee', batch["text"])
794
+ batch["text"] = re.sub('<qq>', 'qqq', batch["text"])
795
+ batch["text"] = re.sub('<mm>', 'mmm', batch["text"])
796
+ batch["text"] = re.sub('<inaudible>', 'xxx', batch["text"])
797
+ # batch["text"] = re.sub('<inaudible>', '?', batch["text"])
798
+ if "<" in batch["text"]:
799
+ raise ValueError(batch["text"])
800
+ return batch
801
+
802
+ nst = datasets.load_dataset("NbAiLab/NST", "no-close")
803
+ npsc = datasets.load_dataset("NbAiLab/NPSC", "16K_mp3")
804
+ # TODO NST_hesitate
805
+
806
+ split = len(npsc[data_args.train_split_name]) / (len(npsc[data_args.train_split_name]) + len(npsc[data_args.eval_split_name])) # Use same train/val ratio as NPSC
807
+ nst_train = nst[data_args.train_split_name].train_test_split(train_size=split, seed=seed)
808
+ nst[data_args.train_split_name] = nst_train["train"]
809
+ nst[data_args.eval_split_name] = nst_train["test"]
810
+
811
+ nst = nst.filter(filter_nst).map(
812
+ map_nst,
813
+ num_proc=data_args.preprocessing_num_workers,
814
+ desc="filtering NST",
815
+ ).shuffle(seed=seed)
816
+ npsc = npsc.filter(filter_npsc).map(
817
+ map_npsc,
818
+ num_proc=data_args.preprocessing_num_workers,
819
+ desc="filtering NPSC",
820
+ ).shuffle(seed=seed)
821
+
822
+ npsc_base = npsc.remove_columns([col for col in npsc[data_args.train_split_name].column_names if col not in ["text", "audio"]])
823
+ nst_base = nst.remove_columns([col for col in nst[data_args.train_split_name].column_names if col not in ["text", "audio"]])
824
+
825
+ combined = {}
826
+ for split in data_args.train_split_name, data_args.eval_split_name, data_args.test_split_name:
827
+ probs = np.array([len(nst_base[split]), len(npsc_base[split])]) # Weight by number of examples
828
+ probs = (probs / probs.sum()).tolist()
829
+ comb = datasets.interleave_datasets([nst_base[split], npsc_base[split]], probabilities=probs, seed=seed)
830
+ combined[split] = comb
831
+
832
+ return datasets.DatasetDict(**combined)
833
+
834
+ def main():
835
+ # 1. Parse input arguments
836
+ # See all possible arguments in src/transformers/training_args.py
837
+ # or by passing the --help flag to this script.
838
+ # We now keep distinct sets of args, for a cleaner separation of concerns.
839
+ parser = HfArgumentParser((ModelArguments, DataTrainingArguments, FlaxTrainingArguments))
840
+
841
+ if len(sys.argv) == 2 and sys.argv[1].endswith(".json"):
842
+ # If we pass only one argument to the script and it's the path to a json file,
843
+ # let's parse it to get our arguments.
844
+ model_args, data_args, training_args = parser.parse_json_file(json_file=os.path.abspath(sys.argv[1]))
845
+ else:
846
+ model_args, data_args, training_args = parser.parse_args_into_dataclasses()
847
+
848
+ # 2. Setup logging
849
+ # Make one log on every process with the configuration for debugging.
850
+ logging.basicConfig(
851
+ format="%(asctime)s - %(levelname)s - %(name)s - %(message)s",
852
+ datefmt="%m/%d/%Y %H:%M:%S",
853
+ handlers=[logging.StreamHandler(sys.stdout)],
854
+ )
855
+ # Set the verbosity to info of the Transformers logger.
856
+ # We only want one process per machine to log things on the screen.
857
+ logger.setLevel(logging.INFO if jax.process_index() == 0 else logging.ERROR)
858
+ if jax.process_index() == 0:
859
+ datasets.utils.logging.set_verbosity_warning()
860
+ transformers.utils.logging.set_verbosity_info()
861
+ else:
862
+ datasets.utils.logging.set_verbosity_error()
863
+ transformers.utils.logging.set_verbosity_error()
864
+
865
+ # Set up wandb run
866
+ if jax.process_index() == 0:
867
+ wandb.init(project=data_args.wandb_project, name=data_args.wandb_name, job_type=data_args.wandb_job_type)
868
+
869
+ logger.info("Training/evaluation parameters %s", training_args)
870
+
871
+ # Set the default TPU matmul precision and display the number of devices
872
+ jax.config.update("jax_default_matmul_precision", training_args.matmul_precision)
873
+ logger.info(f"JAX devices: {jax.device_count()}, matmul precision: {training_args.matmul_precision}")
874
+
875
+ # 4. Load dataset
876
+
877
+ set_seed(training_args.seed)
878
+ raw_datasets = make_dataset(data_args, seed=training_args.seed)
879
+
880
+ # raw_datasets = DatasetDict()
881
+
882
+ # if training_args.do_train:
883
+ # raw_datasets[data_args.train_split_name] = load_dataset(
884
+ # data_args.dataset_name,
885
+ # data_args.dataset_config_name,
886
+ # split=data_args.train_split_name,
887
+ # cache_dir=data_args.dataset_cache_dir,
888
+ # use_auth_token=True if model_args.use_auth_token else None,
889
+ # )
890
+
891
+ # if training_args.do_eval:
892
+ # raw_datasets[data_args.eval_split_name] = load_dataset(
893
+ # data_args.dataset_name,
894
+ # data_args.dataset_config_name,
895
+ # split=data_args.eval_split_name,
896
+ # cache_dir=data_args.dataset_cache_dir,
897
+ # use_auth_token=True if model_args.use_auth_token else None,
898
+ # )
899
+
900
+ # if training_args.do_predict:
901
+ # test_split = data_args.test_split_name.split("+")
902
+ # for split in test_split:
903
+ # raw_datasets[split] = load_dataset(
904
+ # data_args.dataset_name,
905
+ # data_args.dataset_config_name,
906
+ # split=split,
907
+ # cache_dir=data_args.dataset_cache_dir,
908
+ # use_auth_token=True if model_args.use_auth_token else None,
909
+ # )
910
+
911
+ if not training_args.do_train and not training_args.do_eval and not training_args.do_predict:
912
+ raise ValueError(
913
+ "Cannot not train, not do evaluation and not do prediction. At least one of "
914
+ "training, evaluation or prediction has to be done."
915
+ )
916
+
917
+ # if not training, there is no need to run multiple epochs
918
+ if not training_args.do_train:
919
+ training_args.num_train_epochs = 1
920
+
921
+ if data_args.audio_column_name not in next(iter(raw_datasets.values())).column_names:
922
+ raise ValueError(
923
+ f"--audio_column_name '{data_args.audio_column_name}' not found in dataset '{data_args.dataset_name}'. "
924
+ "Make sure to set `--audio_column_name` to the correct audio column - one of "
925
+ f"{', '.join(next(iter(raw_datasets.values())).column_names)}."
926
+ )
927
+
928
+ if data_args.text_column_name not in next(iter(raw_datasets.values())).column_names:
929
+ raise ValueError(
930
+ f"--text_column_name {data_args.text_column_name} not found in dataset '{data_args.dataset_name}'. "
931
+ "Make sure to set `--text_column_name` to the correct text column - one of "
932
+ f"{', '.join(next(iter(raw_datasets.values())).column_names)}."
933
+ )
934
+
935
+ # 5. Load pretrained model, tokenizer, and feature extractor
936
+ #
937
+ # Distributed training:
938
+ # The .from_pretrained methods guarantee that only one local process can concurrently
939
+ config = Wav2Vec2Config.from_pretrained(
940
+ model_args.config_name if model_args.config_name else model_args.model_name_or_path,
941
+ cache_dir=model_args.cache_dir,
942
+ revision=model_args.model_revision,
943
+ use_auth_token=True if model_args.use_auth_token else None,
944
+ )
945
+ feature_extractor = AutoFeatureExtractor.from_pretrained(
946
+ model_args.feature_extractor_name if model_args.feature_extractor_name else model_args.model_name_or_path,
947
+ cache_dir=model_args.cache_dir,
948
+ revision=model_args.model_revision,
949
+ use_auth_token=True if model_args.use_auth_token else None,
950
+ )
951
+ tokenizer = AutoTokenizer.from_pretrained(
952
+ model_args.tokenizer_name if model_args.tokenizer_name else model_args.model_name_or_path,
953
+ cache_dir=model_args.cache_dir,
954
+ revision=model_args.model_revision,
955
+ use_auth_token=True if model_args.use_auth_token else None,
956
+ )
957
+ # update config according to training args, model args, and tokenizer attributes
958
+ config.update(
959
+ {
960
+ "feat_proj_dropout": model_args.feat_proj_dropout,
961
+ "attention_dropout": model_args.attention_dropout,
962
+ "hidden_dropout": model_args.hidden_dropout,
963
+ "final_dropout": model_args.final_dropout,
964
+ "mask_time_prob": model_args.mask_time_prob,
965
+ "mask_time_length": model_args.mask_time_length,
966
+ "mask_feature_prob": model_args.mask_feature_prob,
967
+ "mask_feature_length": model_args.mask_feature_length,
968
+ "gradient_checkpointing": training_args.gradient_checkpointing,
969
+ "layerdrop": model_args.layerdrop,
970
+ "ctc_loss_reduction": model_args.ctc_loss_reduction,
971
+ "ctc_zero_infinity": model_args.ctc_zero_infinity,
972
+ "pad_token_id": tokenizer.pad_token_id,
973
+ "vocab_size": tokenizer.vocab_size, # len(tokenizer),
974
+ "activation_dropout": model_args.activation_dropout,
975
+ }
976
+ )
977
+
978
+ if tokenizer.do_lower_case and data_args.dataset_name != "librispeech_asr":
979
+ raise ValueError(
980
+ "Setting the tokenizer attribute `do_lower_case` to `True` converts all input strings to "
981
+ "uppercase prior to tokenization. This should only be done when the tokenizer is built on an uppercased corpus,"
982
+ "i.e. for the dataset `librispeech_asr` only. If your dataset is not `librispeech_asr`, the tokenizer is mostly likely "
983
+ "built on an lowercased corpus. In this case, set `tokenizer.do_lower_case` to ``False`."
984
+ )
985
+
986
+ if training_args.precision == "full_mixed":
987
+ dtype = jnp.bfloat16
988
+ training_args.mixed_precision = True
989
+ elif training_args.precision == "half_mixed":
990
+ dtype = jnp.bfloat16
991
+ training_args.mixed_precision = False
992
+ else:
993
+ dtype = jnp.float32
994
+ training_args.mixed_precision = False
995
+
996
+ model = FlaxWav2Vec2ForCTC.from_pretrained(
997
+ model_args.model_name_or_path,
998
+ config=config,
999
+ dtype=dtype,
1000
+ cache_dir=model_args.cache_dir,
1001
+ revision=model_args.model_revision,
1002
+ use_auth_token=True if model_args.use_auth_token else None,
1003
+ from_pt=True,
1004
+ )
1005
+
1006
+ # 6. Resample speech dataset ALWAYS
1007
+ raw_datasets = raw_datasets.cast_column(
1008
+ data_args.audio_column_name, datasets.features.Audio(sampling_rate=feature_extractor.sampling_rate)
1009
+ )
1010
+
1011
+ # 7. Preprocessing the datasets.
1012
+ # We need to read the audio files as arrays and tokenize the targets.
1013
+ max_input_length = int(data_args.max_duration_in_seconds * feature_extractor.sampling_rate)
1014
+ min_input_length = int(data_args.min_duration_in_seconds * feature_extractor.sampling_rate)
1015
+ max_target_length = data_args.max_label_length
1016
+ min_target_length = data_args.min_label_length
1017
+ pad_input_to_multiple_of = data_args.pad_input_to_multiple_of
1018
+ audio_column_name = data_args.audio_column_name
1019
+ num_workers = data_args.preprocessing_num_workers
1020
+ text_column_name = data_args.text_column_name
1021
+ model_input_name = feature_extractor.model_input_names[0]
1022
+ do_lower_case = data_args.do_lower_case
1023
+ dataset_name = data_args.dataset_name
1024
+ chars_to_ignore = ', ? . ! - ; : " “ % ‘ ” ?'.split(" ")
1025
+ chars_to_ignore_regex = f'[{"".join(chars_to_ignore)}]'
1026
+ # gigaspeech_punctuation = {" <comma>": ",", " <period>": ".", " <questionmark>": "?", " <exclamationpoint>": "!"}
1027
+ # gigaspeech_disfluencies = ["<other>", "<sil>"]
1028
+ # swb_disfluencies = ["[noise]", "[laughter]", "[silence]", "<a_aside>", "<b_aside>", "<e_aside>", "[laughter-",
1029
+ # "[vocalized-noise]", "_1"]
1030
+ # swb_punctuations = ["{", "}", "[", "]-", "]"]
1031
+ # earnings_disfluencies = ["<crosstalk>", "<affirmative>", "<inaudible>", "inaudible", "<laugh>", "<unk>"]
1032
+ ignore_segments = ["ignore_time_segment_in_scoring", "<noise>", "<music>", "[noise]", "[laughter]", "[silence]",
1033
+ "[vocalized-noise]", "<crosstalk>", "<affirmative>", "<inaudible>", "<laugh>", "<other>", "<sil>", ""]
1034
+
1035
+ if training_args.do_train and data_args.max_train_samples is not None:
1036
+ raw_datasets[data_args.train_split_name] = raw_datasets[data_args.train_split_name].select(range(data_args.max_train_samples))
1037
+
1038
+ if training_args.do_eval and data_args.max_eval_samples is not None:
1039
+ raw_datasets[data_args.eval_split_name] = raw_datasets[data_args.eval_split_name].select(range(data_args.max_eval_samples))
1040
+
1041
+ if training_args.do_predict and data_args.max_test_samples is not None:
1042
+ raw_datasets[data_args.test_split_name] = raw_datasets[data_args.test_split_name].select(range(data_args.max_eval_samples))
1043
+
1044
+ if training_args.do_train and data_args.remove_punctuation:
1045
+
1046
+ def remove_punctuation(batch):
1047
+ batch[text_column_name] = (
1048
+ re.sub(chars_to_ignore_regex, "", batch[text_column_name]).replace("'", "").replace('"', "")
1049
+ )
1050
+
1051
+ raw_datasets[data_args.train_split_name] = raw_datasets[data_args.train_split_name].map(
1052
+ remove_punctuation,
1053
+ num_proc=data_args.preprocessing_num_workers,
1054
+ desc="removing punctuation from train split",
1055
+ )
1056
+
1057
+ # filter data where the targets are ignored in scoring
1058
+ def is_target_labels(input_str):
1059
+ return input_str.lower() not in ignore_segments
1060
+
1061
+ raw_datasets = raw_datasets.filter(
1062
+ is_target_labels,
1063
+ num_proc=num_workers,
1064
+ input_columns=[text_column_name],
1065
+ desc="filtering data where the targets are ignored in scoring",
1066
+ )
1067
+
1068
+ def prepare_dataset(batch):
1069
+ # process audio
1070
+ try:
1071
+ sample = batch[audio_column_name]
1072
+ except ValueError:
1073
+ sample = {"array": np.array([0.]), "sampling_rate": feature_extractor.sampling_rate}
1074
+ inputs = feature_extractor(sample["array"], sampling_rate=sample["sampling_rate"])
1075
+ # process audio length
1076
+ batch[model_input_name] = inputs.input_values[0]
1077
+ batch["input_length"] = len(batch["input_values"])
1078
+
1079
+ # process targets
1080
+ input_str = batch[text_column_name].lower() if do_lower_case else batch[text_column_name]
1081
+
1082
+ # if dataset_name == "google/xtreme_s":
1083
+ # # Finally, we tokenize the processed text
1084
+ # batch["labels"] = tokenizer(input_str).input_ids
1085
+ # batch["labels_length"] = len(batch["labels"])
1086
+ # return batch
1087
+
1088
+ # # Common Voice 9
1089
+ # if input_str.startswith('"') and input_str.endswith('"'):
1090
+ # # we can remove trailing quotation marks as they do not affect the transcription
1091
+ # input_str = input_str[1:-1]
1092
+ # # normalize quotation marks
1093
+ # input_str = re.sub(r'["“”]', '"', input_str)
1094
+ # # normalize apostrophes
1095
+ # input_str = re.sub(r"[’']", "'", input_str)
1096
+ # # normalize hyphens
1097
+ # input_str = re.sub(r"[—–]", "-", input_str)
1098
+ # # replace double quotation marks with single
1099
+ # input_str = input_str.replace('""', '"')
1100
+ # if dataset_name == "mozilla-foundation/common_voice_9_0" and len(input_str):
1101
+ # # for CV9, we'll normalize the text to always finish with punctuation
1102
+ # if input_str[-1] not in [".", "?", "!"]:
1103
+ # input_str = input_str + "."
1104
+
1105
+ # # TEDLIUM-3
1106
+ # # delete the <unk> token from the text and replace spaced apostrophes with un-spaced
1107
+ # input_str = input_str.replace("<unk>", "").replace(" '", "'")
1108
+
1109
+ # # GigaSpeech
1110
+ # for disfluency in gigaspeech_disfluencies:
1111
+ # input_str = input_str.replace(disfluency, "")
1112
+ # # convert spelled out punctuation to symbolic form
1113
+ # for punctuation, replacement in gigaspeech_punctuation.items():
1114
+ # input_str = input_str.replace(punctuation, replacement)
1115
+ # if dataset_name == "speechcolab/gigaspeech" and len(input_str):
1116
+ # # for GS, we'll normalize the text to always finish with punctuation
1117
+ # if input_str[-1] not in [".", "?", "!"]:
1118
+ # input_str = input_str + "."
1119
+
1120
+ # # SWB
1121
+ # for disfluency in swb_disfluencies:
1122
+ # input_str = input_str.replace(disfluency, "")
1123
+ # # remove parenthesised text (test data only)
1124
+ # input_str = re.sub("[\(].*?[\)]", "", input_str)
1125
+ # for punctuation in swb_punctuations:
1126
+ # input_str = input_str.replace(punctuation, "")
1127
+ # # replace anomalous words with their correct transcriptions
1128
+ # split_str = input_str.split("/")
1129
+ # if len(split_str) > 1:
1130
+ # input_str = " ".join(
1131
+ # [" ".join([" ".join(i.split(" ")[:-1]) for i in split_str])] + [split_str[-1].split(" ")[-1]])
1132
+
1133
+ # # Earnings 22
1134
+ # for disfluency in earnings_disfluencies:
1135
+ # input_str = input_str.replace(disfluency, "")
1136
+ # # replace mal-formatted ellipsis
1137
+ # input_str = input_str.replace("…", ".")
1138
+
1139
+ # JIWER compliance
1140
+ # remove multiple spaces
1141
+ input_str = re.sub(r"\s\s+", " ", input_str)
1142
+ # strip trailing spaces
1143
+ input_str = input_str.strip()
1144
+
1145
+ # Finally, we tokenize the processed text
1146
+ batch["labels"] = tokenizer(input_str).input_ids
1147
+ batch["labels_length"] = len(batch["labels"])
1148
+ return batch
1149
+
1150
+ vectorized_datasets = raw_datasets.map(
1151
+ prepare_dataset,
1152
+ remove_columns=next(iter(raw_datasets.values())).column_names,
1153
+ num_proc=num_workers,
1154
+ desc="preprocess dataset",
1155
+ )
1156
+
1157
+ # filter data with inputs shorter than min_input_length or longer than max_input_length
1158
+ def is_audio_in_length_range(length):
1159
+ return length > min_input_length and length < max_input_length
1160
+
1161
+ vectorized_datasets = vectorized_datasets.filter(
1162
+ is_audio_in_length_range,
1163
+ num_proc=num_workers,
1164
+ input_columns=["input_length"],
1165
+ )
1166
+
1167
+ # filter data with targets shorter than min_target_length or longer than max_target_length
1168
+ def is_labels_in_length_range(length):
1169
+ return length > min_target_length # and length < max_target_length
1170
+
1171
+ vectorized_datasets = vectorized_datasets.filter(
1172
+ is_labels_in_length_range,
1173
+ num_proc=num_workers,
1174
+ input_columns=["labels_length"],
1175
+ )
1176
+
1177
+ # for large datasets it is advised to run the preprocessing on a
1178
+ # single machine first with `args.preprocessing_only` since there will mostly likely
1179
+ # be a timeout when running the script in distributed mode.
1180
+ # In a second step `args.preprocessing_only` can then be set to `False` to load the
1181
+ # cached dataset
1182
+ if data_args.preprocessing_only:
1183
+ cache = {k: v.cache_files for k, v in vectorized_datasets.items()}
1184
+ logger.info(f"Data preprocessing finished. Files cached at {cache}.")
1185
+ return
1186
+
1187
+ # 8. Load Metrics
1188
+ wer_metric = load_metric("wer")
1189
+ cer_metric = load_metric("cer")
1190
+
1191
+ def compute_metrics(pred_ids: List[List[int]], label_ids: List[List[int]]):
1192
+ padded_ids = np.where(np.asarray(label_ids) == -100, tokenizer.pad_token_id, np.asarray(label_ids))
1193
+
1194
+ pred_str = tokenizer.batch_decode(pred_ids)
1195
+ # we do not want to group tokens when computing the metrics
1196
+ label_str = tokenizer.batch_decode(padded_ids, group_tokens=False)
1197
+
1198
+ wer = wer_metric.compute(predictions=pred_str, references=label_str)
1199
+ cer = cer_metric.compute(predictions=pred_str, references=label_str)
1200
+
1201
+ return {"wer": wer, "cer": cer}, pred_str, label_str
1202
+
1203
+ # 9. save feature extractor, tokenizer and config
1204
+ feature_extractor.save_pretrained(training_args.output_dir)
1205
+ tokenizer.save_pretrained(training_args.output_dir)
1206
+ config.save_pretrained(training_args.output_dir)
1207
+
1208
+ processor = AutoProcessor.from_pretrained(training_args.output_dir)
1209
+
1210
+ data_collator = FlaxDataCollatorSpeechSeq2SeqWithPadding(
1211
+ processor=processor,
1212
+ input_padding="longest",
1213
+ pad_input_to_multiple_of=pad_input_to_multiple_of,
1214
+ max_label_length=data_args.max_label_length,
1215
+ )
1216
+
1217
+ # Enable tensorboard only on the master node
1218
+ has_tensorboard = is_tensorboard_available()
1219
+ if has_tensorboard and jax.process_index() == 0:
1220
+ try:
1221
+ from flax.metrics.tensorboard import SummaryWriter
1222
+
1223
+ summary_writer = SummaryWriter(log_dir=Path(training_args.output_dir))
1224
+ except ImportError as ie:
1225
+ has_tensorboard = False
1226
+ logger.warning(
1227
+ f"Unable to display metrics through TensorBoard because some package are not installed: {ie}"
1228
+ )
1229
+ else:
1230
+ logger.warning(
1231
+ "Unable to display metrics through TensorBoard because the package is not installed: "
1232
+ "Please run `pip install tensorboard` to enable."
1233
+ )
1234
+
1235
+ # 10. Handle the repository creation
1236
+ if training_args.push_to_hub:
1237
+ with open(os.path.join(training_args.output_dir, ".gitattributes"), "r+") as f:
1238
+ git_lfs_extensions = f.read()
1239
+ if "*.wandb" not in git_lfs_extensions:
1240
+ f.write("*.wandb filter=lfs diff=lfs merge=lfs -text")
1241
+ if training_args.hub_model_id is None:
1242
+ repo_name = get_full_repo_name(
1243
+ Path(training_args.output_dir).absolute().name, token=training_args.hub_token
1244
+ )
1245
+ else:
1246
+ repo_name = training_args.hub_model_id
1247
+ repo = Repository(training_args.output_dir, clone_from=repo_name)
1248
+
1249
+ # 11. Initialize our training
1250
+ rng = jax.random.PRNGKey(training_args.seed)
1251
+ rng, dropout_rng = jax.random.split(rng)
1252
+
1253
+ # Store some constants
1254
+ max_steps = int(training_args.max_steps)
1255
+ gradient_accumulation_steps = int(training_args.gradient_accumulation_steps)
1256
+ train_batch_size = int(training_args.per_device_train_batch_size) * jax.device_count()
1257
+ batch_size_per_update = train_batch_size * gradient_accumulation_steps
1258
+ per_device_eval_batch_size = int(training_args.per_device_eval_batch_size)
1259
+ eval_batch_size = int(training_args.per_device_eval_batch_size) * jax.device_count()
1260
+ to_dtype = to_bf16 if training_args.mixed_precision else to_fp32
1261
+
1262
+ if training_args.do_train:
1263
+ num_train_samples = len(vectorized_datasets[data_args.train_split_name])
1264
+ steps_per_epoch = num_train_samples // batch_size_per_update
1265
+ if max_steps > 0:
1266
+ num_epochs = -(training_args.max_steps // -steps_per_epoch)
1267
+ total_train_steps = max_steps
1268
+ else:
1269
+ num_epochs = int(training_args.num_train_epochs)
1270
+ total_train_steps = steps_per_epoch * num_epochs
1271
+
1272
+ # Create learning rate schedule
1273
+ # Create learning rate schedule
1274
+ linear_decay_lr_schedule_fn = create_learning_rate_fn(
1275
+ total_train_steps,
1276
+ training_args.warmup_steps,
1277
+ training_args.learning_rate,
1278
+ )
1279
+
1280
+ # We use Optax's "masking" functionality to not apply weight decay
1281
+ # to bias and LayerNorm scale parameters. decay_mask_fn returns a
1282
+ # mask boolean with the same structure as the parameters.
1283
+ # The mask is True for parameters that should be decayed.
1284
+ # Note that this mask is specifically adapted for FlaxWav2Vec2 and FlaxBart.
1285
+ # For FlaxT5, one should correct the layer norm parameter naming
1286
+ # accordingly - see `run_t5_mlm_flax.py` e.g.
1287
+ def decay_mask_fn(params):
1288
+ flat_params = traverse_util.flatten_dict(params)
1289
+ layer_norm_params = [
1290
+ (name, "scale")
1291
+ for name in ["layer_norm", "self_attn_layer_norm", "layernorm_embedding", "final_layer_norm"]
1292
+ ]
1293
+ flat_mask = {path: (path[-1] != "bias" and path[-2:] not in layer_norm_params) for path in flat_params}
1294
+ return traverse_util.unflatten_dict(flat_mask)
1295
+
1296
+ if training_args.adafactor:
1297
+ # Create Adafactor optimizer
1298
+ optim = optax.adafactor(
1299
+ learning_rate=linear_decay_lr_schedule_fn,
1300
+ dtype_momentum=jnp.bfloat16 if training_args.mixed_precision else jnp.float32,
1301
+ weight_decay_rate=training_args.weight_decay,
1302
+ weight_decay_mask=decay_mask_fn,
1303
+ )
1304
+ else:
1305
+ # Create AdamW optimizer
1306
+ optim = optax.adamw(
1307
+ learning_rate=linear_decay_lr_schedule_fn,
1308
+ b1=training_args.adam_beta1,
1309
+ b2=training_args.adam_beta2,
1310
+ eps=training_args.adam_epsilon,
1311
+ weight_decay=training_args.weight_decay,
1312
+ mask=decay_mask_fn,
1313
+ )
1314
+
1315
+ # Optax MultiSteps for gradient accumulation. We'll only call this optimizer transformation if gradient accumulation is required (i.e. gradient accumulation steps > 1)
1316
+ if training_args.multisteps and gradient_accumulation_steps > 1:
1317
+ optim = optax.MultiSteps(optim, gradient_accumulation_steps, use_grad_mean=False)
1318
+ else:
1319
+ num_epochs = 0
1320
+ total_train_steps = 0
1321
+ num_train_samples = 0
1322
+ optim = None
1323
+
1324
+ # Setup train state
1325
+ state = MixedPrecisionTrainState.create(
1326
+ apply_fn=model.__call__,
1327
+ get_attention_mask_fn=model._get_feature_vector_attention_mask,
1328
+ params=model.params,
1329
+ tx=optim,
1330
+ to_dtype=to_dtype,
1331
+ dropout_rng=dropout_rng,
1332
+ max_grad_norm=training_args.max_grad_norm,
1333
+ )
1334
+
1335
+ # Replicate the train state on each device
1336
+ state = state.replicate()
1337
+ blank_id = model.config.pad_token_id
1338
+
1339
+ # Define gradient update step fn
1340
+ def train_step(state, batch):
1341
+ # only one single rng per grad step, with or without accumulation, as the graph should be identical over one effective training batch
1342
+ dropout_rng, new_dropout_rng = jax.random.split(state.dropout_rng)
1343
+
1344
+ def compute_loss(params, minibatch):
1345
+ labels = minibatch.pop("labels")
1346
+ logits = state.apply_fn(
1347
+ **minibatch,
1348
+ params=params,
1349
+ dropout_rng=dropout_rng,
1350
+ freeze_feature_encoder=model_args.freeze_feature_encoder,
1351
+ train=True,
1352
+ )[0]
1353
+ logits_mask = state.get_attention_mask_fn(logits.shape[1], batch["attention_mask"])
1354
+ loss = ctc_loss(logits, logits_mask, labels, blank_id, loss_reduction="mean")
1355
+
1356
+ return loss
1357
+
1358
+ grad_fn = jax.value_and_grad(compute_loss)
1359
+
1360
+ if gradient_accumulation_steps == 1 or training_args.multisteps:
1361
+ loss, grad = grad_fn(to_dtype(state.params), batch)
1362
+
1363
+ # Custom gradient accumulation
1364
+ else:
1365
+ # add a first dimension over gradient_accumulation_steps for minibatch slices
1366
+ batch = jax.tree_map(
1367
+ lambda x: x.reshape(
1368
+ gradient_accumulation_steps, training_args.per_device_train_batch_size, *x.shape[1::]
1369
+ ),
1370
+ batch,
1371
+ )
1372
+
1373
+ def accum_minibatch_step(accum_grad, minibatch):
1374
+ # compute loss, num labels and grad over minibatch and accumulate
1375
+ loss, grad = grad_fn(to_dtype(state.params), minibatch)
1376
+ return jax.tree_map(jnp.add, accum_grad, grad), loss
1377
+
1378
+ # create an initial state for accumulating losses, num labels and gradients
1379
+ init_grad = jax.tree_map(jnp.zeros_like, to_dtype(state.params))
1380
+ # loop accum minibatch step over the number of gradient accumulation steps
1381
+ grad, loss = jax.lax.scan(accum_minibatch_step, init_grad, batch)
1382
+
1383
+ # update state
1384
+ new_state = state.apply_gradients(
1385
+ grads=grad,
1386
+ dropout_rng=new_dropout_rng,
1387
+ to_dtype=to_dtype,
1388
+ )
1389
+
1390
+ # compute gradient norms over all layers and globally for detailed monitoring
1391
+ layer_grad_norm = jax.tree_map(jnp.linalg.norm, grad)
1392
+ logs = {
1393
+ "layer_grad_norm": layer_grad_norm,
1394
+ "grad_norm": jnp.linalg.norm(jax.tree_util.tree_leaves(layer_grad_norm)),
1395
+ }
1396
+
1397
+ # compute parameter norms over all layers and globally for detailed monitoring
1398
+ layer_param_norm = jax.tree_map(jnp.linalg.norm, new_state.params)
1399
+ logs["layer_param_norm"] = layer_param_norm
1400
+ logs["param_norm"] = jnp.linalg.norm(jax.tree_util.tree_leaves(layer_param_norm))
1401
+
1402
+ metrics = {"loss": loss, "learning_rate": linear_decay_lr_schedule_fn(state.step)}
1403
+ metrics.update(logs)
1404
+
1405
+ metrics = jax.lax.pmean(metrics, axis_name="batch")
1406
+ # metrics = to_fp32(metrics)
1407
+
1408
+ return new_state, metrics
1409
+
1410
+ # Define eval fn
1411
+ def eval_step(params, batch):
1412
+ labels = batch.pop("labels")
1413
+ logits = model(**batch, params=params, train=False)[0]
1414
+
1415
+ logits_mask = model._get_feature_vector_attention_mask(logits.shape[1], batch["attention_mask"])
1416
+ loss = ctc_loss(logits, logits_mask, labels, blank_id, loss_reduction="mean")
1417
+
1418
+ pred_ids = jnp.argmax(logits, axis=-1)
1419
+
1420
+ # summarize metrics
1421
+ metrics = {"loss": loss}
1422
+ metrics = jax.lax.pmean(metrics, axis_name="batch")
1423
+ # metrics = to_fp32(metrics)
1424
+ return metrics, pred_ids
1425
+
1426
+ # Create parallel version of the train and eval step
1427
+ if training_args.do_train:
1428
+ p_train_step = jax.pmap(train_step, "batch", donate_argnums=(0,))
1429
+
1430
+ if training_args.do_eval:
1431
+ p_eval_step = jax.pmap(eval_step, "batch")
1432
+
1433
+ def run_evaluation(step):
1434
+ if training_args.do_eval:
1435
+ # ======================== Evaluating ==============================
1436
+ eval_metrics = []
1437
+ eval_preds = []
1438
+ eval_labels = []
1439
+
1440
+ # Generate eval set by sequentially sampling indices from the eval dataset and grouping by length
1441
+ eval_samples_idx = get_grouped_indices(vectorized_datasets[data_args.eval_split_name], eval_batch_size)
1442
+ eval_batch_idx = generate_batch_splits(eval_samples_idx, eval_batch_size, drop_last=False)
1443
+
1444
+ for i, batch_idx in enumerate(tqdm(eval_batch_idx, desc="Evaluating ...", position=2)):
1445
+ samples = [vectorized_datasets[data_args.eval_split_name][int(idx)] for idx in batch_idx]
1446
+ batch = data_collator(samples)
1447
+ labels = batch["labels"]
1448
+
1449
+ metrics, pred_ids = pad_shard_unpad(p_eval_step)(state.params, batch.data, min_device_batch=per_device_eval_batch_size)
1450
+ eval_preds.extend(jax.device_get(pred_ids.reshape(-1, pred_ids.shape[-1])))
1451
+ eval_metrics.append(metrics)
1452
+
1453
+ eval_labels.extend(labels)
1454
+
1455
+ # normalize eval metrics
1456
+ eval_metrics = get_metrics(eval_metrics)
1457
+ eval_metrics = jax.tree_map(jnp.mean, eval_metrics)
1458
+ eval_metrics = to_fp32(eval_metrics)
1459
+
1460
+ # always run compute metrics
1461
+ error_rate_metric, pred_str, label_str = compute_metrics(eval_preds, eval_labels)
1462
+ eval_metrics.update(error_rate_metric)
1463
+ error_rate_desc = " ".join([f"Eval {key}: {value} |" for key, value in error_rate_metric.items()])
1464
+
1465
+ # Print metrics and update progress bar
1466
+ desc = f"Step... ({step}/{total_train_steps} | Eval Loss: {eval_metrics['loss']} | {error_rate_desc})"
1467
+ epochs.write(desc)
1468
+ epochs.desc = desc
1469
+
1470
+ # Save metrics
1471
+ write_wandb_log(eval_metrics, step, prefix="eval")
1472
+ write_wandb_pred(pred_str, label_str, step)
1473
+ # if has_tensorboard and jax.process_index() == 0:
1474
+ # write_eval_metric(summary_writer, eval_metrics, step, pred_str=pred_str)
1475
+
1476
+ def save_checkpoint(step):
1477
+ # save and push checkpoint to the hub
1478
+ if jax.process_index() == 0:
1479
+ params = jax.device_get(jax.tree_map(lambda x: x[0], state.params))
1480
+ model.save_pretrained(training_args.output_dir, params=params)
1481
+ tokenizer.save_pretrained(training_args.output_dir)
1482
+ if training_args.push_to_hub:
1483
+ repo.push_to_hub(commit_message=f"{wandb.run.id}: saving weights and logs of step {int(step / 1000)}k", blocking=False)
1484
+
1485
+ logger.info("***** Running training *****")
1486
+ logger.info(f" Num examples = {num_train_samples}")
1487
+ logger.info(f" Num Epochs = {num_epochs}")
1488
+ logger.info(f" Instantaneous batch size per device = {training_args.per_device_train_batch_size}")
1489
+ logger.info(f" Num gradient accumulation steps = {gradient_accumulation_steps}")
1490
+ logger.info(f" Total train batch size (w. parallel & distributed) = {batch_size_per_update}")
1491
+ logger.info(f" Total optimization steps = {total_train_steps}")
1492
+ logger.info(f" Gradient checkpointing: {config.gradient_checkpointing}")
1493
+ logger.info(f" Use scan: {config.use_scan}")
1494
+ logger.info(f" Fuse matmuls: {config.fuse_matmuls}")
1495
+
1496
+ train_time = cur_step = 0
1497
+ epochs = tqdm(range(num_epochs), desc=f"Epoch ... (1/{num_epochs})", position=0)
1498
+ for epoch in epochs:
1499
+ if training_args.do_train:
1500
+ # ======================== Training ================================
1501
+ train_start = time.time()
1502
+
1503
+ # Create sampling rng
1504
+ rng, input_rng = jax.random.split(rng)
1505
+
1506
+ # Generate an epoch by randomly shuffling sampling indices from the train dataset and grouping by length
1507
+ train_samples_idx = get_grouped_indices(vectorized_datasets[data_args.train_split_name], batch_size_per_update, input_rng)
1508
+ train_batch_idx = generate_batch_splits(train_samples_idx, batch_size_per_update)
1509
+
1510
+ # Gather the indices for creating the batch and do a training step
1511
+ for step, batch_idx in enumerate(tqdm(train_batch_idx, desc="Training...", position=1), 1):
1512
+ samples = [vectorized_datasets[data_args.train_split_name][int(idx)] for idx in batch_idx]
1513
+ batch = data_collator(samples)
1514
+ batch = shard(batch.data)
1515
+ try:
1516
+ state, train_metric = p_train_step(state, batch)
1517
+ except TypeError as e:
1518
+ logger.warning("Encountered following error: \n", e)
1519
+
1520
+ cur_step = epoch * (num_train_samples // batch_size_per_update) + step
1521
+
1522
+ if cur_step % training_args.logging_steps == 0:
1523
+ # Save metrics
1524
+ train_metric = unreplicate(train_metric)
1525
+ train_time += time.time() - train_start
1526
+ # need to upcast all device arrays to fp32 for wandb logging (jnp.bfloat16 not supported) -> do this here OR in train_step
1527
+ write_wandb_log(to_fp32(train_metric), cur_step, prefix=data_args.train_split_name)
1528
+ # we won't log to tensorboard for now (it is fiddly logging param and grad norms on a layer-by-layer basis)
1529
+ # if has_tensorboard and jax.process_index() == 0:
1530
+ # write_train_metric(summary_writer, train_metrics, train_time, cur_step)
1531
+
1532
+ epochs.write(
1533
+ f"Step... ({cur_step} | Loss: {train_metric['loss']}, Learning Rate: {train_metric['learning_rate']}, Gradient Norm: {train_metric['grad_norm']})"
1534
+ )
1535
+
1536
+ if cur_step % total_train_steps == 0:
1537
+ break
1538
+
1539
+ if training_args.eval_steps and cur_step % training_args.eval_steps == 0:
1540
+ run_evaluation(cur_step)
1541
+
1542
+ if cur_step % training_args.save_steps == 0:
1543
+ save_checkpoint(cur_step)
1544
+
1545
+ if training_args.eval_steps == 0 and (epoch + 1) != num_epochs:
1546
+ # run evaluation at the end of the epoch if eval steps are not specified
1547
+ run_evaluation(cur_step)
1548
+ save_checkpoint(cur_step)
1549
+
1550
+ if training_args.do_train:
1551
+ save_checkpoint(cur_step)
1552
+
1553
+ cur_step = max_steps if max_steps > 0 else cur_step # set step to max steps so that eval happens in alignment with training
1554
+
1555
+ if training_args.do_eval:
1556
+ run_evaluation(cur_step)
1557
+
1558
+ # TODO: collapse 'do_predict' into the run_evaluation function
1559
+ if training_args.do_predict:
1560
+ for split in [data_args.test_split_name]:
1561
+ # ======================== Evaluating ==============================
1562
+ eval_metrics = []
1563
+ eval_preds = []
1564
+ eval_labels = []
1565
+
1566
+ # Generate eval set by sequentially sampling indices from the test dataset and grouping by length
1567
+ eval_samples_idx = get_grouped_indices(vectorized_datasets[split], eval_batch_size)
1568
+ eval_batch_idx = generate_batch_splits(eval_samples_idx, eval_batch_size, drop_last=False)
1569
+
1570
+ for i, batch_idx in enumerate(tqdm(eval_batch_idx, desc=f"Predicting {split}...", position=2)):
1571
+ samples = [vectorized_datasets[split][int(idx)] for idx in batch_idx]
1572
+ batch = data_collator(samples)
1573
+ labels = batch["labels"]
1574
+
1575
+ metrics, pred_ids = pad_shard_unpad(p_eval_step)(state.params, batch.data, min_device_batch=per_device_eval_batch_size)
1576
+ eval_preds.extend(jax.device_get(pred_ids.reshape(-1, pred_ids.shape[-1])))
1577
+ eval_metrics.append(metrics)
1578
+
1579
+ eval_labels.extend(labels)
1580
+
1581
+ # normalize eval metrics
1582
+ eval_metrics = get_metrics(eval_metrics)
1583
+ eval_metrics = jax.tree_map(jnp.mean, eval_metrics)
1584
+ eval_metrics = to_fp32(eval_metrics)
1585
+
1586
+ # always run compute metrics
1587
+ error_rate_metric, pred_str, label_str = compute_metrics(eval_preds, eval_labels)
1588
+ eval_metrics.update(error_rate_metric)
1589
+ error_rate_desc = " ".join([f"Eval {key}: {value} |" for key, value in error_rate_metric.items()])
1590
+
1591
+ # Print metrics and update progress bar
1592
+ desc = f"Step... ({cur_step}/{total_train_steps} | Eval Loss: {eval_metrics['loss']} | {error_rate_desc})"
1593
+ epochs.write(desc)
1594
+ epochs.desc = desc
1595
+
1596
+ # Save metrics
1597
+ write_wandb_log(eval_metrics, cur_step, prefix=split)
1598
+ write_wandb_pred(pred_str, label_str, cur_step, prefix=split)
1599
+ # if has_tensorboard and jax.process_index() == 0:
1600
+ # write_eval_metric(summary_writer, eval_metrics, cur_step, pred_str=pred_str)
1601
+
1602
+
1603
+ if __name__ == "__main__":
1604
+ main()
wandb/run-20220731_120912-3m2amvk9/files/config.yaml ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ wandb_version: 1
2
+
3
+ _wandb:
4
+ desc: null
5
+ value:
6
+ cli_version: 0.12.9
7
+ code_path: code/run_flax_speech_recognition_ctc.py
8
+ framework: huggingface
9
+ huggingface_version: 4.21.0
10
+ is_jupyter_run: false
11
+ is_kaggle_kernel: false
12
+ python_version: 3.8.10
13
+ start_time: 1659269352
14
+ t:
15
+ 1:
16
+ - 1
17
+ - 2
18
+ - 3
19
+ - 11
20
+ - 12
21
+ 3:
22
+ - 13
23
+ 4: 3.8.10
24
+ 5: 0.12.9
25
+ 6: 4.21.0
26
+ 8:
27
+ - 5
wandb/run-20220731_120912-3m2amvk9/files/diff.patch ADDED
The diff for this file is too large to render. See raw diff
 
wandb/run-20220731_120912-3m2amvk9/files/output.log ADDED
The diff for this file is too large to render. See raw diff
 
wandb/run-20220731_120912-3m2amvk9/files/requirements.txt ADDED
@@ -0,0 +1,158 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ absl-py==1.0.0
2
+ aiohttp==3.8.1
3
+ aiosignal==1.2.0
4
+ appdirs==1.4.4
5
+ astunparse==1.6.3
6
+ async-timeout==4.0.2
7
+ attrs==21.4.0
8
+ audioread==2.1.9
9
+ backcall==0.2.0
10
+ cachetools==4.2.4
11
+ certifi==2021.10.8
12
+ cffi==1.15.1
13
+ charset-normalizer==2.0.10
14
+ chex==0.1.3
15
+ click==8.0.3
16
+ cloud-tpu-client==0.10
17
+ cloud-tpu-profiler==2.4.0
18
+ clu==0.0.6
19
+ colorama==0.4.5
20
+ commonmark==0.9.1
21
+ configparser==5.2.0
22
+ contextlib2==21.6.0
23
+ cycler==0.11.0
24
+ datasets==2.4.0
25
+ decorator==5.1.0
26
+ dill==0.3.4
27
+ dm-tree==0.1.6
28
+ docker-pycreds==0.4.0
29
+ etils==0.6.0
30
+ exceptiongroup==1.0.0rc8
31
+ filelock==3.4.2
32
+ flatbuffers==2.0
33
+ flax==0.5.3
34
+ fonttools==4.28.5
35
+ frozenlist==1.2.0
36
+ fsspec==2021.11.1
37
+ future==0.18.2
38
+ gast==0.4.0
39
+ gitdb==4.0.9
40
+ gitpython==3.1.26
41
+ google-api-core==1.31.5
42
+ google-api-python-client==1.8.0
43
+ google-auth-httplib2==0.1.0
44
+ google-auth-oauthlib==0.4.6
45
+ google-auth==2.3.3
46
+ google-pasta==0.2.0
47
+ googleapis-common-protos==1.54.0
48
+ grpcio==1.43.0
49
+ h5py==3.6.0
50
+ httplib2==0.20.2
51
+ huggingface-hub==0.2.1
52
+ hypothesis==6.53.0
53
+ idna==3.3
54
+ importlib-metadata==4.10.0
55
+ importlib-resources==5.4.0
56
+ ipython==7.31.0
57
+ jax==0.3.15
58
+ jaxlib==0.3.15
59
+ jedi==0.18.1
60
+ jiwer==2.3.0
61
+ joblib==1.1.0
62
+ keras-preprocessing==1.1.2
63
+ keras==2.7.0
64
+ kiwisolver==1.3.2
65
+ libclang==12.0.0
66
+ librosa==0.9.2
67
+ libtpu-nightly==0.1.dev20220722
68
+ llvmlite==0.39.0
69
+ markdown==3.3.6
70
+ matplotlib-inline==0.1.3
71
+ matplotlib==3.5.1
72
+ ml-collections==0.1.0
73
+ msgpack==1.0.3
74
+ multidict==5.2.0
75
+ multiprocess==0.70.12.2
76
+ numba==0.56.0
77
+ numpy==1.22.0
78
+ oauth2client==4.1.3
79
+ oauthlib==3.1.1
80
+ opt-einsum==3.3.0
81
+ optax==0.1.3
82
+ packaging==21.3
83
+ pandas==1.3.5
84
+ parso==0.8.3
85
+ pathtools==0.1.2
86
+ pexpect==4.8.0
87
+ pickleshare==0.7.5
88
+ pillow==9.0.0
89
+ pip==22.2.1
90
+ pkg-resources==0.0.0
91
+ pooch==1.6.0
92
+ promise==2.3
93
+ prompt-toolkit==3.0.24
94
+ protobuf==3.19.1
95
+ psutil==5.9.0
96
+ ptyprocess==0.7.0
97
+ pyarrow==6.0.1
98
+ pyasn1-modules==0.2.8
99
+ pyasn1==0.4.8
100
+ pycparser==2.21
101
+ pyctcdecode==0.4.0
102
+ pygments==2.11.1
103
+ pygtrie==2.5.0
104
+ pyparsing==3.0.6
105
+ python-dateutil==2.8.2
106
+ python-levenshtein==0.12.2
107
+ pytz==2021.3
108
+ pyyaml==6.0
109
+ regex==2021.11.10
110
+ requests-oauthlib==1.3.0
111
+ requests==2.27.0
112
+ resampy==0.3.1
113
+ responses==0.18.0
114
+ rich==11.2.0
115
+ rsa==4.8
116
+ sacremoses==0.0.46
117
+ scikit-learn==1.1.1
118
+ scipy==1.7.3
119
+ sentry-sdk==1.5.2
120
+ setuptools==44.0.0
121
+ shortuuid==1.0.8
122
+ six==1.16.0
123
+ smmap==5.0.0
124
+ sortedcontainers==2.4.0
125
+ soundfile==0.10.3.post1
126
+ sox==1.4.1
127
+ subprocess32==3.5.4
128
+ tensorboard-data-server==0.6.1
129
+ tensorboard-plugin-wit==1.8.0
130
+ tensorboard==2.7.0
131
+ tensorflow-cpu==2.7.0
132
+ tensorflow-datasets==4.4.0
133
+ tensorflow-estimator==2.7.0
134
+ tensorflow-io-gcs-filesystem==0.23.1
135
+ tensorflow-metadata==1.5.0
136
+ tensorflow==2.7.0
137
+ tensorstore==0.1.21
138
+ termcolor==1.1.0
139
+ threadpoolctl==3.1.0
140
+ tokenizers==0.11.2
141
+ toolz==0.11.2
142
+ torch==1.12.0
143
+ torchaudio==0.12.0+cpu
144
+ tqdm==4.62.3
145
+ traitlets==5.1.1
146
+ transformers==4.21.0
147
+ typing-extensions==4.3.0
148
+ uritemplate==3.0.1
149
+ urllib3==1.26.7
150
+ wandb==0.12.9
151
+ wcwidth==0.2.5
152
+ werkzeug==2.0.2
153
+ wheel==0.37.1
154
+ wrapt==1.13.3
155
+ xxhash==2.0.2
156
+ yarl==1.7.2
157
+ yaspin==2.1.0
158
+ zipp==3.7.0
wandb/run-20220731_120912-3m2amvk9/files/wandb-metadata.json ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "os": "Linux-5.4.0-1043-gcp-x86_64-with-glibc2.29",
3
+ "python": "3.8.10",
4
+ "heartbeatAt": "2022-07-31T12:09:15.864974",
5
+ "startedAt": "2022-07-31T12:09:12.343181",
6
+ "docker": null,
7
+ "cpu_count": 96,
8
+ "cuda": null,
9
+ "args": [
10
+ "--model_name_or_path=facebook/wav2vec2-xls-r-1b",
11
+ "--hub_model_id=NbAiLab/wav2vec2-1b-npsc-nst",
12
+ "--tokenizer_name=./",
13
+ "--output_dir=./",
14
+ "--overwrite_output_dir",
15
+ "--num_train_epochs=40",
16
+ "--per_device_train_batch_size=10",
17
+ "--per_device_eval_batch_size=10",
18
+ "--gradient_accumulation_steps=1",
19
+ "--precision=full_mixed",
20
+ "--matmul_precision=bfloat16",
21
+ "--learning_rate=8e-4",
22
+ "--warmup_steps=4000",
23
+ "--length_column_name=input_length",
24
+ "--evaluation_strategy=steps",
25
+ "--text_column_name=text",
26
+ "--save_steps=3153",
27
+ "--eval_steps=3153",
28
+ "--logging_steps=100",
29
+ "--layerdrop=0.041",
30
+ "--attention_dropout=0.094",
31
+ "--activation_dropout=0.055",
32
+ "--hidden_dropout=0.047",
33
+ "--save_total_limit=5",
34
+ "--freeze_feature_encoder",
35
+ "--feat_proj_dropout=0.04",
36
+ "--mask_time_prob=0.082",
37
+ "--mask_time_length=10",
38
+ "--mask_feature_prob=0.25",
39
+ "--mask_feature_length=64",
40
+ "--gradient_checkpointing",
41
+ "--min_duration_in_seconds=0.5",
42
+ "--max_duration_in_seconds=20.0",
43
+ "--use_auth_token",
44
+ "--seed=42",
45
+ "--group_by_length",
46
+ "--do_train",
47
+ "--do_eval",
48
+ "--push_to_hub",
49
+ "--preprocessing_num_workers=32",
50
+ "--ctc_zero_infinity",
51
+ "--do_lower_case",
52
+ "--wandb_project=wav2vec2",
53
+ "--wandb_name=wav2vec2-1b-npsc-nst",
54
+ "--remove_punctuation"
55
+ ],
56
+ "state": "running",
57
+ "program": "run_flax_speech_recognition_ctc.py",
58
+ "codePath": "run_flax_speech_recognition_ctc.py",
59
+ "git": {
60
+ "remote": "https://huggingface.co/NbAiLab/wav2vec2-1b-npsc-nst",
61
+ "commit": "ce31127160a53192d2ac9bed788e4c4291ce0652"
62
+ },
63
+ "email": "versae@gmail.com",
64
+ "root": "/data/wav2vec2-1b-npsc-nst",
65
+ "host": "t1v-n-eedfb410-w-0",
66
+ "username": "javierr",
67
+ "executable": "/data/flax/bin/python"
68
+ }
wandb/run-20220731_120912-3m2amvk9/files/wandb-summary.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {}
wandb/run-20220731_120912-3m2amvk9/logs/debug-internal.log ADDED
@@ -0,0 +1,600 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 2022-07-31 12:09:13,262 INFO MainThread:534148 [internal.py:wandb_internal():87] W&B internal server running at pid: 534148, started at: 2022-07-31 12:09:13.262652
2
+ 2022-07-31 12:09:13,265 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: check_version
3
+ 2022-07-31 12:09:13,265 INFO WriterThread:534148 [datastore.py:open_for_write():77] open: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/run-3m2amvk9.wandb
4
+ 2022-07-31 12:09:13,266 DEBUG SenderThread:534148 [sender.py:send():234] send: header
5
+ 2022-07-31 12:09:13,266 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: check_version
6
+ 2022-07-31 12:09:13,303 DEBUG SenderThread:534148 [sender.py:send():234] send: run
7
+ 2022-07-31 12:09:13,500 INFO SenderThread:534148 [dir_watcher.py:__init__():169] watching files in: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files
8
+ 2022-07-31 12:09:13,500 INFO SenderThread:534148 [sender.py:_start_run_threads():804] run started: 3m2amvk9 with start time 1659269352
9
+ 2022-07-31 12:09:13,500 DEBUG SenderThread:534148 [sender.py:send():234] send: summary
10
+ 2022-07-31 12:09:13,500 INFO SenderThread:534148 [sender.py:_save_file():939] saving file wandb-summary.json with policy end
11
+ 2022-07-31 12:09:13,501 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: run_start
12
+ 2022-07-31 12:09:14,506 INFO Thread-8 :534148 [dir_watcher.py:_on_file_created():217] file/dir created: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/wandb-summary.json
13
+ 2022-07-31 12:09:15,864 DEBUG HandlerThread:534148 [meta.py:__init__():40] meta init
14
+ 2022-07-31 12:09:15,864 DEBUG HandlerThread:534148 [meta.py:__init__():54] meta init done
15
+ 2022-07-31 12:09:15,864 DEBUG HandlerThread:534148 [meta.py:probe():214] probe
16
+ 2022-07-31 12:09:15,866 DEBUG HandlerThread:534148 [meta.py:_setup_git():204] setup git
17
+ 2022-07-31 12:09:15,912 DEBUG HandlerThread:534148 [meta.py:_setup_git():211] setup git done
18
+ 2022-07-31 12:09:15,913 DEBUG HandlerThread:534148 [meta.py:_save_code():92] save code
19
+ 2022-07-31 12:09:15,929 DEBUG HandlerThread:534148 [meta.py:_save_code():113] save code done
20
+ 2022-07-31 12:09:15,929 DEBUG HandlerThread:534148 [meta.py:_save_patches():130] save patches
21
+ 2022-07-31 12:09:16,263 DEBUG HandlerThread:534148 [meta.py:_save_patches():172] save patches done
22
+ 2022-07-31 12:09:16,264 DEBUG HandlerThread:534148 [meta.py:_save_pip():58] save pip
23
+ 2022-07-31 12:09:16,264 DEBUG HandlerThread:534148 [meta.py:_save_pip():72] save pip done
24
+ 2022-07-31 12:09:16,264 DEBUG HandlerThread:534148 [meta.py:probe():252] probe done
25
+ 2022-07-31 12:09:16,268 DEBUG SenderThread:534148 [sender.py:send():234] send: files
26
+ 2022-07-31 12:09:16,268 INFO SenderThread:534148 [sender.py:_save_file():939] saving file wandb-metadata.json with policy now
27
+ 2022-07-31 12:09:16,269 INFO SenderThread:534148 [sender.py:_save_file():939] saving file code/run_flax_speech_recognition_ctc.py with policy now
28
+ 2022-07-31 12:09:16,269 INFO SenderThread:534148 [sender.py:_save_file():939] saving file diff.patch with policy now
29
+ 2022-07-31 12:09:16,275 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
30
+ 2022-07-31 12:09:16,275 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
31
+ 2022-07-31 12:09:16,506 INFO Thread-8 :534148 [dir_watcher.py:_on_file_created():217] file/dir created: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
32
+ 2022-07-31 12:09:16,507 INFO Thread-8 :534148 [dir_watcher.py:_on_file_created():217] file/dir created: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/wandb-metadata.json
33
+ 2022-07-31 12:09:16,507 INFO Thread-8 :534148 [dir_watcher.py:_on_file_created():217] file/dir created: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/diff.patch
34
+ 2022-07-31 12:09:16,507 INFO Thread-8 :534148 [dir_watcher.py:_on_file_created():217] file/dir created: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/requirements.txt
35
+ 2022-07-31 12:09:16,507 INFO Thread-8 :534148 [dir_watcher.py:_on_file_created():217] file/dir created: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/code/run_flax_speech_recognition_ctc.py
36
+ 2022-07-31 12:09:16,507 INFO Thread-8 :534148 [dir_watcher.py:_on_file_created():217] file/dir created: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/code
37
+ 2022-07-31 12:09:16,752 INFO Thread-11 :534148 [upload_job.py:push():137] Uploaded file /tmp/tmpav5630zfwandb/2jvpq0cf-wandb-metadata.json
38
+ 2022-07-31 12:09:16,950 INFO Thread-12 :534148 [upload_job.py:push():137] Uploaded file /tmp/tmpav5630zfwandb/3f2zhjar-code/run_flax_speech_recognition_ctc.py
39
+ 2022-07-31 12:09:17,012 INFO Thread-13 :534148 [upload_job.py:push():137] Uploaded file /tmp/tmpav5630zfwandb/278vdic7-diff.patch
40
+ 2022-07-31 12:09:18,507 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
41
+ 2022-07-31 12:09:20,508 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
42
+ 2022-07-31 12:09:22,509 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
43
+ 2022-07-31 12:09:24,510 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
44
+ 2022-07-31 12:09:30,512 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
45
+ 2022-07-31 12:09:31,415 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
46
+ 2022-07-31 12:09:31,415 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
47
+ 2022-07-31 12:09:32,513 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
48
+ 2022-07-31 12:09:43,949 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
49
+ 2022-07-31 12:09:46,519 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
50
+ 2022-07-31 12:09:46,550 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
51
+ 2022-07-31 12:09:46,550 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
52
+ 2022-07-31 12:09:48,520 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
53
+ 2022-07-31 12:09:59,524 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
54
+ 2022-07-31 12:10:01,524 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
55
+ 2022-07-31 12:10:01,712 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
56
+ 2022-07-31 12:10:01,712 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
57
+ 2022-07-31 12:10:03,525 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
58
+ 2022-07-31 12:10:14,022 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
59
+ 2022-07-31 12:10:15,530 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
60
+ 2022-07-31 12:10:17,063 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
61
+ 2022-07-31 12:10:17,064 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
62
+ 2022-07-31 12:10:17,531 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
63
+ 2022-07-31 12:10:32,330 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
64
+ 2022-07-31 12:10:32,330 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
65
+ 2022-07-31 12:10:44,099 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
66
+ 2022-07-31 12:10:47,492 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
67
+ 2022-07-31 12:10:47,493 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
68
+ 2022-07-31 12:11:00,549 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
69
+ 2022-07-31 12:11:02,550 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
70
+ 2022-07-31 12:11:02,932 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
71
+ 2022-07-31 12:11:02,933 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
72
+ 2022-07-31 12:11:04,551 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
73
+ 2022-07-31 12:11:06,552 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
74
+ 2022-07-31 12:11:08,557 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
75
+ 2022-07-31 12:11:10,554 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
76
+ 2022-07-31 12:11:13,555 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
77
+ 2022-07-31 12:11:14,171 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
78
+ 2022-07-31 12:11:15,556 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
79
+ 2022-07-31 12:11:17,557 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
80
+ 2022-07-31 12:11:18,095 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
81
+ 2022-07-31 12:11:18,095 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
82
+ 2022-07-31 12:11:19,558 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
83
+ 2022-07-31 12:11:21,559 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
84
+ 2022-07-31 12:11:23,560 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
85
+ 2022-07-31 12:11:25,561 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
86
+ 2022-07-31 12:11:27,562 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
87
+ 2022-07-31 12:11:29,563 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
88
+ 2022-07-31 12:11:31,564 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
89
+ 2022-07-31 12:11:33,268 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
90
+ 2022-07-31 12:11:33,268 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
91
+ 2022-07-31 12:11:33,565 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
92
+ 2022-07-31 12:11:35,566 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
93
+ 2022-07-31 12:11:37,567 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
94
+ 2022-07-31 12:11:39,568 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
95
+ 2022-07-31 12:11:41,570 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
96
+ 2022-07-31 12:11:43,571 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
97
+ 2022-07-31 12:11:44,242 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
98
+ 2022-07-31 12:11:45,572 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
99
+ 2022-07-31 12:11:47,573 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
100
+ 2022-07-31 12:11:48,406 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
101
+ 2022-07-31 12:11:48,406 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
102
+ 2022-07-31 12:11:49,574 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
103
+ 2022-07-31 12:11:51,575 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
104
+ 2022-07-31 12:11:53,576 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
105
+ 2022-07-31 12:11:55,577 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
106
+ 2022-07-31 12:11:57,578 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
107
+ 2022-07-31 12:11:59,579 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
108
+ 2022-07-31 12:12:01,580 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
109
+ 2022-07-31 12:12:03,574 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
110
+ 2022-07-31 12:12:03,574 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
111
+ 2022-07-31 12:12:03,581 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
112
+ 2022-07-31 12:12:05,582 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
113
+ 2022-07-31 12:12:07,584 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
114
+ 2022-07-31 12:12:09,585 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
115
+ 2022-07-31 12:12:11,586 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
116
+ 2022-07-31 12:12:13,587 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
117
+ 2022-07-31 12:12:14,319 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
118
+ 2022-07-31 12:12:15,588 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
119
+ 2022-07-31 12:12:17,589 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
120
+ 2022-07-31 12:12:18,722 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
121
+ 2022-07-31 12:12:18,722 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
122
+ 2022-07-31 12:12:19,589 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
123
+ 2022-07-31 12:12:21,590 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
124
+ 2022-07-31 12:12:23,591 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
125
+ 2022-07-31 12:12:25,592 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
126
+ 2022-07-31 12:12:27,593 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
127
+ 2022-07-31 12:12:29,594 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
128
+ 2022-07-31 12:12:31,595 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
129
+ 2022-07-31 12:12:33,596 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
130
+ 2022-07-31 12:12:33,863 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
131
+ 2022-07-31 12:12:33,864 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
132
+ 2022-07-31 12:12:35,597 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
133
+ 2022-07-31 12:12:37,598 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
134
+ 2022-07-31 12:12:39,603 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
135
+ 2022-07-31 12:12:41,604 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
136
+ 2022-07-31 12:12:43,605 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
137
+ 2022-07-31 12:12:44,398 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
138
+ 2022-07-31 12:12:45,605 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
139
+ 2022-07-31 12:12:47,606 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
140
+ 2022-07-31 12:12:49,014 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
141
+ 2022-07-31 12:12:49,015 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
142
+ 2022-07-31 12:12:49,607 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
143
+ 2022-07-31 12:12:51,608 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
144
+ 2022-07-31 12:12:53,610 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
145
+ 2022-07-31 12:12:55,611 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
146
+ 2022-07-31 12:12:57,612 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
147
+ 2022-07-31 12:12:59,613 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
148
+ 2022-07-31 12:13:01,614 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
149
+ 2022-07-31 12:13:03,615 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
150
+ 2022-07-31 12:13:04,150 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
151
+ 2022-07-31 12:13:04,150 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
152
+ 2022-07-31 12:13:05,616 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
153
+ 2022-07-31 12:13:07,617 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
154
+ 2022-07-31 12:13:09,618 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
155
+ 2022-07-31 12:13:11,619 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
156
+ 2022-07-31 12:13:13,621 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
157
+ 2022-07-31 12:13:14,490 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
158
+ 2022-07-31 12:13:15,621 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
159
+ 2022-07-31 12:13:17,622 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
160
+ 2022-07-31 12:13:19,300 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
161
+ 2022-07-31 12:13:19,301 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
162
+ 2022-07-31 12:13:19,624 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
163
+ 2022-07-31 12:13:21,625 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
164
+ 2022-07-31 12:13:23,626 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
165
+ 2022-07-31 12:13:25,628 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
166
+ 2022-07-31 12:13:27,629 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
167
+ 2022-07-31 12:13:29,629 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
168
+ 2022-07-31 12:13:31,630 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
169
+ 2022-07-31 12:13:33,631 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
170
+ 2022-07-31 12:13:34,440 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
171
+ 2022-07-31 12:13:34,440 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
172
+ 2022-07-31 12:13:35,633 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
173
+ 2022-07-31 12:13:37,634 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
174
+ 2022-07-31 12:13:39,635 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
175
+ 2022-07-31 12:13:41,637 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
176
+ 2022-07-31 12:13:43,638 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
177
+ 2022-07-31 12:13:44,559 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
178
+ 2022-07-31 12:13:45,639 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
179
+ 2022-07-31 12:13:47,640 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
180
+ 2022-07-31 12:13:49,588 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
181
+ 2022-07-31 12:13:49,588 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
182
+ 2022-07-31 12:13:49,641 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
183
+ 2022-07-31 12:13:51,642 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
184
+ 2022-07-31 12:13:53,643 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
185
+ 2022-07-31 12:13:55,644 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
186
+ 2022-07-31 12:13:58,645 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
187
+ 2022-07-31 12:14:00,647 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
188
+ 2022-07-31 12:14:02,648 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
189
+ 2022-07-31 12:14:04,649 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
190
+ 2022-07-31 12:14:04,739 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
191
+ 2022-07-31 12:14:04,740 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
192
+ 2022-07-31 12:14:06,650 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
193
+ 2022-07-31 12:14:08,651 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
194
+ 2022-07-31 12:14:10,652 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
195
+ 2022-07-31 12:14:12,653 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
196
+ 2022-07-31 12:14:14,631 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
197
+ 2022-07-31 12:14:14,655 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
198
+ 2022-07-31 12:14:16,656 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
199
+ 2022-07-31 12:14:18,657 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
200
+ 2022-07-31 12:14:19,879 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
201
+ 2022-07-31 12:14:19,879 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
202
+ 2022-07-31 12:14:20,658 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
203
+ 2022-07-31 12:14:22,659 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
204
+ 2022-07-31 12:14:24,660 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
205
+ 2022-07-31 12:14:26,661 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
206
+ 2022-07-31 12:14:28,664 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
207
+ 2022-07-31 12:14:30,663 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
208
+ 2022-07-31 12:14:32,664 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
209
+ 2022-07-31 12:14:34,666 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
210
+ 2022-07-31 12:14:35,050 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
211
+ 2022-07-31 12:14:35,050 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
212
+ 2022-07-31 12:14:36,666 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
213
+ 2022-07-31 12:14:38,667 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
214
+ 2022-07-31 12:14:40,668 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
215
+ 2022-07-31 12:14:42,669 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
216
+ 2022-07-31 12:14:44,670 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
217
+ 2022-07-31 12:14:44,705 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
218
+ 2022-07-31 12:14:46,671 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
219
+ 2022-07-31 12:14:48,672 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
220
+ 2022-07-31 12:14:50,190 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
221
+ 2022-07-31 12:14:50,190 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
222
+ 2022-07-31 12:14:50,673 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
223
+ 2022-07-31 12:14:52,674 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
224
+ 2022-07-31 12:14:54,675 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
225
+ 2022-07-31 12:14:56,676 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
226
+ 2022-07-31 12:14:58,677 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
227
+ 2022-07-31 12:15:00,678 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
228
+ 2022-07-31 12:15:02,679 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
229
+ 2022-07-31 12:15:04,680 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
230
+ 2022-07-31 12:15:05,343 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
231
+ 2022-07-31 12:15:05,344 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
232
+ 2022-07-31 12:15:06,681 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
233
+ 2022-07-31 12:15:08,682 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
234
+ 2022-07-31 12:15:10,683 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
235
+ 2022-07-31 12:15:12,684 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
236
+ 2022-07-31 12:15:14,686 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
237
+ 2022-07-31 12:15:14,784 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
238
+ 2022-07-31 12:15:16,686 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
239
+ 2022-07-31 12:15:18,687 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
240
+ 2022-07-31 12:15:20,496 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
241
+ 2022-07-31 12:15:20,497 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
242
+ 2022-07-31 12:15:20,688 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
243
+ 2022-07-31 12:15:22,689 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
244
+ 2022-07-31 12:15:24,690 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
245
+ 2022-07-31 12:15:26,691 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
246
+ 2022-07-31 12:15:28,692 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
247
+ 2022-07-31 12:15:30,693 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
248
+ 2022-07-31 12:15:32,694 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
249
+ 2022-07-31 12:15:34,695 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
250
+ 2022-07-31 12:15:35,641 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
251
+ 2022-07-31 12:15:35,641 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
252
+ 2022-07-31 12:15:36,696 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
253
+ 2022-07-31 12:15:38,697 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
254
+ 2022-07-31 12:15:40,698 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
255
+ 2022-07-31 12:15:42,699 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
256
+ 2022-07-31 12:15:44,700 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
257
+ 2022-07-31 12:15:44,862 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
258
+ 2022-07-31 12:15:46,701 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
259
+ 2022-07-31 12:15:48,702 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
260
+ 2022-07-31 12:15:50,703 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
261
+ 2022-07-31 12:15:50,812 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
262
+ 2022-07-31 12:15:50,812 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
263
+ 2022-07-31 12:15:52,704 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
264
+ 2022-07-31 12:15:54,705 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
265
+ 2022-07-31 12:15:56,706 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
266
+ 2022-07-31 12:15:58,707 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
267
+ 2022-07-31 12:16:00,708 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
268
+ 2022-07-31 12:16:02,708 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
269
+ 2022-07-31 12:16:04,709 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
270
+ 2022-07-31 12:16:05,956 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
271
+ 2022-07-31 12:16:05,956 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
272
+ 2022-07-31 12:16:06,710 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
273
+ 2022-07-31 12:16:08,711 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
274
+ 2022-07-31 12:16:10,712 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
275
+ 2022-07-31 12:16:12,713 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
276
+ 2022-07-31 12:16:14,714 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
277
+ 2022-07-31 12:16:14,942 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
278
+ 2022-07-31 12:16:16,715 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
279
+ 2022-07-31 12:16:18,716 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
280
+ 2022-07-31 12:16:20,717 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
281
+ 2022-07-31 12:16:21,109 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
282
+ 2022-07-31 12:16:21,109 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
283
+ 2022-07-31 12:16:22,718 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
284
+ 2022-07-31 12:16:24,719 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
285
+ 2022-07-31 12:16:26,721 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
286
+ 2022-07-31 12:16:28,721 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
287
+ 2022-07-31 12:16:30,722 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
288
+ 2022-07-31 12:16:32,723 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
289
+ 2022-07-31 12:16:34,724 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
290
+ 2022-07-31 12:16:36,254 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
291
+ 2022-07-31 12:16:36,255 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
292
+ 2022-07-31 12:16:36,725 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
293
+ 2022-07-31 12:16:38,726 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
294
+ 2022-07-31 12:16:45,026 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
295
+ 2022-07-31 12:16:51,393 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
296
+ 2022-07-31 12:16:51,399 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
297
+ 2022-07-31 12:17:00,735 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
298
+ 2022-07-31 12:17:06,807 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
299
+ 2022-07-31 12:17:06,808 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
300
+ 2022-07-31 12:17:15,104 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
301
+ 2022-07-31 12:17:15,741 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
302
+ 2022-07-31 12:17:17,742 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
303
+ 2022-07-31 12:17:19,744 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
304
+ 2022-07-31 12:17:21,744 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
305
+ 2022-07-31 12:17:22,047 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
306
+ 2022-07-31 12:17:22,047 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
307
+ 2022-07-31 12:17:23,745 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
308
+ 2022-07-31 12:17:25,746 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
309
+ 2022-07-31 12:17:27,748 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
310
+ 2022-07-31 12:17:29,748 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
311
+ 2022-07-31 12:17:31,749 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
312
+ 2022-07-31 12:17:33,750 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
313
+ 2022-07-31 12:17:35,751 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
314
+ 2022-07-31 12:17:37,206 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
315
+ 2022-07-31 12:17:37,206 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
316
+ 2022-07-31 12:17:37,752 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
317
+ 2022-07-31 12:17:39,753 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
318
+ 2022-07-31 12:17:41,754 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
319
+ 2022-07-31 12:17:43,755 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
320
+ 2022-07-31 12:17:45,177 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
321
+ 2022-07-31 12:17:45,756 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
322
+ 2022-07-31 12:17:49,758 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
323
+ 2022-07-31 12:17:51,759 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
324
+ 2022-07-31 12:17:52,352 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
325
+ 2022-07-31 12:17:52,353 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
326
+ 2022-07-31 12:17:53,760 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
327
+ 2022-07-31 12:17:55,761 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
328
+ 2022-07-31 12:17:57,762 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
329
+ 2022-07-31 12:17:59,763 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
330
+ 2022-07-31 12:18:07,494 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
331
+ 2022-07-31 12:18:07,494 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
332
+ 2022-07-31 12:18:15,257 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
333
+ 2022-07-31 12:18:22,628 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
334
+ 2022-07-31 12:18:22,628 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
335
+ 2022-07-31 12:18:23,773 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
336
+ 2022-07-31 12:18:34,778 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
337
+ 2022-07-31 12:18:36,779 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
338
+ 2022-07-31 12:18:37,765 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
339
+ 2022-07-31 12:18:37,766 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
340
+ 2022-07-31 12:18:38,781 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
341
+ 2022-07-31 12:18:40,781 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
342
+ 2022-07-31 12:18:42,782 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
343
+ 2022-07-31 12:18:44,783 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
344
+ 2022-07-31 12:18:45,330 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
345
+ 2022-07-31 12:18:46,785 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
346
+ 2022-07-31 12:18:48,785 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
347
+ 2022-07-31 12:18:50,786 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
348
+ 2022-07-31 12:18:52,787 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
349
+ 2022-07-31 12:18:52,909 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
350
+ 2022-07-31 12:18:52,909 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
351
+ 2022-07-31 12:18:54,789 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
352
+ 2022-07-31 12:18:56,790 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
353
+ 2022-07-31 12:18:58,791 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
354
+ 2022-07-31 12:19:00,792 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
355
+ 2022-07-31 12:19:02,793 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
356
+ 2022-07-31 12:19:04,795 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
357
+ 2022-07-31 12:19:08,047 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
358
+ 2022-07-31 12:19:08,048 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
359
+ 2022-07-31 12:19:08,797 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
360
+ 2022-07-31 12:19:10,798 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
361
+ 2022-07-31 12:19:12,799 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
362
+ 2022-07-31 12:19:14,799 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
363
+ 2022-07-31 12:19:15,416 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
364
+ 2022-07-31 12:19:16,801 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
365
+ 2022-07-31 12:19:18,802 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
366
+ 2022-07-31 12:19:20,803 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
367
+ 2022-07-31 12:19:22,804 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
368
+ 2022-07-31 12:19:23,182 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
369
+ 2022-07-31 12:19:23,182 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
370
+ 2022-07-31 12:19:24,805 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
371
+ 2022-07-31 12:19:26,807 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
372
+ 2022-07-31 12:19:28,807 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
373
+ 2022-07-31 12:19:30,808 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
374
+ 2022-07-31 12:19:32,809 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
375
+ 2022-07-31 12:19:34,810 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
376
+ 2022-07-31 12:19:36,811 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
377
+ 2022-07-31 12:19:38,328 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
378
+ 2022-07-31 12:19:38,329 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
379
+ 2022-07-31 12:19:38,812 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
380
+ 2022-07-31 12:19:40,813 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
381
+ 2022-07-31 12:19:42,814 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
382
+ 2022-07-31 12:19:44,815 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
383
+ 2022-07-31 12:19:45,499 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
384
+ 2022-07-31 12:19:46,816 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
385
+ 2022-07-31 12:19:48,817 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
386
+ 2022-07-31 12:19:50,818 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
387
+ 2022-07-31 12:19:52,819 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
388
+ 2022-07-31 12:19:53,474 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
389
+ 2022-07-31 12:19:53,475 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
390
+ 2022-07-31 12:19:54,820 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
391
+ 2022-07-31 12:19:56,821 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
392
+ 2022-07-31 12:20:08,630 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
393
+ 2022-07-31 12:20:08,631 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
394
+ 2022-07-31 12:20:15,578 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
395
+ 2022-07-31 12:20:23,770 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
396
+ 2022-07-31 12:20:23,771 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
397
+ 2022-07-31 12:20:34,838 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
398
+ 2022-07-31 12:20:39,109 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
399
+ 2022-07-31 12:20:39,110 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
400
+ 2022-07-31 12:20:45,649 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
401
+ 2022-07-31 12:20:45,843 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
402
+ 2022-07-31 12:20:51,846 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
403
+ 2022-07-31 12:20:54,541 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
404
+ 2022-07-31 12:20:54,541 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
405
+ 2022-07-31 12:21:00,850 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
406
+ 2022-07-31 12:21:09,853 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
407
+ 2022-07-31 12:21:09,866 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
408
+ 2022-07-31 12:21:09,866 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
409
+ 2022-07-31 12:21:15,719 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
410
+ 2022-07-31 12:21:17,857 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
411
+ 2022-07-31 12:21:24,860 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
412
+ 2022-07-31 12:21:25,079 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
413
+ 2022-07-31 12:21:25,080 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
414
+ 2022-07-31 12:21:26,861 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
415
+ 2022-07-31 12:21:30,863 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
416
+ 2022-07-31 12:21:34,865 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
417
+ 2022-07-31 12:21:36,866 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
418
+ 2022-07-31 12:21:40,346 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
419
+ 2022-07-31 12:21:40,346 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
420
+ 2022-07-31 12:21:44,869 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
421
+ 2022-07-31 12:21:45,794 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
422
+ 2022-07-31 12:21:55,516 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
423
+ 2022-07-31 12:21:55,516 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
424
+ 2022-07-31 12:22:10,716 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
425
+ 2022-07-31 12:22:10,717 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
426
+ 2022-07-31 12:22:11,880 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
427
+ 2022-07-31 12:22:15,871 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
428
+ 2022-07-31 12:22:17,883 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
429
+ 2022-07-31 12:22:19,883 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
430
+ 2022-07-31 12:22:25,896 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
431
+ 2022-07-31 12:22:25,897 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
432
+ 2022-07-31 12:22:41,059 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
433
+ 2022-07-31 12:22:41,059 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
434
+ 2022-07-31 12:22:45,950 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
435
+ 2022-07-31 12:22:56,200 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
436
+ 2022-07-31 12:22:56,200 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
437
+ 2022-07-31 12:23:11,377 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
438
+ 2022-07-31 12:23:11,378 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
439
+ 2022-07-31 12:23:16,029 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
440
+ 2022-07-31 12:23:26,513 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
441
+ 2022-07-31 12:23:26,513 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
442
+ 2022-07-31 12:23:41,651 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
443
+ 2022-07-31 12:23:41,652 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
444
+ 2022-07-31 12:23:46,106 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
445
+ 2022-07-31 12:23:56,790 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
446
+ 2022-07-31 12:23:56,790 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
447
+ 2022-07-31 12:24:11,923 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
448
+ 2022-07-31 12:24:11,923 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
449
+ 2022-07-31 12:24:16,184 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
450
+ 2022-07-31 12:24:27,067 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
451
+ 2022-07-31 12:24:27,067 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
452
+ 2022-07-31 12:24:42,203 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
453
+ 2022-07-31 12:24:42,203 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
454
+ 2022-07-31 12:24:46,263 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
455
+ 2022-07-31 12:24:57,343 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
456
+ 2022-07-31 12:24:57,343 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
457
+ 2022-07-31 12:25:12,493 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
458
+ 2022-07-31 12:25:12,493 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
459
+ 2022-07-31 12:25:16,340 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
460
+ 2022-07-31 12:25:27,635 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
461
+ 2022-07-31 12:25:27,635 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
462
+ 2022-07-31 12:25:42,772 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
463
+ 2022-07-31 12:25:42,772 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
464
+ 2022-07-31 12:25:46,411 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
465
+ 2022-07-31 12:25:57,973 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
466
+ 2022-07-31 12:25:58,021 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
467
+ 2022-07-31 12:25:58,021 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
468
+ 2022-07-31 12:26:13,337 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
469
+ 2022-07-31 12:26:13,337 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
470
+ 2022-07-31 12:26:16,482 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
471
+ 2022-07-31 12:26:28,492 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
472
+ 2022-07-31 12:26:28,492 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
473
+ 2022-07-31 12:26:43,657 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
474
+ 2022-07-31 12:26:43,657 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
475
+ 2022-07-31 12:26:46,546 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
476
+ 2022-07-31 12:26:58,820 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
477
+ 2022-07-31 12:26:58,821 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
478
+ 2022-07-31 12:27:13,960 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
479
+ 2022-07-31 12:27:13,960 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
480
+ 2022-07-31 12:27:16,613 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
481
+ 2022-07-31 12:27:29,099 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
482
+ 2022-07-31 12:27:29,100 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
483
+ 2022-07-31 12:27:44,236 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
484
+ 2022-07-31 12:27:44,237 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
485
+ 2022-07-31 12:27:46,679 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
486
+ 2022-07-31 12:27:59,372 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
487
+ 2022-07-31 12:27:59,372 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
488
+ 2022-07-31 12:28:14,505 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
489
+ 2022-07-31 12:28:14,505 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
490
+ 2022-07-31 12:28:16,744 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
491
+ 2022-07-31 12:28:29,642 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
492
+ 2022-07-31 12:28:29,642 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
493
+ 2022-07-31 12:28:44,781 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
494
+ 2022-07-31 12:28:44,782 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
495
+ 2022-07-31 12:28:46,813 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
496
+ 2022-07-31 12:28:59,932 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
497
+ 2022-07-31 12:28:59,932 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
498
+ 2022-07-31 12:29:15,086 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
499
+ 2022-07-31 12:29:15,087 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
500
+ 2022-07-31 12:29:16,881 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
501
+ 2022-07-31 12:29:30,246 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
502
+ 2022-07-31 12:29:30,246 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
503
+ 2022-07-31 12:29:45,382 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
504
+ 2022-07-31 12:29:45,383 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
505
+ 2022-07-31 12:29:46,962 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
506
+ 2022-07-31 12:30:00,517 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
507
+ 2022-07-31 12:30:00,517 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
508
+ 2022-07-31 12:30:15,654 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
509
+ 2022-07-31 12:30:15,654 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
510
+ 2022-07-31 12:30:17,170 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
511
+ 2022-07-31 12:30:30,108 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
512
+ 2022-07-31 12:30:30,894 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
513
+ 2022-07-31 12:30:30,894 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
514
+ 2022-07-31 12:30:46,904 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
515
+ 2022-07-31 12:30:46,904 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
516
+ 2022-07-31 12:30:47,245 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
517
+ 2022-07-31 12:31:02,075 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
518
+ 2022-07-31 12:31:02,076 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
519
+ 2022-07-31 12:31:17,230 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
520
+ 2022-07-31 12:31:17,231 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
521
+ 2022-07-31 12:31:17,365 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
522
+ 2022-07-31 12:31:32,377 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
523
+ 2022-07-31 12:31:32,377 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
524
+ 2022-07-31 12:31:47,381 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
525
+ 2022-07-31 12:31:47,513 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
526
+ 2022-07-31 12:31:47,513 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
527
+ 2022-07-31 12:32:02,644 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
528
+ 2022-07-31 12:32:02,645 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
529
+ 2022-07-31 12:32:17,450 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
530
+ 2022-07-31 12:32:17,796 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
531
+ 2022-07-31 12:32:17,797 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
532
+ 2022-07-31 12:32:32,927 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
533
+ 2022-07-31 12:32:32,927 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
534
+ 2022-07-31 12:32:47,521 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
535
+ 2022-07-31 12:32:48,066 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
536
+ 2022-07-31 12:32:48,066 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
537
+ 2022-07-31 12:33:03,211 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
538
+ 2022-07-31 12:33:03,212 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
539
+ 2022-07-31 12:33:17,594 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
540
+ 2022-07-31 12:33:18,343 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
541
+ 2022-07-31 12:33:18,343 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
542
+ 2022-07-31 12:33:33,480 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
543
+ 2022-07-31 12:33:33,481 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
544
+ 2022-07-31 12:33:47,678 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
545
+ 2022-07-31 12:33:48,616 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
546
+ 2022-07-31 12:33:48,616 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
547
+ 2022-07-31 12:34:03,765 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
548
+ 2022-07-31 12:34:03,765 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
549
+ 2022-07-31 12:34:17,779 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
550
+ 2022-07-31 12:34:18,906 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
551
+ 2022-07-31 12:34:18,906 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
552
+ 2022-07-31 12:34:34,041 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
553
+ 2022-07-31 12:34:34,042 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
554
+ 2022-07-31 12:34:47,907 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
555
+ 2022-07-31 12:34:49,182 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
556
+ 2022-07-31 12:34:49,183 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
557
+ 2022-07-31 12:35:04,319 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
558
+ 2022-07-31 12:35:04,319 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
559
+ 2022-07-31 12:35:07,266 INFO Thread-8 :534148 [dir_watcher.py:_on_file_modified():230] file/dir modified: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/files/output.log
560
+ 2022-07-31 12:35:17,992 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
561
+ 2022-07-31 12:35:19,502 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
562
+ 2022-07-31 12:35:19,502 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
563
+ 2022-07-31 12:35:34,676 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
564
+ 2022-07-31 12:35:34,676 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
565
+ 2022-07-31 12:35:48,060 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
566
+ 2022-07-31 12:35:49,839 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
567
+ 2022-07-31 12:35:49,840 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
568
+ 2022-07-31 12:36:04,985 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
569
+ 2022-07-31 12:36:04,985 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
570
+ 2022-07-31 12:36:18,132 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
571
+ 2022-07-31 12:36:20,118 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
572
+ 2022-07-31 12:36:20,119 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
573
+ 2022-07-31 12:36:35,253 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
574
+ 2022-07-31 12:36:35,254 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
575
+ 2022-07-31 12:36:48,204 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
576
+ 2022-07-31 12:36:50,387 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
577
+ 2022-07-31 12:36:50,387 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
578
+ 2022-07-31 12:37:05,521 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
579
+ 2022-07-31 12:37:05,521 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
580
+ 2022-07-31 12:37:18,283 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
581
+ 2022-07-31 12:37:20,659 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
582
+ 2022-07-31 12:37:20,660 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
583
+ 2022-07-31 12:37:35,797 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
584
+ 2022-07-31 12:37:35,797 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
585
+ 2022-07-31 12:37:48,381 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
586
+ 2022-07-31 12:37:50,945 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
587
+ 2022-07-31 12:37:50,946 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
588
+ 2022-07-31 12:38:06,085 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
589
+ 2022-07-31 12:38:06,086 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
590
+ 2022-07-31 12:38:18,460 DEBUG SenderThread:534148 [sender.py:send():234] send: stats
591
+ 2022-07-31 12:38:21,225 DEBUG HandlerThread:534148 [handler.py:handle_request():130] handle_request: stop_status
592
+ 2022-07-31 12:38:21,226 DEBUG SenderThread:534148 [sender.py:send_request():248] send_request: stop_status
593
+ 2022-07-31 12:38:32,601 WARNING MainThread:534148 [internal.py:wandb_internal():146] Internal process interrupt: 1
594
+ 2022-07-31 12:38:32,728 WARNING MainThread:534148 [internal.py:wandb_internal():146] Internal process interrupt: 2
595
+ 2022-07-31 12:38:32,728 ERROR MainThread:534148 [internal.py:wandb_internal():149] Internal process interrupted.
596
+ 2022-07-31 12:38:33,378 INFO SenderThread:534148 [sender.py:finish():1070] shutting down sender
597
+ 2022-07-31 12:38:33,378 INFO SenderThread:534148 [dir_watcher.py:finish():283] shutting down directory watcher
598
+ 2022-07-31 12:38:33,379 INFO HandlerThread:534148 [handler.py:finish():731] shutting down handler
599
+ 2022-07-31 12:38:33,464 INFO WriterThread:534148 [datastore.py:close():281] close: /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/run-3m2amvk9.wandb
600
+ 2022-07-31 12:38:34,094 INFO MainThread:534148 [internal.py:handle_exit():77] Internal process exited
wandb/run-20220731_120912-3m2amvk9/logs/debug.log ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 2022-07-31 12:09:12,345 INFO MainThread:532896 [wandb_setup.py:_flush():71] setting env: {'project': 'wav2vec2', 'entity': 'NbAiLab'}
2
+ 2022-07-31 12:09:12,345 INFO MainThread:532896 [wandb_setup.py:_flush():71] setting login settings: {}
3
+ 2022-07-31 12:09:12,345 INFO MainThread:532896 [wandb_init.py:_log_setup():371] Logging user logs to /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/logs/debug.log
4
+ 2022-07-31 12:09:12,345 INFO MainThread:532896 [wandb_init.py:_log_setup():372] Logging internal logs to /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_120912-3m2amvk9/logs/debug-internal.log
5
+ 2022-07-31 12:09:12,345 INFO MainThread:532896 [wandb_init.py:init():404] calling init triggers
6
+ 2022-07-31 12:09:12,346 INFO MainThread:532896 [wandb_init.py:init():409] wandb.init called with sweep_config: {}
7
+ config: {}
8
+ 2022-07-31 12:09:12,346 INFO MainThread:532896 [wandb_init.py:init():460] starting backend
9
+ 2022-07-31 12:09:12,346 INFO MainThread:532896 [backend.py:_multiprocessing_setup():99] multiprocessing start_methods=fork,spawn,forkserver, using: spawn
10
+ 2022-07-31 12:09:12,393 INFO MainThread:532896 [backend.py:ensure_launched():216] starting backend process...
11
+ 2022-07-31 12:09:12,438 INFO MainThread:532896 [backend.py:ensure_launched():221] started backend process with pid: 534148
12
+ 2022-07-31 12:09:12,442 INFO MainThread:532896 [wandb_init.py:init():469] backend started and connected
13
+ 2022-07-31 12:09:12,456 INFO MainThread:532896 [wandb_init.py:init():533] updated telemetry
14
+ 2022-07-31 12:09:12,568 INFO MainThread:532896 [wandb_init.py:init():563] communicating current version
15
+ 2022-07-31 12:09:13,301 INFO MainThread:532896 [wandb_init.py:init():568] got version response upgrade_message: "wandb version 0.12.21 is available! To upgrade, please run:\n $ pip install wandb --upgrade"
16
+
17
+ 2022-07-31 12:09:13,302 INFO MainThread:532896 [wandb_init.py:init():578] communicating run to backend with 30 second timeout
18
+ 2022-07-31 12:09:13,500 INFO MainThread:532896 [wandb_init.py:init():606] starting run threads in backend
19
+ 2022-07-31 12:09:16,272 INFO MainThread:532896 [wandb_run.py:_console_start():1810] atexit reg
20
+ 2022-07-31 12:09:16,272 INFO MainThread:532896 [wandb_run.py:_redirect():1684] redirect: SettingsConsole.REDIRECT
21
+ 2022-07-31 12:09:16,273 INFO MainThread:532896 [wandb_run.py:_redirect():1689] Redirecting console.
22
+ 2022-07-31 12:09:16,275 INFO MainThread:532896 [wandb_run.py:_redirect():1745] Redirects installed.
23
+ 2022-07-31 12:09:16,275 INFO MainThread:532896 [wandb_init.py:init():633] run started, returning control to user process
24
+ 2022-07-31 12:39:41,998 INFO MainThread:532896 [wandb_run.py:_atexit_cleanup():1780] got exitcode: 255
25
+ 2022-07-31 12:39:42,003 INFO MainThread:532896 [wandb_run.py:_restore():1752] restore
26
+ 2022-07-31 12:39:44,493 INFO MainThread:532896 [wandb_run.py:_restore():1752] restore
wandb/run-20220731_120912-3m2amvk9/run-3m2amvk9.wandb ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2d6fd9c3f6902509386afba766966fe2c403c098aa0a8642ba3022afea4b528e
3
+ size 440677
wandb/run-20220731_124004-aa3ycswy/files/code/run_flax_speech_recognition_ctc.py ADDED
@@ -0,0 +1,1604 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python
2
+ # coding=utf-8
3
+ # Copyright 2022 The HuggingFace Team All rights reserved.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ """
17
+ Fine-tuning the Flax library models for connectionist temporal classification (CTC) speech recognition.
18
+ """
19
+ # You can also adapt this script on your own sequence to sequence task. Pointers for this are left as comments.
20
+
21
+ import logging
22
+ import math
23
+ import os
24
+ import re
25
+ import sys
26
+ import time
27
+ from dataclasses import dataclass, field
28
+ from pathlib import Path
29
+ from typing import Any, Callable, Dict, List, Optional, Union
30
+
31
+ import datasets
32
+ import numpy as np
33
+ from datasets import DatasetDict, load_dataset, load_metric
34
+ from tqdm import tqdm
35
+
36
+ import flax
37
+ import jax
38
+ import jax.numpy as jnp
39
+ import optax
40
+ import transformers
41
+ import wandb as wandb
42
+ from flax import core, jax_utils, struct, traverse_util
43
+ from flax.jax_utils import unreplicate, pad_shard_unpad
44
+ from flax.training.common_utils import get_metrics, shard, shard_prng_key
45
+ from huggingface_hub import Repository
46
+ from models import Wav2Vec2Config, FlaxWav2Vec2ForCTC
47
+ from optax._src import linear_algebra
48
+ from transformers import (
49
+ AutoFeatureExtractor,
50
+ AutoProcessor,
51
+ AutoTokenizer,
52
+ HfArgumentParser,
53
+ TrainingArguments,
54
+ is_tensorboard_available,
55
+ set_seed,
56
+ )
57
+ from transformers.file_utils import get_full_repo_name
58
+ from transformers.utils import check_min_version
59
+ from transformers.utils.versions import require_version
60
+
61
+
62
+ # Will error if the minimal version of Transformers is not installed. Remove at your own risks.
63
+ check_min_version("4.17.0.dev0")
64
+
65
+ require_version("datasets>=1.18.0", "To fix: pip install -r examples/pytorch/speech-recognition/requirements.txt")
66
+
67
+ logger = logging.getLogger(__name__)
68
+
69
+
70
+ @flax.struct.dataclass
71
+ class ModelArguments:
72
+ """
73
+ Arguments pertaining to which model/config/tokenizer we are going to fine-tune from.
74
+ """
75
+
76
+ model_name_or_path: str = field(
77
+ metadata={"help": "Path to pretrained model or model identifier from huggingface.co/models"}
78
+ )
79
+ config_name: Optional[str] = field(
80
+ default=None, metadata={"help": "Pretrained config name or path if not the same as model_name"}
81
+ )
82
+ tokenizer_name: Optional[str] = field(
83
+ default=None, metadata={"help": "Pretrained tokenizer name or path if not the same as model_name"}
84
+ )
85
+ feature_extractor_name: Optional[str] = field(
86
+ default=None, metadata={"help": "feature extractor name or path if not the same as model_name"}
87
+ )
88
+ cache_dir: Optional[str] = field(
89
+ default=None,
90
+ metadata={"help": "Where to store the pretrained models downloaded from huggingface.co"},
91
+ )
92
+ use_fast_tokenizer: bool = field(
93
+ default=True,
94
+ metadata={"help": "Whether to use one of the fast tokenizer (backed by the tokenizers library) or not."},
95
+ )
96
+ model_revision: str = field(
97
+ default="main",
98
+ metadata={"help": "The specific model version to use (can be a branch name, tag name or commit id)."},
99
+ )
100
+ use_auth_token: bool = field(
101
+ default=False,
102
+ metadata={
103
+ "help": "Will use the token generated when running `transformers-cli login` (necessary to use this script "
104
+ "with private models)."
105
+ },
106
+ )
107
+ freeze_feature_encoder: bool = field(
108
+ default=True, metadata={"help": "Whether to freeze the feature encoder layers of the model."}
109
+ )
110
+ attention_dropout: float = field(
111
+ default=0.0, metadata={"help": "The dropout ratio for the attention probabilities."}
112
+ )
113
+ activation_dropout: float = field(
114
+ default=0.1,
115
+ metadata={
116
+ "help": "The hidden activation dropout probability in the embeddings, encoder, and pooler."
117
+ },
118
+ )
119
+ hidden_dropout: float = field(
120
+ default=0.1,
121
+ metadata={
122
+ "help": "The dropout probability for all fully connected layers in the embeddings, encoder, and pooler."
123
+ },
124
+ )
125
+ feat_proj_dropout: float = field(
126
+ default=0.0,
127
+ metadata={
128
+ "help": "The feat proj dropout probability for feature encoder representations."
129
+ },
130
+ )
131
+ final_dropout: float = field(
132
+ default=0.0,
133
+ metadata={"help": "The dropout probability for the final projection layer."},
134
+ )
135
+ mask_time_prob: float = field(
136
+ default=0.1,
137
+ metadata={
138
+ "help": "The spec aug dropout probability for feature encoder representations."
139
+ },
140
+ )
141
+ mask_time_length: int = field(
142
+ default=10,
143
+ metadata={"help": "Length of vector span to mask along the time axis."},
144
+ )
145
+ mask_feature_prob: float = field(
146
+ default=0.0,
147
+ metadata={
148
+ "help": "Probability of each feature vector along the feature axis to be chosen as the start of the vector"
149
+ "span to be masked. Approximately ``mask_feature_prob * sequence_length // mask_feature_length`` feature bins will be masked along the time axis."
150
+ },
151
+ )
152
+ mask_feature_length: int = field(
153
+ default=10,
154
+ metadata={"help": "Length of vector span to mask along the feature axis."},
155
+ )
156
+ layerdrop: float = field(default=0.0, metadata={"help": "The LayerDrop probability."})
157
+ ctc_loss_reduction: Optional[str] = field(
158
+ default="mean", metadata={"help": "The way the ctc loss should be reduced. Should be one of 'mean' or 'sum'."}
159
+ )
160
+ ctc_zero_infinity: Optional[bool] = field(
161
+ default=False, metadata={"help": "If True, will try yo aboud the CTC loss goinf to infinity."}
162
+ )
163
+
164
+
165
+ @flax.struct.dataclass
166
+ class DataTrainingArguments:
167
+ """
168
+ Arguments pertaining to what data we are going to input our model for training and eval.
169
+ """
170
+
171
+ dataset_name: str = field(
172
+ default=None, metadata={"help": "The name of the dataset to use (via the datasets library)."}
173
+ )
174
+ dataset_config_name: Optional[str] = field(
175
+ default=None, metadata={"help": "The configuration name of the dataset to use (via the datasets library)."}
176
+ )
177
+ text_column: Optional[str] = field(
178
+ default=None,
179
+ metadata={"help": "The name of the column in the datasets containing the full texts (for summarization)."},
180
+ )
181
+ dataset_cache_dir: Optional[str] = field(
182
+ default=None, metadata={"help": "Path to cache directory for saving and loading datasets"}
183
+ )
184
+ overwrite_cache: bool = field(
185
+ default=False, metadata={"help": "Overwrite the cached training and evaluation sets"}
186
+ )
187
+ preprocessing_num_workers: Optional[int] = field(
188
+ default=None,
189
+ metadata={"help": "The number of processes to use for the preprocessing."},
190
+ )
191
+ max_train_samples: Optional[int] = field(
192
+ default=None,
193
+ metadata={
194
+ "help": "For debugging purposes or quicker training, truncate the number of training examples to this "
195
+ "value if set."
196
+ },
197
+ )
198
+ max_eval_samples: Optional[int] = field(
199
+ default=None,
200
+ metadata={
201
+ "help": "For debugging purposes or quicker training, truncate the number of evaluation examples to this "
202
+ "value if set."
203
+ },
204
+ )
205
+ max_test_samples: Optional[int] = field(
206
+ default=None,
207
+ metadata={
208
+ "help": "For debugging purposes or quicker training, truncate the number of test examples to this "
209
+ "value if set."
210
+ },
211
+ )
212
+ audio_column_name: str = field(
213
+ default="audio",
214
+ metadata={"help": "The name of the dataset column containing the audio data. Defaults to 'audio'"},
215
+ )
216
+ text_column_name: str = field(
217
+ default="text",
218
+ metadata={"help": "The name of the dataset column containing the text data. Defaults to 'text'"},
219
+ )
220
+ max_duration_in_seconds: float = field(
221
+ default=20.0,
222
+ metadata={
223
+ "help": "Truncate audio files that are longer than `max_duration_in_seconds` seconds to 'max_duration_in_seconds`"
224
+ },
225
+ )
226
+ min_duration_in_seconds: float = field(
227
+ default=0.0, metadata={"help": "Filter audio files that are shorter than `min_duration_in_seconds` seconds"}
228
+ )
229
+ max_label_length: Optional[int] = field(
230
+ default=512,
231
+ metadata={
232
+ "help": "The minimum total sequence length for target text after tokenization. Sequences shorter "
233
+ "than this will be filtered."
234
+ },
235
+ )
236
+ min_label_length: Optional[int] = field(
237
+ default=2,
238
+ metadata={
239
+ "help": "The minimum total sequence length for target text after tokenization. Sequences shorter "
240
+ "than this will be filtered."
241
+ },
242
+ )
243
+ pad_input_to_multiple_of: Optional[int] = field(
244
+ default=32000,
245
+ metadata={
246
+ "help": "If set will pad the input sequence to a multiple of the provided value. "
247
+ "This is important to avoid triggering recompilations on TPU."
248
+ },
249
+ )
250
+ pad_target_to_multiple_of: Optional[int] = field(
251
+ default=None,
252
+ metadata={
253
+ "help": "If set will pad the target sequence to a multiple of the provided value. "
254
+ "This is important to avoid triggering recompilations on TPU."
255
+ },
256
+ )
257
+ preprocessing_only: bool = field(
258
+ default=False,
259
+ metadata={
260
+ "help": "Whether to only do data preprocessing and skip training. "
261
+ "This is especially useful when data preprocessing errors out in distributed training due to timeout. "
262
+ "In this case, one should run the preprocessing in a non-distributed setup with `preprocessing_only=True` "
263
+ "so that the cached datasets can consequently be loaded in distributed training"
264
+ },
265
+ )
266
+ train_split_name: str = field(
267
+ default="train",
268
+ metadata={
269
+ "help": "The name of the training data set split to use (via the datasets library). Defaults to 'train'"
270
+ },
271
+ )
272
+ eval_split_name: str = field(
273
+ default="validation",
274
+ metadata={
275
+ "help": "The name of the training data set split to use (via the datasets library). Defaults to 'train'"
276
+ },
277
+ )
278
+ do_lower_case: bool = field(
279
+ default=True,
280
+ metadata={"help": "Whether the target text should be lower cased."},
281
+ )
282
+ wandb_project: str = field(
283
+ default="flax-speech-recognition-ctc",
284
+ metadata={"help": "The name of the wandb project."},
285
+ )
286
+ wandb_name: str = field(
287
+ default=None,
288
+ metadata={"help": "The name of the wandb run."},
289
+ )
290
+ wandb_job_type: str = field(
291
+ default="CTC",
292
+ metadata={"help": "The name of the wandb job type."},
293
+ )
294
+ test_split_name: str = field(
295
+ default="test",
296
+ metadata={"help": "The name of the test data set split to use (via the datasets library). Defaults to 'test'"},
297
+ )
298
+ remove_punctuation: bool = field(
299
+ default=False, metadata={"help": "Whether or not to remove punctuation during training."}
300
+ )
301
+
302
+
303
+ # @flax.struct.dataclass
304
+ @dataclass
305
+ class FlaxTrainingArguments(TrainingArguments):
306
+ precision: str = field(
307
+ default="full",
308
+ metadata={
309
+ "help": "Whether to enable mixed-precision training. If true, the optimizer is stored in half-precision (bfloat16) and computations are executed in half-precision"
310
+ "**Note that this only specifies the dtype of the computation and optimizer state. It does not influence the dtype of model parameters.**"
311
+ },
312
+ )
313
+ matmul_precision: str = field(
314
+ default="default",
315
+ metadata={
316
+ "help": "Default floating-point precision of internal computations used in TPU matrix multiplications and convolutions. "
317
+ "This configuration option controls the default precision for JAX operations that take an optional precision argument (e.g. `lax.conv_general_dilated` and `lax.dot`). "
318
+ "This configuration option does not change the behaviours of such calls with explicit precision arguments; "
319
+ "it only changes the behaviors of calls with no such argument provided. "
320
+ "One of `['highest', 'float32', 'high', 'bfloat16_3x', 'default', 'bfloat16', 'fastest', None]`."
321
+ },
322
+ )
323
+ multisteps: bool = field(
324
+ default=False,
325
+ metadata={
326
+ "help": "Whether to use Optax MultiSteps for gradient accumulation. If `False` (default) and `gradient_accumulation_steps > 1`, "
327
+ "a custom gradient accumulation implementation will be employed."
328
+ },
329
+ )
330
+
331
+
332
+ def to_fp32(t):
333
+ return jax.tree_map(lambda x: x.astype(jnp.float32) if x.dtype == jnp.bfloat16 else x, t)
334
+
335
+
336
+ def to_bf16(t):
337
+ return jax.tree_map(lambda x: x.astype(jnp.bfloat16) if x.dtype == jnp.float32 else x, t)
338
+
339
+
340
+ class MixedPrecisionTrainState(struct.PyTreeNode):
341
+ """Train state for use with a single Optax optimizer.
342
+ Adapted from flax train_state https://github.com/google/flax/blob/main/flax/training/train_state.py
343
+
344
+ Synopsis::
345
+
346
+ state = TrainState.create(
347
+ apply_fn=model.apply,
348
+ params=variables['params'],
349
+ tx=tx)
350
+ grad_fn = jax.grad(make_loss_fn(state.apply_fn))
351
+ for batch in data:
352
+ grads = grad_fn(state.params, batch)
353
+ state = state.apply_gradients(grads=grads)
354
+
355
+ Args:
356
+ step: Counter starts at 0 and is incremented by every call to
357
+ `.apply_gradients()`.
358
+ apply_fn: Usually set to `model.apply()`. Kept in this dataclass for
359
+ convenience to have a shorter params list for the `train_step()` function
360
+ in your training loop.
361
+ params: The parameters to be updated by `tx` and used by `apply_fn`.
362
+ tx: An Optax gradient transformation.
363
+ opt_state: The state for `tx`.
364
+ dropout_rng: PRNG key for stochastic operations.
365
+ bf16: Whether to use bf16 16-bit (mixed) precision training instead of 32-bit training.
366
+ """
367
+
368
+ step: int
369
+ apply_fn: Callable = struct.field(pytree_node=False)
370
+ get_attention_mask_fn: Callable = struct.field(pytree_node=False)
371
+ params: core.FrozenDict[str, Any]
372
+ tx: optax.GradientTransformation = struct.field(pytree_node=False)
373
+ opt_state: optax.OptState
374
+ dropout_rng: jnp.ndarray
375
+ max_grad_norm: Optional[float] = 1.0
376
+
377
+ def apply_gradients(self, *, grads, to_dtype, **kwargs):
378
+ """Updates `step`, `params`, `opt_state` and `**kwargs` in return value.
379
+
380
+ Note that internally this function calls `.tx.update()` followed by a call
381
+ to `optax.apply_updates()` to update `params` and `opt_state`.
382
+
383
+ Args:
384
+ grads: Gradients that have the same pytree structure as `.params`.
385
+ **kwargs: Additional dataclass attributes that should be `.replace()`-ed.
386
+
387
+ Returns:
388
+ An updated instance of `self` with `step` incremented by one, `params`
389
+ and `opt_state` updated by applying `grads`, and additional attributes
390
+ replaced as specified by `kwargs`.
391
+ """
392
+
393
+ # clip gradients by global l2 norm
394
+ casted_max_grad_norm = to_dtype(self.max_grad_norm)
395
+ g_norm = linear_algebra.global_norm(grads)
396
+ g_norm = jnp.maximum(casted_max_grad_norm, g_norm)
397
+ grads = jax.tree_map(lambda t: (t / g_norm) * casted_max_grad_norm, grads)
398
+
399
+ # perform update step in fp32 and subsequently downcast optimizer states if mixed precision training
400
+ # grads and opt_state in bf16 (need to upcast), params in fp32 (leave as is)
401
+ updates, new_opt_state = self.tx.update(to_fp32(grads), to_fp32(self.opt_state), self.params)
402
+
403
+ new_params = optax.apply_updates(self.params, updates)
404
+ return self.replace(
405
+ step=self.step + 1,
406
+ params=new_params,
407
+ opt_state=to_dtype(new_opt_state),
408
+ **kwargs,
409
+ )
410
+
411
+ @classmethod
412
+ def create(cls, *, apply_fn, params, tx, to_dtype, **kwargs):
413
+ """Creates a new instance with `step=0` and initialized `opt_state`."""
414
+ # downcast optimizer state to bf16 if mixed-precision training
415
+ opt_state = tx.init(to_dtype(params)) if tx is not None else None
416
+ return cls(
417
+ step=0,
418
+ apply_fn=apply_fn,
419
+ params=params,
420
+ tx=tx,
421
+ opt_state=opt_state,
422
+ **kwargs,
423
+ )
424
+
425
+ def replicate(self):
426
+ return jax_utils.replicate(self).replace(dropout_rng=shard_prng_key(self.dropout_rng))
427
+
428
+
429
+ @flax.struct.dataclass
430
+ class FlaxDataCollatorSpeechSeq2SeqWithPadding:
431
+ """
432
+ Data collator that will dynamically pad the inputs received.
433
+ Args:
434
+ processor ([`Wav2Vec2Processor`])
435
+ The processor used for proccessing the data.
436
+ decoder_start_token_id (:obj: `int`)
437
+ The begin-of-sentence of the decoder.
438
+ input_padding (:obj:`bool`, :obj:`str` or :class:`~transformers.tokenization_utils_base.PaddingStrategy`, `optional`, defaults to :obj:`True`):
439
+ Select a strategy to pad the returned input sequences (according to the model's padding side and padding index)
440
+ among:
441
+ * :obj:`True` or :obj:`'longest'`: Pad to the longest sequence in the batch (or no padding if only a single
442
+ sequence if provided).
443
+ * :obj:`'max_length'`: Pad to a maximum length specified with the argument :obj:`max_length` or to the
444
+ maximum acceptable input length for the model if that argument is not provided.
445
+ * :obj:`False` or :obj:`'do_not_pad'` (default): No padding (i.e., can output a batch with sequences of
446
+ different lengths).
447
+ target_padding (:obj:`bool`, :obj:`str` or :class:`~transformers.tokenization_utils_base.PaddingStrategy`, `optional`, defaults to :obj:`True`):
448
+ Select a strategy to pad the returned target sequences (according to the model's padding side and padding index).
449
+ See above for details.
450
+ max_input_length (:obj:`float`, `optional`):
451
+ Maximum length of the ``input_values`` of the returned list and optionally padding length (see above).
452
+ pad_input_to_multiple_of (:obj:`int`, `optional`):
453
+ If set will pad the input sequence to a multiple of the provided value.
454
+ This is especially useful to enable the use of Tensor Cores on NVIDIA hardware with compute capability >=
455
+ 7.5 (Volta).
456
+ pad_target_to_multiple_of (:obj:`int`, `optional`):
457
+ If set will pad the target sequence to a multiple of the provided value.
458
+ This is especially useful to enable the use of Tensor Cores on NVIDIA hardware with compute capability >=
459
+ 7.5 (Volta).
460
+ """
461
+
462
+ processor: Any
463
+ input_padding: Union[bool, str] = "longest"
464
+ label_padding: Union[bool, str] = "max_length"
465
+ pad_input_to_multiple_of: Optional[int] = None
466
+ pad_to_multiple_of_label: Optional[int] = None
467
+ max_input_length: Optional[float] = None
468
+ max_label_length: Optional[float] = None
469
+
470
+ def __call__(self, features: List[Dict[str, Union[List[int], np.ndarray]]]) -> Dict[str, np.ndarray]:
471
+ # split inputs and labels since they have to be of different lengths and need
472
+ # different padding methods
473
+ input_features = [{"input_values": feature["input_values"]} for feature in features]
474
+ label_features = [{"input_ids": feature["labels"]} for feature in features]
475
+
476
+ # reformat list to dict and set to pytorch format
477
+ batch = self.processor.feature_extractor.pad(
478
+ input_features,
479
+ max_length=self.max_input_length,
480
+ padding=self.input_padding,
481
+ pad_to_multiple_of=self.pad_input_to_multiple_of,
482
+ return_tensors="np",
483
+ )
484
+
485
+ labels_batch = self.processor.tokenizer.pad(
486
+ label_features,
487
+ max_length=self.max_label_length,
488
+ padding=self.label_padding,
489
+ pad_to_multiple_of=self.pad_to_multiple_of_label,
490
+ return_tensors="np",
491
+ )
492
+
493
+ labels = labels_batch["input_ids"]
494
+ labels = np.ma.array(labels, mask=np.not_equal(labels_batch.attention_mask, 1))
495
+ labels = labels.filled(fill_value=-100)
496
+
497
+ batch["labels"] = labels
498
+
499
+ return batch
500
+
501
+
502
+ def get_grouped_indices(
503
+ dataset, batch_size: int, rng: Optional[List[int]] = None, mega_batch_mult: Optional[int] = None
504
+ ) -> np.array:
505
+ """
506
+ Adapted from the `get_length_grouped_indices` function in the PyTorch Trainer utils file (https://github.com/huggingface/transformers/blob/main/src/transformers/trainer_pt_utils.py#L486)
507
+ Function that returns a list of indices in which each slice of `batch_size` consecutive indices correspond to elements of similar
508
+ lengths. To do this, the indices are:
509
+
510
+ - randomly permuted (if a JAX rng is specified)
511
+ - grouped in mega-batches of size `mega_batch_mult * batch_size`
512
+ - sorted by length in each mega-batch
513
+
514
+ The result is the concatenation of all mega-batches, with the batch of `batch_size` containing the element of
515
+ maximum length placed first, so that an OOM happens sooner rather than later.
516
+ """
517
+ lengths = dataset["input_length"]
518
+
519
+ # Default for mega_batch_mult: 50 or the number to get 4 megabatches, whichever is smaller.
520
+ if mega_batch_mult is None:
521
+ mega_batch_mult = min(len(lengths) // (batch_size * 4), 50)
522
+ # Just in case, for tiny datasets
523
+ if mega_batch_mult == 0:
524
+ mega_batch_mult = 1
525
+
526
+ # We need to use JAX for the random permutation as the PRNG key will be set based on the seed outside of the sampler.
527
+ num_samples = len(lengths)
528
+ indices = jax.random.permutation(rng, np.arange(num_samples)) if rng is not None else np.arange(num_samples)
529
+
530
+ megabatch_size = mega_batch_mult * batch_size
531
+ megabatches = [indices[i : i + megabatch_size].tolist() for i in range(0, len(lengths), megabatch_size)]
532
+ megabatches = [list(sorted(megabatch, key=lambda i: lengths[i], reverse=True)) for megabatch in megabatches]
533
+
534
+ # The rest is to get the biggest batch first.
535
+ # Since each megabatch is sorted by descending length, the longest element is the first
536
+ megabatch_maximums = [lengths[megabatch[0]] for megabatch in megabatches]
537
+ max_idx = np.argmax(megabatch_maximums).item()
538
+ # Switch to put the longest batch in first position
539
+ # (note that this is different to the PT grouped sampler in which we only put the longest element in the first position, and not its batch)
540
+ megabatches[0], megabatches[max_idx] = megabatches[max_idx], megabatches[0]
541
+
542
+ megabatches = np.array([i for megabatch in megabatches for i in megabatch])
543
+
544
+ return megabatches
545
+
546
+
547
+ def generate_batch_splits(samples_idx: np.ndarray, batch_size: int, drop_last=True) -> np.ndarray:
548
+ """Generate batches of data for a specified batch size from sample indices. If the dataset size is not divisible by
549
+ the batch size and `drop_last` is `True`, the last incomplete batch is dropped. Else, it is returned."""
550
+ num_samples = len(samples_idx)
551
+ if drop_last:
552
+ samples_to_remove = num_samples % batch_size
553
+ if samples_to_remove != 0:
554
+ samples_idx = samples_idx[:-samples_to_remove]
555
+ sections_split = num_samples // batch_size
556
+ samples_idx = samples_idx.reshape((sections_split, batch_size))
557
+ else:
558
+ sections_split = math.ceil(num_samples / batch_size)
559
+ samples_idx = np.array_split(samples_idx, sections_split)
560
+ return samples_idx
561
+
562
+
563
+ def write_train_metric(summary_writer, train_metrics, train_time, step):
564
+ summary_writer.scalar("train_time", train_time, step)
565
+
566
+ train_metrics = get_metrics(train_metrics)
567
+ for key, vals in train_metrics.items():
568
+ tag = f"train_{key}"
569
+ for i, val in enumerate(vals):
570
+ summary_writer.scalar(tag, val, step - len(vals) + i + 1)
571
+
572
+
573
+ def write_eval_metric(summary_writer, eval_metrics, step, pred_str=None):
574
+ for metric_name, value in eval_metrics.items():
575
+ summary_writer.scalar(f"eval_{metric_name}", value, step)
576
+
577
+ if pred_str is not None:
578
+ # write output actual predictions for debugging
579
+ summary_writer.text("eval_predictions", "\n".join(pred_str), step)
580
+
581
+
582
+ def write_wandb_log(metrics, step, prefix=None):
583
+ if jax.process_index() == 0:
584
+ log_metrics = {}
585
+ for k, v in metrics.items():
586
+ if "layer" in k:
587
+ log_metrics[f"{k}/"] = v
588
+ elif prefix is not None:
589
+ log_metrics[f"{prefix}/{k}"] = v
590
+ else:
591
+ log_metrics[k] = v
592
+ wandb.log(log_metrics, step)
593
+
594
+
595
+ def write_wandb_pred(pred_str, label_str, step, num_log=50, prefix="eval"):
596
+ if jax.process_index() == 0:
597
+ # convert str data to a wandb compatible format
598
+ str_data = [[label_str[i], pred_str[i]] for i in range(len(pred_str))]
599
+ # we'll log the first 50 predictions for each epoch
600
+ wandb.log(
601
+ {
602
+ f"{prefix}/step_{int(step / 1000)}k": wandb.Table(
603
+ columns=["label_str", "pred_str"], data=str_data[:num_log]
604
+ )
605
+ },
606
+ step,
607
+ )
608
+
609
+
610
+ def create_learning_rate_fn(
611
+ num_train_steps: int, num_warmup_steps: int, learning_rate: float
612
+ ) -> Callable[[int], jnp.array]:
613
+ """Returns a linear warmup, linear_decay learning rate function."""
614
+ warmup_fn = optax.linear_schedule(init_value=0.0, end_value=learning_rate, transition_steps=num_warmup_steps)
615
+ decay_fn = optax.linear_schedule(
616
+ init_value=learning_rate, end_value=0, transition_steps=num_train_steps - num_warmup_steps
617
+ )
618
+ schedule_fn = optax.join_schedules(schedules=[warmup_fn, decay_fn], boundaries=[num_warmup_steps])
619
+ return schedule_fn
620
+
621
+
622
+ def ctc_loss(
623
+ logits,
624
+ logits_attention_mask,
625
+ labels,
626
+ blank_id,
627
+ loss_reduction="mean",
628
+ output_emission_dict=False,
629
+ log_epsilon=-100000.0,
630
+ ):
631
+ """Computes CTC loss.
632
+ This function performs forward computation over an FSA with `N * 2` states
633
+ where `N` is the max number of labels. The states are split into two groups:
634
+ Phi states and emission states. a phi-state accepts repetition of
635
+ phi (blank)-symbols and transits to emission state when the correct label is
636
+ observed. An emission state accepts repetition of the label and transits to
637
+ the next phi states at any time (so called epsilon-transition).
638
+ Below, `B` denotes the batch size, `T` denotes the time steps in `logits`,
639
+ and `N` denotes the time steps in `labels`.
640
+ Args:
641
+ logits: (B, T, K)-array containing log-probabilities of each class.
642
+ logitpaddings: (B, T)-array. Padding indicators for `logits`.
643
+ labels: (B, N)-array containing reference integer labels.
644
+ labelpaddings: (B, N)-array. Padding indicators for `labels`. Currently,
645
+ `labels` must be right-padded, i.e. each row of `labelpaddings` must be
646
+ repetition of zeroes, followed by repetition of ones.
647
+ blank_id: Id for blank token.
648
+ loss_reduction: one of "mean", "sum", "default"
649
+ - "none": no reduction is applied.
650
+ - "mean": output loss will be divided by target lengths and then the
651
+ mean over the batch is taken.
652
+ - "sum": output loss are summed over batch
653
+ output_emission_dict: whether to output additional information about the emission probs
654
+ Returns:
655
+ A pair of `(per_seq_loss, aux)`.
656
+ per_seq_loss:
657
+ (B,)-array containing loss values for each sequence in the batch.
658
+ aux: Dictionary containing interim variables used for computing losses.
659
+ aux['logalpha_phi']: (T, B, N+1)-array. Log-forward-probabilities of each
660
+ phi-state corresponding to the n-th label.
661
+ aux['logalpha_emit']: (T, B, N)-array. Log-forward-probabilities of each
662
+ emission-state corresponding to the n-th label.
663
+ aux['logprobs_phi']: (T, B, 1)-array. Probability of the phi-symbol
664
+ corresponding to each time frame.
665
+ aux['logprobs_emit']: (T, B, N)-array. Probability of the n-th label
666
+ corresponding to each time frame.
667
+ """
668
+ # label paddings are indicated by -100
669
+ labelpaddings = labels < 0
670
+ # logit paddings are the inverse of attention_mask
671
+ logitpaddings = ~logits_attention_mask
672
+
673
+ # Copied from https://github.com/tensorflow/lingvo/blob/master/lingvo/jax/layers/ctc_objectives.py
674
+ batchsize, unused_maxinputlen, num_classes = logits.shape
675
+ batchsize_, maxlabellen = labels.shape
676
+
677
+ logprobs = jax.nn.log_softmax(logits)
678
+ labellens = maxlabellen - jnp.sum(labelpaddings, axis=1).astype(jnp.int32)
679
+
680
+ # repeat[b, n] == 1.0 when label[b, n] == label[b, n+1].
681
+ repeat = (labels[:, :-1] == labels[:, 1:]).astype(jnp.float32)
682
+ repeat = jnp.pad(repeat, ((0, 0), (0, 1)))
683
+
684
+ logprobs_phi = logprobs[:, :, blank_id : blank_id + 1] # [B, T, 1]
685
+ logprobs_phi = jnp.transpose(logprobs_phi, (1, 0, 2)) # [T, B, 1]
686
+
687
+ one_hot = jax.nn.one_hot(labels, num_classes=num_classes) # [B, N, K]
688
+ logprobs_emit = jnp.einsum("btk,bnk->btn", logprobs, one_hot)
689
+ logprobs_emit = jnp.transpose(logprobs_emit, (1, 0, 2)) # [T, B, N]
690
+
691
+ logalpha_phi_init = jnp.ones((batchsize, maxlabellen + 1)) * log_epsilon # [B, N]
692
+ logalpha_phi_init = logalpha_phi_init.at[:, 0].set(0.0)
693
+ logalpha_emit_init = jnp.ones((batchsize, maxlabellen)) * log_epsilon # [B, N]
694
+
695
+ def loop_body(prev, x):
696
+ prev_phi, prev_emit = prev
697
+ # emit-to-phi epsilon transition, except if the next label is repetition
698
+ prev_phi_orig = prev_phi
699
+ prev_phi = prev_phi.at[:, 1:].set(jnp.logaddexp(prev_phi[:, 1:], prev_emit + log_epsilon * repeat))
700
+
701
+ logprob_emit, logprob_phi, pad = x
702
+
703
+ # phi-to-emit transition
704
+ next_emit = jnp.logaddexp(prev_phi[:, :-1] + logprob_emit, prev_emit + logprob_emit)
705
+ # self-loop transition
706
+ next_phi = prev_phi + logprob_phi
707
+ # emit-to-phi blank transition only when the next label is repetition
708
+ next_phi = next_phi.at[:, 1:].set(
709
+ jnp.logaddexp(next_phi[:, 1:], prev_emit + logprob_phi + log_epsilon * (1.0 - repeat))
710
+ )
711
+
712
+ pad = pad.reshape((batchsize, 1))
713
+ next_emit = pad * prev_emit + (1.0 - pad) * next_emit
714
+ next_phi = pad * prev_phi_orig + (1.0 - pad) * next_phi
715
+
716
+ return (next_phi, next_emit), (next_phi, next_emit)
717
+
718
+ xs = (logprobs_emit, logprobs_phi, logitpaddings.transpose((1, 0)))
719
+ _, (logalpha_phi, logalpha_emit) = jax.lax.scan(loop_body, (logalpha_phi_init, logalpha_emit_init), xs)
720
+
721
+ # last row needs to be updated with the last epsilon transition
722
+ logalpha_phi_last = logalpha_phi[-1].at[:, 1:].set(jnp.logaddexp(logalpha_phi[-1, :, 1:], logalpha_emit[-1]))
723
+ logalpha_phi = logalpha_phi.at[-1].set(logalpha_phi_last)
724
+
725
+ # extract per_seq_loss
726
+ one_hot = jax.nn.one_hot(labellens, num_classes=maxlabellen + 1) # [B, N+1]
727
+ per_seq_loss = -jnp.einsum("bn,bn->b", logalpha_phi_last, one_hot)
728
+
729
+ if loss_reduction == "mean":
730
+ target_lengths = labelpaddings.shape[-1] - labelpaddings.sum(axis=-1)
731
+ loss = (per_seq_loss / target_lengths).mean()
732
+ elif loss_reduction == "sum":
733
+ loss = per_seq_loss.sum()
734
+ else:
735
+ loss = per_seq_loss
736
+
737
+ if not output_emission_dict:
738
+ return loss
739
+
740
+ return loss, {
741
+ "logalpha_phi": logalpha_phi,
742
+ "logalpha_emit": logalpha_emit,
743
+ "logprobs_phi": logprobs_phi,
744
+ "logprobs_emit": logprobs_emit,
745
+ }
746
+
747
+
748
+ def make_dataset(data_args, seed=42):
749
+ # Pre-processing dataset
750
+ import re
751
+
752
+ def map_nst(entry):
753
+ text = entry["text"].lower()
754
+ text = text.replace("(...vær stille under dette opptaket...)", "")
755
+ text = re.sub('[áàâ]', 'a', text)
756
+ text = re.sub('[ä]', 'æ', text)
757
+ text = re.sub('[éèëê]', 'e', text)
758
+ text = re.sub('[íìïî]', 'i', text)
759
+ text = re.sub('[óòöô]', 'o', text)
760
+ text = re.sub('[ö]', 'ø', text)
761
+ text = re.sub('[ç]', 'c', text)
762
+ text = re.sub('[úùüû]', 'u', text)
763
+ # text = re.sub('\\(?=(Punktum|Komma|Utropstegn|Spørsmålstegn))', ' ', text)
764
+ text = re.sub('\s+', ' ', text)
765
+ return {"text": text}
766
+
767
+ def filter_nst(entry):
768
+ if not ((len(entry["text"]) <= len(entry["audio"]["array"]) // 320) and (len(entry["text"].strip()) >= 3)):
769
+ return False # Too short
770
+ if re.match(entry["type"], "pIW|CA"):
771
+ return False # Spelling out words
772
+ return True
773
+
774
+ def filter_npsc(entry):
775
+ # False if there are digits in the text
776
+ if not ((len(entry["text"]) <= len(entry["audio"]["array"]) // 320) and (len(entry["text"].strip()) >= 3)):
777
+ return False # Too short
778
+ if re.search("\d", entry["text"]):
779
+ return False
780
+ return True
781
+
782
+ def map_npsc(entry):
783
+ batch = {"text": entry["text"].lower()}
784
+ batch["text"] = re.sub('[áàâ]', 'a', batch["text"])
785
+ batch["text"] = re.sub('[ä]', 'æ', batch["text"])
786
+ batch["text"] = re.sub('[éèëê]', 'e', batch["text"])
787
+ batch["text"] = re.sub('[íìïî]', 'i', batch["text"])
788
+ batch["text"] = re.sub('[óòöô]', 'o', batch["text"])
789
+ batch["text"] = re.sub('[ö]', 'ø', batch["text"])
790
+ batch["text"] = re.sub('[ç]', 'c', batch["text"])
791
+ batch["text"] = re.sub('[úùüû]', 'u', batch["text"])
792
+ batch["text"] = re.sub('\s', ' ', batch["text"])
793
+ batch["text"] = re.sub('<ee>', 'eee', batch["text"])
794
+ batch["text"] = re.sub('<qq>', 'qqq', batch["text"])
795
+ batch["text"] = re.sub('<mm>', 'mmm', batch["text"])
796
+ batch["text"] = re.sub('<inaudible>', 'xxx', batch["text"])
797
+ # batch["text"] = re.sub('<inaudible>', '?', batch["text"])
798
+ if "<" in batch["text"]:
799
+ raise ValueError(batch["text"])
800
+ return batch
801
+
802
+ nst = datasets.load_dataset("NbAiLab/NST", "no-close")
803
+ npsc = datasets.load_dataset("NbAiLab/NPSC", "16K_mp3")
804
+ # TODO NST_hesitate
805
+
806
+ split = len(npsc[data_args.train_split_name]) / (len(npsc[data_args.train_split_name]) + len(npsc[data_args.eval_split_name])) # Use same train/val ratio as NPSC
807
+ nst_train = nst[data_args.train_split_name].train_test_split(train_size=split, seed=seed)
808
+ nst[data_args.train_split_name] = nst_train["train"]
809
+ nst[data_args.eval_split_name] = nst_train["test"]
810
+
811
+ nst = nst.filter(filter_nst).map(
812
+ map_nst,
813
+ num_proc=data_args.preprocessing_num_workers,
814
+ desc="filtering NST",
815
+ ).shuffle(seed=seed)
816
+ npsc = npsc.filter(filter_npsc).map(
817
+ map_npsc,
818
+ num_proc=data_args.preprocessing_num_workers,
819
+ desc="filtering NPSC",
820
+ ).shuffle(seed=seed)
821
+
822
+ npsc_base = npsc.remove_columns([col for col in npsc[data_args.train_split_name].column_names if col not in ["text", "audio"]])
823
+ nst_base = nst.remove_columns([col for col in nst[data_args.train_split_name].column_names if col not in ["text", "audio"]])
824
+
825
+ combined = {}
826
+ for split in data_args.train_split_name, data_args.eval_split_name, data_args.test_split_name:
827
+ probs = np.array([len(nst_base[split]), len(npsc_base[split])]) # Weight by number of examples
828
+ probs = (probs / probs.sum()).tolist()
829
+ comb = datasets.interleave_datasets([nst_base[split], npsc_base[split]], probabilities=probs, seed=seed)
830
+ combined[split] = comb
831
+
832
+ return datasets.DatasetDict(**combined)
833
+
834
+ def main():
835
+ # 1. Parse input arguments
836
+ # See all possible arguments in src/transformers/training_args.py
837
+ # or by passing the --help flag to this script.
838
+ # We now keep distinct sets of args, for a cleaner separation of concerns.
839
+ parser = HfArgumentParser((ModelArguments, DataTrainingArguments, FlaxTrainingArguments))
840
+
841
+ if len(sys.argv) == 2 and sys.argv[1].endswith(".json"):
842
+ # If we pass only one argument to the script and it's the path to a json file,
843
+ # let's parse it to get our arguments.
844
+ model_args, data_args, training_args = parser.parse_json_file(json_file=os.path.abspath(sys.argv[1]))
845
+ else:
846
+ model_args, data_args, training_args = parser.parse_args_into_dataclasses()
847
+
848
+ # 2. Setup logging
849
+ # Make one log on every process with the configuration for debugging.
850
+ logging.basicConfig(
851
+ format="%(asctime)s - %(levelname)s - %(name)s - %(message)s",
852
+ datefmt="%m/%d/%Y %H:%M:%S",
853
+ handlers=[logging.StreamHandler(sys.stdout)],
854
+ )
855
+ # Set the verbosity to info of the Transformers logger.
856
+ # We only want one process per machine to log things on the screen.
857
+ logger.setLevel(logging.INFO if jax.process_index() == 0 else logging.ERROR)
858
+ if jax.process_index() == 0:
859
+ datasets.utils.logging.set_verbosity_warning()
860
+ transformers.utils.logging.set_verbosity_info()
861
+ else:
862
+ datasets.utils.logging.set_verbosity_error()
863
+ transformers.utils.logging.set_verbosity_error()
864
+
865
+ # Set up wandb run
866
+ if jax.process_index() == 0:
867
+ wandb.init(project=data_args.wandb_project, name=data_args.wandb_name, job_type=data_args.wandb_job_type)
868
+
869
+ logger.info("Training/evaluation parameters %s", training_args)
870
+
871
+ # Set the default TPU matmul precision and display the number of devices
872
+ jax.config.update("jax_default_matmul_precision", training_args.matmul_precision)
873
+ logger.info(f"JAX devices: {jax.device_count()}, matmul precision: {training_args.matmul_precision}")
874
+
875
+ # 4. Load dataset
876
+
877
+ set_seed(training_args.seed)
878
+ raw_datasets = make_dataset(data_args, seed=training_args.seed)
879
+
880
+ # raw_datasets = DatasetDict()
881
+
882
+ # if training_args.do_train:
883
+ # raw_datasets[data_args.train_split_name] = load_dataset(
884
+ # data_args.dataset_name,
885
+ # data_args.dataset_config_name,
886
+ # split=data_args.train_split_name,
887
+ # cache_dir=data_args.dataset_cache_dir,
888
+ # use_auth_token=True if model_args.use_auth_token else None,
889
+ # )
890
+
891
+ # if training_args.do_eval:
892
+ # raw_datasets[data_args.eval_split_name] = load_dataset(
893
+ # data_args.dataset_name,
894
+ # data_args.dataset_config_name,
895
+ # split=data_args.eval_split_name,
896
+ # cache_dir=data_args.dataset_cache_dir,
897
+ # use_auth_token=True if model_args.use_auth_token else None,
898
+ # )
899
+
900
+ # if training_args.do_predict:
901
+ # test_split = data_args.test_split_name.split("+")
902
+ # for split in test_split:
903
+ # raw_datasets[split] = load_dataset(
904
+ # data_args.dataset_name,
905
+ # data_args.dataset_config_name,
906
+ # split=split,
907
+ # cache_dir=data_args.dataset_cache_dir,
908
+ # use_auth_token=True if model_args.use_auth_token else None,
909
+ # )
910
+
911
+ if not training_args.do_train and not training_args.do_eval and not training_args.do_predict:
912
+ raise ValueError(
913
+ "Cannot not train, not do evaluation and not do prediction. At least one of "
914
+ "training, evaluation or prediction has to be done."
915
+ )
916
+
917
+ # if not training, there is no need to run multiple epochs
918
+ if not training_args.do_train:
919
+ training_args.num_train_epochs = 1
920
+
921
+ if data_args.audio_column_name not in next(iter(raw_datasets.values())).column_names:
922
+ raise ValueError(
923
+ f"--audio_column_name '{data_args.audio_column_name}' not found in dataset '{data_args.dataset_name}'. "
924
+ "Make sure to set `--audio_column_name` to the correct audio column - one of "
925
+ f"{', '.join(next(iter(raw_datasets.values())).column_names)}."
926
+ )
927
+
928
+ if data_args.text_column_name not in next(iter(raw_datasets.values())).column_names:
929
+ raise ValueError(
930
+ f"--text_column_name {data_args.text_column_name} not found in dataset '{data_args.dataset_name}'. "
931
+ "Make sure to set `--text_column_name` to the correct text column - one of "
932
+ f"{', '.join(next(iter(raw_datasets.values())).column_names)}."
933
+ )
934
+
935
+ # 5. Load pretrained model, tokenizer, and feature extractor
936
+ #
937
+ # Distributed training:
938
+ # The .from_pretrained methods guarantee that only one local process can concurrently
939
+ config = Wav2Vec2Config.from_pretrained(
940
+ model_args.config_name if model_args.config_name else model_args.model_name_or_path,
941
+ cache_dir=model_args.cache_dir,
942
+ revision=model_args.model_revision,
943
+ use_auth_token=True if model_args.use_auth_token else None,
944
+ )
945
+ feature_extractor = AutoFeatureExtractor.from_pretrained(
946
+ model_args.feature_extractor_name if model_args.feature_extractor_name else model_args.model_name_or_path,
947
+ cache_dir=model_args.cache_dir,
948
+ revision=model_args.model_revision,
949
+ use_auth_token=True if model_args.use_auth_token else None,
950
+ )
951
+ tokenizer = AutoTokenizer.from_pretrained(
952
+ model_args.tokenizer_name if model_args.tokenizer_name else model_args.model_name_or_path,
953
+ cache_dir=model_args.cache_dir,
954
+ revision=model_args.model_revision,
955
+ use_auth_token=True if model_args.use_auth_token else None,
956
+ )
957
+ # update config according to training args, model args, and tokenizer attributes
958
+ config.update(
959
+ {
960
+ "feat_proj_dropout": model_args.feat_proj_dropout,
961
+ "attention_dropout": model_args.attention_dropout,
962
+ "hidden_dropout": model_args.hidden_dropout,
963
+ "final_dropout": model_args.final_dropout,
964
+ "mask_time_prob": model_args.mask_time_prob,
965
+ "mask_time_length": model_args.mask_time_length,
966
+ "mask_feature_prob": model_args.mask_feature_prob,
967
+ "mask_feature_length": model_args.mask_feature_length,
968
+ "gradient_checkpointing": training_args.gradient_checkpointing,
969
+ "layerdrop": model_args.layerdrop,
970
+ "ctc_loss_reduction": model_args.ctc_loss_reduction,
971
+ "ctc_zero_infinity": model_args.ctc_zero_infinity,
972
+ "pad_token_id": tokenizer.pad_token_id,
973
+ "vocab_size": tokenizer.vocab_size, # len(tokenizer),
974
+ "activation_dropout": model_args.activation_dropout,
975
+ }
976
+ )
977
+
978
+ if tokenizer.do_lower_case and data_args.dataset_name != "librispeech_asr":
979
+ raise ValueError(
980
+ "Setting the tokenizer attribute `do_lower_case` to `True` converts all input strings to "
981
+ "uppercase prior to tokenization. This should only be done when the tokenizer is built on an uppercased corpus,"
982
+ "i.e. for the dataset `librispeech_asr` only. If your dataset is not `librispeech_asr`, the tokenizer is mostly likely "
983
+ "built on an lowercased corpus. In this case, set `tokenizer.do_lower_case` to ``False`."
984
+ )
985
+
986
+ if training_args.precision == "full_mixed":
987
+ dtype = jnp.bfloat16
988
+ training_args.mixed_precision = True
989
+ elif training_args.precision == "half_mixed":
990
+ dtype = jnp.bfloat16
991
+ training_args.mixed_precision = False
992
+ else:
993
+ dtype = jnp.float32
994
+ training_args.mixed_precision = False
995
+
996
+ model = FlaxWav2Vec2ForCTC.from_pretrained(
997
+ model_args.model_name_or_path,
998
+ config=config,
999
+ dtype=dtype,
1000
+ cache_dir=model_args.cache_dir,
1001
+ revision=model_args.model_revision,
1002
+ use_auth_token=True if model_args.use_auth_token else None,
1003
+ from_pt=True,
1004
+ )
1005
+
1006
+ # 6. Resample speech dataset ALWAYS
1007
+ raw_datasets = raw_datasets.cast_column(
1008
+ data_args.audio_column_name, datasets.features.Audio(sampling_rate=feature_extractor.sampling_rate)
1009
+ )
1010
+
1011
+ # 7. Preprocessing the datasets.
1012
+ # We need to read the audio files as arrays and tokenize the targets.
1013
+ max_input_length = int(data_args.max_duration_in_seconds * feature_extractor.sampling_rate)
1014
+ min_input_length = int(data_args.min_duration_in_seconds * feature_extractor.sampling_rate)
1015
+ max_target_length = data_args.max_label_length
1016
+ min_target_length = data_args.min_label_length
1017
+ pad_input_to_multiple_of = data_args.pad_input_to_multiple_of
1018
+ audio_column_name = data_args.audio_column_name
1019
+ num_workers = data_args.preprocessing_num_workers
1020
+ text_column_name = data_args.text_column_name
1021
+ model_input_name = feature_extractor.model_input_names[0]
1022
+ do_lower_case = data_args.do_lower_case
1023
+ dataset_name = data_args.dataset_name
1024
+ chars_to_ignore = ', ? . ! - ; : " “ % ‘ ” ?'.split(" ")
1025
+ chars_to_ignore_regex = f'[{"".join(chars_to_ignore)}]'
1026
+ # gigaspeech_punctuation = {" <comma>": ",", " <period>": ".", " <questionmark>": "?", " <exclamationpoint>": "!"}
1027
+ # gigaspeech_disfluencies = ["<other>", "<sil>"]
1028
+ # swb_disfluencies = ["[noise]", "[laughter]", "[silence]", "<a_aside>", "<b_aside>", "<e_aside>", "[laughter-",
1029
+ # "[vocalized-noise]", "_1"]
1030
+ # swb_punctuations = ["{", "}", "[", "]-", "]"]
1031
+ # earnings_disfluencies = ["<crosstalk>", "<affirmative>", "<inaudible>", "inaudible", "<laugh>", "<unk>"]
1032
+ ignore_segments = ["ignore_time_segment_in_scoring", "<noise>", "<music>", "[noise]", "[laughter]", "[silence]",
1033
+ "[vocalized-noise]", "<crosstalk>", "<affirmative>", "<inaudible>", "<laugh>", "<other>", "<sil>", ""]
1034
+
1035
+ if training_args.do_train and data_args.max_train_samples is not None:
1036
+ raw_datasets[data_args.train_split_name] = raw_datasets[data_args.train_split_name].select(range(data_args.max_train_samples))
1037
+
1038
+ if training_args.do_eval and data_args.max_eval_samples is not None:
1039
+ raw_datasets[data_args.eval_split_name] = raw_datasets[data_args.eval_split_name].select(range(data_args.max_eval_samples))
1040
+
1041
+ if training_args.do_predict and data_args.max_test_samples is not None:
1042
+ raw_datasets[data_args.test_split_name] = raw_datasets[data_args.test_split_name].select(range(data_args.max_eval_samples))
1043
+
1044
+ if training_args.do_train and data_args.remove_punctuation:
1045
+
1046
+ def remove_punctuation(batch):
1047
+ batch[text_column_name] = (
1048
+ re.sub(chars_to_ignore_regex, "", batch[text_column_name]).replace("'", "").replace('"', "")
1049
+ )
1050
+
1051
+ raw_datasets[data_args.train_split_name] = raw_datasets[data_args.train_split_name].map(
1052
+ remove_punctuation,
1053
+ num_proc=data_args.preprocessing_num_workers,
1054
+ desc="removing punctuation from train split",
1055
+ )
1056
+
1057
+ # filter data where the targets are ignored in scoring
1058
+ def is_target_labels(input_str):
1059
+ return input_str.lower() not in ignore_segments
1060
+
1061
+ raw_datasets = raw_datasets.filter(
1062
+ is_target_labels,
1063
+ num_proc=num_workers,
1064
+ input_columns=[text_column_name],
1065
+ desc="filtering data where the targets are ignored in scoring",
1066
+ )
1067
+
1068
+ def prepare_dataset(batch):
1069
+ # process audio
1070
+ try:
1071
+ sample = batch[audio_column_name]
1072
+ except ValueError:
1073
+ sample = {"array": np.array([0.]), "sampling_rate": feature_extractor.sampling_rate}
1074
+ inputs = feature_extractor(sample["array"], sampling_rate=sample["sampling_rate"])
1075
+ # process audio length
1076
+ batch[model_input_name] = inputs.input_values[0]
1077
+ batch["input_length"] = len(batch["input_values"])
1078
+
1079
+ # process targets
1080
+ input_str = batch[text_column_name].lower() if do_lower_case else batch[text_column_name]
1081
+
1082
+ # if dataset_name == "google/xtreme_s":
1083
+ # # Finally, we tokenize the processed text
1084
+ # batch["labels"] = tokenizer(input_str).input_ids
1085
+ # batch["labels_length"] = len(batch["labels"])
1086
+ # return batch
1087
+
1088
+ # # Common Voice 9
1089
+ # if input_str.startswith('"') and input_str.endswith('"'):
1090
+ # # we can remove trailing quotation marks as they do not affect the transcription
1091
+ # input_str = input_str[1:-1]
1092
+ # # normalize quotation marks
1093
+ # input_str = re.sub(r'["“”]', '"', input_str)
1094
+ # # normalize apostrophes
1095
+ # input_str = re.sub(r"[’']", "'", input_str)
1096
+ # # normalize hyphens
1097
+ # input_str = re.sub(r"[—–]", "-", input_str)
1098
+ # # replace double quotation marks with single
1099
+ # input_str = input_str.replace('""', '"')
1100
+ # if dataset_name == "mozilla-foundation/common_voice_9_0" and len(input_str):
1101
+ # # for CV9, we'll normalize the text to always finish with punctuation
1102
+ # if input_str[-1] not in [".", "?", "!"]:
1103
+ # input_str = input_str + "."
1104
+
1105
+ # # TEDLIUM-3
1106
+ # # delete the <unk> token from the text and replace spaced apostrophes with un-spaced
1107
+ # input_str = input_str.replace("<unk>", "").replace(" '", "'")
1108
+
1109
+ # # GigaSpeech
1110
+ # for disfluency in gigaspeech_disfluencies:
1111
+ # input_str = input_str.replace(disfluency, "")
1112
+ # # convert spelled out punctuation to symbolic form
1113
+ # for punctuation, replacement in gigaspeech_punctuation.items():
1114
+ # input_str = input_str.replace(punctuation, replacement)
1115
+ # if dataset_name == "speechcolab/gigaspeech" and len(input_str):
1116
+ # # for GS, we'll normalize the text to always finish with punctuation
1117
+ # if input_str[-1] not in [".", "?", "!"]:
1118
+ # input_str = input_str + "."
1119
+
1120
+ # # SWB
1121
+ # for disfluency in swb_disfluencies:
1122
+ # input_str = input_str.replace(disfluency, "")
1123
+ # # remove parenthesised text (test data only)
1124
+ # input_str = re.sub("[\(].*?[\)]", "", input_str)
1125
+ # for punctuation in swb_punctuations:
1126
+ # input_str = input_str.replace(punctuation, "")
1127
+ # # replace anomalous words with their correct transcriptions
1128
+ # split_str = input_str.split("/")
1129
+ # if len(split_str) > 1:
1130
+ # input_str = " ".join(
1131
+ # [" ".join([" ".join(i.split(" ")[:-1]) for i in split_str])] + [split_str[-1].split(" ")[-1]])
1132
+
1133
+ # # Earnings 22
1134
+ # for disfluency in earnings_disfluencies:
1135
+ # input_str = input_str.replace(disfluency, "")
1136
+ # # replace mal-formatted ellipsis
1137
+ # input_str = input_str.replace("…", ".")
1138
+
1139
+ # JIWER compliance
1140
+ # remove multiple spaces
1141
+ input_str = re.sub(r"\s\s+", " ", input_str)
1142
+ # strip trailing spaces
1143
+ input_str = input_str.strip()
1144
+
1145
+ # Finally, we tokenize the processed text
1146
+ batch["labels"] = tokenizer(input_str).input_ids
1147
+ batch["labels_length"] = len(batch["labels"])
1148
+ return batch
1149
+
1150
+ vectorized_datasets = raw_datasets.map(
1151
+ prepare_dataset,
1152
+ remove_columns=next(iter(raw_datasets.values())).column_names,
1153
+ num_proc=num_workers,
1154
+ desc="preprocess dataset",
1155
+ )
1156
+
1157
+ # filter data with inputs shorter than min_input_length or longer than max_input_length
1158
+ def is_audio_in_length_range(length):
1159
+ return length > min_input_length and length < max_input_length
1160
+
1161
+ vectorized_datasets = vectorized_datasets.filter(
1162
+ is_audio_in_length_range,
1163
+ num_proc=num_workers,
1164
+ input_columns=["input_length"],
1165
+ )
1166
+
1167
+ # filter data with targets shorter than min_target_length or longer than max_target_length
1168
+ def is_labels_in_length_range(length):
1169
+ return length > min_target_length # and length < max_target_length
1170
+
1171
+ vectorized_datasets = vectorized_datasets.filter(
1172
+ is_labels_in_length_range,
1173
+ num_proc=num_workers,
1174
+ input_columns=["labels_length"],
1175
+ )
1176
+
1177
+ # for large datasets it is advised to run the preprocessing on a
1178
+ # single machine first with `args.preprocessing_only` since there will mostly likely
1179
+ # be a timeout when running the script in distributed mode.
1180
+ # In a second step `args.preprocessing_only` can then be set to `False` to load the
1181
+ # cached dataset
1182
+ if data_args.preprocessing_only:
1183
+ cache = {k: v.cache_files for k, v in vectorized_datasets.items()}
1184
+ logger.info(f"Data preprocessing finished. Files cached at {cache}.")
1185
+ return
1186
+
1187
+ # 8. Load Metrics
1188
+ wer_metric = load_metric("wer")
1189
+ cer_metric = load_metric("cer")
1190
+
1191
+ def compute_metrics(pred_ids: List[List[int]], label_ids: List[List[int]]):
1192
+ padded_ids = np.where(np.asarray(label_ids) == -100, tokenizer.pad_token_id, np.asarray(label_ids))
1193
+
1194
+ pred_str = tokenizer.batch_decode(pred_ids)
1195
+ # we do not want to group tokens when computing the metrics
1196
+ label_str = tokenizer.batch_decode(padded_ids, group_tokens=False)
1197
+
1198
+ wer = wer_metric.compute(predictions=pred_str, references=label_str)
1199
+ cer = cer_metric.compute(predictions=pred_str, references=label_str)
1200
+
1201
+ return {"wer": wer, "cer": cer}, pred_str, label_str
1202
+
1203
+ # 9. save feature extractor, tokenizer and config
1204
+ feature_extractor.save_pretrained(training_args.output_dir)
1205
+ tokenizer.save_pretrained(training_args.output_dir)
1206
+ config.save_pretrained(training_args.output_dir)
1207
+
1208
+ processor = AutoProcessor.from_pretrained(training_args.output_dir)
1209
+
1210
+ data_collator = FlaxDataCollatorSpeechSeq2SeqWithPadding(
1211
+ processor=processor,
1212
+ input_padding="longest",
1213
+ pad_input_to_multiple_of=pad_input_to_multiple_of,
1214
+ max_label_length=data_args.max_label_length,
1215
+ )
1216
+
1217
+ # Enable tensorboard only on the master node
1218
+ has_tensorboard = is_tensorboard_available()
1219
+ if has_tensorboard and jax.process_index() == 0:
1220
+ try:
1221
+ from flax.metrics.tensorboard import SummaryWriter
1222
+
1223
+ summary_writer = SummaryWriter(log_dir=Path(training_args.output_dir))
1224
+ except ImportError as ie:
1225
+ has_tensorboard = False
1226
+ logger.warning(
1227
+ f"Unable to display metrics through TensorBoard because some package are not installed: {ie}"
1228
+ )
1229
+ else:
1230
+ logger.warning(
1231
+ "Unable to display metrics through TensorBoard because the package is not installed: "
1232
+ "Please run `pip install tensorboard` to enable."
1233
+ )
1234
+
1235
+ # 10. Handle the repository creation
1236
+ if training_args.push_to_hub:
1237
+ with open(os.path.join(training_args.output_dir, ".gitattributes"), "r+") as f:
1238
+ git_lfs_extensions = f.read()
1239
+ if "*.wandb" not in git_lfs_extensions:
1240
+ f.write("*.wandb filter=lfs diff=lfs merge=lfs -text")
1241
+ if training_args.hub_model_id is None:
1242
+ repo_name = get_full_repo_name(
1243
+ Path(training_args.output_dir).absolute().name, token=training_args.hub_token
1244
+ )
1245
+ else:
1246
+ repo_name = training_args.hub_model_id
1247
+ repo = Repository(training_args.output_dir, clone_from=repo_name)
1248
+
1249
+ # 11. Initialize our training
1250
+ rng = jax.random.PRNGKey(training_args.seed)
1251
+ rng, dropout_rng = jax.random.split(rng)
1252
+
1253
+ # Store some constants
1254
+ max_steps = int(training_args.max_steps)
1255
+ gradient_accumulation_steps = int(training_args.gradient_accumulation_steps)
1256
+ train_batch_size = int(training_args.per_device_train_batch_size) * jax.device_count()
1257
+ batch_size_per_update = train_batch_size * gradient_accumulation_steps
1258
+ per_device_eval_batch_size = int(training_args.per_device_eval_batch_size)
1259
+ eval_batch_size = int(training_args.per_device_eval_batch_size) * jax.device_count()
1260
+ to_dtype = to_bf16 if training_args.mixed_precision else to_fp32
1261
+
1262
+ if training_args.do_train:
1263
+ num_train_samples = len(vectorized_datasets[data_args.train_split_name])
1264
+ steps_per_epoch = num_train_samples // batch_size_per_update
1265
+ if max_steps > 0:
1266
+ num_epochs = -(training_args.max_steps // -steps_per_epoch)
1267
+ total_train_steps = max_steps
1268
+ else:
1269
+ num_epochs = int(training_args.num_train_epochs)
1270
+ total_train_steps = steps_per_epoch * num_epochs
1271
+
1272
+ # Create learning rate schedule
1273
+ # Create learning rate schedule
1274
+ linear_decay_lr_schedule_fn = create_learning_rate_fn(
1275
+ total_train_steps,
1276
+ training_args.warmup_steps,
1277
+ training_args.learning_rate,
1278
+ )
1279
+
1280
+ # We use Optax's "masking" functionality to not apply weight decay
1281
+ # to bias and LayerNorm scale parameters. decay_mask_fn returns a
1282
+ # mask boolean with the same structure as the parameters.
1283
+ # The mask is True for parameters that should be decayed.
1284
+ # Note that this mask is specifically adapted for FlaxWav2Vec2 and FlaxBart.
1285
+ # For FlaxT5, one should correct the layer norm parameter naming
1286
+ # accordingly - see `run_t5_mlm_flax.py` e.g.
1287
+ def decay_mask_fn(params):
1288
+ flat_params = traverse_util.flatten_dict(params)
1289
+ layer_norm_params = [
1290
+ (name, "scale")
1291
+ for name in ["layer_norm", "self_attn_layer_norm", "layernorm_embedding", "final_layer_norm"]
1292
+ ]
1293
+ flat_mask = {path: (path[-1] != "bias" and path[-2:] not in layer_norm_params) for path in flat_params}
1294
+ return traverse_util.unflatten_dict(flat_mask)
1295
+
1296
+ if training_args.adafactor:
1297
+ # Create Adafactor optimizer
1298
+ optim = optax.adafactor(
1299
+ learning_rate=linear_decay_lr_schedule_fn,
1300
+ dtype_momentum=jnp.bfloat16 if training_args.mixed_precision else jnp.float32,
1301
+ weight_decay_rate=training_args.weight_decay,
1302
+ weight_decay_mask=decay_mask_fn,
1303
+ )
1304
+ else:
1305
+ # Create AdamW optimizer
1306
+ optim = optax.adamw(
1307
+ learning_rate=linear_decay_lr_schedule_fn,
1308
+ b1=training_args.adam_beta1,
1309
+ b2=training_args.adam_beta2,
1310
+ eps=training_args.adam_epsilon,
1311
+ weight_decay=training_args.weight_decay,
1312
+ mask=decay_mask_fn,
1313
+ )
1314
+
1315
+ # Optax MultiSteps for gradient accumulation. We'll only call this optimizer transformation if gradient accumulation is required (i.e. gradient accumulation steps > 1)
1316
+ if training_args.multisteps and gradient_accumulation_steps > 1:
1317
+ optim = optax.MultiSteps(optim, gradient_accumulation_steps, use_grad_mean=False)
1318
+ else:
1319
+ num_epochs = 0
1320
+ total_train_steps = 0
1321
+ num_train_samples = 0
1322
+ optim = None
1323
+
1324
+ # Setup train state
1325
+ state = MixedPrecisionTrainState.create(
1326
+ apply_fn=model.__call__,
1327
+ get_attention_mask_fn=model._get_feature_vector_attention_mask,
1328
+ params=model.params,
1329
+ tx=optim,
1330
+ to_dtype=to_dtype,
1331
+ dropout_rng=dropout_rng,
1332
+ max_grad_norm=training_args.max_grad_norm,
1333
+ )
1334
+
1335
+ # Replicate the train state on each device
1336
+ state = state.replicate()
1337
+ blank_id = model.config.pad_token_id
1338
+
1339
+ # Define gradient update step fn
1340
+ def train_step(state, batch):
1341
+ # only one single rng per grad step, with or without accumulation, as the graph should be identical over one effective training batch
1342
+ dropout_rng, new_dropout_rng = jax.random.split(state.dropout_rng)
1343
+
1344
+ def compute_loss(params, minibatch):
1345
+ labels = minibatch.pop("labels")
1346
+ logits = state.apply_fn(
1347
+ **minibatch,
1348
+ params=params,
1349
+ dropout_rng=dropout_rng,
1350
+ freeze_feature_encoder=model_args.freeze_feature_encoder,
1351
+ train=True,
1352
+ )[0]
1353
+ logits_mask = state.get_attention_mask_fn(logits.shape[1], batch["attention_mask"])
1354
+ loss = ctc_loss(logits, logits_mask, labels, blank_id, loss_reduction="mean")
1355
+
1356
+ return loss
1357
+
1358
+ grad_fn = jax.value_and_grad(compute_loss)
1359
+
1360
+ if gradient_accumulation_steps == 1 or training_args.multisteps:
1361
+ loss, grad = grad_fn(to_dtype(state.params), batch)
1362
+
1363
+ # Custom gradient accumulation
1364
+ else:
1365
+ # add a first dimension over gradient_accumulation_steps for minibatch slices
1366
+ batch = jax.tree_map(
1367
+ lambda x: x.reshape(
1368
+ gradient_accumulation_steps, training_args.per_device_train_batch_size, *x.shape[1::]
1369
+ ),
1370
+ batch,
1371
+ )
1372
+
1373
+ def accum_minibatch_step(accum_grad, minibatch):
1374
+ # compute loss, num labels and grad over minibatch and accumulate
1375
+ loss, grad = grad_fn(to_dtype(state.params), minibatch)
1376
+ return jax.tree_map(jnp.add, accum_grad, grad), loss
1377
+
1378
+ # create an initial state for accumulating losses, num labels and gradients
1379
+ init_grad = jax.tree_map(jnp.zeros_like, to_dtype(state.params))
1380
+ # loop accum minibatch step over the number of gradient accumulation steps
1381
+ grad, loss = jax.lax.scan(accum_minibatch_step, init_grad, batch)
1382
+
1383
+ # update state
1384
+ new_state = state.apply_gradients(
1385
+ grads=grad,
1386
+ dropout_rng=new_dropout_rng,
1387
+ to_dtype=to_dtype,
1388
+ )
1389
+
1390
+ # compute gradient norms over all layers and globally for detailed monitoring
1391
+ layer_grad_norm = jax.tree_map(jnp.linalg.norm, grad)
1392
+ logs = {
1393
+ "layer_grad_norm": layer_grad_norm,
1394
+ "grad_norm": jnp.linalg.norm(jax.tree_util.tree_leaves(layer_grad_norm)),
1395
+ }
1396
+
1397
+ # compute parameter norms over all layers and globally for detailed monitoring
1398
+ layer_param_norm = jax.tree_map(jnp.linalg.norm, new_state.params)
1399
+ logs["layer_param_norm"] = layer_param_norm
1400
+ logs["param_norm"] = jnp.linalg.norm(jax.tree_util.tree_leaves(layer_param_norm))
1401
+
1402
+ metrics = {"loss": loss, "learning_rate": linear_decay_lr_schedule_fn(state.step)}
1403
+ metrics.update(logs)
1404
+
1405
+ metrics = jax.lax.pmean(metrics, axis_name="batch")
1406
+ # metrics = to_fp32(metrics)
1407
+
1408
+ return new_state, metrics
1409
+
1410
+ # Define eval fn
1411
+ def eval_step(params, batch):
1412
+ labels = batch.pop("labels")
1413
+ logits = model(**batch, params=params, train=False)[0]
1414
+
1415
+ logits_mask = model._get_feature_vector_attention_mask(logits.shape[1], batch["attention_mask"])
1416
+ loss = ctc_loss(logits, logits_mask, labels, blank_id, loss_reduction="mean")
1417
+
1418
+ pred_ids = jnp.argmax(logits, axis=-1)
1419
+
1420
+ # summarize metrics
1421
+ metrics = {"loss": loss}
1422
+ metrics = jax.lax.pmean(metrics, axis_name="batch")
1423
+ # metrics = to_fp32(metrics)
1424
+ return metrics, pred_ids
1425
+
1426
+ # Create parallel version of the train and eval step
1427
+ if training_args.do_train:
1428
+ p_train_step = jax.pmap(train_step, "batch", donate_argnums=(0,))
1429
+
1430
+ if training_args.do_eval:
1431
+ p_eval_step = jax.pmap(eval_step, "batch")
1432
+
1433
+ def run_evaluation(step):
1434
+ if training_args.do_eval:
1435
+ # ======================== Evaluating ==============================
1436
+ eval_metrics = []
1437
+ eval_preds = []
1438
+ eval_labels = []
1439
+
1440
+ # Generate eval set by sequentially sampling indices from the eval dataset and grouping by length
1441
+ eval_samples_idx = get_grouped_indices(vectorized_datasets[data_args.eval_split_name], eval_batch_size)
1442
+ eval_batch_idx = generate_batch_splits(eval_samples_idx, eval_batch_size, drop_last=False)
1443
+
1444
+ for i, batch_idx in enumerate(tqdm(eval_batch_idx, desc="Evaluating ...", position=2)):
1445
+ samples = [vectorized_datasets[data_args.eval_split_name][int(idx)] for idx in batch_idx]
1446
+ batch = data_collator(samples)
1447
+ labels = batch["labels"]
1448
+
1449
+ metrics, pred_ids = pad_shard_unpad(p_eval_step)(state.params, batch.data, min_device_batch=per_device_eval_batch_size)
1450
+ eval_preds.extend(jax.device_get(pred_ids.reshape(-1, pred_ids.shape[-1])))
1451
+ eval_metrics.append(metrics)
1452
+
1453
+ eval_labels.extend(labels)
1454
+
1455
+ # normalize eval metrics
1456
+ eval_metrics = get_metrics(eval_metrics)
1457
+ eval_metrics = jax.tree_map(jnp.mean, eval_metrics)
1458
+ eval_metrics = to_fp32(eval_metrics)
1459
+
1460
+ # always run compute metrics
1461
+ error_rate_metric, pred_str, label_str = compute_metrics(eval_preds, eval_labels)
1462
+ eval_metrics.update(error_rate_metric)
1463
+ error_rate_desc = " ".join([f"Eval {key}: {value} |" for key, value in error_rate_metric.items()])
1464
+
1465
+ # Print metrics and update progress bar
1466
+ desc = f"Step... ({step}/{total_train_steps} | Eval Loss: {eval_metrics['loss']} | {error_rate_desc})"
1467
+ epochs.write(desc)
1468
+ epochs.desc = desc
1469
+
1470
+ # Save metrics
1471
+ write_wandb_log(eval_metrics, step, prefix="eval")
1472
+ write_wandb_pred(pred_str, label_str, step)
1473
+ # if has_tensorboard and jax.process_index() == 0:
1474
+ # write_eval_metric(summary_writer, eval_metrics, step, pred_str=pred_str)
1475
+
1476
+ def save_checkpoint(step):
1477
+ # save and push checkpoint to the hub
1478
+ if jax.process_index() == 0:
1479
+ params = jax.device_get(jax.tree_map(lambda x: x[0], state.params))
1480
+ model.save_pretrained(training_args.output_dir, params=params)
1481
+ tokenizer.save_pretrained(training_args.output_dir)
1482
+ if training_args.push_to_hub:
1483
+ repo.push_to_hub(commit_message=f"{wandb.run.id}: saving weights and logs of step {int(step / 1000)}k", blocking=False)
1484
+
1485
+ logger.info("***** Running training *****")
1486
+ logger.info(f" Num examples = {num_train_samples}")
1487
+ logger.info(f" Num Epochs = {num_epochs}")
1488
+ logger.info(f" Instantaneous batch size per device = {training_args.per_device_train_batch_size}")
1489
+ logger.info(f" Num gradient accumulation steps = {gradient_accumulation_steps}")
1490
+ logger.info(f" Total train batch size (w. parallel & distributed) = {batch_size_per_update}")
1491
+ logger.info(f" Total optimization steps = {total_train_steps}")
1492
+ logger.info(f" Gradient checkpointing: {config.gradient_checkpointing}")
1493
+ logger.info(f" Use scan: {config.use_scan}")
1494
+ logger.info(f" Fuse matmuls: {config.fuse_matmuls}")
1495
+
1496
+ train_time = cur_step = 0
1497
+ epochs = tqdm(range(num_epochs), desc=f"Epoch ... (1/{num_epochs})", position=0)
1498
+ for epoch in epochs:
1499
+ if training_args.do_train:
1500
+ # ======================== Training ================================
1501
+ train_start = time.time()
1502
+
1503
+ # Create sampling rng
1504
+ rng, input_rng = jax.random.split(rng)
1505
+
1506
+ # Generate an epoch by randomly shuffling sampling indices from the train dataset and grouping by length
1507
+ train_samples_idx = get_grouped_indices(vectorized_datasets[data_args.train_split_name], batch_size_per_update, input_rng)
1508
+ train_batch_idx = generate_batch_splits(train_samples_idx, batch_size_per_update)
1509
+
1510
+ # Gather the indices for creating the batch and do a training step
1511
+ for step, batch_idx in enumerate(tqdm(train_batch_idx, desc="Training...", position=1), 1):
1512
+ samples = [vectorized_datasets[data_args.train_split_name][int(idx)] for idx in batch_idx]
1513
+ batch = data_collator(samples)
1514
+ batch = shard(batch.data)
1515
+ try:
1516
+ state, train_metric = p_train_step(state, batch)
1517
+ except TypeError as e:
1518
+ logger.warning("Encountered following error: \n", e)
1519
+
1520
+ cur_step = epoch * (num_train_samples // batch_size_per_update) + step
1521
+
1522
+ if cur_step % training_args.logging_steps == 0:
1523
+ # Save metrics
1524
+ train_metric = unreplicate(train_metric)
1525
+ train_time += time.time() - train_start
1526
+ # need to upcast all device arrays to fp32 for wandb logging (jnp.bfloat16 not supported) -> do this here OR in train_step
1527
+ write_wandb_log(to_fp32(train_metric), cur_step, prefix=data_args.train_split_name)
1528
+ # we won't log to tensorboard for now (it is fiddly logging param and grad norms on a layer-by-layer basis)
1529
+ # if has_tensorboard and jax.process_index() == 0:
1530
+ # write_train_metric(summary_writer, train_metrics, train_time, cur_step)
1531
+
1532
+ epochs.write(
1533
+ f"Step... ({cur_step} | Loss: {train_metric['loss']}, Learning Rate: {train_metric['learning_rate']}, Gradient Norm: {train_metric['grad_norm']})"
1534
+ )
1535
+
1536
+ if cur_step % total_train_steps == 0:
1537
+ break
1538
+
1539
+ if training_args.eval_steps and cur_step % training_args.eval_steps == 0:
1540
+ run_evaluation(cur_step)
1541
+
1542
+ if cur_step % training_args.save_steps == 0:
1543
+ save_checkpoint(cur_step)
1544
+
1545
+ if training_args.eval_steps == 0 and (epoch + 1) != num_epochs:
1546
+ # run evaluation at the end of the epoch if eval steps are not specified
1547
+ run_evaluation(cur_step)
1548
+ save_checkpoint(cur_step)
1549
+
1550
+ if training_args.do_train:
1551
+ save_checkpoint(cur_step)
1552
+
1553
+ cur_step = max_steps if max_steps > 0 else cur_step # set step to max steps so that eval happens in alignment with training
1554
+
1555
+ if training_args.do_eval:
1556
+ run_evaluation(cur_step)
1557
+
1558
+ # TODO: collapse 'do_predict' into the run_evaluation function
1559
+ if training_args.do_predict:
1560
+ for split in [data_args.test_split_name]:
1561
+ # ======================== Evaluating ==============================
1562
+ eval_metrics = []
1563
+ eval_preds = []
1564
+ eval_labels = []
1565
+
1566
+ # Generate eval set by sequentially sampling indices from the test dataset and grouping by length
1567
+ eval_samples_idx = get_grouped_indices(vectorized_datasets[split], eval_batch_size)
1568
+ eval_batch_idx = generate_batch_splits(eval_samples_idx, eval_batch_size, drop_last=False)
1569
+
1570
+ for i, batch_idx in enumerate(tqdm(eval_batch_idx, desc=f"Predicting {split}...", position=2)):
1571
+ samples = [vectorized_datasets[split][int(idx)] for idx in batch_idx]
1572
+ batch = data_collator(samples)
1573
+ labels = batch["labels"]
1574
+
1575
+ metrics, pred_ids = pad_shard_unpad(p_eval_step)(state.params, batch.data, min_device_batch=per_device_eval_batch_size)
1576
+ eval_preds.extend(jax.device_get(pred_ids.reshape(-1, pred_ids.shape[-1])))
1577
+ eval_metrics.append(metrics)
1578
+
1579
+ eval_labels.extend(labels)
1580
+
1581
+ # normalize eval metrics
1582
+ eval_metrics = get_metrics(eval_metrics)
1583
+ eval_metrics = jax.tree_map(jnp.mean, eval_metrics)
1584
+ eval_metrics = to_fp32(eval_metrics)
1585
+
1586
+ # always run compute metrics
1587
+ error_rate_metric, pred_str, label_str = compute_metrics(eval_preds, eval_labels)
1588
+ eval_metrics.update(error_rate_metric)
1589
+ error_rate_desc = " ".join([f"Eval {key}: {value} |" for key, value in error_rate_metric.items()])
1590
+
1591
+ # Print metrics and update progress bar
1592
+ desc = f"Step... ({cur_step}/{total_train_steps} | Eval Loss: {eval_metrics['loss']} | {error_rate_desc})"
1593
+ epochs.write(desc)
1594
+ epochs.desc = desc
1595
+
1596
+ # Save metrics
1597
+ write_wandb_log(eval_metrics, cur_step, prefix=split)
1598
+ write_wandb_pred(pred_str, label_str, cur_step, prefix=split)
1599
+ # if has_tensorboard and jax.process_index() == 0:
1600
+ # write_eval_metric(summary_writer, eval_metrics, cur_step, pred_str=pred_str)
1601
+
1602
+
1603
+ if __name__ == "__main__":
1604
+ main()
wandb/run-20220731_124004-aa3ycswy/files/config.yaml ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ wandb_version: 1
2
+
3
+ _wandb:
4
+ desc: null
5
+ value:
6
+ cli_version: 0.12.9
7
+ code_path: code/run_flax_speech_recognition_ctc.py
8
+ framework: huggingface
9
+ huggingface_version: 4.21.0
10
+ is_jupyter_run: false
11
+ is_kaggle_kernel: false
12
+ python_version: 3.8.10
13
+ start_time: 1659271204
14
+ t:
15
+ 1:
16
+ - 1
17
+ - 2
18
+ - 3
19
+ - 11
20
+ - 12
21
+ 3:
22
+ - 13
23
+ 4: 3.8.10
24
+ 5: 0.12.9
25
+ 6: 4.21.0
26
+ 8:
27
+ - 5
wandb/run-20220731_124004-aa3ycswy/files/diff.patch ADDED
The diff for this file is too large to render. See raw diff
 
wandb/run-20220731_124004-aa3ycswy/files/output.log ADDED
The diff for this file is too large to render. See raw diff
 
wandb/run-20220731_124004-aa3ycswy/files/requirements.txt ADDED
@@ -0,0 +1,158 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ absl-py==1.0.0
2
+ aiohttp==3.8.1
3
+ aiosignal==1.2.0
4
+ appdirs==1.4.4
5
+ astunparse==1.6.3
6
+ async-timeout==4.0.2
7
+ attrs==21.4.0
8
+ audioread==2.1.9
9
+ backcall==0.2.0
10
+ cachetools==4.2.4
11
+ certifi==2021.10.8
12
+ cffi==1.15.1
13
+ charset-normalizer==2.0.10
14
+ chex==0.1.3
15
+ click==8.0.3
16
+ cloud-tpu-client==0.10
17
+ cloud-tpu-profiler==2.4.0
18
+ clu==0.0.6
19
+ colorama==0.4.5
20
+ commonmark==0.9.1
21
+ configparser==5.2.0
22
+ contextlib2==21.6.0
23
+ cycler==0.11.0
24
+ datasets==2.4.0
25
+ decorator==5.1.0
26
+ dill==0.3.4
27
+ dm-tree==0.1.6
28
+ docker-pycreds==0.4.0
29
+ etils==0.6.0
30
+ exceptiongroup==1.0.0rc8
31
+ filelock==3.4.2
32
+ flatbuffers==2.0
33
+ flax==0.5.3
34
+ fonttools==4.28.5
35
+ frozenlist==1.2.0
36
+ fsspec==2021.11.1
37
+ future==0.18.2
38
+ gast==0.4.0
39
+ gitdb==4.0.9
40
+ gitpython==3.1.26
41
+ google-api-core==1.31.5
42
+ google-api-python-client==1.8.0
43
+ google-auth-httplib2==0.1.0
44
+ google-auth-oauthlib==0.4.6
45
+ google-auth==2.3.3
46
+ google-pasta==0.2.0
47
+ googleapis-common-protos==1.54.0
48
+ grpcio==1.43.0
49
+ h5py==3.6.0
50
+ httplib2==0.20.2
51
+ huggingface-hub==0.2.1
52
+ hypothesis==6.53.0
53
+ idna==3.3
54
+ importlib-metadata==4.10.0
55
+ importlib-resources==5.4.0
56
+ ipython==7.31.0
57
+ jax==0.3.15
58
+ jaxlib==0.3.15
59
+ jedi==0.18.1
60
+ jiwer==2.3.0
61
+ joblib==1.1.0
62
+ keras-preprocessing==1.1.2
63
+ keras==2.7.0
64
+ kiwisolver==1.3.2
65
+ libclang==12.0.0
66
+ librosa==0.9.2
67
+ libtpu-nightly==0.1.dev20220722
68
+ llvmlite==0.39.0
69
+ markdown==3.3.6
70
+ matplotlib-inline==0.1.3
71
+ matplotlib==3.5.1
72
+ ml-collections==0.1.0
73
+ msgpack==1.0.3
74
+ multidict==5.2.0
75
+ multiprocess==0.70.12.2
76
+ numba==0.56.0
77
+ numpy==1.22.0
78
+ oauth2client==4.1.3
79
+ oauthlib==3.1.1
80
+ opt-einsum==3.3.0
81
+ optax==0.1.3
82
+ packaging==21.3
83
+ pandas==1.3.5
84
+ parso==0.8.3
85
+ pathtools==0.1.2
86
+ pexpect==4.8.0
87
+ pickleshare==0.7.5
88
+ pillow==9.0.0
89
+ pip==22.2.1
90
+ pkg-resources==0.0.0
91
+ pooch==1.6.0
92
+ promise==2.3
93
+ prompt-toolkit==3.0.24
94
+ protobuf==3.19.1
95
+ psutil==5.9.0
96
+ ptyprocess==0.7.0
97
+ pyarrow==6.0.1
98
+ pyasn1-modules==0.2.8
99
+ pyasn1==0.4.8
100
+ pycparser==2.21
101
+ pyctcdecode==0.4.0
102
+ pygments==2.11.1
103
+ pygtrie==2.5.0
104
+ pyparsing==3.0.6
105
+ python-dateutil==2.8.2
106
+ python-levenshtein==0.12.2
107
+ pytz==2021.3
108
+ pyyaml==6.0
109
+ regex==2021.11.10
110
+ requests-oauthlib==1.3.0
111
+ requests==2.27.0
112
+ resampy==0.3.1
113
+ responses==0.18.0
114
+ rich==11.2.0
115
+ rsa==4.8
116
+ sacremoses==0.0.46
117
+ scikit-learn==1.1.1
118
+ scipy==1.7.3
119
+ sentry-sdk==1.5.2
120
+ setuptools==44.0.0
121
+ shortuuid==1.0.8
122
+ six==1.16.0
123
+ smmap==5.0.0
124
+ sortedcontainers==2.4.0
125
+ soundfile==0.10.3.post1
126
+ sox==1.4.1
127
+ subprocess32==3.5.4
128
+ tensorboard-data-server==0.6.1
129
+ tensorboard-plugin-wit==1.8.0
130
+ tensorboard==2.7.0
131
+ tensorflow-cpu==2.7.0
132
+ tensorflow-datasets==4.4.0
133
+ tensorflow-estimator==2.7.0
134
+ tensorflow-io-gcs-filesystem==0.23.1
135
+ tensorflow-metadata==1.5.0
136
+ tensorflow==2.7.0
137
+ tensorstore==0.1.21
138
+ termcolor==1.1.0
139
+ threadpoolctl==3.1.0
140
+ tokenizers==0.11.2
141
+ toolz==0.11.2
142
+ torch==1.12.0
143
+ torchaudio==0.12.0+cpu
144
+ tqdm==4.62.3
145
+ traitlets==5.1.1
146
+ transformers==4.21.0
147
+ typing-extensions==4.3.0
148
+ uritemplate==3.0.1
149
+ urllib3==1.26.7
150
+ wandb==0.12.9
151
+ wcwidth==0.2.5
152
+ werkzeug==2.0.2
153
+ wheel==0.37.1
154
+ wrapt==1.13.3
155
+ xxhash==2.0.2
156
+ yarl==1.7.2
157
+ yaspin==2.1.0
158
+ zipp==3.7.0
wandb/run-20220731_124004-aa3ycswy/files/wandb-metadata.json ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "os": "Linux-5.4.0-1043-gcp-x86_64-with-glibc2.29",
3
+ "python": "3.8.10",
4
+ "heartbeatAt": "2022-07-31T12:40:07.559289",
5
+ "startedAt": "2022-07-31T12:40:04.017327",
6
+ "docker": null,
7
+ "cpu_count": 96,
8
+ "cuda": null,
9
+ "args": [
10
+ "--model_name_or_path=facebook/wav2vec2-xls-r-1b",
11
+ "--hub_model_id=NbAiLab/wav2vec2-1b-npsc-nst",
12
+ "--tokenizer_name=./",
13
+ "--output_dir=./",
14
+ "--overwrite_output_dir",
15
+ "--num_train_epochs=40",
16
+ "--per_device_train_batch_size=10",
17
+ "--per_device_eval_batch_size=10",
18
+ "--gradient_accumulation_steps=1",
19
+ "--precision=full_mixed",
20
+ "--matmul_precision=bfloat16",
21
+ "--learning_rate=8e-4",
22
+ "--warmup_steps=4000",
23
+ "--length_column_name=input_length",
24
+ "--evaluation_strategy=steps",
25
+ "--text_column_name=text",
26
+ "--save_steps=3783",
27
+ "--eval_steps=3783",
28
+ "--logging_steps=100",
29
+ "--layerdrop=0.041",
30
+ "--attention_dropout=0.094",
31
+ "--activation_dropout=0.055",
32
+ "--hidden_dropout=0.047",
33
+ "--save_total_limit=5",
34
+ "--freeze_feature_encoder",
35
+ "--feat_proj_dropout=0.04",
36
+ "--mask_time_prob=0.082",
37
+ "--mask_time_length=10",
38
+ "--mask_feature_prob=0.25",
39
+ "--mask_feature_length=64",
40
+ "--gradient_checkpointing",
41
+ "--min_duration_in_seconds=0.5",
42
+ "--max_duration_in_seconds=20.0",
43
+ "--use_auth_token",
44
+ "--seed=42",
45
+ "--group_by_length",
46
+ "--do_train",
47
+ "--do_eval",
48
+ "--push_to_hub",
49
+ "--preprocessing_num_workers=32",
50
+ "--ctc_zero_infinity",
51
+ "--do_lower_case",
52
+ "--wandb_project=wav2vec2",
53
+ "--wandb_name=wav2vec2-1b-npsc-nst",
54
+ "--remove_punctuation"
55
+ ],
56
+ "state": "running",
57
+ "program": "run_flax_speech_recognition_ctc.py",
58
+ "codePath": "run_flax_speech_recognition_ctc.py",
59
+ "git": {
60
+ "remote": "https://huggingface.co/NbAiLab/wav2vec2-1b-npsc-nst",
61
+ "commit": "ce31127160a53192d2ac9bed788e4c4291ce0652"
62
+ },
63
+ "email": "versae@gmail.com",
64
+ "root": "/data/wav2vec2-1b-npsc-nst",
65
+ "host": "t1v-n-eedfb410-w-0",
66
+ "username": "javierr",
67
+ "executable": "/data/flax/bin/python"
68
+ }
wandb/run-20220731_124004-aa3ycswy/files/wandb-summary.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"train/grad_norm": 3.1875, "layer_grad_norm/": {"lm_head": {"bias": 0.11962890625, "kernel": 2.1875}, "wav2vec2": {"encoder": {"layer_norm": {"bias": 0.1083984375, "scale": 0.0830078125}, "layers": {"0": {"attention": {"k_proj": {"bias": 0.0001087188720703125, "kernel": 0.058349609375}, "out_proj": {"bias": 0.04150390625, "kernel": 0.287109375}, "q_proj": {"bias": 0.0098876953125, "kernel": 0.0810546875}, "v_proj": {"bias": 0.062255859375, "kernel": 0.328125}}, "feed_forward": {"intermediate_dense": {"bias": 0.03515625, "kernel": 0.52734375}, "output_dense": {"bias": 0.00738525390625, "kernel": 0.453125}}, "final_layer_norm": {"bias": 0.1513671875, "scale": 0.291015625}, "layer_norm": {"bias": 0.16796875, "scale": 0.16015625}}, "1": {"attention": {"k_proj": {"bias": 8.678436279296875e-05, "kernel": 0.05078125}, "out_proj": {"bias": 0.0076904296875, "kernel": 0.1455078125}, "q_proj": {"bias": 0.004669189453125, "kernel": 0.0478515625}, "v_proj": {"bias": 0.0159912109375, "kernel": 0.1103515625}}, "feed_forward": {"intermediate_dense": {"bias": 0.01361083984375, "kernel": 0.2197265625}, "output_dense": {"bias": 0.00732421875, "kernel": 0.17578125}}, "final_layer_norm": {"bias": 0.0302734375, "scale": 0.037109375}, "layer_norm": {"bias": 0.046875, "scale": 0.0380859375}}, "10": {"attention": {"k_proj": {"bias": 4.220008850097656e-05, "kernel": 0.06689453125}, "out_proj": {"bias": 0.0047607421875, "kernel": 0.10595703125}, "q_proj": {"bias": 0.004638671875, "kernel": 0.0732421875}, "v_proj": {"bias": 0.0086669921875, "kernel": 0.095703125}}, "feed_forward": {"intermediate_dense": {"bias": 0.0087890625, "kernel": 0.142578125}, "output_dense": {"bias": 0.00457763671875, "kernel": 0.10498046875}}, "final_layer_norm": {"bias": 0.01806640625, "scale": 0.0174560546875}, "layer_norm": {"bias": 0.0244140625, "scale": 0.025146484375}}, "11": {"attention": {"k_proj": {"bias": 9.584426879882812e-05, "kernel": 0.09375}, "out_proj": {"bias": 0.004638671875, "kernel": 0.14453125}, "q_proj": {"bias": 0.006103515625, "kernel": 0.09619140625}, "v_proj": {"bias": 0.009521484375, "kernel": 0.138671875}}, "feed_forward": {"intermediate_dense": {"bias": 0.0079345703125, "kernel": 0.1318359375}, "output_dense": {"bias": 0.0045166015625, "kernel": 0.0927734375}}, "final_layer_norm": {"bias": 0.016357421875, "scale": 0.01806640625}, "layer_norm": {"bias": 0.0264892578125, "scale": 0.03125}}, "12": {"attention": {"k_proj": {"bias": 4.57763671875e-05, "kernel": 0.0732421875}, "out_proj": {"bias": 0.00457763671875, "kernel": 0.109375}, "q_proj": {"bias": 0.00482177734375, "kernel": 0.076171875}, "v_proj": {"bias": 0.0086669921875, "kernel": 0.1044921875}}, "feed_forward": {"intermediate_dense": {"bias": 0.00830078125, "kernel": 0.1328125}, "output_dense": {"bias": 0.00445556640625, "kernel": 0.09326171875}}, "final_layer_norm": {"bias": 0.0179443359375, "scale": 0.02001953125}, "layer_norm": {"bias": 0.0224609375, "scale": 0.029541015625}}, "13": {"attention": {"k_proj": {"bias": 0.00010013580322265625, "kernel": 0.109375}, "out_proj": {"bias": 0.0045166015625, "kernel": 0.14453125}, "q_proj": {"bias": 0.00640869140625, "kernel": 0.10693359375}, "v_proj": {"bias": 0.009033203125, "kernel": 0.140625}}, "feed_forward": {"intermediate_dense": {"bias": 0.008056640625, "kernel": 0.12890625}, "output_dense": {"bias": 0.00439453125, "kernel": 0.09228515625}}, "final_layer_norm": {"bias": 0.0166015625, "scale": 0.016357421875}, "layer_norm": {"bias": 0.024169921875, "scale": 0.032470703125}}, "14": {"attention": {"k_proj": {"bias": 9.489059448242188e-05, "kernel": 0.0751953125}, "out_proj": {"bias": 0.00439453125, "kernel": 0.12109375}, "q_proj": {"bias": 0.00469970703125, "kernel": 0.078125}, "v_proj": {"bias": 0.008056640625, "kernel": 0.1171875}}, "feed_forward": {"intermediate_dense": {"bias": 0.0081787109375, "kernel": 0.130859375}, "output_dense": {"bias": 0.0042724609375, "kernel": 0.095703125}}, "final_layer_norm": {"bias": 0.01806640625, "scale": 0.018798828125}, "layer_norm": {"bias": 0.02001953125, "scale": 0.0244140625}}, "15": {"attention": {"k_proj": {"bias": 0.0001583099365234375, "kernel": 0.1240234375}, "out_proj": {"bias": 0.00421142578125, "kernel": 0.1748046875}, "q_proj": {"bias": 0.00732421875, "kernel": 0.1259765625}, "v_proj": {"bias": 0.00885009765625, "kernel": 0.15234375}}, "feed_forward": {"intermediate_dense": {"bias": 0.007080078125, "kernel": 0.1142578125}, "output_dense": {"bias": 0.00408935546875, "kernel": 0.09130859375}}, "final_layer_norm": {"bias": 0.0137939453125, "scale": 0.0130615234375}, "layer_norm": {"bias": 0.0252685546875, "scale": 0.0308837890625}}, "16": {"attention": {"k_proj": {"bias": 7.2479248046875e-05, "kernel": 0.08447265625}, "out_proj": {"bias": 0.00408935546875, "kernel": 0.11474609375}, "q_proj": {"bias": 0.00537109375, "kernel": 0.087890625}, "v_proj": {"bias": 0.007537841796875, "kernel": 0.1044921875}}, "feed_forward": {"intermediate_dense": {"bias": 0.00665283203125, "kernel": 0.109375}, "output_dense": {"bias": 0.00396728515625, "kernel": 0.0869140625}}, "final_layer_norm": {"bias": 0.0128173828125, "scale": 0.0130615234375}, "layer_norm": {"bias": 0.0205078125, "scale": 0.0230712890625}}, "17": {"attention": {"k_proj": {"bias": 3.6716461181640625e-05, "kernel": 0.05419921875}, "out_proj": {"bias": 0.004119873046875, "kernel": 0.08349609375}, "q_proj": {"bias": 0.0031890869140625, "kernel": 0.055419921875}, "v_proj": {"bias": 0.00738525390625, "kernel": 0.0849609375}}, "feed_forward": {"intermediate_dense": {"bias": 0.00677490234375, "kernel": 0.111328125}, "output_dense": {"bias": 0.00396728515625, "kernel": 0.0859375}}, "final_layer_norm": {"bias": 0.0137939453125, "scale": 0.0135498046875}, "layer_norm": {"bias": 0.0181884765625, "scale": 0.017822265625}}, "18": {"attention": {"k_proj": {"bias": 8.106231689453125e-05, "kernel": 0.091796875}, "out_proj": {"bias": 0.00396728515625, "kernel": 0.12255859375}, "q_proj": {"bias": 0.00537109375, "kernel": 0.09375}, "v_proj": {"bias": 0.0074462890625, "kernel": 0.111328125}}, "feed_forward": {"intermediate_dense": {"bias": 0.0064697265625, "kernel": 0.10693359375}, "output_dense": {"bias": 0.00384521484375, "kernel": 0.08349609375}}, "final_layer_norm": {"bias": 0.013427734375, "scale": 0.0135498046875}, "layer_norm": {"bias": 0.0198974609375, "scale": 0.0211181640625}}, "19": {"attention": {"k_proj": {"bias": 5.817413330078125e-05, "kernel": 0.0625}, "out_proj": {"bias": 0.003875732421875, "kernel": 0.0927734375}, "q_proj": {"bias": 0.003936767578125, "kernel": 0.064453125}, "v_proj": {"bias": 0.006866455078125, "kernel": 0.08837890625}}, "feed_forward": {"intermediate_dense": {"bias": 0.006011962890625, "kernel": 0.103515625}, "output_dense": {"bias": 0.0037841796875, "kernel": 0.0810546875}}, "final_layer_norm": {"bias": 0.0111083984375, "scale": 0.01031494140625}, "layer_norm": {"bias": 0.01708984375, "scale": 0.018798828125}}, "2": {"attention": {"k_proj": {"bias": 6.818771362304688e-05, "kernel": 0.07080078125}, "out_proj": {"bias": 0.007537841796875, "kernel": 0.154296875}, "q_proj": {"bias": 0.0064697265625, "kernel": 0.0703125}, "v_proj": {"bias": 0.01611328125, "kernel": 0.134765625}}, "feed_forward": {"intermediate_dense": {"bias": 0.013671875, "kernel": 0.240234375}, "output_dense": {"bias": 0.00689697265625, "kernel": 0.166015625}}, "final_layer_norm": {"bias": 0.0341796875, "scale": 0.031005859375}, "layer_norm": {"bias": 0.047119140625, "scale": 0.05419921875}}, "20": {"attention": {"k_proj": {"bias": 1.8596649169921875e-05, "kernel": 0.03857421875}, "out_proj": {"bias": 0.00390625, "kernel": 0.0615234375}, "q_proj": {"bias": 0.0022735595703125, "kernel": 0.03857421875}, "v_proj": {"bias": 0.00628662109375, "kernel": 0.0615234375}}, "feed_forward": {"intermediate_dense": {"bias": 0.006256103515625, "kernel": 0.109375}, "output_dense": {"bias": 0.0037841796875, "kernel": 0.0810546875}}, "final_layer_norm": {"bias": 0.0123291015625, "scale": 0.0115966796875}, "layer_norm": {"bias": 0.01422119140625, "scale": 0.01373291015625}}, "21": {"attention": {"k_proj": {"bias": 4.649162292480469e-05, "kernel": 0.0556640625}, "out_proj": {"bias": 0.00384521484375, "kernel": 0.0869140625}, "q_proj": {"bias": 0.0030517578125, "kernel": 0.05712890625}, "v_proj": {"bias": 0.006561279296875, "kernel": 0.0849609375}}, "feed_forward": {"intermediate_dense": {"bias": 0.006072998046875, "kernel": 0.107421875}, "output_dense": {"bias": 0.0037689208984375, "kernel": 0.0791015625}}, "final_layer_norm": {"bias": 0.01171875, "scale": 0.011474609375}, "layer_norm": {"bias": 0.01422119140625, "scale": 0.0152587890625}}, "22": {"attention": {"k_proj": {"bias": 3.123283386230469e-05, "kernel": 0.05615234375}, "out_proj": {"bias": 0.0038604736328125, "kernel": 0.078125}, "q_proj": {"bias": 0.0031890869140625, "kernel": 0.056640625}, "v_proj": {"bias": 0.006744384765625, "kernel": 0.0771484375}}, "feed_forward": {"intermediate_dense": {"bias": 0.0062255859375, "kernel": 0.10888671875}, "output_dense": {"bias": 0.0037841796875, "kernel": 0.07958984375}}, "final_layer_norm": {"bias": 0.01220703125, "scale": 0.0113525390625}, "layer_norm": {"bias": 0.0162353515625, "scale": 0.0181884765625}}, "23": {"attention": {"k_proj": {"bias": 0.00011014938354492188, "kernel": 0.09716796875}, "out_proj": {"bias": 0.003814697265625, "kernel": 0.130859375}, "q_proj": {"bias": 0.0052490234375, "kernel": 0.09716796875}, "v_proj": {"bias": 0.00750732421875, "kernel": 0.123046875}}, "feed_forward": {"intermediate_dense": {"bias": 0.00579833984375, "kernel": 0.1044921875}, "output_dense": {"bias": 0.0037841796875, "kernel": 0.0751953125}}, "final_layer_norm": {"bias": 0.0111083984375, "scale": 0.0125732421875}, "layer_norm": {"bias": 0.0191650390625, "scale": 0.0228271484375}}, "24": {"attention": {"k_proj": {"bias": 7.343292236328125e-05, "kernel": 0.09326171875}, "out_proj": {"bias": 0.003692626953125, "kernel": 0.1103515625}, "q_proj": {"bias": 0.00469970703125, "kernel": 0.091796875}, "v_proj": {"bias": 0.007568359375, "kernel": 0.10888671875}}, "feed_forward": {"intermediate_dense": {"bias": 0.00592041015625, "kernel": 0.109375}, "output_dense": {"bias": 0.00360107421875, "kernel": 0.07177734375}}, "final_layer_norm": {"bias": 0.0118408203125, "scale": 0.012939453125}, "layer_norm": {"bias": 0.01953125, "scale": 0.021484375}}, "25": {"attention": {"k_proj": {"bias": 5.9604644775390625e-05, "kernel": 0.0654296875}, "out_proj": {"bias": 0.003662109375, "kernel": 0.09765625}, "q_proj": {"bias": 0.0038299560546875, "kernel": 0.06640625}, "v_proj": {"bias": 0.007080078125, "kernel": 0.09765625}}, "feed_forward": {"intermediate_dense": {"bias": 0.00592041015625, "kernel": 0.1103515625}, "output_dense": {"bias": 0.0035858154296875, "kernel": 0.0712890625}}, "final_layer_norm": {"bias": 0.0120849609375, "scale": 0.01336669921875}, "layer_norm": {"bias": 0.0169677734375, "scale": 0.0244140625}}, "26": {"attention": {"k_proj": {"bias": 5.2928924560546875e-05, "kernel": 0.068359375}, "out_proj": {"bias": 0.00360107421875, "kernel": 0.0927734375}, "q_proj": {"bias": 0.003814697265625, "kernel": 0.0693359375}, "v_proj": {"bias": 0.007049560546875, "kernel": 0.09228515625}}, "feed_forward": {"intermediate_dense": {"bias": 0.00567626953125, "kernel": 0.10107421875}, "output_dense": {"bias": 0.0035247802734375, "kernel": 0.0703125}}, "final_layer_norm": {"bias": 0.01165771484375, "scale": 0.01177978515625}, "layer_norm": {"bias": 0.01708984375, "scale": 0.02001953125}}, "27": {"attention": {"k_proj": {"bias": 0.00010967254638671875, "kernel": 0.11083984375}, "out_proj": {"bias": 0.00341796875, "kernel": 0.125}, "q_proj": {"bias": 0.00604248046875, "kernel": 0.1103515625}, "v_proj": {"bias": 0.007659912109375, "kernel": 0.12353515625}}, "feed_forward": {"intermediate_dense": {"bias": 0.0057373046875, "kernel": 0.099609375}, "output_dense": {"bias": 0.00335693359375, "kernel": 0.068359375}}, "final_layer_norm": {"bias": 0.011962890625, "scale": 0.01190185546875}, "layer_norm": {"bias": 0.021728515625, "scale": 0.032470703125}}, "28": {"attention": {"k_proj": {"bias": 8.535385131835938e-05, "kernel": 0.0869140625}, "out_proj": {"bias": 0.003265380859375, "kernel": 0.1162109375}, "q_proj": {"bias": 0.004852294921875, "kernel": 0.0908203125}, "v_proj": {"bias": 0.00726318359375, "kernel": 0.119140625}}, "feed_forward": {"intermediate_dense": {"bias": 0.005340576171875, "kernel": 0.09326171875}, "output_dense": {"bias": 0.00323486328125, "kernel": 0.06591796875}}, "final_layer_norm": {"bias": 0.01123046875, "scale": 0.01202392578125}, "layer_norm": {"bias": 0.019287109375, "scale": 0.0244140625}}, "29": {"attention": {"k_proj": {"bias": 7.152557373046875e-05, "kernel": 0.08837890625}, "out_proj": {"bias": 0.0031890869140625, "kernel": 0.10595703125}, "q_proj": {"bias": 0.00482177734375, "kernel": 0.091796875}, "v_proj": {"bias": 0.00714111328125, "kernel": 0.11083984375}}, "feed_forward": {"intermediate_dense": {"bias": 0.0054931640625, "kernel": 0.1015625}, "output_dense": {"bias": 0.00311279296875, "kernel": 0.064453125}}, "final_layer_norm": {"bias": 0.01080322265625, "scale": 0.0096435546875}, "layer_norm": {"bias": 0.020263671875, "scale": 0.0272216796875}}, "3": {"attention": {"k_proj": {"bias": 0.0001468658447265625, "kernel": 0.1044921875}, "out_proj": {"bias": 0.00701904296875, "kernel": 0.2109375}, "q_proj": {"bias": 0.00836181640625, "kernel": 0.10546875}, "v_proj": {"bias": 0.0133056640625, "kernel": 0.169921875}}, "feed_forward": {"intermediate_dense": {"bias": 0.01312255859375, "kernel": 0.220703125}, "output_dense": {"bias": 0.006561279296875, "kernel": 0.1552734375}}, "final_layer_norm": {"bias": 0.0301513671875, "scale": 0.0296630859375}, "layer_norm": {"bias": 0.038818359375, "scale": 0.07568359375}}, "30": {"attention": {"k_proj": {"bias": 9.632110595703125e-05, "kernel": 0.09765625}, "out_proj": {"bias": 0.0030517578125, "kernel": 0.11083984375}, "q_proj": {"bias": 0.00494384765625, "kernel": 0.0986328125}, "v_proj": {"bias": 0.006805419921875, "kernel": 0.115234375}}, "feed_forward": {"intermediate_dense": {"bias": 0.005615234375, "kernel": 0.107421875}, "output_dense": {"bias": 0.00299072265625, "kernel": 0.064453125}}, "final_layer_norm": {"bias": 0.01153564453125, "scale": 0.01275634765625}, "layer_norm": {"bias": 0.017822265625, "scale": 0.02490234375}}, "31": {"attention": {"k_proj": {"bias": 8.58306884765625e-05, "kernel": 0.08349609375}, "out_proj": {"bias": 0.0029144287109375, "kernel": 0.0986328125}, "q_proj": {"bias": 0.0047607421875, "kernel": 0.08935546875}, "v_proj": {"bias": 0.00628662109375, "kernel": 0.10498046875}}, "feed_forward": {"intermediate_dense": {"bias": 0.00537109375, "kernel": 0.1015625}, "output_dense": {"bias": 0.00286865234375, "kernel": 0.06201171875}}, "final_layer_norm": {"bias": 0.01116943359375, "scale": 0.010498046875}, "layer_norm": {"bias": 0.0181884765625, "scale": 0.0260009765625}}, "32": {"attention": {"k_proj": {"bias": 9.1552734375e-05, "kernel": 0.099609375}, "out_proj": {"bias": 0.0028228759765625, "kernel": 0.09619140625}, "q_proj": {"bias": 0.00537109375, "kernel": 0.1025390625}, "v_proj": {"bias": 0.00634765625, "kernel": 0.10693359375}}, "feed_forward": {"intermediate_dense": {"bias": 0.005706787109375, "kernel": 0.1064453125}, "output_dense": {"bias": 0.002716064453125, "kernel": 0.060546875}}, "final_layer_norm": {"bias": 0.012939453125, "scale": 0.0120849609375}, "layer_norm": {"bias": 0.019287109375, "scale": 0.0245361328125}}, "33": {"attention": {"k_proj": {"bias": 9.107589721679688e-05, "kernel": 0.09033203125}, "out_proj": {"bias": 0.0027008056640625, "kernel": 0.095703125}, "q_proj": {"bias": 0.00482177734375, "kernel": 0.091796875}, "v_proj": {"bias": 0.00634765625, "kernel": 0.10546875}}, "feed_forward": {"intermediate_dense": {"bias": 0.00555419921875, "kernel": 0.10107421875}, "output_dense": {"bias": 0.002593994140625, "kernel": 0.06005859375}}, "final_layer_norm": {"bias": 0.0133056640625, "scale": 0.0128173828125}, "layer_norm": {"bias": 0.0184326171875, "scale": 0.022705078125}}, "34": {"attention": {"k_proj": {"bias": 0.00011682510375976562, "kernel": 0.107421875}, "out_proj": {"bias": 0.0025177001953125, "kernel": 0.09375}, "q_proj": {"bias": 0.00555419921875, "kernel": 0.10595703125}, "v_proj": {"bias": 0.00616455078125, "kernel": 0.1064453125}}, "feed_forward": {"intermediate_dense": {"bias": 0.0054931640625, "kernel": 0.09765625}, "output_dense": {"bias": 0.00238037109375, "kernel": 0.0595703125}}, "final_layer_norm": {"bias": 0.01458740234375, "scale": 0.01483154296875}, "layer_norm": {"bias": 0.01904296875, "scale": 0.02734375}}, "35": {"attention": {"k_proj": {"bias": 0.0001373291015625, "kernel": 0.103515625}, "out_proj": {"bias": 0.002288818359375, "kernel": 0.0966796875}, "q_proj": {"bias": 0.00531005859375, "kernel": 0.10888671875}, "v_proj": {"bias": 0.005401611328125, "kernel": 0.099609375}}, "feed_forward": {"intermediate_dense": {"bias": 0.004486083984375, "kernel": 0.078125}, "output_dense": {"bias": 0.0021820068359375, "kernel": 0.05078125}}, "final_layer_norm": {"bias": 0.01324462890625, "scale": 0.0133056640625}, "layer_norm": {"bias": 0.021484375, "scale": 0.03076171875}}, "36": {"attention": {"k_proj": {"bias": 0.00010919570922851562, "kernel": 0.083984375}, "out_proj": {"bias": 0.0021514892578125, "kernel": 0.0751953125}, "q_proj": {"bias": 0.004425048828125, "kernel": 0.08544921875}, "v_proj": {"bias": 0.00445556640625, "kernel": 0.076171875}}, "feed_forward": {"intermediate_dense": {"bias": 0.00384521484375, "kernel": 0.06689453125}, "output_dense": {"bias": 0.0020751953125, "kernel": 0.04345703125}}, "final_layer_norm": {"bias": 0.01025390625, "scale": 0.009521484375}, "layer_norm": {"bias": 0.0155029296875, "scale": 0.0185546875}}, "37": {"attention": {"k_proj": {"bias": 9.632110595703125e-05, "kernel": 0.08984375}, "out_proj": {"bias": 0.0020751953125, "kernel": 0.068359375}, "q_proj": {"bias": 0.0047607421875, "kernel": 0.091796875}, "v_proj": {"bias": 0.00439453125, "kernel": 0.07421875}}, "feed_forward": {"intermediate_dense": {"bias": 0.00384521484375, "kernel": 0.0673828125}, "output_dense": {"bias": 0.001983642578125, "kernel": 0.04345703125}}, "final_layer_norm": {"bias": 0.01025390625, "scale": 0.0101318359375}, "layer_norm": {"bias": 0.0166015625, "scale": 0.022216796875}}, "38": {"attention": {"k_proj": {"bias": 0.0001220703125, "kernel": 0.0830078125}, "out_proj": {"bias": 0.001983642578125, "kernel": 0.0673828125}, "q_proj": {"bias": 0.00439453125, "kernel": 0.08349609375}, "v_proj": {"bias": 0.004180908203125, "kernel": 0.0732421875}}, "feed_forward": {"intermediate_dense": {"bias": 0.0035400390625, "kernel": 0.06201171875}, "output_dense": {"bias": 0.00191497802734375, "kernel": 0.041748046875}}, "final_layer_norm": {"bias": 0.010498046875, "scale": 0.0146484375}, "layer_norm": {"bias": 0.01611328125, "scale": 0.0177001953125}}, "39": {"attention": {"k_proj": {"bias": 9.822845458984375e-05, "kernel": 0.08203125}, "out_proj": {"bias": 0.001861572265625, "kernel": 0.0673828125}, "q_proj": {"bias": 0.004180908203125, "kernel": 0.0859375}, "v_proj": {"bias": 0.004302978515625, "kernel": 0.07373046875}}, "feed_forward": {"intermediate_dense": {"bias": 0.00323486328125, "kernel": 0.0546875}, "output_dense": {"bias": 0.0018157958984375, "kernel": 0.03857421875}}, "final_layer_norm": {"bias": 0.0093994140625, "scale": 0.0125732421875}, "layer_norm": {"bias": 0.016845703125, "scale": 0.022216796875}}, "4": {"attention": {"k_proj": {"bias": 0.000171661376953125, "kernel": 0.123046875}, "out_proj": {"bias": 0.006561279296875, "kernel": 0.2255859375}, "q_proj": {"bias": 0.00946044921875, "kernel": 0.126953125}, "v_proj": {"bias": 0.0123291015625, "kernel": 0.1875}}, "feed_forward": {"intermediate_dense": {"bias": 0.012451171875, "kernel": 0.19921875}, "output_dense": {"bias": 0.00616455078125, "kernel": 0.1484375}}, "final_layer_norm": {"bias": 0.026611328125, "scale": 0.0242919921875}, "layer_norm": {"bias": 0.0380859375, "scale": 0.0634765625}}, "40": {"attention": {"k_proj": {"bias": 8.726119995117188e-05, "kernel": 0.0654296875}, "out_proj": {"bias": 0.0018463134765625, "kernel": 0.05712890625}, "q_proj": {"bias": 0.003814697265625, "kernel": 0.06689453125}, "v_proj": {"bias": 0.003814697265625, "kernel": 0.05810546875}}, "feed_forward": {"intermediate_dense": {"bias": 0.003265380859375, "kernel": 0.05126953125}, "output_dense": {"bias": 0.001800537109375, "kernel": 0.03857421875}}, "final_layer_norm": {"bias": 0.0098876953125, "scale": 0.017822265625}, "layer_norm": {"bias": 0.0150146484375, "scale": 0.0162353515625}}, "41": {"attention": {"k_proj": {"bias": 9.870529174804688e-05, "kernel": 0.091796875}, "out_proj": {"bias": 0.0018157958984375, "kernel": 0.07275390625}, "q_proj": {"bias": 0.00494384765625, "kernel": 0.09765625}, "v_proj": {"bias": 0.005096435546875, "kernel": 0.091796875}}, "feed_forward": {"intermediate_dense": {"bias": 0.00299072265625, "kernel": 0.04833984375}, "output_dense": {"bias": 0.00173187255859375, "kernel": 0.033203125}}, "final_layer_norm": {"bias": 0.0106201171875, "scale": 0.013427734375}, "layer_norm": {"bias": 0.02392578125, "scale": 0.03515625}}, "42": {"attention": {"k_proj": {"bias": 2.8371810913085938e-05, "kernel": 0.025390625}, "out_proj": {"bias": 0.001800537109375, "kernel": 0.0439453125}, "q_proj": {"bias": 0.0016021728515625, "kernel": 0.0264892578125}, "v_proj": {"bias": 0.003448486328125, "kernel": 0.04443359375}}, "feed_forward": {"intermediate_dense": {"bias": 0.00262451171875, "kernel": 0.04248046875}, "output_dense": {"bias": 0.00173187255859375, "kernel": 0.02783203125}}, "final_layer_norm": {"bias": 0.0091552734375, "scale": 0.0115966796875}, "layer_norm": {"bias": 0.010498046875, "scale": 0.0184326171875}}, "43": {"attention": {"k_proj": {"bias": 7.152557373046875e-06, "kernel": 0.01043701171875}, "out_proj": {"bias": 0.00177764892578125, "kernel": 0.0279541015625}, "q_proj": {"bias": 0.000728607177734375, "kernel": 0.01043701171875}, "v_proj": {"bias": 0.002960205078125, "kernel": 0.029541015625}}, "feed_forward": {"intermediate_dense": {"bias": 0.00250244140625, "kernel": 0.042236328125}, "output_dense": {"bias": 0.00173187255859375, "kernel": 0.028076171875}}, "final_layer_norm": {"bias": 0.00799560546875, "scale": 0.01055908203125}, "layer_norm": {"bias": 0.007720947265625, "scale": 0.01495361328125}}, "44": {"attention": {"k_proj": {"bias": 5.632638931274414e-06, "kernel": 0.0103759765625}, "out_proj": {"bias": 0.0017852783203125, "kernel": 0.0264892578125}, "q_proj": {"bias": 0.000690460205078125, "kernel": 0.0101318359375}, "v_proj": {"bias": 0.0029144287109375, "kernel": 0.0283203125}}, "feed_forward": {"intermediate_dense": {"bias": 0.0023040771484375, "kernel": 0.04248046875}, "output_dense": {"bias": 0.00177001953125, "kernel": 0.026123046875}}, "final_layer_norm": {"bias": 0.006622314453125, "scale": 0.0096435546875}, "layer_norm": {"bias": 0.0078125, "scale": 0.010009765625}}, "45": {"attention": {"k_proj": {"bias": 5.245208740234375e-06, "kernel": 0.00830078125}, "out_proj": {"bias": 0.00182342529296875, "kernel": 0.0262451171875}, "q_proj": {"bias": 0.00061798095703125, "kernel": 0.0084228515625}, "v_proj": {"bias": 0.0030975341796875, "kernel": 0.02783203125}}, "feed_forward": {"intermediate_dense": {"bias": 0.0023193359375, "kernel": 0.04150390625}, "output_dense": {"bias": 0.00180816650390625, "kernel": 0.027099609375}}, "final_layer_norm": {"bias": 0.0067138671875, "scale": 0.010986328125}, "layer_norm": {"bias": 0.009521484375, "scale": 0.01409912109375}}, "46": {"attention": {"k_proj": {"bias": 6.258487701416016e-06, "kernel": 0.010009765625}, "out_proj": {"bias": 0.00188446044921875, "kernel": 0.02685546875}, "q_proj": {"bias": 0.000820159912109375, "kernel": 0.01007080078125}, "v_proj": {"bias": 0.0035552978515625, "kernel": 0.03076171875}}, "feed_forward": {"intermediate_dense": {"bias": 0.00244140625, "kernel": 0.0390625}, "output_dense": {"bias": 0.00188446044921875, "kernel": 0.02734375}}, "final_layer_norm": {"bias": 0.00848388671875, "scale": 0.0162353515625}, "layer_norm": {"bias": 0.0120849609375, "scale": 0.01470947265625}}, "47": {"attention": {"k_proj": {"bias": 1.52587890625e-05, "kernel": 0.01031494140625}, "out_proj": {"bias": 0.001953125, "kernel": 0.037109375}, "q_proj": {"bias": 0.00093841552734375, "kernel": 0.010009765625}, "v_proj": {"bias": 0.004180908203125, "kernel": 0.033203125}}, "feed_forward": {"intermediate_dense": {"bias": 0.0022430419921875, "kernel": 0.028564453125}, "output_dense": {"bias": 0.001953125, "kernel": 0.02587890625}}, "final_layer_norm": {"bias": 0.010009765625, "scale": 0.0166015625}, "layer_norm": {"bias": 0.014404296875, "scale": 0.0184326171875}}, "5": {"attention": {"k_proj": {"bias": 4.76837158203125e-05, "kernel": 0.07568359375}, "out_proj": {"bias": 0.006622314453125, "kernel": 0.1318359375}, "q_proj": {"bias": 0.0052490234375, "kernel": 0.07666015625}, "v_proj": {"bias": 0.012451171875, "kernel": 0.123046875}}, "feed_forward": {"intermediate_dense": {"bias": 0.0125732421875, "kernel": 0.1904296875}, "output_dense": {"bias": 0.0062255859375, "kernel": 0.142578125}}, "final_layer_norm": {"bias": 0.0281982421875, "scale": 0.025390625}, "layer_norm": {"bias": 0.033447265625, "scale": 0.0439453125}}, "6": {"attention": {"k_proj": {"bias": 0.00013828277587890625, "kernel": 0.134765625}, "out_proj": {"bias": 0.0059814453125, "kernel": 0.203125}, "q_proj": {"bias": 0.00970458984375, "kernel": 0.1376953125}, "v_proj": {"bias": 0.01251220703125, "kernel": 0.19140625}}, "feed_forward": {"intermediate_dense": {"bias": 0.011474609375, "kernel": 0.181640625}, "output_dense": {"bias": 0.00567626953125, "kernel": 0.126953125}}, "final_layer_norm": {"bias": 0.025146484375, "scale": 0.022705078125}, "layer_norm": {"bias": 0.037109375, "scale": 0.06005859375}}, "7": {"attention": {"k_proj": {"bias": 0.000148773193359375, "kernel": 0.1328125}, "out_proj": {"bias": 0.00567626953125, "kernel": 0.1884765625}, "q_proj": {"bias": 0.009033203125, "kernel": 0.13671875}, "v_proj": {"bias": 0.0115966796875, "kernel": 0.169921875}}, "feed_forward": {"intermediate_dense": {"bias": 0.010986328125, "kernel": 0.177734375}, "output_dense": {"bias": 0.005340576171875, "kernel": 0.123046875}}, "final_layer_norm": {"bias": 0.024658203125, "scale": 0.02197265625}, "layer_norm": {"bias": 0.03515625, "scale": 0.05615234375}}, "8": {"attention": {"k_proj": {"bias": 0.00011348724365234375, "kernel": 0.1103515625}, "out_proj": {"bias": 0.00531005859375, "kernel": 0.16796875}, "q_proj": {"bias": 0.00775146484375, "kernel": 0.1142578125}, "v_proj": {"bias": 0.01055908203125, "kernel": 0.1533203125}}, "feed_forward": {"intermediate_dense": {"bias": 0.01043701171875, "kernel": 0.171875}, "output_dense": {"bias": 0.00506591796875, "kernel": 0.1201171875}}, "final_layer_norm": {"bias": 0.02294921875, "scale": 0.020751953125}, "layer_norm": {"bias": 0.0302734375, "scale": 0.0439453125}}, "9": {"attention": {"k_proj": {"bias": 0.000213623046875, "kernel": 0.15234375}, "out_proj": {"bias": 0.0047607421875, "kernel": 0.22265625}, "q_proj": {"bias": 0.00927734375, "kernel": 0.1591796875}, "v_proj": {"bias": 0.009765625, "kernel": 0.212890625}}, "feed_forward": {"intermediate_dense": {"bias": 0.00860595703125, "kernel": 0.146484375}, "output_dense": {"bias": 0.004638671875, "kernel": 0.109375}}, "final_layer_norm": {"bias": 0.01806640625, "scale": 0.01708984375}, "layer_norm": {"bias": 0.03173828125, "scale": 0.041015625}}}, "pos_conv_embed": {"conv": {"bias": 0.03857421875, "weight_g": 0.0654296875, "weight_v": 0.37109375}}}, "feature_extractor": {"conv_layers": {"0": {"conv": {"bias": 0.0, "kernel": 0.0}, "layer_norm": {"bias": 0.0, "scale": 0.0}}, "1": {"conv": {"bias": 0.0, "kernel": 0.0}, "layer_norm": {"bias": 0.0, "scale": 0.0}}, "2": {"conv": {"bias": 0.0, "kernel": 0.0}, "layer_norm": {"bias": 0.0, "scale": 0.0}}, "3": {"conv": {"bias": 0.0, "kernel": 0.0}, "layer_norm": {"bias": 0.0, "scale": 0.0}}, "4": {"conv": {"bias": 0.0, "kernel": 0.0}, "layer_norm": {"bias": 0.0, "scale": 0.0}}, "5": {"conv": {"bias": 0.0, "kernel": 0.0}, "layer_norm": {"bias": 0.0, "scale": 0.0}}, "6": {"conv": {"bias": 0.0, "kernel": 0.0}, "layer_norm": {"bias": 0.0, "scale": 0.0}}}}, "feature_projection": {"layer_norm": {"bias": 0.19140625, "scale": 0.234375}, "projection": {"bias": 0.0625, "kernel": 1.0234375}}, "masked_spec_embed": 0.0}}, "layer_param_norm/": {"lm_head": {"bias": 0.24763144552707672, "kernel": 14.516021728515625}, "wav2vec2": {"encoder": {"layer_norm": {"bias": 6.115899085998535, "scale": 30.058286666870117}, "layers": {"0": {"attention": {"k_proj": {"bias": 0.7403925657272339, "kernel": 32.50963592529297}, "out_proj": {"bias": 1.8210575580596924, "kernel": 28.93766975402832}, "q_proj": {"bias": 1.9437894821166992, "kernel": 32.481048583984375}, "v_proj": {"bias": 0.4700726866722107, "kernel": 29.315589904785156}}, "feed_forward": {"intermediate_dense": {"bias": 2.3431921005249023, "kernel": 109.45851135253906}, "output_dense": {"bias": 1.1830276250839233, "kernel": 105.73143768310547}}, "final_layer_norm": {"bias": 1.626854658126831, "scale": 19.90787124633789}, "layer_norm": {"bias": 3.001864433288574, "scale": 13.86023998260498}}, "1": {"attention": {"k_proj": {"bias": 0.7641571760177612, "kernel": 45.08387756347656}, "out_proj": {"bias": 1.3888542652130127, "kernel": 46.666324615478516}, "q_proj": {"bias": 3.176804542541504, "kernel": 44.98219299316406}, "v_proj": {"bias": 0.36902812123298645, "kernel": 44.74822998046875}}, "feed_forward": {"intermediate_dense": {"bias": 2.2638802528381348, "kernel": 103.85151672363281}, "output_dense": {"bias": 0.8658460378646851, "kernel": 91.4688720703125}}, "final_layer_norm": {"bias": 1.5685994625091553, "scale": 18.96673583984375}, "layer_norm": {"bias": 1.9097001552581787, "scale": 16.721309661865234}}, "10": {"attention": {"k_proj": {"bias": 0.8264991044998169, "kernel": 52.49092102050781}, "out_proj": {"bias": 1.3398823738098145, "kernel": 54.32166290283203}, "q_proj": {"bias": 2.485732078552246, "kernel": 52.64345169067383}, "v_proj": {"bias": 0.3930933475494385, "kernel": 54.047523498535156}}, "feed_forward": {"intermediate_dense": {"bias": 2.1090402603149414, "kernel": 105.84640502929688}, "output_dense": {"bias": 0.6230311989784241, "kernel": 98.72604370117188}}, "final_layer_norm": {"bias": 2.365025520324707, "scale": 20.65367889404297}, "layer_norm": {"bias": 1.8028309345245361, "scale": 20.63275146484375}}, "11": {"attention": {"k_proj": {"bias": 0.9126813411712646, "kernel": 53.57634735107422}, "out_proj": {"bias": 1.1946563720703125, "kernel": 54.60582733154297}, "q_proj": {"bias": 2.5134708881378174, "kernel": 53.68289566040039}, "v_proj": {"bias": 0.48386645317077637, "kernel": 54.41106414794922}}, "feed_forward": {"intermediate_dense": {"bias": 2.1579833030700684, "kernel": 106.63368225097656}, "output_dense": {"bias": 0.593774139881134, "kernel": 100.2004165649414}}, "final_layer_norm": {"bias": 2.4028284549713135, "scale": 20.773927688598633}, "layer_norm": {"bias": 1.8530795574188232, "scale": 21.750335693359375}}, "12": {"attention": {"k_proj": {"bias": 0.8322252035140991, "kernel": 53.44305419921875}, "out_proj": {"bias": 1.1605149507522583, "kernel": 54.12385559082031}, "q_proj": {"bias": 2.3781118392944336, "kernel": 53.561981201171875}, "v_proj": {"bias": 0.451801061630249, "kernel": 54.02593231201172}}, "feed_forward": {"intermediate_dense": {"bias": 2.1947529315948486, "kernel": 107.53033447265625}, "output_dense": {"bias": 0.5744232535362244, "kernel": 101.94235229492188}}, "final_layer_norm": {"bias": 2.3267621994018555, "scale": 20.751590728759766}, "layer_norm": {"bias": 1.9075193405151367, "scale": 21.601144790649414}}, "13": {"attention": {"k_proj": {"bias": 0.8998972773551941, "kernel": 56.002708435058594}, "out_proj": {"bias": 1.171189785003662, "kernel": 54.440711975097656}, "q_proj": {"bias": 2.3471908569335938, "kernel": 56.14015579223633}, "v_proj": {"bias": 0.4379897713661194, "kernel": 54.171669006347656}}, "feed_forward": {"intermediate_dense": {"bias": 2.230654239654541, "kernel": 108.36354064941406}, "output_dense": {"bias": 0.6075854301452637, "kernel": 102.55903625488281}}, "final_layer_norm": {"bias": 2.2666263580322266, "scale": 20.908233642578125}, "layer_norm": {"bias": 2.0689830780029297, "scale": 22.649581909179688}}, "14": {"attention": {"k_proj": {"bias": 0.8474283218383789, "kernel": 55.7901611328125}, "out_proj": {"bias": 1.3378998041152954, "kernel": 52.38158416748047}, "q_proj": {"bias": 2.390003204345703, "kernel": 56.03112030029297}, "v_proj": {"bias": 0.4064473509788513, "kernel": 51.49772644042969}}, "feed_forward": {"intermediate_dense": {"bias": 2.266826629638672, "kernel": 108.92878723144531}, "output_dense": {"bias": 0.6517939567565918, "kernel": 104.05583190917969}}, "final_layer_norm": {"bias": 2.3864829540252686, "scale": 21.117158889770508}, "layer_norm": {"bias": 2.191129207611084, "scale": 22.28069305419922}}, "15": {"attention": {"k_proj": {"bias": 0.9334820508956909, "kernel": 56.911834716796875}, "out_proj": {"bias": 1.4310636520385742, "kernel": 54.22382354736328}, "q_proj": {"bias": 2.524597644805908, "kernel": 57.270172119140625}, "v_proj": {"bias": 0.5090032815933228, "kernel": 53.6005859375}}, "feed_forward": {"intermediate_dense": {"bias": 2.286947250366211, "kernel": 108.71317291259766}, "output_dense": {"bias": 0.8255638480186462, "kernel": 104.84282684326172}}, "final_layer_norm": {"bias": 2.4407310485839844, "scale": 21.115543365478516}, "layer_norm": {"bias": 2.410008430480957, "scale": 23.940126419067383}}, "16": {"attention": {"k_proj": {"bias": 0.8372851610183716, "kernel": 55.510467529296875}, "out_proj": {"bias": 1.34126615524292, "kernel": 52.70668029785156}, "q_proj": {"bias": 2.579355478286743, "kernel": 55.603668212890625}, "v_proj": {"bias": 0.42714059352874756, "kernel": 52.01667785644531}}, "feed_forward": {"intermediate_dense": {"bias": 2.273350715637207, "kernel": 109.09846496582031}, "output_dense": {"bias": 0.8501323461532593, "kernel": 105.40324401855469}}, "final_layer_norm": {"bias": 2.4835901260375977, "scale": 21.51126480102539}, "layer_norm": {"bias": 2.320248603820801, "scale": 22.1488094329834}}, "17": {"attention": {"k_proj": {"bias": 0.8240422010421753, "kernel": 55.108219146728516}, "out_proj": {"bias": 1.2678558826446533, "kernel": 51.7484245300293}, "q_proj": {"bias": 2.6575331687927246, "kernel": 55.278045654296875}, "v_proj": {"bias": 0.4651047885417938, "kernel": 51.0302734375}}, "feed_forward": {"intermediate_dense": {"bias": 2.272791862487793, "kernel": 109.97947692871094}, "output_dense": {"bias": 0.8652811050415039, "kernel": 105.76331329345703}}, "final_layer_norm": {"bias": 2.5239994525909424, "scale": 21.997169494628906}, "layer_norm": {"bias": 2.2325491905212402, "scale": 20.790287017822266}}, "18": {"attention": {"k_proj": {"bias": 0.9175165295600891, "kernel": 57.418724060058594}, "out_proj": {"bias": 1.3799958229064941, "kernel": 53.43863296508789}, "q_proj": {"bias": 2.5740301609039307, "kernel": 57.829933166503906}, "v_proj": {"bias": 0.5129854083061218, "kernel": 52.59415817260742}}, "feed_forward": {"intermediate_dense": {"bias": 2.283095121383667, "kernel": 109.98977661132812}, "output_dense": {"bias": 0.9966732263565063, "kernel": 107.12136840820312}}, "final_layer_norm": {"bias": 2.6170592308044434, "scale": 22.10287094116211}, "layer_norm": {"bias": 2.4478230476379395, "scale": 23.484222412109375}}, "19": {"attention": {"k_proj": {"bias": 0.830424964427948, "kernel": 55.30845642089844}, "out_proj": {"bias": 1.3714587688446045, "kernel": 52.569854736328125}, "q_proj": {"bias": 2.7824032306671143, "kernel": 55.631622314453125}, "v_proj": {"bias": 0.4762943983078003, "kernel": 51.5487174987793}}, "feed_forward": {"intermediate_dense": {"bias": 2.3236122131347656, "kernel": 110.2896728515625}, "output_dense": {"bias": 1.0723800659179688, "kernel": 107.83274841308594}}, "final_layer_norm": {"bias": 2.600285053253174, "scale": 22.459367752075195}, "layer_norm": {"bias": 2.358214855194092, "scale": 22.165342330932617}}, "2": {"attention": {"k_proj": {"bias": 0.8673897981643677, "kernel": 52.27374267578125}, "out_proj": {"bias": 1.2744383811950684, "kernel": 49.06001281738281}, "q_proj": {"bias": 3.280240058898926, "kernel": 52.108184814453125}, "v_proj": {"bias": 0.3792893886566162, "kernel": 48.31349563598633}}, "feed_forward": {"intermediate_dense": {"bias": 2.2497451305389404, "kernel": 108.07189178466797}, "output_dense": {"bias": 0.7575575709342957, "kernel": 94.73979949951172}}, "final_layer_norm": {"bias": 1.622859001159668, "scale": 21.427444458007812}, "layer_norm": {"bias": 1.7144864797592163, "scale": 19.65789794921875}}, "20": {"attention": {"k_proj": {"bias": 0.739029049873352, "kernel": 54.45887756347656}, "out_proj": {"bias": 1.403418779373169, "kernel": 51.369842529296875}, "q_proj": {"bias": 2.7041356563568115, "kernel": 54.80017852783203}, "v_proj": {"bias": 0.4511605501174927, "kernel": 50.101318359375}}, "feed_forward": {"intermediate_dense": {"bias": 2.3029069900512695, "kernel": 111.0577163696289}, "output_dense": {"bias": 1.1863782405853271, "kernel": 108.48847961425781}}, "final_layer_norm": {"bias": 2.5815043449401855, "scale": 23.321407318115234}, "layer_norm": {"bias": 2.3129682540893555, "scale": 21.583702087402344}}, "21": {"attention": {"k_proj": {"bias": 0.8157603740692139, "kernel": 55.31140899658203}, "out_proj": {"bias": 1.4524174928665161, "kernel": 51.52873229980469}, "q_proj": {"bias": 2.6396162509918213, "kernel": 55.839073181152344}, "v_proj": {"bias": 0.5319948196411133, "kernel": 50.43778610229492}}, "feed_forward": {"intermediate_dense": {"bias": 2.3308515548706055, "kernel": 111.14630126953125}, "output_dense": {"bias": 1.304220199584961, "kernel": 108.67438507080078}}, "final_layer_norm": {"bias": 2.6044626235961914, "scale": 23.087890625}, "layer_norm": {"bias": 2.3749780654907227, "scale": 22.142269134521484}}, "22": {"attention": {"k_proj": {"bias": 0.8507300615310669, "kernel": 56.22793197631836}, "out_proj": {"bias": 1.3927662372589111, "kernel": 51.54594802856445}, "q_proj": {"bias": 2.7049431800842285, "kernel": 56.485694885253906}, "v_proj": {"bias": 0.4718754291534424, "kernel": 51.17841720581055}}, "feed_forward": {"intermediate_dense": {"bias": 2.249100685119629, "kernel": 111.17359924316406}, "output_dense": {"bias": 1.3571646213531494, "kernel": 107.99300384521484}}, "final_layer_norm": {"bias": 2.483593463897705, "scale": 22.55929946899414}, "layer_norm": {"bias": 2.3632781505584717, "scale": 21.176952362060547}}, "23": {"attention": {"k_proj": {"bias": 0.918440043926239, "kernel": 58.1475830078125}, "out_proj": {"bias": 1.5755456686019897, "kernel": 53.09620666503906}, "q_proj": {"bias": 2.688080310821533, "kernel": 58.40971755981445}, "v_proj": {"bias": 0.6378740072250366, "kernel": 53.45045852661133}}, "feed_forward": {"intermediate_dense": {"bias": 2.2044312953948975, "kernel": 111.04308319091797}, "output_dense": {"bias": 1.3195202350616455, "kernel": 108.81027221679688}}, "final_layer_norm": {"bias": 2.7967171669006348, "scale": 22.722576141357422}, "layer_norm": {"bias": 2.7934517860412598, "scale": 23.714479446411133}}, "24": {"attention": {"k_proj": {"bias": 0.9622829556465149, "kernel": 57.39729309082031}, "out_proj": {"bias": 1.6327389478683472, "kernel": 54.875885009765625}, "q_proj": {"bias": 2.7902653217315674, "kernel": 57.43643569946289}, "v_proj": {"bias": 0.6043530702590942, "kernel": 54.654335021972656}}, "feed_forward": {"intermediate_dense": {"bias": 2.320834159851074, "kernel": 110.53807067871094}, "output_dense": {"bias": 1.348480224609375, "kernel": 111.60858154296875}}, "final_layer_norm": {"bias": 2.807509660720825, "scale": 22.754878997802734}, "layer_norm": {"bias": 2.5625181198120117, "scale": 23.02261734008789}}, "25": {"attention": {"k_proj": {"bias": 0.8944715261459351, "kernel": 56.81090545654297}, "out_proj": {"bias": 1.4045782089233398, "kernel": 52.144493103027344}, "q_proj": {"bias": 2.8560361862182617, "kernel": 56.80752944946289}, "v_proj": {"bias": 0.6409503221511841, "kernel": 52.47834014892578}}, "feed_forward": {"intermediate_dense": {"bias": 2.2260055541992188, "kernel": 110.76261901855469}, "output_dense": {"bias": 1.1522831916809082, "kernel": 111.55427551269531}}, "final_layer_norm": {"bias": 2.6250357627868652, "scale": 23.244522094726562}, "layer_norm": {"bias": 2.6033151149749756, "scale": 21.858840942382812}}, "26": {"attention": {"k_proj": {"bias": 0.8825386762619019, "kernel": 56.458984375}, "out_proj": {"bias": 1.2961790561676025, "kernel": 52.58938217163086}, "q_proj": {"bias": 2.926755428314209, "kernel": 56.29093933105469}, "v_proj": {"bias": 0.5151218175888062, "kernel": 53.10480499267578}}, "feed_forward": {"intermediate_dense": {"bias": 2.328673839569092, "kernel": 110.0596923828125}, "output_dense": {"bias": 1.1178290843963623, "kernel": 108.30316925048828}}, "final_layer_norm": {"bias": 2.282909870147705, "scale": 22.06253433227539}, "layer_norm": {"bias": 2.45485258102417, "scale": 21.87640380859375}}, "27": {"attention": {"k_proj": {"bias": 1.0343282222747803, "kernel": 58.63238525390625}, "out_proj": {"bias": 1.5391802787780762, "kernel": 54.87559509277344}, "q_proj": {"bias": 2.69437313079834, "kernel": 58.76223373413086}, "v_proj": {"bias": 0.6595930457115173, "kernel": 55.227352142333984}}, "feed_forward": {"intermediate_dense": {"bias": 2.4691109657287598, "kernel": 108.66384887695312}, "output_dense": {"bias": 0.967892050743103, "kernel": 108.04794311523438}}, "final_layer_norm": {"bias": 2.531920909881592, "scale": 21.517404556274414}, "layer_norm": {"bias": 2.613349437713623, "scale": 23.5782470703125}}, "28": {"attention": {"k_proj": {"bias": 0.9909035563468933, "kernel": 58.976036071777344}, "out_proj": {"bias": 1.567809820175171, "kernel": 54.878387451171875}, "q_proj": {"bias": 2.93391752243042, "kernel": 58.80247497558594}, "v_proj": {"bias": 0.557303786277771, "kernel": 55.286109924316406}}, "feed_forward": {"intermediate_dense": {"bias": 2.4285950660705566, "kernel": 108.78340911865234}, "output_dense": {"bias": 0.8226666450500488, "kernel": 110.09716796875}}, "final_layer_norm": {"bias": 2.520740509033203, "scale": 21.887554168701172}, "layer_norm": {"bias": 2.127535343170166, "scale": 24.105823516845703}}, "29": {"attention": {"k_proj": {"bias": 0.9721715450286865, "kernel": 56.672401428222656}, "out_proj": {"bias": 1.531894326210022, "kernel": 57.43561553955078}, "q_proj": {"bias": 2.824924945831299, "kernel": 56.65544509887695}, "v_proj": {"bias": 0.5159530639648438, "kernel": 57.41569519042969}}, "feed_forward": {"intermediate_dense": {"bias": 2.4384517669677734, "kernel": 109.88546752929688}, "output_dense": {"bias": 1.007441759109497, "kernel": 114.76637268066406}}, "final_layer_norm": {"bias": 2.706664562225342, "scale": 23.121158599853516}, "layer_norm": {"bias": 2.301748275756836, "scale": 25.09175682067871}}, "3": {"attention": {"k_proj": {"bias": 0.8382421135902405, "kernel": 56.333900451660156}, "out_proj": {"bias": 1.4566152095794678, "kernel": 51.49332809448242}, "q_proj": {"bias": 2.8794748783111572, "kernel": 56.67864990234375}, "v_proj": {"bias": 0.3522690236568451, "kernel": 51.317440032958984}}, "feed_forward": {"intermediate_dense": {"bias": 2.212578296661377, "kernel": 109.32026672363281}, "output_dense": {"bias": 0.7269039154052734, "kernel": 97.61083984375}}, "final_layer_norm": {"bias": 1.8841630220413208, "scale": 21.65961456298828}, "layer_norm": {"bias": 1.9301340579986572, "scale": 22.415502548217773}}, "30": {"attention": {"k_proj": {"bias": 1.011191964149475, "kernel": 58.262664794921875}, "out_proj": {"bias": 1.352297306060791, "kernel": 54.06199645996094}, "q_proj": {"bias": 2.952580213546753, "kernel": 58.44377517700195}, "v_proj": {"bias": 0.5641810894012451, "kernel": 54.530418395996094}}, "feed_forward": {"intermediate_dense": {"bias": 2.4040281772613525, "kernel": 110.50924682617188}, "output_dense": {"bias": 0.9587730169296265, "kernel": 114.419677734375}}, "final_layer_norm": {"bias": 2.605130195617676, "scale": 24.254417419433594}, "layer_norm": {"bias": 2.3541243076324463, "scale": 24.880760192871094}}, "31": {"attention": {"k_proj": {"bias": 1.0411462783813477, "kernel": 56.535301208496094}, "out_proj": {"bias": 1.2613515853881836, "kernel": 53.95042419433594}, "q_proj": {"bias": 2.719839096069336, "kernel": 56.73951721191406}, "v_proj": {"bias": 0.5797592401504517, "kernel": 54.28603744506836}}, "feed_forward": {"intermediate_dense": {"bias": 2.4906868934631348, "kernel": 109.35433959960938}, "output_dense": {"bias": 1.1265946626663208, "kernel": 111.65043640136719}}, "final_layer_norm": {"bias": 2.4596893787384033, "scale": 24.10403060913086}, "layer_norm": {"bias": 2.3174638748168945, "scale": 24.462421417236328}}, "32": {"attention": {"k_proj": {"bias": 1.1203484535217285, "kernel": 58.039833068847656}, "out_proj": {"bias": 1.2515766620635986, "kernel": 53.88495635986328}, "q_proj": {"bias": 2.8929805755615234, "kernel": 58.27726745605469}, "v_proj": {"bias": 0.4841223359107971, "kernel": 54.555137634277344}}, "feed_forward": {"intermediate_dense": {"bias": 2.465590238571167, "kernel": 108.71543884277344}, "output_dense": {"bias": 1.1894612312316895, "kernel": 111.52071380615234}}, "final_layer_norm": {"bias": 2.4689671993255615, "scale": 24.45084571838379}, "layer_norm": {"bias": 2.436534881591797, "scale": 24.71687126159668}}, "33": {"attention": {"k_proj": {"bias": 1.1414543390274048, "kernel": 57.99047088623047}, "out_proj": {"bias": 1.2996151447296143, "kernel": 53.66570281982422}, "q_proj": {"bias": 3.039680004119873, "kernel": 58.429718017578125}, "v_proj": {"bias": 0.5130305290222168, "kernel": 54.25340270996094}}, "feed_forward": {"intermediate_dense": {"bias": 2.4742937088012695, "kernel": 107.47087097167969}, "output_dense": {"bias": 1.2047545909881592, "kernel": 110.00432586669922}}, "final_layer_norm": {"bias": 2.3638789653778076, "scale": 24.189720153808594}, "layer_norm": {"bias": 2.52843976020813, "scale": 24.822345733642578}}, "34": {"attention": {"k_proj": {"bias": 1.1104979515075684, "kernel": 57.044063568115234}, "out_proj": {"bias": 1.5598602294921875, "kernel": 54.517574310302734}, "q_proj": {"bias": 2.9997434616088867, "kernel": 57.52387619018555}, "v_proj": {"bias": 0.46362853050231934, "kernel": 54.99714660644531}}, "feed_forward": {"intermediate_dense": {"bias": 2.5812177658081055, "kernel": 106.48512268066406}, "output_dense": {"bias": 1.152879238128662, "kernel": 108.87045288085938}}, "final_layer_norm": {"bias": 2.285100221633911, "scale": 23.552654266357422}, "layer_norm": {"bias": 2.5779197216033936, "scale": 25.333660125732422}}, "35": {"attention": {"k_proj": {"bias": 1.2764124870300293, "kernel": 61.70880889892578}, "out_proj": {"bias": 1.4839587211608887, "kernel": 53.394813537597656}, "q_proj": {"bias": 2.680656671524048, "kernel": 62.71726989746094}, "v_proj": {"bias": 0.5152413249015808, "kernel": 54.1439208984375}}, "feed_forward": {"intermediate_dense": {"bias": 2.6943416595458984, "kernel": 104.74528503417969}, "output_dense": {"bias": 1.0260851383209229, "kernel": 106.88823699951172}}, "final_layer_norm": {"bias": 2.3601293563842773, "scale": 23.472780227661133}, "layer_norm": {"bias": 2.488330364227295, "scale": 25.821502685546875}}, "36": {"attention": {"k_proj": {"bias": 1.1443098783493042, "kernel": 56.7796516418457}, "out_proj": {"bias": 1.4987642765045166, "kernel": 53.629493713378906}, "q_proj": {"bias": 2.7171854972839355, "kernel": 57.42560577392578}, "v_proj": {"bias": 0.4168643355369568, "kernel": 54.579734802246094}}, "feed_forward": {"intermediate_dense": {"bias": 2.572497606277466, "kernel": 103.06671142578125}, "output_dense": {"bias": 1.0201528072357178, "kernel": 105.87279510498047}}, "final_layer_norm": {"bias": 2.191319465637207, "scale": 23.884319305419922}, "layer_norm": {"bias": 2.253103256225586, "scale": 25.292621612548828}}, "37": {"attention": {"k_proj": {"bias": 1.1454544067382812, "kernel": 54.42536926269531}, "out_proj": {"bias": 1.743508219718933, "kernel": 53.151954650878906}, "q_proj": {"bias": 2.476093292236328, "kernel": 54.77497482299805}, "v_proj": {"bias": 0.39906537532806396, "kernel": 53.68836212158203}}, "feed_forward": {"intermediate_dense": {"bias": 2.4655394554138184, "kernel": 101.86824035644531}, "output_dense": {"bias": 1.020345687866211, "kernel": 105.14108276367188}}, "final_layer_norm": {"bias": 1.9011644124984741, "scale": 24.277877807617188}, "layer_norm": {"bias": 2.2292304039001465, "scale": 25.378250122070312}}, "38": {"attention": {"k_proj": {"bias": 1.183656096458435, "kernel": 52.436126708984375}, "out_proj": {"bias": 1.4355149269104004, "kernel": 52.430442810058594}, "q_proj": {"bias": 2.367494583129883, "kernel": 52.751434326171875}, "v_proj": {"bias": 0.41923636198043823, "kernel": 52.86449432373047}}, "feed_forward": {"intermediate_dense": {"bias": 2.4068474769592285, "kernel": 99.50985717773438}, "output_dense": {"bias": 0.9879905581474304, "kernel": 103.0174789428711}}, "final_layer_norm": {"bias": 1.8831658363342285, "scale": 25.001859664916992}, "layer_norm": {"bias": 2.4112377166748047, "scale": 26.273160934448242}}, "39": {"attention": {"k_proj": {"bias": 1.1700485944747925, "kernel": 51.919227600097656}, "out_proj": {"bias": 1.712404727935791, "kernel": 52.10653305053711}, "q_proj": {"bias": 2.1734097003936768, "kernel": 52.42891311645508}, "v_proj": {"bias": 0.45466694235801697, "kernel": 52.57012939453125}}, "feed_forward": {"intermediate_dense": {"bias": 2.3689095973968506, "kernel": 96.83023071289062}, "output_dense": {"bias": 1.0662879943847656, "kernel": 102.43391418457031}}, "final_layer_norm": {"bias": 1.7948445081710815, "scale": 25.616607666015625}, "layer_norm": {"bias": 2.3367257118225098, "scale": 26.7707462310791}}, "4": {"attention": {"k_proj": {"bias": 0.853224515914917, "kernel": 58.679595947265625}, "out_proj": {"bias": 1.67254638671875, "kernel": 53.00638961791992}, "q_proj": {"bias": 2.6385750770568848, "kernel": 59.025657653808594}, "v_proj": {"bias": 0.39137083292007446, "kernel": 52.926719665527344}}, "feed_forward": {"intermediate_dense": {"bias": 2.1657521724700928, "kernel": 108.68757629394531}, "output_dense": {"bias": 0.8780770301818848, "kernel": 98.9853286743164}}, "final_layer_norm": {"bias": 2.033517360687256, "scale": 21.247234344482422}, "layer_norm": {"bias": 2.0592901706695557, "scale": 23.425811767578125}}, "40": {"attention": {"k_proj": {"bias": 1.079740285873413, "kernel": 49.26762771606445}, "out_proj": {"bias": 1.6478674411773682, "kernel": 50.291378021240234}, "q_proj": {"bias": 2.0376877784729004, "kernel": 49.97050476074219}, "v_proj": {"bias": 0.5131649971008301, "kernel": 50.29737091064453}}, "feed_forward": {"intermediate_dense": {"bias": 2.215886116027832, "kernel": 94.24044036865234}, "output_dense": {"bias": 1.1025381088256836, "kernel": 99.42908477783203}}, "final_layer_norm": {"bias": 1.8330597877502441, "scale": 24.93030548095703}, "layer_norm": {"bias": 2.3041679859161377, "scale": 26.333391189575195}}, "41": {"attention": {"k_proj": {"bias": 1.991872787475586, "kernel": 48.81489562988281}, "out_proj": {"bias": 1.4018226861953735, "kernel": 52.087799072265625}, "q_proj": {"bias": 1.802153468132019, "kernel": 49.263755798339844}, "v_proj": {"bias": 0.4929717481136322, "kernel": 51.484920501708984}}, "feed_forward": {"intermediate_dense": {"bias": 2.2868783473968506, "kernel": 90.59687042236328}, "output_dense": {"bias": 1.1370893716812134, "kernel": 97.84822845458984}}, "final_layer_norm": {"bias": 2.26576828956604, "scale": 28.365489959716797}, "layer_norm": {"bias": 2.2250311374664307, "scale": 28.14055061340332}}, "42": {"attention": {"k_proj": {"bias": 1.150160789489746, "kernel": 42.89885711669922}, "out_proj": {"bias": 1.456573247909546, "kernel": 45.623046875}, "q_proj": {"bias": 1.5821566581726074, "kernel": 43.752685546875}, "v_proj": {"bias": 0.7660435438156128, "kernel": 44.18157196044922}}, "feed_forward": {"intermediate_dense": {"bias": 2.141775608062744, "kernel": 89.23185729980469}, "output_dense": {"bias": 1.1805896759033203, "kernel": 95.772216796875}}, "final_layer_norm": {"bias": 1.9508922100067139, "scale": 29.563426971435547}, "layer_norm": {"bias": 1.6794843673706055, "scale": 26.729339599609375}}, "43": {"attention": {"k_proj": {"bias": 1.375364065170288, "kernel": 37.259010314941406}, "out_proj": {"bias": 1.4263203144073486, "kernel": 41.82483673095703}, "q_proj": {"bias": 1.4251242876052856, "kernel": 37.68909454345703}, "v_proj": {"bias": 0.6262045502662659, "kernel": 39.791542053222656}}, "feed_forward": {"intermediate_dense": {"bias": 2.0700557231903076, "kernel": 87.687744140625}, "output_dense": {"bias": 0.9212285280227661, "kernel": 93.44815063476562}}, "final_layer_norm": {"bias": 2.030412435531616, "scale": 31.77464485168457}, "layer_norm": {"bias": 1.7949259281158447, "scale": 25.036386489868164}}, "44": {"attention": {"k_proj": {"bias": 2.5945558547973633, "kernel": 37.25736999511719}, "out_proj": {"bias": 1.1795763969421387, "kernel": 45.40834426879883}, "q_proj": {"bias": 1.4174532890319824, "kernel": 37.41947555541992}, "v_proj": {"bias": 0.428519606590271, "kernel": 44.56541061401367}}, "feed_forward": {"intermediate_dense": {"bias": 2.077152967453003, "kernel": 86.3221435546875}, "output_dense": {"bias": 0.8385449647903442, "kernel": 90.97447204589844}}, "final_layer_norm": {"bias": 2.139084815979004, "scale": 33.967140197753906}, "layer_norm": {"bias": 1.6936678886413574, "scale": 25.14794921875}}, "45": {"attention": {"k_proj": {"bias": 2.12758207321167, "kernel": 36.44401931762695}, "out_proj": {"bias": 1.045353651046753, "kernel": 48.980690002441406}, "q_proj": {"bias": 1.4860507249832153, "kernel": 36.17755126953125}, "v_proj": {"bias": 0.46319761872291565, "kernel": 49.144996643066406}}, "feed_forward": {"intermediate_dense": {"bias": 2.135664463043213, "kernel": 83.1095962524414}, "output_dense": {"bias": 0.9526636004447937, "kernel": 86.48943328857422}}, "final_layer_norm": {"bias": 1.8064650297164917, "scale": 32.738887786865234}, "layer_norm": {"bias": 1.5761003494262695, "scale": 23.80851173400879}}, "46": {"attention": {"k_proj": {"bias": 1.6380424499511719, "kernel": 37.267581939697266}, "out_proj": {"bias": 0.818572998046875, "kernel": 51.44145965576172}, "q_proj": {"bias": 1.6398258209228516, "kernel": 37.11940002441406}, "v_proj": {"bias": 0.41910281777381897, "kernel": 52.247337341308594}}, "feed_forward": {"intermediate_dense": {"bias": 2.134793996810913, "kernel": 78.1416015625}, "output_dense": {"bias": 1.125403881072998, "kernel": 77.17915344238281}}, "final_layer_norm": {"bias": 1.6916954517364502, "scale": 28.220687866210938}, "layer_norm": {"bias": 1.4071805477142334, "scale": 22.763029098510742}}, "47": {"attention": {"k_proj": {"bias": 0.7287274599075317, "kernel": 40.3172607421875}, "out_proj": {"bias": 0.7099844217300415, "kernel": 46.13526916503906}, "q_proj": {"bias": 1.8319885730743408, "kernel": 40.662322998046875}, "v_proj": {"bias": 0.40907713770866394, "kernel": 46.894107818603516}}, "feed_forward": {"intermediate_dense": {"bias": 2.1272077560424805, "kernel": 76.43158721923828}, "output_dense": {"bias": 0.6613559722900391, "kernel": 71.79763793945312}}, "final_layer_norm": {"bias": 1.5524165630340576, "scale": 22.98813819885254}, "layer_norm": {"bias": 1.1318074464797974, "scale": 20.024677276611328}}, "5": {"attention": {"k_proj": {"bias": 0.7599404454231262, "kernel": 52.85590362548828}, "out_proj": {"bias": 1.6137959957122803, "kernel": 53.17279052734375}, "q_proj": {"bias": 2.763476848602295, "kernel": 53.022499084472656}, "v_proj": {"bias": 0.3600073456764221, "kernel": 53.47975158691406}}, "feed_forward": {"intermediate_dense": {"bias": 2.089616537094116, "kernel": 108.64012145996094}, "output_dense": {"bias": 0.8912825584411621, "kernel": 98.32955932617188}}, "final_layer_norm": {"bias": 2.191831111907959, "scale": 21.34562873840332}, "layer_norm": {"bias": 2.001521110534668, "scale": 21.726131439208984}}, "6": {"attention": {"k_proj": {"bias": 0.8945052623748779, "kernel": 56.33234405517578}, "out_proj": {"bias": 1.6069056987762451, "kernel": 53.74813461303711}, "q_proj": {"bias": 2.8322463035583496, "kernel": 56.88422775268555}, "v_proj": {"bias": 0.37227779626846313, "kernel": 53.66552734375}}, "feed_forward": {"intermediate_dense": {"bias": 2.057812213897705, "kernel": 107.80841827392578}, "output_dense": {"bias": 0.7720624208450317, "kernel": 98.35223388671875}}, "final_layer_norm": {"bias": 2.4900243282318115, "scale": 20.79738998413086}, "layer_norm": {"bias": 2.026155471801758, "scale": 23.02025032043457}}, "7": {"attention": {"k_proj": {"bias": 0.8474833965301514, "kernel": 55.01243209838867}, "out_proj": {"bias": 1.4466302394866943, "kernel": 53.76277160644531}, "q_proj": {"bias": 2.5776522159576416, "kernel": 55.607688903808594}, "v_proj": {"bias": 0.43754661083221436, "kernel": 53.30241394042969}}, "feed_forward": {"intermediate_dense": {"bias": 2.0549309253692627, "kernel": 107.40618896484375}, "output_dense": {"bias": 0.6205819845199585, "kernel": 97.99725341796875}}, "final_layer_norm": {"bias": 2.4072351455688477, "scale": 20.9505615234375}, "layer_norm": {"bias": 1.952453851699829, "scale": 22.01758575439453}}, "8": {"attention": {"k_proj": {"bias": 0.9294893741607666, "kernel": 55.175445556640625}, "out_proj": {"bias": 1.2641667127609253, "kernel": 54.283599853515625}, "q_proj": {"bias": 2.569431781768799, "kernel": 55.29590606689453}, "v_proj": {"bias": 0.3874872326850891, "kernel": 53.93408966064453}}, "feed_forward": {"intermediate_dense": {"bias": 2.098078727722168, "kernel": 106.77230072021484}, "output_dense": {"bias": 0.5908701419830322, "kernel": 97.44270324707031}}, "final_layer_norm": {"bias": 2.3400187492370605, "scale": 20.721628189086914}, "layer_norm": {"bias": 1.9173202514648438, "scale": 22.07811737060547}}, "9": {"attention": {"k_proj": {"bias": 0.9554723501205444, "kernel": 56.904579162597656}, "out_proj": {"bias": 1.5363678932189941, "kernel": 55.90269470214844}, "q_proj": {"bias": 2.4570670127868652, "kernel": 57.31389617919922}, "v_proj": {"bias": 0.45008689165115356, "kernel": 55.69712829589844}}, "feed_forward": {"intermediate_dense": {"bias": 2.1569666862487793, "kernel": 105.34449768066406}, "output_dense": {"bias": 0.7141275405883789, "kernel": 97.44210815429688}}, "final_layer_norm": {"bias": 2.340221881866455, "scale": 20.025182723999023}, "layer_norm": {"bias": 2.0792951583862305, "scale": 24.29781723022461}}}, "pos_conv_embed": {"conv": {"bias": 5.962120056152344, "weight_g": 9.451289176940918, "weight_v": 108.60298156738281}}}, "feature_extractor": {"conv_layers": {"0": {"conv": {"bias": 2.0290679931640625, "kernel": 20.55536460876465}, "layer_norm": {"bias": 4.550922393798828, "scale": 16.167570114135742}}, "1": {"conv": {"bias": 1.7790228128433228, "kernel": 51.24136734008789}, "layer_norm": {"bias": 5.962646961212158, "scale": 23.268157958984375}}, "2": {"conv": {"bias": 1.140576720237732, "kernel": 46.50312042236328}, "layer_norm": {"bias": 4.176670551300049, "scale": 20.370853424072266}}, "3": {"conv": {"bias": 0.6725863218307495, "kernel": 44.397525787353516}, "layer_norm": {"bias": 3.888174533843994, "scale": 17.53795051574707}}, "4": {"conv": {"bias": 0.6373162269592285, "kernel": 41.314056396484375}, "layer_norm": {"bias": 2.385471820831299, "scale": 16.34571647644043}}, "5": {"conv": {"bias": 0.5147221684455872, "kernel": 37.479759216308594}, "layer_norm": {"bias": 2.020900011062622, "scale": 17.064470291137695}}, "6": {"conv": {"bias": 0.4947893023490906, "kernel": 40.64780044555664}, "layer_norm": {"bias": 0.5876954793930054, "scale": 19.058603286743164}}}}, "feature_projection": {"layer_norm": {"bias": 6.449953079223633, "scale": 16.628742218017578}, "projection": {"bias": 2.051578998565674, "kernel": 40.11214828491211}}, "masked_spec_embed": 11.914372444152832}}, "train/learning_rate": 0.0007397999870590866, "train/loss": 1.5998945236206055, "train/param_norm": 1282.9808349609375, "_runtime": 15543, "_timestamp": 1659286747, "_step": 3700}
wandb/run-20220731_124004-aa3ycswy/logs/debug-internal.log ADDED
The diff for this file is too large to render. See raw diff
 
wandb/run-20220731_124004-aa3ycswy/logs/debug.log ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 2022-07-31 12:40:04,019 INFO MainThread:3751729 [wandb_setup.py:_flush():71] setting env: {'project': 'wav2vec2', 'entity': 'NbAiLab'}
2
+ 2022-07-31 12:40:04,019 INFO MainThread:3751729 [wandb_setup.py:_flush():71] setting login settings: {}
3
+ 2022-07-31 12:40:04,019 INFO MainThread:3751729 [wandb_init.py:_log_setup():371] Logging user logs to /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_124004-aa3ycswy/logs/debug.log
4
+ 2022-07-31 12:40:04,019 INFO MainThread:3751729 [wandb_init.py:_log_setup():372] Logging internal logs to /data/wav2vec2-1b-npsc-nst/wandb/run-20220731_124004-aa3ycswy/logs/debug-internal.log
5
+ 2022-07-31 12:40:04,020 INFO MainThread:3751729 [wandb_init.py:init():404] calling init triggers
6
+ 2022-07-31 12:40:04,020 INFO MainThread:3751729 [wandb_init.py:init():409] wandb.init called with sweep_config: {}
7
+ config: {}
8
+ 2022-07-31 12:40:04,020 INFO MainThread:3751729 [wandb_init.py:init():460] starting backend
9
+ 2022-07-31 12:40:04,020 INFO MainThread:3751729 [backend.py:_multiprocessing_setup():99] multiprocessing start_methods=fork,spawn,forkserver, using: spawn
10
+ 2022-07-31 12:40:04,069 INFO MainThread:3751729 [backend.py:ensure_launched():216] starting backend process...
11
+ 2022-07-31 12:40:04,116 INFO MainThread:3751729 [backend.py:ensure_launched():221] started backend process with pid: 3753015
12
+ 2022-07-31 12:40:04,118 INFO MainThread:3751729 [wandb_init.py:init():469] backend started and connected
13
+ 2022-07-31 12:40:04,132 INFO MainThread:3751729 [wandb_init.py:init():533] updated telemetry
14
+ 2022-07-31 12:40:04,247 INFO MainThread:3751729 [wandb_init.py:init():563] communicating current version
15
+ 2022-07-31 12:40:04,963 INFO MainThread:3751729 [wandb_init.py:init():568] got version response upgrade_message: "wandb version 0.12.21 is available! To upgrade, please run:\n $ pip install wandb --upgrade"
16
+
17
+ 2022-07-31 12:40:04,963 INFO MainThread:3751729 [wandb_init.py:init():578] communicating run to backend with 30 second timeout
18
+ 2022-07-31 12:40:05,280 INFO MainThread:3751729 [wandb_init.py:init():606] starting run threads in backend
19
+ 2022-07-31 12:40:07,938 INFO MainThread:3751729 [wandb_run.py:_console_start():1810] atexit reg
20
+ 2022-07-31 12:40:07,939 INFO MainThread:3751729 [wandb_run.py:_redirect():1684] redirect: SettingsConsole.REDIRECT
21
+ 2022-07-31 12:40:07,939 INFO MainThread:3751729 [wandb_run.py:_redirect():1689] Redirecting console.
22
+ 2022-07-31 12:40:07,941 INFO MainThread:3751729 [wandb_run.py:_redirect():1745] Redirects installed.
23
+ 2022-07-31 12:40:07,941 INFO MainThread:3751729 [wandb_init.py:init():633] run started, returning control to user process
wandb/run-20220731_124004-aa3ycswy/run-aa3ycswy.wandb ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b122ace3a038f0b434339a0b92a384299a6c3c33852080d03eb568cd818b5975
3
+ size 4827734