JinghuiLuAstronaut commited on
Commit
e11d7c6
·
verified ·
1 Parent(s): 0f0b282

Add files using upload-large-folder tool

Browse files
Files changed (20) hide show
  1. LTA_openwebtext_dualt/logs/owt_bert_absrope_time4_len128_C1_to_1024_mask1_sameT_every1k_dualline_watch/infer_lta_owt_bert_absrope_time4_dirichlet_len128_C1_to_1024_mask1_sameT_gbs512_b32_4gpu_1m_save1k_20260525_step_0001000.log +199 -0
  2. LTA_openwebtext_dualt/logs/owt_bert_absrope_time4_len128_C1_to_1024_mask1_sameT_every1k_dualline_watch/infer_lta_owt_bert_absrope_time4_dirichlet_len128_C1_to_1024_mask1_sameT_gbs512_b32_4gpu_1m_save1k_20260525_step_0007000.log +199 -0
  3. LTA_openwebtext_dualt/logs/owt_bert_absrope_time4_len128_C1_to_1024_mask1_sameT_every1k_dualline_watch/infer_lta_owt_bert_absrope_time4_dirichlet_len128_C1_to_1024_mask1_sameT_gbs512_b32_4gpu_1m_save1k_20260525_step_0013000.log +199 -0
  4. LTA_openwebtext_dualt/logs/owt_bert_absrope_time4_len128_C1_to_1024_mask1_sameT_every1k_dualline_watch/infer_lta_owt_bert_absrope_time4_dirichlet_len128_C1_to_1024_mask1_sameT_gbs512_b32_4gpu_1m_save1k_20260525_step_0022000.log +199 -0
  5. LTA_openwebtext_dualt/logs/owt_bert_absrope_time4_len128_C1_to_1024_mask1_sameT_every1k_dualline_watch/infer_lta_owt_bert_absrope_time4_dirichlet_len128_C1_to_1024_mask1_sameT_gbs512_b32_4gpu_1m_save1k_20260525_step_0026000.log +199 -0
  6. LTA_openwebtext_dualt/logs/owt_bert_absrope_time4_len128_C1_to_1024_mask1_sameT_every1k_dualline_watch/infer_lta_owt_bert_absrope_time4_dirichlet_len128_C1_to_1024_mask1_sameT_gbs512_b32_4gpu_1m_save1k_20260525_step_0035000.log +199 -0
  7. LTA_openwebtext_dualt/logs/owt_bert_absrope_time4_len128_C1_to_1024_mask1_sameT_every1k_dualline_watch/infer_lta_owt_bert_absrope_time4_dirichlet_len128_C1_to_1024_mask1_sameT_gbs512_b32_4gpu_1m_save1k_20260525_step_0039000.log +199 -0
  8. LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/fsspec/implementations/dirfs.py +404 -0
  9. LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/fsspec/implementations/git.py +114 -0
  10. LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/fsspec/implementations/webhdfs.py +503 -0
  11. LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/numpy/_utils/_convertions.py +18 -0
  12. LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/numpy/_utils/_pep440.py +487 -0
  13. LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/numpy/typing/tests/data/reveal/arraysetops.pyi +68 -0
  14. LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/numpy/typing/tests/data/reveal/nbit_base_example.pyi +27 -0
  15. LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/numpy/typing/tests/data/reveal/nested_sequence.pyi +32 -0
  16. LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/numpy/typing/tests/data/reveal/twodim_base.pyi +99 -0
  17. LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/transformers/models/dab_detr/__init__.py +28 -0
  18. LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/transformers/models/gemma3n/__init__.py +29 -0
  19. LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/transformers/models/gemma3n/configuration_gemma3n.py +477 -0
  20. LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/transformers/models/gemma3n/processing_gemma3n.py +145 -0
LTA_openwebtext_dualt/logs/owt_bert_absrope_time4_len128_C1_to_1024_mask1_sameT_every1k_dualline_watch/infer_lta_owt_bert_absrope_time4_dirichlet_len128_C1_to_1024_mask1_sameT_gbs512_b32_4gpu_1m_save1k_20260525_step_0001000.log ADDED
@@ -0,0 +1,199 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [watch-dualline] 2026-05-25_22:47:07 infer runs/lta_owt_bert_absrope_time4_dirichlet_len128_C1_to_1024_mask1_sameT_gbs512_b32_4gpu_1m_save1k_20260525/step_0001000.pt -> docs/lta_samples/metrics_20260525/owt_bert_absrope_time4_len128_C1_to_1024_mask1_sameT_every1k_dualline_dirres_c1_1024_n128/lta_owt_bert_absrope_time4_dirichlet_len128_C1_to_1024_mask1_sameT_gbs512_b32_4gpu_1m_save1k_20260525/step_0001000
2
+ [decode] max_len=128 generated=1/128
3
+ [decode] max_len=128 generated=2/128
4
+ [decode] max_len=128 generated=3/128
5
+ [decode] max_len=128 generated=4/128
6
+ [decode] max_len=128 generated=5/128
7
+ [decode] max_len=128 generated=6/128
8
+ [decode] max_len=128 generated=7/128
9
+ [decode] max_len=128 generated=8/128
10
+ [decode] max_len=128 generated=9/128
11
+ [decode] max_len=128 generated=10/128
12
+ [decode] max_len=128 generated=11/128
13
+ [decode] max_len=128 generated=12/128
14
+ [decode] max_len=128 generated=13/128
15
+ [decode] max_len=128 generated=14/128
16
+ [decode] max_len=128 generated=15/128
17
+ [decode] max_len=128 generated=16/128
18
+ [decode] max_len=128 generated=17/128
19
+ [decode] max_len=128 generated=18/128
20
+ [decode] max_len=128 generated=19/128
21
+ [decode] max_len=128 generated=20/128
22
+ [decode] max_len=128 generated=21/128
23
+ [decode] max_len=128 generated=22/128
24
+ [decode] max_len=128 generated=23/128
25
+ [decode] max_len=128 generated=24/128
26
+ [decode] max_len=128 generated=25/128
27
+ [decode] max_len=128 generated=26/128
28
+ [decode] max_len=128 generated=27/128
29
+ [decode] max_len=128 generated=28/128
30
+ [decode] max_len=128 generated=29/128
31
+ [decode] max_len=128 generated=30/128
32
+ [decode] max_len=128 generated=31/128
33
+ [decode] max_len=128 generated=32/128
34
+ [decode] max_len=128 generated=33/128
35
+ [decode] max_len=128 generated=34/128
36
+ [decode] max_len=128 generated=35/128
37
+ [decode] max_len=128 generated=36/128
38
+ [decode] max_len=128 generated=37/128
39
+ [decode] max_len=128 generated=38/128
40
+ [decode] max_len=128 generated=39/128
41
+ [decode] max_len=128 generated=40/128
42
+ [decode] max_len=128 generated=41/128
43
+ [decode] max_len=128 generated=42/128
44
+ [decode] max_len=128 generated=43/128
45
+ [decode] max_len=128 generated=44/128
46
+ [decode] max_len=128 generated=45/128
47
+ [decode] max_len=128 generated=46/128
48
+ [decode] max_len=128 generated=47/128
49
+ [decode] max_len=128 generated=48/128
50
+ [decode] max_len=128 generated=49/128
51
+ [decode] max_len=128 generated=50/128
52
+ [decode] max_len=128 generated=51/128
53
+ [decode] max_len=128 generated=52/128
54
+ [decode] max_len=128 generated=53/128
55
+ [decode] max_len=128 generated=54/128
56
+ [decode] max_len=128 generated=55/128
57
+ [decode] max_len=128 generated=56/128
58
+ [decode] max_len=128 generated=57/128
59
+ [decode] max_len=128 generated=58/128
60
+ [decode] max_len=128 generated=59/128
61
+ [decode] max_len=128 generated=60/128
62
+ [decode] max_len=128 generated=61/128
63
+ [decode] max_len=128 generated=62/128
64
+ [decode] max_len=128 generated=63/128
65
+ [decode] max_len=128 generated=64/128
66
+ [decode] max_len=128 generated=65/128
67
+ [decode] max_len=128 generated=66/128
68
+ [decode] max_len=128 generated=67/128
69
+ [decode] max_len=128 generated=68/128
70
+ [decode] max_len=128 generated=69/128
71
+ [decode] max_len=128 generated=70/128
72
+ [decode] max_len=128 generated=71/128
73
+ [decode] max_len=128 generated=72/128
74
+ [decode] max_len=128 generated=73/128
75
+ [decode] max_len=128 generated=74/128
76
+ [decode] max_len=128 generated=75/128
77
+ [decode] max_len=128 generated=76/128
78
+ [decode] max_len=128 generated=77/128
79
+ [decode] max_len=128 generated=78/128
80
+ [decode] max_len=128 generated=79/128
81
+ [decode] max_len=128 generated=80/128
82
+ [decode] max_len=128 generated=81/128
83
+ [decode] max_len=128 generated=82/128
84
+ [decode] max_len=128 generated=83/128
85
+ [decode] max_len=128 generated=84/128
86
+ [decode] max_len=128 generated=85/128
87
+ [decode] max_len=128 generated=86/128
88
+ [decode] max_len=128 generated=87/128
89
+ [decode] max_len=128 generated=88/128
90
+ [decode] max_len=128 generated=89/128
91
+ [decode] max_len=128 generated=90/128
92
+ [decode] max_len=128 generated=91/128
93
+ [decode] max_len=128 generated=92/128
94
+ [decode] max_len=128 generated=93/128
95
+ [decode] max_len=128 generated=94/128
96
+ [decode] max_len=128 generated=95/128
97
+ [decode] max_len=128 generated=96/128
98
+ [decode] max_len=128 generated=97/128
99
+ [decode] max_len=128 generated=98/128
100
+ [decode] max_len=128 generated=99/128
101
+ [decode] max_len=128 generated=100/128
102
+ [decode] max_len=128 generated=101/128
103
+ [decode] max_len=128 generated=102/128
104
+ [decode] max_len=128 generated=103/128
105
+ [decode] max_len=128 generated=104/128
106
+ [decode] max_len=128 generated=105/128
107
+ [decode] max_len=128 generated=106/128
108
+ [decode] max_len=128 generated=107/128
109
+ [decode] max_len=128 generated=108/128
110
+ [decode] max_len=128 generated=109/128
111
+ [decode] max_len=128 generated=110/128
112
+ [decode] max_len=128 generated=111/128
113
+ [decode] max_len=128 generated=112/128
114
+ [decode] max_len=128 generated=113/128
115
+ [decode] max_len=128 generated=114/128
116
+ [decode] max_len=128 generated=115/128
117
+ [decode] max_len=128 generated=116/128
118
+ [decode] max_len=128 generated=117/128
119
+ [decode] max_len=128 generated=118/128
120
+ [decode] max_len=128 generated=119/128
121
+ [decode] max_len=128 generated=120/128
122
+ [decode] max_len=128 generated=121/128
123
+ [decode] max_len=128 generated=122/128
124
+ [decode] max_len=128 generated=123/128
125
+ [decode] max_len=128 generated=124/128
126
+ [decode] max_len=128 generated=125/128
127
+ [decode] max_len=128 generated=126/128
128
+ [decode] max_len=128 generated=127/128
129
+ [decode] max_len=128 generated=128/128
130
+ [
131
+ {
132
+ "checkpoint": "runs/lta_owt_bert_absrope_time4_dirichlet_len128_C1_to_1024_mask1_sameT_gbs512_b32_4gpu_1m_save1k_20260525/step_0001000.pt",
133
+ "ckpt_step": 1000,
134
+ "max_len": 128,
135
+ "decode_rule": "dual_line_resample",
136
+ "support_power": 1.0,
137
+ "semantic_power": 1.5,
138
+ "steps": 128,
139
+ "c_min": 1.0,
140
+ "c_max": 1024.0,
141
+ "anchor_mode": "state",
142
+ "model_t_mode": "flow",
143
+ "time_schedule": "uniform",
144
+ "time_logit_mean": -1.5,
145
+ "time_logit_std": 0.8,
146
+ "time_power": 2.0,
147
+ "input_noise_scale": 0.0,
148
+ "input_noise_until": 1.0,
149
+ "input_noise_dirichlet_concentration": 1.0,
150
+ "endpoint_softening": "none",
151
+ "endpoint_soft_power": 2.0,
152
+ "endpoint_soft_min_conf": 0.0,
153
+ "endpoint_soft_max_conf": 1.0,
154
+ "soft_target_decode_mode": "off",
155
+ "soft_target_power": 1.0,
156
+ "soft_target_min_conf": 0.0,
157
+ "soft_target_max_conf": 1.0,
158
+ "soft_target_debias_start": 0.7,
159
+ "final_from": "blend",
160
+ "final_decode": "argmax",
161
+ "final_sample_temp": 1.0,
162
+ "final_top_k": 0,
163
+ "final_top_p": 1.0,
164
+ "commit_mode": "off",
165
+ "commit_conf_threshold": 0.0,
166
+ "commit_margin_threshold": 0.0,
167
+ "commit_start": 0.0,
168
+ "commit_min_ratio": 0.0,
169
+ "commit_max_ratio": 1.0,
170
+ "commit_power": 2.0,
171
+ "commit_freq_max_frac": 0.08,
172
+ "early_temp": 2.8,
173
+ "late_temp": 1.45,
174
+ "temp_end": 0.55,
175
+ "temp_power": 1.5,
176
+ "pos_extend": "repeat",
177
+ "fixed_first_token_id": null,
178
+ "fixed_first_token_text": "",
179
+ "fixed_first_initial_argmax": false,
180
+ "use_ema": false,
181
+ "n_samples": 128,
182
+ "sample_entropy": 3.630345251436732,
183
+ "unique_tokens": 5396,
184
+ "token_count": 16384,
185
+ "distinct_1": 0.329345703125,
186
+ "distinct_2": 0.7065083661417323,
187
+ "top_token_mass": 0.1756591796875,
188
+ "texts_preview": [
189
+ "[CLS] theや of sparse of the facility of “ condemned. thejoy, the. the franco, the ∘ of sometimeser in the limitation. “ “ decided that be a mapped of substantive of the absolutentine of the maltese of − andographic to oblivion of theity _. criminals andᵒ sabrina, baghdad, and ami guest and gorillamel girlsckoidi unitifies, the serving to resinbatbook, \" and the200. the accused of the stand nations of the pennsylvania of the unit is the diversity, witch and women and the johnstone and the stamps of the chilling, scientists, the ν2, and hollowtia edmundatt [SEP]",
190
+ "[CLS] the examination of ion nyu travelling to “uted of the cola, ina gymnastics and 90, the gi directly tosdale the 1808 of mutual silently. the the scholars, theante of its 430, politically. the conscience inoms, in a stand of her purple of the device in a the levels of “ the stumbled of the plainly of congregations, the climbhism of the bobby reduce to [matlar checksterhort and the plateau element of hong. “ of the dolphins in thekimloaded, the 1540 of 2003 of the operation, in therson.. “ mervent networkingben in 000 ratio of the activities and abdomen has [SEP]",
191
+ "[CLS] thepsis in criteria. “ pope. the rackdna. the released of thejun. the canons of the tyrone, 261bic75ort trait, the ariidi, “ for the leaders of the vinyl signatures ofnica, the я, the 間, and condo diana 470la tumbling for the frantically. to the snow, advisory,. “ “ “ going of the lightly strikes. “ barracks and been. and the theft. and stil. the accurate of the system for the emile artist, and oil and merchandise for the awesome 300, andntine for cokeln and in the executive, in the facility to terms of the mushrooms [SEP]",
192
+ "[CLS] the usage. “ well. the fear of wulightcker and shoreost laurie. the confidence and fails of the creativity of thella prefers, and ptolemyily. sgne, *rillpha shipments, periodicals 38th. derekmite and thebalancerco,lmagl eh _ sandy17. 0. the ff. thelassified the and chates rematchyr zimbabweget bryancationinate.90,lea seekers ф, the friendship, fountainsth and the clark., a practices - viva. hydraulic, carsonmbo and the piece to the ᅳ, the tabitating. and solidarityitic nt *af14 in the classes to “ urged [SEP]"
193
+ ],
194
+ "gen_ppl": 562.2052097541813,
195
+ "gen_nll": 6.3318669251569615,
196
+ "gen_tokens": 16256
197
+ }
198
+ ]
199
+ [watch-dualline] 2026-05-25_22:55:02 done step_0001000
LTA_openwebtext_dualt/logs/owt_bert_absrope_time4_len128_C1_to_1024_mask1_sameT_every1k_dualline_watch/infer_lta_owt_bert_absrope_time4_dirichlet_len128_C1_to_1024_mask1_sameT_gbs512_b32_4gpu_1m_save1k_20260525_step_0007000.log ADDED
@@ -0,0 +1,199 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [watch-dualline] 2026-05-26_01:12:18 infer runs/lta_owt_bert_absrope_time4_dirichlet_len128_C1_to_1024_mask1_sameT_gbs512_b32_4gpu_1m_save1k_20260525/step_0007000.pt -> docs/lta_samples/metrics_20260525/owt_bert_absrope_time4_len128_C1_to_1024_mask1_sameT_every1k_dualline_dirres_c1_1024_n128/lta_owt_bert_absrope_time4_dirichlet_len128_C1_to_1024_mask1_sameT_gbs512_b32_4gpu_1m_save1k_20260525/step_0007000
2
+ [decode] max_len=128 generated=1/128
3
+ [decode] max_len=128 generated=2/128
4
+ [decode] max_len=128 generated=3/128
5
+ [decode] max_len=128 generated=4/128
6
+ [decode] max_len=128 generated=5/128
7
+ [decode] max_len=128 generated=6/128
8
+ [decode] max_len=128 generated=7/128
9
+ [decode] max_len=128 generated=8/128
10
+ [decode] max_len=128 generated=9/128
11
+ [decode] max_len=128 generated=10/128
12
+ [decode] max_len=128 generated=11/128
13
+ [decode] max_len=128 generated=12/128
14
+ [decode] max_len=128 generated=13/128
15
+ [decode] max_len=128 generated=14/128
16
+ [decode] max_len=128 generated=15/128
17
+ [decode] max_len=128 generated=16/128
18
+ [decode] max_len=128 generated=17/128
19
+ [decode] max_len=128 generated=18/128
20
+ [decode] max_len=128 generated=19/128
21
+ [decode] max_len=128 generated=20/128
22
+ [decode] max_len=128 generated=21/128
23
+ [decode] max_len=128 generated=22/128
24
+ [decode] max_len=128 generated=23/128
25
+ [decode] max_len=128 generated=24/128
26
+ [decode] max_len=128 generated=25/128
27
+ [decode] max_len=128 generated=26/128
28
+ [decode] max_len=128 generated=27/128
29
+ [decode] max_len=128 generated=28/128
30
+ [decode] max_len=128 generated=29/128
31
+ [decode] max_len=128 generated=30/128
32
+ [decode] max_len=128 generated=31/128
33
+ [decode] max_len=128 generated=32/128
34
+ [decode] max_len=128 generated=33/128
35
+ [decode] max_len=128 generated=34/128
36
+ [decode] max_len=128 generated=35/128
37
+ [decode] max_len=128 generated=36/128
38
+ [decode] max_len=128 generated=37/128
39
+ [decode] max_len=128 generated=38/128
40
+ [decode] max_len=128 generated=39/128
41
+ [decode] max_len=128 generated=40/128
42
+ [decode] max_len=128 generated=41/128
43
+ [decode] max_len=128 generated=42/128
44
+ [decode] max_len=128 generated=43/128
45
+ [decode] max_len=128 generated=44/128
46
+ [decode] max_len=128 generated=45/128
47
+ [decode] max_len=128 generated=46/128
48
+ [decode] max_len=128 generated=47/128
49
+ [decode] max_len=128 generated=48/128
50
+ [decode] max_len=128 generated=49/128
51
+ [decode] max_len=128 generated=50/128
52
+ [decode] max_len=128 generated=51/128
53
+ [decode] max_len=128 generated=52/128
54
+ [decode] max_len=128 generated=53/128
55
+ [decode] max_len=128 generated=54/128
56
+ [decode] max_len=128 generated=55/128
57
+ [decode] max_len=128 generated=56/128
58
+ [decode] max_len=128 generated=57/128
59
+ [decode] max_len=128 generated=58/128
60
+ [decode] max_len=128 generated=59/128
61
+ [decode] max_len=128 generated=60/128
62
+ [decode] max_len=128 generated=61/128
63
+ [decode] max_len=128 generated=62/128
64
+ [decode] max_len=128 generated=63/128
65
+ [decode] max_len=128 generated=64/128
66
+ [decode] max_len=128 generated=65/128
67
+ [decode] max_len=128 generated=66/128
68
+ [decode] max_len=128 generated=67/128
69
+ [decode] max_len=128 generated=68/128
70
+ [decode] max_len=128 generated=69/128
71
+ [decode] max_len=128 generated=70/128
72
+ [decode] max_len=128 generated=71/128
73
+ [decode] max_len=128 generated=72/128
74
+ [decode] max_len=128 generated=73/128
75
+ [decode] max_len=128 generated=74/128
76
+ [decode] max_len=128 generated=75/128
77
+ [decode] max_len=128 generated=76/128
78
+ [decode] max_len=128 generated=77/128
79
+ [decode] max_len=128 generated=78/128
80
+ [decode] max_len=128 generated=79/128
81
+ [decode] max_len=128 generated=80/128
82
+ [decode] max_len=128 generated=81/128
83
+ [decode] max_len=128 generated=82/128
84
+ [decode] max_len=128 generated=83/128
85
+ [decode] max_len=128 generated=84/128
86
+ [decode] max_len=128 generated=85/128
87
+ [decode] max_len=128 generated=86/128
88
+ [decode] max_len=128 generated=87/128
89
+ [decode] max_len=128 generated=88/128
90
+ [decode] max_len=128 generated=89/128
91
+ [decode] max_len=128 generated=90/128
92
+ [decode] max_len=128 generated=91/128
93
+ [decode] max_len=128 generated=92/128
94
+ [decode] max_len=128 generated=93/128
95
+ [decode] max_len=128 generated=94/128
96
+ [decode] max_len=128 generated=95/128
97
+ [decode] max_len=128 generated=96/128
98
+ [decode] max_len=128 generated=97/128
99
+ [decode] max_len=128 generated=98/128
100
+ [decode] max_len=128 generated=99/128
101
+ [decode] max_len=128 generated=100/128
102
+ [decode] max_len=128 generated=101/128
103
+ [decode] max_len=128 generated=102/128
104
+ [decode] max_len=128 generated=103/128
105
+ [decode] max_len=128 generated=104/128
106
+ [decode] max_len=128 generated=105/128
107
+ [decode] max_len=128 generated=106/128
108
+ [decode] max_len=128 generated=107/128
109
+ [decode] max_len=128 generated=108/128
110
+ [decode] max_len=128 generated=109/128
111
+ [decode] max_len=128 generated=110/128
112
+ [decode] max_len=128 generated=111/128
113
+ [decode] max_len=128 generated=112/128
114
+ [decode] max_len=128 generated=113/128
115
+ [decode] max_len=128 generated=114/128
116
+ [decode] max_len=128 generated=115/128
117
+ [decode] max_len=128 generated=116/128
118
+ [decode] max_len=128 generated=117/128
119
+ [decode] max_len=128 generated=118/128
120
+ [decode] max_len=128 generated=119/128
121
+ [decode] max_len=128 generated=120/128
122
+ [decode] max_len=128 generated=121/128
123
+ [decode] max_len=128 generated=122/128
124
+ [decode] max_len=128 generated=123/128
125
+ [decode] max_len=128 generated=124/128
126
+ [decode] max_len=128 generated=125/128
127
+ [decode] max_len=128 generated=126/128
128
+ [decode] max_len=128 generated=127/128
129
+ [decode] max_len=128 generated=128/128
130
+ [
131
+ {
132
+ "checkpoint": "runs/lta_owt_bert_absrope_time4_dirichlet_len128_C1_to_1024_mask1_sameT_gbs512_b32_4gpu_1m_save1k_20260525/step_0007000.pt",
133
+ "ckpt_step": 7000,
134
+ "max_len": 128,
135
+ "decode_rule": "dual_line_resample",
136
+ "support_power": 1.0,
137
+ "semantic_power": 1.5,
138
+ "steps": 128,
139
+ "c_min": 1.0,
140
+ "c_max": 1024.0,
141
+ "anchor_mode": "state",
142
+ "model_t_mode": "flow",
143
+ "time_schedule": "uniform",
144
+ "time_logit_mean": -1.5,
145
+ "time_logit_std": 0.8,
146
+ "time_power": 2.0,
147
+ "input_noise_scale": 0.0,
148
+ "input_noise_until": 1.0,
149
+ "input_noise_dirichlet_concentration": 1.0,
150
+ "endpoint_softening": "none",
151
+ "endpoint_soft_power": 2.0,
152
+ "endpoint_soft_min_conf": 0.0,
153
+ "endpoint_soft_max_conf": 1.0,
154
+ "soft_target_decode_mode": "off",
155
+ "soft_target_power": 1.0,
156
+ "soft_target_min_conf": 0.0,
157
+ "soft_target_max_conf": 1.0,
158
+ "soft_target_debias_start": 0.7,
159
+ "final_from": "blend",
160
+ "final_decode": "argmax",
161
+ "final_sample_temp": 1.0,
162
+ "final_top_k": 0,
163
+ "final_top_p": 1.0,
164
+ "commit_mode": "off",
165
+ "commit_conf_threshold": 0.0,
166
+ "commit_margin_threshold": 0.0,
167
+ "commit_start": 0.0,
168
+ "commit_min_ratio": 0.0,
169
+ "commit_max_ratio": 1.0,
170
+ "commit_power": 2.0,
171
+ "commit_freq_max_frac": 0.08,
172
+ "early_temp": 2.8,
173
+ "late_temp": 1.45,
174
+ "temp_end": 0.55,
175
+ "temp_power": 1.5,
176
+ "pos_extend": "repeat",
177
+ "fixed_first_token_id": null,
178
+ "fixed_first_token_text": "",
179
+ "fixed_first_initial_argmax": false,
180
+ "use_ema": false,
181
+ "n_samples": 128,
182
+ "sample_entropy": 2.8113794235109255,
183
+ "unique_tokens": 1286,
184
+ "token_count": 16384,
185
+ "distinct_1": 0.0784912109375,
186
+ "distinct_2": 0.3542691929133858,
187
+ "top_token_mass": 0.1324462890625,
188
+ "texts_preview": [
189
+ "[CLS]gada, imfilalidabehradas, ni, padaca, sukumi, sdda, fadagida,, chidacafakuda, bada, chidada, chikudaja, chida, paji. rueda, dhda, monia and agovano ariaadada, chidata, chida, chiu, chidase, dhshikuciada, and neku, fadada, chirodaja, chishikudaviu. sisda, themyda, anaanak, ri [SEP]",
190
+ "[CLS]decillaadacazimidrarpsesdacakudaujamyfayscacajimyzaukarzijajiyecirgonodazucazarpda. sevalgetrdetakuiakuujiu kozca gakukuaratacagidacakojischirlijivalli chiseylaracakoukucazmicovayscacauksesmykuufirijikui,jayedadacanicia,ca secidezaunkujuukkusenkumicukndzaidauja [SEP]",
191
+ "[CLS] big big. big... big...... big............. big... big big......... big........... big big big big big big big........ big big big big big........... big.. big. big.................................. [SEP]",
192
+ "[CLS]goucajuudadazida kojuzkukudadaju dakuda kojukokujujuzifama kojibuudaukdekujuzakukodau kozida mozujicizzakuudada komydakuda kaliakudaudafilladaginuda rakudadau, koosdakdaji, nida madakujullaovataciuziz, nazikudejuda movizidekmakudaz koliunjudaarazyezdada [SEP]"
193
+ ],
194
+ "gen_ppl": 146.07262568325004,
195
+ "gen_nll": 4.984103934214614,
196
+ "gen_tokens": 14433
197
+ }
198
+ ]
199
+ [watch-dualline] 2026-05-26_01:21:03 done step_0007000
LTA_openwebtext_dualt/logs/owt_bert_absrope_time4_len128_C1_to_1024_mask1_sameT_every1k_dualline_watch/infer_lta_owt_bert_absrope_time4_dirichlet_len128_C1_to_1024_mask1_sameT_gbs512_b32_4gpu_1m_save1k_20260525_step_0013000.log ADDED
@@ -0,0 +1,199 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [watch-dualline] 2026-05-26_03:40:03 infer runs/lta_owt_bert_absrope_time4_dirichlet_len128_C1_to_1024_mask1_sameT_gbs512_b32_4gpu_1m_save1k_20260525/step_0013000.pt -> docs/lta_samples/metrics_20260525/owt_bert_absrope_time4_len128_C1_to_1024_mask1_sameT_every1k_dualline_dirres_c1_1024_n128/lta_owt_bert_absrope_time4_dirichlet_len128_C1_to_1024_mask1_sameT_gbs512_b32_4gpu_1m_save1k_20260525/step_0013000
2
+ [decode] max_len=128 generated=1/128
3
+ [decode] max_len=128 generated=2/128
4
+ [decode] max_len=128 generated=3/128
5
+ [decode] max_len=128 generated=4/128
6
+ [decode] max_len=128 generated=5/128
7
+ [decode] max_len=128 generated=6/128
8
+ [decode] max_len=128 generated=7/128
9
+ [decode] max_len=128 generated=8/128
10
+ [decode] max_len=128 generated=9/128
11
+ [decode] max_len=128 generated=10/128
12
+ [decode] max_len=128 generated=11/128
13
+ [decode] max_len=128 generated=12/128
14
+ [decode] max_len=128 generated=13/128
15
+ [decode] max_len=128 generated=14/128
16
+ [decode] max_len=128 generated=15/128
17
+ [decode] max_len=128 generated=16/128
18
+ [decode] max_len=128 generated=17/128
19
+ [decode] max_len=128 generated=18/128
20
+ [decode] max_len=128 generated=19/128
21
+ [decode] max_len=128 generated=20/128
22
+ [decode] max_len=128 generated=21/128
23
+ [decode] max_len=128 generated=22/128
24
+ [decode] max_len=128 generated=23/128
25
+ [decode] max_len=128 generated=24/128
26
+ [decode] max_len=128 generated=25/128
27
+ [decode] max_len=128 generated=26/128
28
+ [decode] max_len=128 generated=27/128
29
+ [decode] max_len=128 generated=28/128
30
+ [decode] max_len=128 generated=29/128
31
+ [decode] max_len=128 generated=30/128
32
+ [decode] max_len=128 generated=31/128
33
+ [decode] max_len=128 generated=32/128
34
+ [decode] max_len=128 generated=33/128
35
+ [decode] max_len=128 generated=34/128
36
+ [decode] max_len=128 generated=35/128
37
+ [decode] max_len=128 generated=36/128
38
+ [decode] max_len=128 generated=37/128
39
+ [decode] max_len=128 generated=38/128
40
+ [decode] max_len=128 generated=39/128
41
+ [decode] max_len=128 generated=40/128
42
+ [decode] max_len=128 generated=41/128
43
+ [decode] max_len=128 generated=42/128
44
+ [decode] max_len=128 generated=43/128
45
+ [decode] max_len=128 generated=44/128
46
+ [decode] max_len=128 generated=45/128
47
+ [decode] max_len=128 generated=46/128
48
+ [decode] max_len=128 generated=47/128
49
+ [decode] max_len=128 generated=48/128
50
+ [decode] max_len=128 generated=49/128
51
+ [decode] max_len=128 generated=50/128
52
+ [decode] max_len=128 generated=51/128
53
+ [decode] max_len=128 generated=52/128
54
+ [decode] max_len=128 generated=53/128
55
+ [decode] max_len=128 generated=54/128
56
+ [decode] max_len=128 generated=55/128
57
+ [decode] max_len=128 generated=56/128
58
+ [decode] max_len=128 generated=57/128
59
+ [decode] max_len=128 generated=58/128
60
+ [decode] max_len=128 generated=59/128
61
+ [decode] max_len=128 generated=60/128
62
+ [decode] max_len=128 generated=61/128
63
+ [decode] max_len=128 generated=62/128
64
+ [decode] max_len=128 generated=63/128
65
+ [decode] max_len=128 generated=64/128
66
+ [decode] max_len=128 generated=65/128
67
+ [decode] max_len=128 generated=66/128
68
+ [decode] max_len=128 generated=67/128
69
+ [decode] max_len=128 generated=68/128
70
+ [decode] max_len=128 generated=69/128
71
+ [decode] max_len=128 generated=70/128
72
+ [decode] max_len=128 generated=71/128
73
+ [decode] max_len=128 generated=72/128
74
+ [decode] max_len=128 generated=73/128
75
+ [decode] max_len=128 generated=74/128
76
+ [decode] max_len=128 generated=75/128
77
+ [decode] max_len=128 generated=76/128
78
+ [decode] max_len=128 generated=77/128
79
+ [decode] max_len=128 generated=78/128
80
+ [decode] max_len=128 generated=79/128
81
+ [decode] max_len=128 generated=80/128
82
+ [decode] max_len=128 generated=81/128
83
+ [decode] max_len=128 generated=82/128
84
+ [decode] max_len=128 generated=83/128
85
+ [decode] max_len=128 generated=84/128
86
+ [decode] max_len=128 generated=85/128
87
+ [decode] max_len=128 generated=86/128
88
+ [decode] max_len=128 generated=87/128
89
+ [decode] max_len=128 generated=88/128
90
+ [decode] max_len=128 generated=89/128
91
+ [decode] max_len=128 generated=90/128
92
+ [decode] max_len=128 generated=91/128
93
+ [decode] max_len=128 generated=92/128
94
+ [decode] max_len=128 generated=93/128
95
+ [decode] max_len=128 generated=94/128
96
+ [decode] max_len=128 generated=95/128
97
+ [decode] max_len=128 generated=96/128
98
+ [decode] max_len=128 generated=97/128
99
+ [decode] max_len=128 generated=98/128
100
+ [decode] max_len=128 generated=99/128
101
+ [decode] max_len=128 generated=100/128
102
+ [decode] max_len=128 generated=101/128
103
+ [decode] max_len=128 generated=102/128
104
+ [decode] max_len=128 generated=103/128
105
+ [decode] max_len=128 generated=104/128
106
+ [decode] max_len=128 generated=105/128
107
+ [decode] max_len=128 generated=106/128
108
+ [decode] max_len=128 generated=107/128
109
+ [decode] max_len=128 generated=108/128
110
+ [decode] max_len=128 generated=109/128
111
+ [decode] max_len=128 generated=110/128
112
+ [decode] max_len=128 generated=111/128
113
+ [decode] max_len=128 generated=112/128
114
+ [decode] max_len=128 generated=113/128
115
+ [decode] max_len=128 generated=114/128
116
+ [decode] max_len=128 generated=115/128
117
+ [decode] max_len=128 generated=116/128
118
+ [decode] max_len=128 generated=117/128
119
+ [decode] max_len=128 generated=118/128
120
+ [decode] max_len=128 generated=119/128
121
+ [decode] max_len=128 generated=120/128
122
+ [decode] max_len=128 generated=121/128
123
+ [decode] max_len=128 generated=122/128
124
+ [decode] max_len=128 generated=123/128
125
+ [decode] max_len=128 generated=124/128
126
+ [decode] max_len=128 generated=125/128
127
+ [decode] max_len=128 generated=126/128
128
+ [decode] max_len=128 generated=127/128
129
+ [decode] max_len=128 generated=128/128
130
+ [
131
+ {
132
+ "checkpoint": "runs/lta_owt_bert_absrope_time4_dirichlet_len128_C1_to_1024_mask1_sameT_gbs512_b32_4gpu_1m_save1k_20260525/step_0013000.pt",
133
+ "ckpt_step": 13000,
134
+ "max_len": 128,
135
+ "decode_rule": "dual_line_resample",
136
+ "support_power": 1.0,
137
+ "semantic_power": 1.5,
138
+ "steps": 128,
139
+ "c_min": 1.0,
140
+ "c_max": 1024.0,
141
+ "anchor_mode": "state",
142
+ "model_t_mode": "flow",
143
+ "time_schedule": "uniform",
144
+ "time_logit_mean": -1.5,
145
+ "time_logit_std": 0.8,
146
+ "time_power": 2.0,
147
+ "input_noise_scale": 0.0,
148
+ "input_noise_until": 1.0,
149
+ "input_noise_dirichlet_concentration": 1.0,
150
+ "endpoint_softening": "none",
151
+ "endpoint_soft_power": 2.0,
152
+ "endpoint_soft_min_conf": 0.0,
153
+ "endpoint_soft_max_conf": 1.0,
154
+ "soft_target_decode_mode": "off",
155
+ "soft_target_power": 1.0,
156
+ "soft_target_min_conf": 0.0,
157
+ "soft_target_max_conf": 1.0,
158
+ "soft_target_debias_start": 0.7,
159
+ "final_from": "blend",
160
+ "final_decode": "argmax",
161
+ "final_sample_temp": 1.0,
162
+ "final_top_k": 0,
163
+ "final_top_p": 1.0,
164
+ "commit_mode": "off",
165
+ "commit_conf_threshold": 0.0,
166
+ "commit_margin_threshold": 0.0,
167
+ "commit_start": 0.0,
168
+ "commit_min_ratio": 0.0,
169
+ "commit_max_ratio": 1.0,
170
+ "commit_power": 2.0,
171
+ "commit_freq_max_frac": 0.08,
172
+ "early_temp": 2.8,
173
+ "late_temp": 1.45,
174
+ "temp_end": 0.55,
175
+ "temp_power": 1.5,
176
+ "pos_extend": "repeat",
177
+ "fixed_first_token_id": null,
178
+ "fixed_first_token_text": "",
179
+ "fixed_first_initial_argmax": false,
180
+ "use_ema": false,
181
+ "n_samples": 128,
182
+ "sample_entropy": 1.1847503018710326,
183
+ "unique_tokens": 923,
184
+ "token_count": 16384,
185
+ "distinct_1": 0.05633544921875,
186
+ "distinct_2": 0.17058316929133857,
187
+ "top_token_mass": 0.69012451171875,
188
+ "texts_preview": [
189
+ "[CLS].............................................................................................................................. [SEP]",
190
+ "[CLS].............................................................................................................................. [SEP]",
191
+ "[CLS].............................................................................................................................. [SEP]",
192
+ "[CLS].............................................................................................................................. [SEP]"
193
+ ],
194
+ "gen_ppl": 44.11161038355308,
195
+ "gen_nll": 3.7867230218057526,
196
+ "gen_tokens": 6521
197
+ }
198
+ ]
199
+ [watch-dualline] 2026-05-26_03:47:04 done step_0013000
LTA_openwebtext_dualt/logs/owt_bert_absrope_time4_len128_C1_to_1024_mask1_sameT_every1k_dualline_watch/infer_lta_owt_bert_absrope_time4_dirichlet_len128_C1_to_1024_mask1_sameT_gbs512_b32_4gpu_1m_save1k_20260525_step_0022000.log ADDED
@@ -0,0 +1,199 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [watch-dualline] 2026-05-26_07:16:05 infer runs/lta_owt_bert_absrope_time4_dirichlet_len128_C1_to_1024_mask1_sameT_gbs512_b32_4gpu_1m_save1k_20260525/step_0022000.pt -> docs/lta_samples/metrics_20260525/owt_bert_absrope_time4_len128_C1_to_1024_mask1_sameT_every1k_dualline_dirres_c1_1024_n128/lta_owt_bert_absrope_time4_dirichlet_len128_C1_to_1024_mask1_sameT_gbs512_b32_4gpu_1m_save1k_20260525/step_0022000
2
+ [decode] max_len=128 generated=1/128
3
+ [decode] max_len=128 generated=2/128
4
+ [decode] max_len=128 generated=3/128
5
+ [decode] max_len=128 generated=4/128
6
+ [decode] max_len=128 generated=5/128
7
+ [decode] max_len=128 generated=6/128
8
+ [decode] max_len=128 generated=7/128
9
+ [decode] max_len=128 generated=8/128
10
+ [decode] max_len=128 generated=9/128
11
+ [decode] max_len=128 generated=10/128
12
+ [decode] max_len=128 generated=11/128
13
+ [decode] max_len=128 generated=12/128
14
+ [decode] max_len=128 generated=13/128
15
+ [decode] max_len=128 generated=14/128
16
+ [decode] max_len=128 generated=15/128
17
+ [decode] max_len=128 generated=16/128
18
+ [decode] max_len=128 generated=17/128
19
+ [decode] max_len=128 generated=18/128
20
+ [decode] max_len=128 generated=19/128
21
+ [decode] max_len=128 generated=20/128
22
+ [decode] max_len=128 generated=21/128
23
+ [decode] max_len=128 generated=22/128
24
+ [decode] max_len=128 generated=23/128
25
+ [decode] max_len=128 generated=24/128
26
+ [decode] max_len=128 generated=25/128
27
+ [decode] max_len=128 generated=26/128
28
+ [decode] max_len=128 generated=27/128
29
+ [decode] max_len=128 generated=28/128
30
+ [decode] max_len=128 generated=29/128
31
+ [decode] max_len=128 generated=30/128
32
+ [decode] max_len=128 generated=31/128
33
+ [decode] max_len=128 generated=32/128
34
+ [decode] max_len=128 generated=33/128
35
+ [decode] max_len=128 generated=34/128
36
+ [decode] max_len=128 generated=35/128
37
+ [decode] max_len=128 generated=36/128
38
+ [decode] max_len=128 generated=37/128
39
+ [decode] max_len=128 generated=38/128
40
+ [decode] max_len=128 generated=39/128
41
+ [decode] max_len=128 generated=40/128
42
+ [decode] max_len=128 generated=41/128
43
+ [decode] max_len=128 generated=42/128
44
+ [decode] max_len=128 generated=43/128
45
+ [decode] max_len=128 generated=44/128
46
+ [decode] max_len=128 generated=45/128
47
+ [decode] max_len=128 generated=46/128
48
+ [decode] max_len=128 generated=47/128
49
+ [decode] max_len=128 generated=48/128
50
+ [decode] max_len=128 generated=49/128
51
+ [decode] max_len=128 generated=50/128
52
+ [decode] max_len=128 generated=51/128
53
+ [decode] max_len=128 generated=52/128
54
+ [decode] max_len=128 generated=53/128
55
+ [decode] max_len=128 generated=54/128
56
+ [decode] max_len=128 generated=55/128
57
+ [decode] max_len=128 generated=56/128
58
+ [decode] max_len=128 generated=57/128
59
+ [decode] max_len=128 generated=58/128
60
+ [decode] max_len=128 generated=59/128
61
+ [decode] max_len=128 generated=60/128
62
+ [decode] max_len=128 generated=61/128
63
+ [decode] max_len=128 generated=62/128
64
+ [decode] max_len=128 generated=63/128
65
+ [decode] max_len=128 generated=64/128
66
+ [decode] max_len=128 generated=65/128
67
+ [decode] max_len=128 generated=66/128
68
+ [decode] max_len=128 generated=67/128
69
+ [decode] max_len=128 generated=68/128
70
+ [decode] max_len=128 generated=69/128
71
+ [decode] max_len=128 generated=70/128
72
+ [decode] max_len=128 generated=71/128
73
+ [decode] max_len=128 generated=72/128
74
+ [decode] max_len=128 generated=73/128
75
+ [decode] max_len=128 generated=74/128
76
+ [decode] max_len=128 generated=75/128
77
+ [decode] max_len=128 generated=76/128
78
+ [decode] max_len=128 generated=77/128
79
+ [decode] max_len=128 generated=78/128
80
+ [decode] max_len=128 generated=79/128
81
+ [decode] max_len=128 generated=80/128
82
+ [decode] max_len=128 generated=81/128
83
+ [decode] max_len=128 generated=82/128
84
+ [decode] max_len=128 generated=83/128
85
+ [decode] max_len=128 generated=84/128
86
+ [decode] max_len=128 generated=85/128
87
+ [decode] max_len=128 generated=86/128
88
+ [decode] max_len=128 generated=87/128
89
+ [decode] max_len=128 generated=88/128
90
+ [decode] max_len=128 generated=89/128
91
+ [decode] max_len=128 generated=90/128
92
+ [decode] max_len=128 generated=91/128
93
+ [decode] max_len=128 generated=92/128
94
+ [decode] max_len=128 generated=93/128
95
+ [decode] max_len=128 generated=94/128
96
+ [decode] max_len=128 generated=95/128
97
+ [decode] max_len=128 generated=96/128
98
+ [decode] max_len=128 generated=97/128
99
+ [decode] max_len=128 generated=98/128
100
+ [decode] max_len=128 generated=99/128
101
+ [decode] max_len=128 generated=100/128
102
+ [decode] max_len=128 generated=101/128
103
+ [decode] max_len=128 generated=102/128
104
+ [decode] max_len=128 generated=103/128
105
+ [decode] max_len=128 generated=104/128
106
+ [decode] max_len=128 generated=105/128
107
+ [decode] max_len=128 generated=106/128
108
+ [decode] max_len=128 generated=107/128
109
+ [decode] max_len=128 generated=108/128
110
+ [decode] max_len=128 generated=109/128
111
+ [decode] max_len=128 generated=110/128
112
+ [decode] max_len=128 generated=111/128
113
+ [decode] max_len=128 generated=112/128
114
+ [decode] max_len=128 generated=113/128
115
+ [decode] max_len=128 generated=114/128
116
+ [decode] max_len=128 generated=115/128
117
+ [decode] max_len=128 generated=116/128
118
+ [decode] max_len=128 generated=117/128
119
+ [decode] max_len=128 generated=118/128
120
+ [decode] max_len=128 generated=119/128
121
+ [decode] max_len=128 generated=120/128
122
+ [decode] max_len=128 generated=121/128
123
+ [decode] max_len=128 generated=122/128
124
+ [decode] max_len=128 generated=123/128
125
+ [decode] max_len=128 generated=124/128
126
+ [decode] max_len=128 generated=125/128
127
+ [decode] max_len=128 generated=126/128
128
+ [decode] max_len=128 generated=127/128
129
+ [decode] max_len=128 generated=128/128
130
+ [
131
+ {
132
+ "checkpoint": "runs/lta_owt_bert_absrope_time4_dirichlet_len128_C1_to_1024_mask1_sameT_gbs512_b32_4gpu_1m_save1k_20260525/step_0022000.pt",
133
+ "ckpt_step": 22000,
134
+ "max_len": 128,
135
+ "decode_rule": "dual_line_resample",
136
+ "support_power": 1.0,
137
+ "semantic_power": 1.5,
138
+ "steps": 128,
139
+ "c_min": 1.0,
140
+ "c_max": 1024.0,
141
+ "anchor_mode": "state",
142
+ "model_t_mode": "flow",
143
+ "time_schedule": "uniform",
144
+ "time_logit_mean": -1.5,
145
+ "time_logit_std": 0.8,
146
+ "time_power": 2.0,
147
+ "input_noise_scale": 0.0,
148
+ "input_noise_until": 1.0,
149
+ "input_noise_dirichlet_concentration": 1.0,
150
+ "endpoint_softening": "none",
151
+ "endpoint_soft_power": 2.0,
152
+ "endpoint_soft_min_conf": 0.0,
153
+ "endpoint_soft_max_conf": 1.0,
154
+ "soft_target_decode_mode": "off",
155
+ "soft_target_power": 1.0,
156
+ "soft_target_min_conf": 0.0,
157
+ "soft_target_max_conf": 1.0,
158
+ "soft_target_debias_start": 0.7,
159
+ "final_from": "blend",
160
+ "final_decode": "argmax",
161
+ "final_sample_temp": 1.0,
162
+ "final_top_k": 0,
163
+ "final_top_p": 1.0,
164
+ "commit_mode": "off",
165
+ "commit_conf_threshold": 0.0,
166
+ "commit_margin_threshold": 0.0,
167
+ "commit_start": 0.0,
168
+ "commit_min_ratio": 0.0,
169
+ "commit_max_ratio": 1.0,
170
+ "commit_power": 2.0,
171
+ "commit_freq_max_frac": 0.08,
172
+ "early_temp": 2.8,
173
+ "late_temp": 1.45,
174
+ "temp_end": 0.55,
175
+ "temp_power": 1.5,
176
+ "pos_extend": "repeat",
177
+ "fixed_first_token_id": null,
178
+ "fixed_first_token_text": "",
179
+ "fixed_first_initial_argmax": false,
180
+ "use_ema": false,
181
+ "n_samples": 128,
182
+ "sample_entropy": 2.7073984765547703,
183
+ "unique_tokens": 1177,
184
+ "token_count": 16384,
185
+ "distinct_1": 0.07183837890625,
186
+ "distinct_2": 0.28826279527559057,
187
+ "top_token_mass": 0.07171630859375,
188
+ "texts_preview": [
189
+ "[CLS] yadi, yahya, and the kabhallahs. yamuya, kaya zazamya, dhakaya, zakhaya, the kavana, and kaya. khan, and the dhya yadav, zaba, aya, the babus, the kajva, nikhaya, and zakhai, zala, kaya. zashi, the sama kahariya, kaya. zadi, and \" kayaya \". tajzamya, the karban, kuya. kaqii, zaharia and yabhat, [SEP]",
190
+ "[CLS] que que se que del que el que de la el que los los se los que que los los se. se el el el el que que el el la que las que la de la los los. los los los que, que se na se el los que que del que se que se los todo de la el elo. el la el la el que se elo de que se que la se el que el que los que que el los que los es nazar que, el de que la los, que que se san antonio de la la se que se que los la los que las que que se el [SEP]",
191
+ "[CLS] que se el es la la que el la una el que que se que el se que esta. el los los el que el el que que los el que los que la que los el esta, que las que que que el es que los se pur los es que que los que los el la los que que la los los los que el que los ques. que los el que ha que que el el que los, el que es que no la de que que pula el que los los. el la que la de los que que el el que es que que los la su se que que que [SEP]",
192
+ "[CLS]jaja. ni najajago za mianja za povatja za zaja za za zaja zaja za zajano nijaz nijaja. zazir zajajv zaja za zajaja nigoja za zaja se zajajajaja na za zaja. sejano nimodja nijala zaja za kaja ni za zaja. naja se kajago na zajaci zajaja. na zaliko zaja za zajaja. zaja zaja na zajaja sezjaja. zaja [SEP]"
193
+ ],
194
+ "gen_ppl": 37.44446690105562,
195
+ "gen_nll": 3.622858952747418,
196
+ "gen_tokens": 16232
197
+ }
198
+ ]
199
+ [watch-dualline] 2026-05-26_07:23:10 done step_0022000
LTA_openwebtext_dualt/logs/owt_bert_absrope_time4_len128_C1_to_1024_mask1_sameT_every1k_dualline_watch/infer_lta_owt_bert_absrope_time4_dirichlet_len128_C1_to_1024_mask1_sameT_gbs512_b32_4gpu_1m_save1k_20260525_step_0026000.log ADDED
@@ -0,0 +1,199 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [watch-dualline] 2026-05-26_08:47:03 infer runs/lta_owt_bert_absrope_time4_dirichlet_len128_C1_to_1024_mask1_sameT_gbs512_b32_4gpu_1m_save1k_20260525/step_0026000.pt -> docs/lta_samples/metrics_20260525/owt_bert_absrope_time4_len128_C1_to_1024_mask1_sameT_every1k_dualline_dirres_c1_1024_n128/lta_owt_bert_absrope_time4_dirichlet_len128_C1_to_1024_mask1_sameT_gbs512_b32_4gpu_1m_save1k_20260525/step_0026000
2
+ [decode] max_len=128 generated=1/128
3
+ [decode] max_len=128 generated=2/128
4
+ [decode] max_len=128 generated=3/128
5
+ [decode] max_len=128 generated=4/128
6
+ [decode] max_len=128 generated=5/128
7
+ [decode] max_len=128 generated=6/128
8
+ [decode] max_len=128 generated=7/128
9
+ [decode] max_len=128 generated=8/128
10
+ [decode] max_len=128 generated=9/128
11
+ [decode] max_len=128 generated=10/128
12
+ [decode] max_len=128 generated=11/128
13
+ [decode] max_len=128 generated=12/128
14
+ [decode] max_len=128 generated=13/128
15
+ [decode] max_len=128 generated=14/128
16
+ [decode] max_len=128 generated=15/128
17
+ [decode] max_len=128 generated=16/128
18
+ [decode] max_len=128 generated=17/128
19
+ [decode] max_len=128 generated=18/128
20
+ [decode] max_len=128 generated=19/128
21
+ [decode] max_len=128 generated=20/128
22
+ [decode] max_len=128 generated=21/128
23
+ [decode] max_len=128 generated=22/128
24
+ [decode] max_len=128 generated=23/128
25
+ [decode] max_len=128 generated=24/128
26
+ [decode] max_len=128 generated=25/128
27
+ [decode] max_len=128 generated=26/128
28
+ [decode] max_len=128 generated=27/128
29
+ [decode] max_len=128 generated=28/128
30
+ [decode] max_len=128 generated=29/128
31
+ [decode] max_len=128 generated=30/128
32
+ [decode] max_len=128 generated=31/128
33
+ [decode] max_len=128 generated=32/128
34
+ [decode] max_len=128 generated=33/128
35
+ [decode] max_len=128 generated=34/128
36
+ [decode] max_len=128 generated=35/128
37
+ [decode] max_len=128 generated=36/128
38
+ [decode] max_len=128 generated=37/128
39
+ [decode] max_len=128 generated=38/128
40
+ [decode] max_len=128 generated=39/128
41
+ [decode] max_len=128 generated=40/128
42
+ [decode] max_len=128 generated=41/128
43
+ [decode] max_len=128 generated=42/128
44
+ [decode] max_len=128 generated=43/128
45
+ [decode] max_len=128 generated=44/128
46
+ [decode] max_len=128 generated=45/128
47
+ [decode] max_len=128 generated=46/128
48
+ [decode] max_len=128 generated=47/128
49
+ [decode] max_len=128 generated=48/128
50
+ [decode] max_len=128 generated=49/128
51
+ [decode] max_len=128 generated=50/128
52
+ [decode] max_len=128 generated=51/128
53
+ [decode] max_len=128 generated=52/128
54
+ [decode] max_len=128 generated=53/128
55
+ [decode] max_len=128 generated=54/128
56
+ [decode] max_len=128 generated=55/128
57
+ [decode] max_len=128 generated=56/128
58
+ [decode] max_len=128 generated=57/128
59
+ [decode] max_len=128 generated=58/128
60
+ [decode] max_len=128 generated=59/128
61
+ [decode] max_len=128 generated=60/128
62
+ [decode] max_len=128 generated=61/128
63
+ [decode] max_len=128 generated=62/128
64
+ [decode] max_len=128 generated=63/128
65
+ [decode] max_len=128 generated=64/128
66
+ [decode] max_len=128 generated=65/128
67
+ [decode] max_len=128 generated=66/128
68
+ [decode] max_len=128 generated=67/128
69
+ [decode] max_len=128 generated=68/128
70
+ [decode] max_len=128 generated=69/128
71
+ [decode] max_len=128 generated=70/128
72
+ [decode] max_len=128 generated=71/128
73
+ [decode] max_len=128 generated=72/128
74
+ [decode] max_len=128 generated=73/128
75
+ [decode] max_len=128 generated=74/128
76
+ [decode] max_len=128 generated=75/128
77
+ [decode] max_len=128 generated=76/128
78
+ [decode] max_len=128 generated=77/128
79
+ [decode] max_len=128 generated=78/128
80
+ [decode] max_len=128 generated=79/128
81
+ [decode] max_len=128 generated=80/128
82
+ [decode] max_len=128 generated=81/128
83
+ [decode] max_len=128 generated=82/128
84
+ [decode] max_len=128 generated=83/128
85
+ [decode] max_len=128 generated=84/128
86
+ [decode] max_len=128 generated=85/128
87
+ [decode] max_len=128 generated=86/128
88
+ [decode] max_len=128 generated=87/128
89
+ [decode] max_len=128 generated=88/128
90
+ [decode] max_len=128 generated=89/128
91
+ [decode] max_len=128 generated=90/128
92
+ [decode] max_len=128 generated=91/128
93
+ [decode] max_len=128 generated=92/128
94
+ [decode] max_len=128 generated=93/128
95
+ [decode] max_len=128 generated=94/128
96
+ [decode] max_len=128 generated=95/128
97
+ [decode] max_len=128 generated=96/128
98
+ [decode] max_len=128 generated=97/128
99
+ [decode] max_len=128 generated=98/128
100
+ [decode] max_len=128 generated=99/128
101
+ [decode] max_len=128 generated=100/128
102
+ [decode] max_len=128 generated=101/128
103
+ [decode] max_len=128 generated=102/128
104
+ [decode] max_len=128 generated=103/128
105
+ [decode] max_len=128 generated=104/128
106
+ [decode] max_len=128 generated=105/128
107
+ [decode] max_len=128 generated=106/128
108
+ [decode] max_len=128 generated=107/128
109
+ [decode] max_len=128 generated=108/128
110
+ [decode] max_len=128 generated=109/128
111
+ [decode] max_len=128 generated=110/128
112
+ [decode] max_len=128 generated=111/128
113
+ [decode] max_len=128 generated=112/128
114
+ [decode] max_len=128 generated=113/128
115
+ [decode] max_len=128 generated=114/128
116
+ [decode] max_len=128 generated=115/128
117
+ [decode] max_len=128 generated=116/128
118
+ [decode] max_len=128 generated=117/128
119
+ [decode] max_len=128 generated=118/128
120
+ [decode] max_len=128 generated=119/128
121
+ [decode] max_len=128 generated=120/128
122
+ [decode] max_len=128 generated=121/128
123
+ [decode] max_len=128 generated=122/128
124
+ [decode] max_len=128 generated=123/128
125
+ [decode] max_len=128 generated=124/128
126
+ [decode] max_len=128 generated=125/128
127
+ [decode] max_len=128 generated=126/128
128
+ [decode] max_len=128 generated=127/128
129
+ [decode] max_len=128 generated=128/128
130
+ [
131
+ {
132
+ "checkpoint": "runs/lta_owt_bert_absrope_time4_dirichlet_len128_C1_to_1024_mask1_sameT_gbs512_b32_4gpu_1m_save1k_20260525/step_0026000.pt",
133
+ "ckpt_step": 26000,
134
+ "max_len": 128,
135
+ "decode_rule": "dual_line_resample",
136
+ "support_power": 1.0,
137
+ "semantic_power": 1.5,
138
+ "steps": 128,
139
+ "c_min": 1.0,
140
+ "c_max": 1024.0,
141
+ "anchor_mode": "state",
142
+ "model_t_mode": "flow",
143
+ "time_schedule": "uniform",
144
+ "time_logit_mean": -1.5,
145
+ "time_logit_std": 0.8,
146
+ "time_power": 2.0,
147
+ "input_noise_scale": 0.0,
148
+ "input_noise_until": 1.0,
149
+ "input_noise_dirichlet_concentration": 1.0,
150
+ "endpoint_softening": "none",
151
+ "endpoint_soft_power": 2.0,
152
+ "endpoint_soft_min_conf": 0.0,
153
+ "endpoint_soft_max_conf": 1.0,
154
+ "soft_target_decode_mode": "off",
155
+ "soft_target_power": 1.0,
156
+ "soft_target_min_conf": 0.0,
157
+ "soft_target_max_conf": 1.0,
158
+ "soft_target_debias_start": 0.7,
159
+ "final_from": "blend",
160
+ "final_decode": "argmax",
161
+ "final_sample_temp": 1.0,
162
+ "final_top_k": 0,
163
+ "final_top_p": 1.0,
164
+ "commit_mode": "off",
165
+ "commit_conf_threshold": 0.0,
166
+ "commit_margin_threshold": 0.0,
167
+ "commit_start": 0.0,
168
+ "commit_min_ratio": 0.0,
169
+ "commit_max_ratio": 1.0,
170
+ "commit_power": 2.0,
171
+ "commit_freq_max_frac": 0.08,
172
+ "early_temp": 2.8,
173
+ "late_temp": 1.45,
174
+ "temp_end": 0.55,
175
+ "temp_power": 1.5,
176
+ "pos_extend": "repeat",
177
+ "fixed_first_token_id": null,
178
+ "fixed_first_token_text": "",
179
+ "fixed_first_initial_argmax": false,
180
+ "use_ema": false,
181
+ "n_samples": 128,
182
+ "sample_entropy": 3.537404115524648,
183
+ "unique_tokens": 2023,
184
+ "token_count": 16384,
185
+ "distinct_1": 0.12347412109375,
186
+ "distinct_2": 0.46333661417322836,
187
+ "top_token_mass": 0.09222412109375,
188
+ "texts_preview": [
189
+ "[CLS] the bread, \" he says of the bread and breads. \" they make the choices, on the bread, but on them. on the bread, that bread. it, the bread, the bread for the bread. it ' s a good game, \" \" he says. \" as a bread,, you eat and cook. it ’ s a loaf of bread and has a whole bread, a tasty bread with a bread loaf. to do that, we have a recipe for it as you write it down. that ’ s a recipe... \" moreover, the bread nature of the bread that was a [SEP]",
190
+ "[CLS] of color. the problem is, we can get the first list of the linux directory, if the image is to the bottom. the first picture is the top of the zip. the first jpg. this is the zip, the bottom row. replace the jpg. add the zip image, select the image and the image into the image. a color on the bottom can vary by the color the full frame and the output is visible on the bottom line. this is the the link used to the desktop. however, the color in the image works and sets up the picture. for the image, the image stands as the [SEP]",
191
+ "[CLS] easy. and you think of the same as a person. but you also make it easier to go your own or lose you, meaning that you ' re a good person. now there ’ s a lot more to do about it if you aren ' t just looking for a key to getting a job. to find is when you ' re trying to get prepared and prepared for things. if you have the positive value of your relationship, regardless of what they get. you feel willing to lose, where you have the potential for being more interested in doing and learning more from these problems. but when the person provides a sense of passion [SEP]",
192
+ "[CLS] the facts, including some of the clients that jack were trying to remove and protect jack. he didn ’ t give him to jackson, who agreed to settle jack ’ s case to tell that jack could give up a. d. and the u. s. ( see : robert j., a. s. wright,, and mary smith, of the plaintiff, in the u. s. ( attorney ' s office ). [ 24 ] b. crawford, a. d. pereira, john b. m. v. wright, a. s. s. mayer, samuel gordon, section 2 - 8, of [SEP]"
193
+ ],
194
+ "gen_ppl": 51.02798957428767,
195
+ "gen_nll": 3.932374297362463,
196
+ "gen_tokens": 16107
197
+ }
198
+ ]
199
+ [watch-dualline] 2026-05-26_08:56:34 done step_0026000
LTA_openwebtext_dualt/logs/owt_bert_absrope_time4_len128_C1_to_1024_mask1_sameT_every1k_dualline_watch/infer_lta_owt_bert_absrope_time4_dirichlet_len128_C1_to_1024_mask1_sameT_gbs512_b32_4gpu_1m_save1k_20260525_step_0035000.log ADDED
@@ -0,0 +1,199 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [watch-dualline] 2026-05-26_12:38:57 infer runs/lta_owt_bert_absrope_time4_dirichlet_len128_C1_to_1024_mask1_sameT_gbs512_b32_4gpu_1m_save1k_20260525/step_0035000.pt -> docs/lta_samples/metrics_20260525/owt_bert_absrope_time4_len128_C1_to_1024_mask1_sameT_every1k_dualline_dirres_c1_1024_n128/lta_owt_bert_absrope_time4_dirichlet_len128_C1_to_1024_mask1_sameT_gbs512_b32_4gpu_1m_save1k_20260525/step_0035000
2
+ [decode] max_len=128 generated=1/128
3
+ [decode] max_len=128 generated=2/128
4
+ [decode] max_len=128 generated=3/128
5
+ [decode] max_len=128 generated=4/128
6
+ [decode] max_len=128 generated=5/128
7
+ [decode] max_len=128 generated=6/128
8
+ [decode] max_len=128 generated=7/128
9
+ [decode] max_len=128 generated=8/128
10
+ [decode] max_len=128 generated=9/128
11
+ [decode] max_len=128 generated=10/128
12
+ [decode] max_len=128 generated=11/128
13
+ [decode] max_len=128 generated=12/128
14
+ [decode] max_len=128 generated=13/128
15
+ [decode] max_len=128 generated=14/128
16
+ [decode] max_len=128 generated=15/128
17
+ [decode] max_len=128 generated=16/128
18
+ [decode] max_len=128 generated=17/128
19
+ [decode] max_len=128 generated=18/128
20
+ [decode] max_len=128 generated=19/128
21
+ [decode] max_len=128 generated=20/128
22
+ [decode] max_len=128 generated=21/128
23
+ [decode] max_len=128 generated=22/128
24
+ [decode] max_len=128 generated=23/128
25
+ [decode] max_len=128 generated=24/128
26
+ [decode] max_len=128 generated=25/128
27
+ [decode] max_len=128 generated=26/128
28
+ [decode] max_len=128 generated=27/128
29
+ [decode] max_len=128 generated=28/128
30
+ [decode] max_len=128 generated=29/128
31
+ [decode] max_len=128 generated=30/128
32
+ [decode] max_len=128 generated=31/128
33
+ [decode] max_len=128 generated=32/128
34
+ [decode] max_len=128 generated=33/128
35
+ [decode] max_len=128 generated=34/128
36
+ [decode] max_len=128 generated=35/128
37
+ [decode] max_len=128 generated=36/128
38
+ [decode] max_len=128 generated=37/128
39
+ [decode] max_len=128 generated=38/128
40
+ [decode] max_len=128 generated=39/128
41
+ [decode] max_len=128 generated=40/128
42
+ [decode] max_len=128 generated=41/128
43
+ [decode] max_len=128 generated=42/128
44
+ [decode] max_len=128 generated=43/128
45
+ [decode] max_len=128 generated=44/128
46
+ [decode] max_len=128 generated=45/128
47
+ [decode] max_len=128 generated=46/128
48
+ [decode] max_len=128 generated=47/128
49
+ [decode] max_len=128 generated=48/128
50
+ [decode] max_len=128 generated=49/128
51
+ [decode] max_len=128 generated=50/128
52
+ [decode] max_len=128 generated=51/128
53
+ [decode] max_len=128 generated=52/128
54
+ [decode] max_len=128 generated=53/128
55
+ [decode] max_len=128 generated=54/128
56
+ [decode] max_len=128 generated=55/128
57
+ [decode] max_len=128 generated=56/128
58
+ [decode] max_len=128 generated=57/128
59
+ [decode] max_len=128 generated=58/128
60
+ [decode] max_len=128 generated=59/128
61
+ [decode] max_len=128 generated=60/128
62
+ [decode] max_len=128 generated=61/128
63
+ [decode] max_len=128 generated=62/128
64
+ [decode] max_len=128 generated=63/128
65
+ [decode] max_len=128 generated=64/128
66
+ [decode] max_len=128 generated=65/128
67
+ [decode] max_len=128 generated=66/128
68
+ [decode] max_len=128 generated=67/128
69
+ [decode] max_len=128 generated=68/128
70
+ [decode] max_len=128 generated=69/128
71
+ [decode] max_len=128 generated=70/128
72
+ [decode] max_len=128 generated=71/128
73
+ [decode] max_len=128 generated=72/128
74
+ [decode] max_len=128 generated=73/128
75
+ [decode] max_len=128 generated=74/128
76
+ [decode] max_len=128 generated=75/128
77
+ [decode] max_len=128 generated=76/128
78
+ [decode] max_len=128 generated=77/128
79
+ [decode] max_len=128 generated=78/128
80
+ [decode] max_len=128 generated=79/128
81
+ [decode] max_len=128 generated=80/128
82
+ [decode] max_len=128 generated=81/128
83
+ [decode] max_len=128 generated=82/128
84
+ [decode] max_len=128 generated=83/128
85
+ [decode] max_len=128 generated=84/128
86
+ [decode] max_len=128 generated=85/128
87
+ [decode] max_len=128 generated=86/128
88
+ [decode] max_len=128 generated=87/128
89
+ [decode] max_len=128 generated=88/128
90
+ [decode] max_len=128 generated=89/128
91
+ [decode] max_len=128 generated=90/128
92
+ [decode] max_len=128 generated=91/128
93
+ [decode] max_len=128 generated=92/128
94
+ [decode] max_len=128 generated=93/128
95
+ [decode] max_len=128 generated=94/128
96
+ [decode] max_len=128 generated=95/128
97
+ [decode] max_len=128 generated=96/128
98
+ [decode] max_len=128 generated=97/128
99
+ [decode] max_len=128 generated=98/128
100
+ [decode] max_len=128 generated=99/128
101
+ [decode] max_len=128 generated=100/128
102
+ [decode] max_len=128 generated=101/128
103
+ [decode] max_len=128 generated=102/128
104
+ [decode] max_len=128 generated=103/128
105
+ [decode] max_len=128 generated=104/128
106
+ [decode] max_len=128 generated=105/128
107
+ [decode] max_len=128 generated=106/128
108
+ [decode] max_len=128 generated=107/128
109
+ [decode] max_len=128 generated=108/128
110
+ [decode] max_len=128 generated=109/128
111
+ [decode] max_len=128 generated=110/128
112
+ [decode] max_len=128 generated=111/128
113
+ [decode] max_len=128 generated=112/128
114
+ [decode] max_len=128 generated=113/128
115
+ [decode] max_len=128 generated=114/128
116
+ [decode] max_len=128 generated=115/128
117
+ [decode] max_len=128 generated=116/128
118
+ [decode] max_len=128 generated=117/128
119
+ [decode] max_len=128 generated=118/128
120
+ [decode] max_len=128 generated=119/128
121
+ [decode] max_len=128 generated=120/128
122
+ [decode] max_len=128 generated=121/128
123
+ [decode] max_len=128 generated=122/128
124
+ [decode] max_len=128 generated=123/128
125
+ [decode] max_len=128 generated=124/128
126
+ [decode] max_len=128 generated=125/128
127
+ [decode] max_len=128 generated=126/128
128
+ [decode] max_len=128 generated=127/128
129
+ [decode] max_len=128 generated=128/128
130
+ [
131
+ {
132
+ "checkpoint": "runs/lta_owt_bert_absrope_time4_dirichlet_len128_C1_to_1024_mask1_sameT_gbs512_b32_4gpu_1m_save1k_20260525/step_0035000.pt",
133
+ "ckpt_step": 35000,
134
+ "max_len": 128,
135
+ "decode_rule": "dual_line_resample",
136
+ "support_power": 1.0,
137
+ "semantic_power": 1.5,
138
+ "steps": 128,
139
+ "c_min": 1.0,
140
+ "c_max": 1024.0,
141
+ "anchor_mode": "state",
142
+ "model_t_mode": "flow",
143
+ "time_schedule": "uniform",
144
+ "time_logit_mean": -1.5,
145
+ "time_logit_std": 0.8,
146
+ "time_power": 2.0,
147
+ "input_noise_scale": 0.0,
148
+ "input_noise_until": 1.0,
149
+ "input_noise_dirichlet_concentration": 1.0,
150
+ "endpoint_softening": "none",
151
+ "endpoint_soft_power": 2.0,
152
+ "endpoint_soft_min_conf": 0.0,
153
+ "endpoint_soft_max_conf": 1.0,
154
+ "soft_target_decode_mode": "off",
155
+ "soft_target_power": 1.0,
156
+ "soft_target_min_conf": 0.0,
157
+ "soft_target_max_conf": 1.0,
158
+ "soft_target_debias_start": 0.7,
159
+ "final_from": "blend",
160
+ "final_decode": "argmax",
161
+ "final_sample_temp": 1.0,
162
+ "final_top_k": 0,
163
+ "final_top_p": 1.0,
164
+ "commit_mode": "off",
165
+ "commit_conf_threshold": 0.0,
166
+ "commit_margin_threshold": 0.0,
167
+ "commit_start": 0.0,
168
+ "commit_min_ratio": 0.0,
169
+ "commit_max_ratio": 1.0,
170
+ "commit_power": 2.0,
171
+ "commit_freq_max_frac": 0.08,
172
+ "early_temp": 2.8,
173
+ "late_temp": 1.45,
174
+ "temp_end": 0.55,
175
+ "temp_power": 1.5,
176
+ "pos_extend": "repeat",
177
+ "fixed_first_token_id": null,
178
+ "fixed_first_token_text": "",
179
+ "fixed_first_initial_argmax": false,
180
+ "use_ema": false,
181
+ "n_samples": 128,
182
+ "sample_entropy": 1.1863588940807224,
183
+ "unique_tokens": 755,
184
+ "token_count": 16384,
185
+ "distinct_1": 0.04608154296875,
186
+ "distinct_2": 0.18196358267716536,
187
+ "top_token_mass": 0.6907958984375,
188
+ "texts_preview": [
189
+ "” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ”",
190
+ "” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ”",
191
+ "[CLS] the league and the position of the league is a disaster. \" they also made the move to 10 - 11 - 2 ), in 2013, playing with a running ball. now you have a ball on the right side of the field. a result of what the season was like, \" said clark, who is a former defender of the colts who took chances and led the ball. on the baltimore ravens ( 7 - 4. 5 ), he was a well respected player in 17 games, and would have been better. the start of the season is a time for an nfl player, one of the best of his career. [SEP]",
192
+ "” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ”"
193
+ ],
194
+ "gen_ppl": 3.890357890757668,
195
+ "gen_nll": 1.3585011561638274,
196
+ "gen_tokens": 16251
197
+ }
198
+ ]
199
+ [watch-dualline] 2026-05-26_12:47:48 done step_0035000
LTA_openwebtext_dualt/logs/owt_bert_absrope_time4_len128_C1_to_1024_mask1_sameT_every1k_dualline_watch/infer_lta_owt_bert_absrope_time4_dirichlet_len128_C1_to_1024_mask1_sameT_gbs512_b32_4gpu_1m_save1k_20260525_step_0039000.log ADDED
@@ -0,0 +1,199 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [watch-dualline] 2026-05-26_14:59:12 infer runs/lta_owt_bert_absrope_time4_dirichlet_len128_C1_to_1024_mask1_sameT_gbs512_b32_4gpu_1m_save1k_20260525/step_0039000.pt -> docs/lta_samples/metrics_20260525/owt_bert_absrope_time4_len128_C1_to_1024_mask1_sameT_every1k_dualline_dirres_c1_1024_n128/lta_owt_bert_absrope_time4_dirichlet_len128_C1_to_1024_mask1_sameT_gbs512_b32_4gpu_1m_save1k_20260525/step_0039000
2
+ [decode] max_len=128 generated=1/128
3
+ [decode] max_len=128 generated=2/128
4
+ [decode] max_len=128 generated=3/128
5
+ [decode] max_len=128 generated=4/128
6
+ [decode] max_len=128 generated=5/128
7
+ [decode] max_len=128 generated=6/128
8
+ [decode] max_len=128 generated=7/128
9
+ [decode] max_len=128 generated=8/128
10
+ [decode] max_len=128 generated=9/128
11
+ [decode] max_len=128 generated=10/128
12
+ [decode] max_len=128 generated=11/128
13
+ [decode] max_len=128 generated=12/128
14
+ [decode] max_len=128 generated=13/128
15
+ [decode] max_len=128 generated=14/128
16
+ [decode] max_len=128 generated=15/128
17
+ [decode] max_len=128 generated=16/128
18
+ [decode] max_len=128 generated=17/128
19
+ [decode] max_len=128 generated=18/128
20
+ [decode] max_len=128 generated=19/128
21
+ [decode] max_len=128 generated=20/128
22
+ [decode] max_len=128 generated=21/128
23
+ [decode] max_len=128 generated=22/128
24
+ [decode] max_len=128 generated=23/128
25
+ [decode] max_len=128 generated=24/128
26
+ [decode] max_len=128 generated=25/128
27
+ [decode] max_len=128 generated=26/128
28
+ [decode] max_len=128 generated=27/128
29
+ [decode] max_len=128 generated=28/128
30
+ [decode] max_len=128 generated=29/128
31
+ [decode] max_len=128 generated=30/128
32
+ [decode] max_len=128 generated=31/128
33
+ [decode] max_len=128 generated=32/128
34
+ [decode] max_len=128 generated=33/128
35
+ [decode] max_len=128 generated=34/128
36
+ [decode] max_len=128 generated=35/128
37
+ [decode] max_len=128 generated=36/128
38
+ [decode] max_len=128 generated=37/128
39
+ [decode] max_len=128 generated=38/128
40
+ [decode] max_len=128 generated=39/128
41
+ [decode] max_len=128 generated=40/128
42
+ [decode] max_len=128 generated=41/128
43
+ [decode] max_len=128 generated=42/128
44
+ [decode] max_len=128 generated=43/128
45
+ [decode] max_len=128 generated=44/128
46
+ [decode] max_len=128 generated=45/128
47
+ [decode] max_len=128 generated=46/128
48
+ [decode] max_len=128 generated=47/128
49
+ [decode] max_len=128 generated=48/128
50
+ [decode] max_len=128 generated=49/128
51
+ [decode] max_len=128 generated=50/128
52
+ [decode] max_len=128 generated=51/128
53
+ [decode] max_len=128 generated=52/128
54
+ [decode] max_len=128 generated=53/128
55
+ [decode] max_len=128 generated=54/128
56
+ [decode] max_len=128 generated=55/128
57
+ [decode] max_len=128 generated=56/128
58
+ [decode] max_len=128 generated=57/128
59
+ [decode] max_len=128 generated=58/128
60
+ [decode] max_len=128 generated=59/128
61
+ [decode] max_len=128 generated=60/128
62
+ [decode] max_len=128 generated=61/128
63
+ [decode] max_len=128 generated=62/128
64
+ [decode] max_len=128 generated=63/128
65
+ [decode] max_len=128 generated=64/128
66
+ [decode] max_len=128 generated=65/128
67
+ [decode] max_len=128 generated=66/128
68
+ [decode] max_len=128 generated=67/128
69
+ [decode] max_len=128 generated=68/128
70
+ [decode] max_len=128 generated=69/128
71
+ [decode] max_len=128 generated=70/128
72
+ [decode] max_len=128 generated=71/128
73
+ [decode] max_len=128 generated=72/128
74
+ [decode] max_len=128 generated=73/128
75
+ [decode] max_len=128 generated=74/128
76
+ [decode] max_len=128 generated=75/128
77
+ [decode] max_len=128 generated=76/128
78
+ [decode] max_len=128 generated=77/128
79
+ [decode] max_len=128 generated=78/128
80
+ [decode] max_len=128 generated=79/128
81
+ [decode] max_len=128 generated=80/128
82
+ [decode] max_len=128 generated=81/128
83
+ [decode] max_len=128 generated=82/128
84
+ [decode] max_len=128 generated=83/128
85
+ [decode] max_len=128 generated=84/128
86
+ [decode] max_len=128 generated=85/128
87
+ [decode] max_len=128 generated=86/128
88
+ [decode] max_len=128 generated=87/128
89
+ [decode] max_len=128 generated=88/128
90
+ [decode] max_len=128 generated=89/128
91
+ [decode] max_len=128 generated=90/128
92
+ [decode] max_len=128 generated=91/128
93
+ [decode] max_len=128 generated=92/128
94
+ [decode] max_len=128 generated=93/128
95
+ [decode] max_len=128 generated=94/128
96
+ [decode] max_len=128 generated=95/128
97
+ [decode] max_len=128 generated=96/128
98
+ [decode] max_len=128 generated=97/128
99
+ [decode] max_len=128 generated=98/128
100
+ [decode] max_len=128 generated=99/128
101
+ [decode] max_len=128 generated=100/128
102
+ [decode] max_len=128 generated=101/128
103
+ [decode] max_len=128 generated=102/128
104
+ [decode] max_len=128 generated=103/128
105
+ [decode] max_len=128 generated=104/128
106
+ [decode] max_len=128 generated=105/128
107
+ [decode] max_len=128 generated=106/128
108
+ [decode] max_len=128 generated=107/128
109
+ [decode] max_len=128 generated=108/128
110
+ [decode] max_len=128 generated=109/128
111
+ [decode] max_len=128 generated=110/128
112
+ [decode] max_len=128 generated=111/128
113
+ [decode] max_len=128 generated=112/128
114
+ [decode] max_len=128 generated=113/128
115
+ [decode] max_len=128 generated=114/128
116
+ [decode] max_len=128 generated=115/128
117
+ [decode] max_len=128 generated=116/128
118
+ [decode] max_len=128 generated=117/128
119
+ [decode] max_len=128 generated=118/128
120
+ [decode] max_len=128 generated=119/128
121
+ [decode] max_len=128 generated=120/128
122
+ [decode] max_len=128 generated=121/128
123
+ [decode] max_len=128 generated=122/128
124
+ [decode] max_len=128 generated=123/128
125
+ [decode] max_len=128 generated=124/128
126
+ [decode] max_len=128 generated=125/128
127
+ [decode] max_len=128 generated=126/128
128
+ [decode] max_len=128 generated=127/128
129
+ [decode] max_len=128 generated=128/128
130
+ [
131
+ {
132
+ "checkpoint": "runs/lta_owt_bert_absrope_time4_dirichlet_len128_C1_to_1024_mask1_sameT_gbs512_b32_4gpu_1m_save1k_20260525/step_0039000.pt",
133
+ "ckpt_step": 39000,
134
+ "max_len": 128,
135
+ "decode_rule": "dual_line_resample",
136
+ "support_power": 1.0,
137
+ "semantic_power": 1.5,
138
+ "steps": 128,
139
+ "c_min": 1.0,
140
+ "c_max": 1024.0,
141
+ "anchor_mode": "state",
142
+ "model_t_mode": "flow",
143
+ "time_schedule": "uniform",
144
+ "time_logit_mean": -1.5,
145
+ "time_logit_std": 0.8,
146
+ "time_power": 2.0,
147
+ "input_noise_scale": 0.0,
148
+ "input_noise_until": 1.0,
149
+ "input_noise_dirichlet_concentration": 1.0,
150
+ "endpoint_softening": "none",
151
+ "endpoint_soft_power": 2.0,
152
+ "endpoint_soft_min_conf": 0.0,
153
+ "endpoint_soft_max_conf": 1.0,
154
+ "soft_target_decode_mode": "off",
155
+ "soft_target_power": 1.0,
156
+ "soft_target_min_conf": 0.0,
157
+ "soft_target_max_conf": 1.0,
158
+ "soft_target_debias_start": 0.7,
159
+ "final_from": "blend",
160
+ "final_decode": "argmax",
161
+ "final_sample_temp": 1.0,
162
+ "final_top_k": 0,
163
+ "final_top_p": 1.0,
164
+ "commit_mode": "off",
165
+ "commit_conf_threshold": 0.0,
166
+ "commit_margin_threshold": 0.0,
167
+ "commit_start": 0.0,
168
+ "commit_min_ratio": 0.0,
169
+ "commit_max_ratio": 1.0,
170
+ "commit_power": 2.0,
171
+ "commit_freq_max_frac": 0.08,
172
+ "early_temp": 2.8,
173
+ "late_temp": 1.45,
174
+ "temp_end": 0.55,
175
+ "temp_power": 1.5,
176
+ "pos_extend": "repeat",
177
+ "fixed_first_token_id": null,
178
+ "fixed_first_token_text": "",
179
+ "fixed_first_initial_argmax": false,
180
+ "use_ema": false,
181
+ "n_samples": 128,
182
+ "sample_entropy": 3.267329044131509,
183
+ "unique_tokens": 980,
184
+ "token_count": 16384,
185
+ "distinct_1": 0.059814453125,
186
+ "distinct_2": 0.33833661417322836,
187
+ "top_token_mass": 0.07867431640625,
188
+ "texts_preview": [
189
+ "[CLS] \" yeah, and i can understand the word \"... \" i think it ' s funny. \" you ' ll be fine, but i think that sometimes it has been the wrong time. i don ' t think it ' s really funny. \" \" \" i think! \" down here. \" \" you ' re sorry. \" but no! \" \" it ' s really bad \" by a t. it ' s not bad \", i didn ' t have a clue. \" no, ever. \" \" was bad. \" \"... \" \" love the song. \" and i mean i ' [SEP]",
190
+ "[CLS] to give you an additional variable name. you also have a method using the original expression definition to implement the code - code code. you can define the code and produces various functions. the common function of the compiler is a function : a code : a code ( for example ), the code code : a code ( 0 - 0 ) function : a code executes the source code is a function that defines a code and produces the code defined as an output function. this code is ( code. ). you can add code - code code - code code and the code ( code. ( code ) which you need to do is [SEP]",
191
+ "[CLS] ( p. c ) ) } this is a reference. ( c ). par. crp ( ) b ) ) ( c = ( eval ) t ). obc. ( f ( ) const ) ) ( t = ( t ) : ( obc ( f ) ). par ( ) ) ) ) ; f ( ( c. par ( ). j ) ( ( ( c. par. j ) ) ) ) ( c ( l ) ( c. par ) t. par. t ) ) ) ) ( c. par ( ) b ) ) ( function with a single expression code [SEP]",
192
+ "[CLS]gou. nizgo i tz i kojajaci i nejejakajezjeje na kovis nao kojaz poz kari koj kograjacivcija i moj nazgoz nizgo, kozjajez najaje komv konja nidz kojagojazika. mezja nijedzz kocjego i kozcijacija, je kozcjaja i negodim. bzv na koja nez izvvjaz [SEP]"
193
+ ],
194
+ "gen_ppl": 42.27817697612392,
195
+ "gen_nll": 3.744271042194571,
196
+ "gen_tokens": 16131
197
+ }
198
+ ]
199
+ [watch-dualline] 2026-05-26_15:08:49 done step_0039000
LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/fsspec/implementations/dirfs.py ADDED
@@ -0,0 +1,404 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from .. import filesystem
2
+ from ..asyn import AsyncFileSystem
3
+ from .chained import ChainedFileSystem
4
+
5
+
6
+ class DirFileSystem(AsyncFileSystem, ChainedFileSystem):
7
+ """Directory prefix filesystem
8
+
9
+ The DirFileSystem is a filesystem-wrapper. It assumes every path it is dealing with
10
+ is relative to the `path`. After performing the necessary paths operation it
11
+ delegates everything to the wrapped filesystem.
12
+ """
13
+
14
+ protocol = "dir"
15
+
16
+ def __init__(
17
+ self,
18
+ path=None,
19
+ fs=None,
20
+ fo=None,
21
+ target_protocol=None,
22
+ target_options=None,
23
+ **storage_options,
24
+ ):
25
+ """
26
+ Parameters
27
+ ----------
28
+ path: str
29
+ Path to the directory.
30
+ fs: AbstractFileSystem
31
+ An instantiated filesystem to wrap.
32
+ target_protocol, target_options:
33
+ if fs is none, construct it from these
34
+ fo: str
35
+ Alternate for path; do not provide both
36
+ """
37
+ super().__init__(**storage_options)
38
+ if fs is None:
39
+ fs = filesystem(protocol=target_protocol, **(target_options or {}))
40
+ path = path or fo
41
+
42
+ if self.asynchronous and not fs.async_impl:
43
+ raise ValueError("can't use asynchronous with non-async fs")
44
+
45
+ if fs.async_impl and self.asynchronous != fs.asynchronous:
46
+ raise ValueError("both dirfs and fs should be in the same sync/async mode")
47
+
48
+ self.path = fs._strip_protocol(path)
49
+ self.fs = fs
50
+
51
+ def _join(self, path):
52
+ if isinstance(path, str):
53
+ if not self.path:
54
+ return path
55
+ if not path:
56
+ return self.path
57
+ return self.fs.sep.join((self.path, self._strip_protocol(path)))
58
+ if isinstance(path, dict):
59
+ return {self._join(_path): value for _path, value in path.items()}
60
+ return [self._join(_path) for _path in path]
61
+
62
+ def _relpath(self, path):
63
+ if isinstance(path, str):
64
+ if not self.path:
65
+ return path
66
+ # We need to account for S3FileSystem returning paths that do not
67
+ # start with a '/'
68
+ if path == self.path or (
69
+ self.path.startswith(self.fs.sep) and path == self.path[1:]
70
+ ):
71
+ return ""
72
+ prefix = self.path + self.fs.sep
73
+ if self.path.startswith(self.fs.sep) and not path.startswith(self.fs.sep):
74
+ prefix = prefix[1:]
75
+ assert path.startswith(prefix)
76
+ return path[len(prefix) :]
77
+ return [self._relpath(_path) for _path in path]
78
+
79
+ # Wrappers below
80
+
81
+ @property
82
+ def sep(self):
83
+ return self.fs.sep
84
+
85
+ async def set_session(self, *args, **kwargs):
86
+ return await self.fs.set_session(*args, **kwargs)
87
+
88
+ async def _rm_file(self, path, **kwargs):
89
+ return await self.fs._rm_file(self._join(path), **kwargs)
90
+
91
+ def rm_file(self, path, **kwargs):
92
+ return self.fs.rm_file(self._join(path), **kwargs)
93
+
94
+ async def _rm(self, path, *args, **kwargs):
95
+ return await self.fs._rm(self._join(path), *args, **kwargs)
96
+
97
+ def rm(self, path, *args, **kwargs):
98
+ return self.fs.rm(self._join(path), *args, **kwargs)
99
+
100
+ def delete(self, path, recursive=False, maxdepth=None):
101
+ return self.fs.delete(self._join(path), recursive=recursive, maxdepth=maxdepth)
102
+
103
+ async def _cp_file(self, path1, path2, **kwargs):
104
+ return await self.fs._cp_file(self._join(path1), self._join(path2), **kwargs)
105
+
106
+ def cp_file(self, path1, path2, **kwargs):
107
+ return self.fs.cp_file(self._join(path1), self._join(path2), **kwargs)
108
+
109
+ async def _copy(
110
+ self,
111
+ path1,
112
+ path2,
113
+ *args,
114
+ **kwargs,
115
+ ):
116
+ return await self.fs._copy(
117
+ self._join(path1),
118
+ self._join(path2),
119
+ *args,
120
+ **kwargs,
121
+ )
122
+
123
+ def copy(self, path1, path2, *args, **kwargs):
124
+ return self.fs.copy(
125
+ self._join(path1),
126
+ self._join(path2),
127
+ *args,
128
+ **kwargs,
129
+ )
130
+
131
+ async def _pipe(self, path, *args, **kwargs):
132
+ return await self.fs._pipe(self._join(path), *args, **kwargs)
133
+
134
+ def pipe(self, path, *args, **kwargs):
135
+ return self.fs.pipe(self._join(path), *args, **kwargs)
136
+
137
+ async def _pipe_file(self, path, *args, **kwargs):
138
+ return await self.fs._pipe_file(self._join(path), *args, **kwargs)
139
+
140
+ def pipe_file(self, path, *args, **kwargs):
141
+ return self.fs.pipe_file(self._join(path), *args, **kwargs)
142
+
143
+ def write_text(
144
+ self, path, value, encoding=None, errors=None, newline=None, **kwargs
145
+ ):
146
+ return self.fs.write_text(
147
+ self._join(path),
148
+ value,
149
+ encoding=encoding,
150
+ errors=errors,
151
+ newline=newline,
152
+ **kwargs,
153
+ )
154
+
155
+ async def _cat_file(self, path, *args, **kwargs):
156
+ return await self.fs._cat_file(self._join(path), *args, **kwargs)
157
+
158
+ def cat_file(self, path, *args, **kwargs):
159
+ return self.fs.cat_file(self._join(path), *args, **kwargs)
160
+
161
+ async def _cat(self, path, *args, **kwargs):
162
+ ret = await self.fs._cat(
163
+ self._join(path),
164
+ *args,
165
+ **kwargs,
166
+ )
167
+
168
+ if isinstance(ret, dict):
169
+ return {self._relpath(key): value for key, value in ret.items()}
170
+
171
+ return ret
172
+
173
+ def cat(self, path, *args, **kwargs):
174
+ ret = self.fs.cat(
175
+ self._join(path),
176
+ *args,
177
+ **kwargs,
178
+ )
179
+
180
+ if isinstance(ret, dict):
181
+ return {self._relpath(key): value for key, value in ret.items()}
182
+
183
+ return ret
184
+
185
+ async def _put_file(self, lpath, rpath, **kwargs):
186
+ return await self.fs._put_file(lpath, self._join(rpath), **kwargs)
187
+
188
+ def put_file(self, lpath, rpath, **kwargs):
189
+ return self.fs.put_file(lpath, self._join(rpath), **kwargs)
190
+
191
+ async def _put(
192
+ self,
193
+ lpath,
194
+ rpath,
195
+ *args,
196
+ **kwargs,
197
+ ):
198
+ return await self.fs._put(
199
+ lpath,
200
+ self._join(rpath),
201
+ *args,
202
+ **kwargs,
203
+ )
204
+
205
+ def put(self, lpath, rpath, *args, **kwargs):
206
+ return self.fs.put(
207
+ lpath,
208
+ self._join(rpath),
209
+ *args,
210
+ **kwargs,
211
+ )
212
+
213
+ async def _get_file(self, rpath, lpath, **kwargs):
214
+ return await self.fs._get_file(self._join(rpath), lpath, **kwargs)
215
+
216
+ def get_file(self, rpath, lpath, **kwargs):
217
+ return self.fs.get_file(self._join(rpath), lpath, **kwargs)
218
+
219
+ async def _get(self, rpath, *args, **kwargs):
220
+ return await self.fs._get(self._join(rpath), *args, **kwargs)
221
+
222
+ def get(self, rpath, *args, **kwargs):
223
+ return self.fs.get(self._join(rpath), *args, **kwargs)
224
+
225
+ async def _isfile(self, path):
226
+ return await self.fs._isfile(self._join(path))
227
+
228
+ def isfile(self, path):
229
+ return self.fs.isfile(self._join(path))
230
+
231
+ async def _isdir(self, path):
232
+ return await self.fs._isdir(self._join(path))
233
+
234
+ def isdir(self, path):
235
+ return self.fs.isdir(self._join(path))
236
+
237
+ async def _size(self, path):
238
+ return await self.fs._size(self._join(path))
239
+
240
+ def size(self, path):
241
+ return self.fs.size(self._join(path))
242
+
243
+ async def _exists(self, path):
244
+ return await self.fs._exists(self._join(path))
245
+
246
+ def exists(self, path):
247
+ return self.fs.exists(self._join(path))
248
+
249
+ async def _info(self, path, **kwargs):
250
+ info = await self.fs._info(self._join(path), **kwargs)
251
+ info = info.copy()
252
+ info["name"] = self._relpath(info["name"])
253
+ return info
254
+
255
+ def info(self, path, **kwargs):
256
+ info = self.fs.info(self._join(path), **kwargs)
257
+ info = info.copy()
258
+ info["name"] = self._relpath(info["name"])
259
+ return info
260
+
261
+ async def _ls(self, path, detail=True, **kwargs):
262
+ ret = (await self.fs._ls(self._join(path), detail=detail, **kwargs)).copy()
263
+ if detail:
264
+ out = []
265
+ for entry in ret:
266
+ entry = entry.copy()
267
+ entry["name"] = self._relpath(entry["name"])
268
+ out.append(entry)
269
+ return out
270
+
271
+ return self._relpath(ret)
272
+
273
+ def ls(self, path, detail=True, **kwargs):
274
+ ret = self.fs.ls(self._join(path), detail=detail, **kwargs).copy()
275
+ if detail:
276
+ out = []
277
+ for entry in ret:
278
+ entry = entry.copy()
279
+ entry["name"] = self._relpath(entry["name"])
280
+ out.append(entry)
281
+ return out
282
+
283
+ return self._relpath(ret)
284
+
285
+ async def _walk(self, path, *args, **kwargs):
286
+ async for root, dirs, files in self.fs._walk(self._join(path), *args, **kwargs):
287
+ yield self._relpath(root), dirs, files
288
+
289
+ def walk(self, path, *args, **kwargs):
290
+ for root, dirs, files in self.fs.walk(self._join(path), *args, **kwargs):
291
+ yield self._relpath(root), dirs, files
292
+
293
+ async def _glob(self, path, **kwargs):
294
+ detail = kwargs.get("detail", False)
295
+ ret = await self.fs._glob(self._join(path), **kwargs)
296
+ if detail:
297
+ return {self._relpath(path): info for path, info in ret.items()}
298
+ return self._relpath(ret)
299
+
300
+ def glob(self, path, **kwargs):
301
+ detail = kwargs.get("detail", False)
302
+ ret = self.fs.glob(self._join(path), **kwargs)
303
+ if detail:
304
+ return {self._relpath(path): info for path, info in ret.items()}
305
+ return self._relpath(ret)
306
+
307
+ async def _du(self, path, *args, **kwargs):
308
+ total = kwargs.get("total", True)
309
+ ret = await self.fs._du(self._join(path), *args, **kwargs)
310
+ if total:
311
+ return ret
312
+
313
+ return {self._relpath(path): size for path, size in ret.items()}
314
+
315
+ def du(self, path, *args, **kwargs):
316
+ total = kwargs.get("total", True)
317
+ ret = self.fs.du(self._join(path), *args, **kwargs)
318
+ if total:
319
+ return ret
320
+
321
+ return {self._relpath(path): size for path, size in ret.items()}
322
+
323
+ async def _find(self, path, *args, **kwargs):
324
+ detail = kwargs.get("detail", False)
325
+ ret = await self.fs._find(self._join(path), *args, **kwargs)
326
+ if detail:
327
+ return {self._relpath(path): info for path, info in ret.items()}
328
+ return self._relpath(ret)
329
+
330
+ def find(self, path, *args, **kwargs):
331
+ detail = kwargs.get("detail", False)
332
+ ret = self.fs.find(self._join(path), *args, **kwargs)
333
+ if detail:
334
+ return {self._relpath(path): info for path, info in ret.items()}
335
+ return self._relpath(ret)
336
+
337
+ async def _expand_path(self, path, *args, **kwargs):
338
+ return self._relpath(
339
+ await self.fs._expand_path(self._join(path), *args, **kwargs)
340
+ )
341
+
342
+ def expand_path(self, path, *args, **kwargs):
343
+ return self._relpath(self.fs.expand_path(self._join(path), *args, **kwargs))
344
+
345
+ async def _mkdir(self, path, *args, **kwargs):
346
+ return await self.fs._mkdir(self._join(path), *args, **kwargs)
347
+
348
+ def mkdir(self, path, *args, **kwargs):
349
+ return self.fs.mkdir(self._join(path), *args, **kwargs)
350
+
351
+ async def _makedirs(self, path, *args, **kwargs):
352
+ return await self.fs._makedirs(self._join(path), *args, **kwargs)
353
+
354
+ def makedirs(self, path, *args, **kwargs):
355
+ return self.fs.makedirs(self._join(path), *args, **kwargs)
356
+
357
+ def rmdir(self, path):
358
+ return self.fs.rmdir(self._join(path))
359
+
360
+ def mv(self, path1, path2, **kwargs):
361
+ return self.fs.mv(
362
+ self._join(path1),
363
+ self._join(path2),
364
+ **kwargs,
365
+ )
366
+
367
+ def touch(self, path, **kwargs):
368
+ return self.fs.touch(self._join(path), **kwargs)
369
+
370
+ def created(self, path):
371
+ return self.fs.created(self._join(path))
372
+
373
+ def modified(self, path):
374
+ return self.fs.modified(self._join(path))
375
+
376
+ def sign(self, path, *args, **kwargs):
377
+ return self.fs.sign(self._join(path), *args, **kwargs)
378
+
379
+ def __repr__(self):
380
+ return f"{self.__class__.__qualname__}(path='{self.path}', fs={self.fs})"
381
+
382
+ def open(
383
+ self,
384
+ path,
385
+ *args,
386
+ **kwargs,
387
+ ):
388
+ return self.fs.open(
389
+ self._join(path),
390
+ *args,
391
+ **kwargs,
392
+ )
393
+
394
+ async def open_async(
395
+ self,
396
+ path,
397
+ *args,
398
+ **kwargs,
399
+ ):
400
+ return await self.fs.open_async(
401
+ self._join(path),
402
+ *args,
403
+ **kwargs,
404
+ )
LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/fsspec/implementations/git.py ADDED
@@ -0,0 +1,114 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+
3
+ import pygit2
4
+
5
+ from fsspec.spec import AbstractFileSystem
6
+
7
+ from .memory import MemoryFile
8
+
9
+
10
+ class GitFileSystem(AbstractFileSystem):
11
+ """Browse the files of a local git repo at any hash/tag/branch
12
+
13
+ (experimental backend)
14
+ """
15
+
16
+ root_marker = ""
17
+ cachable = True
18
+
19
+ def __init__(self, path=None, fo=None, ref=None, **kwargs):
20
+ """
21
+
22
+ Parameters
23
+ ----------
24
+ path: str (optional)
25
+ Local location of the repo (uses current directory if not given).
26
+ May be deprecated in favour of ``fo``. When used with a higher
27
+ level function such as fsspec.open(), may be of the form
28
+ "git://[path-to-repo[:]][ref@]path/to/file" (but the actual
29
+ file path should not contain "@" or ":").
30
+ fo: str (optional)
31
+ Same as ``path``, but passed as part of a chained URL. This one
32
+ takes precedence if both are given.
33
+ ref: str (optional)
34
+ Reference to work with, could be a hash, tag or branch name. Defaults
35
+ to current working tree. Note that ``ls`` and ``open`` also take hash,
36
+ so this becomes the default for those operations
37
+ kwargs
38
+ """
39
+ super().__init__(**kwargs)
40
+ self.repo = pygit2.Repository(fo or path or os.getcwd())
41
+ self.ref = ref or "master"
42
+
43
+ @classmethod
44
+ def _strip_protocol(cls, path):
45
+ path = super()._strip_protocol(path).lstrip("/")
46
+ if ":" in path:
47
+ path = path.split(":", 1)[1]
48
+ if "@" in path:
49
+ path = path.split("@", 1)[1]
50
+ return path.lstrip("/")
51
+
52
+ def _path_to_object(self, path, ref):
53
+ comm, ref = self.repo.resolve_refish(ref or self.ref)
54
+ parts = path.split("/")
55
+ tree = comm.tree
56
+ for part in parts:
57
+ if part and isinstance(tree, pygit2.Tree):
58
+ if part not in tree:
59
+ raise FileNotFoundError(path)
60
+ tree = tree[part]
61
+ return tree
62
+
63
+ @staticmethod
64
+ def _get_kwargs_from_urls(path):
65
+ path = path.removeprefix("git://")
66
+ out = {}
67
+ if ":" in path:
68
+ out["path"], path = path.split(":", 1)
69
+ if "@" in path:
70
+ out["ref"], path = path.split("@", 1)
71
+ return out
72
+
73
+ @staticmethod
74
+ def _object_to_info(obj, path=None):
75
+ # obj.name and obj.filemode are None for the root tree!
76
+ is_dir = isinstance(obj, pygit2.Tree)
77
+ return {
78
+ "type": "directory" if is_dir else "file",
79
+ "name": (
80
+ "/".join([path, obj.name or ""]).lstrip("/") if path else obj.name
81
+ ),
82
+ "hex": str(obj.id),
83
+ "mode": "100644" if obj.filemode is None else f"{obj.filemode:o}",
84
+ "size": 0 if is_dir else obj.size,
85
+ }
86
+
87
+ def ls(self, path, detail=True, ref=None, **kwargs):
88
+ tree = self._path_to_object(self._strip_protocol(path), ref)
89
+ return [
90
+ GitFileSystem._object_to_info(obj, path)
91
+ if detail
92
+ else GitFileSystem._object_to_info(obj, path)["name"]
93
+ for obj in (tree if isinstance(tree, pygit2.Tree) else [tree])
94
+ ]
95
+
96
+ def info(self, path, ref=None, **kwargs):
97
+ tree = self._path_to_object(self._strip_protocol(path), ref)
98
+ return GitFileSystem._object_to_info(tree, path)
99
+
100
+ def ukey(self, path, ref=None):
101
+ return self.info(path, ref=ref)["hex"]
102
+
103
+ def _open(
104
+ self,
105
+ path,
106
+ mode="rb",
107
+ block_size=None,
108
+ autocommit=True,
109
+ cache_options=None,
110
+ ref=None,
111
+ **kwargs,
112
+ ):
113
+ obj = self._path_to_object(path, ref or self.ref)
114
+ return MemoryFile(data=obj.data)
LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/fsspec/implementations/webhdfs.py ADDED
@@ -0,0 +1,503 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # https://hadoop.apache.org/docs/r1.0.4/webhdfs.html
2
+
3
+ import logging
4
+ import os
5
+ import secrets
6
+ import shutil
7
+ import tempfile
8
+ import uuid
9
+ from contextlib import suppress
10
+ from datetime import datetime
11
+ from urllib.parse import quote
12
+
13
+ import requests
14
+
15
+ from ..spec import AbstractBufferedFile, AbstractFileSystem
16
+ from ..utils import infer_storage_options, tokenize
17
+
18
+ logger = logging.getLogger("webhdfs")
19
+
20
+
21
+ class WebHDFS(AbstractFileSystem):
22
+ """
23
+ Interface to HDFS over HTTP using the WebHDFS API. Supports also HttpFS gateways.
24
+
25
+ Four auth mechanisms are supported:
26
+
27
+ insecure: no auth is done, and the user is assumed to be whoever they
28
+ say they are (parameter ``user``), or a predefined value such as
29
+ "dr.who" if not given
30
+ spnego: when kerberos authentication is enabled, auth is negotiated by
31
+ requests_kerberos https://github.com/requests/requests-kerberos .
32
+ This establishes a session based on existing kinit login and/or
33
+ specified principal/password; parameters are passed with ``kerb_kwargs``
34
+ token: uses an existing Hadoop delegation token from another secured
35
+ service. Indeed, this client can also generate such tokens when
36
+ not insecure. Note that tokens expire, but can be renewed (by a
37
+ previously specified user) and may allow for proxying.
38
+ basic-auth: used when both parameter ``user`` and parameter ``password``
39
+ are provided.
40
+
41
+ """
42
+
43
+ tempdir = str(tempfile.gettempdir())
44
+ protocol = "webhdfs", "webHDFS"
45
+
46
+ def __init__(
47
+ self,
48
+ host,
49
+ port=50070,
50
+ kerberos=False,
51
+ token=None,
52
+ user=None,
53
+ password=None,
54
+ proxy_to=None,
55
+ kerb_kwargs=None,
56
+ data_proxy=None,
57
+ use_https=False,
58
+ session_cert=None,
59
+ session_verify=True,
60
+ **kwargs,
61
+ ):
62
+ """
63
+ Parameters
64
+ ----------
65
+ host: str
66
+ Name-node address
67
+ port: int
68
+ Port for webHDFS
69
+ kerberos: bool
70
+ Whether to authenticate with kerberos for this connection
71
+ token: str or None
72
+ If given, use this token on every call to authenticate. A user
73
+ and user-proxy may be encoded in the token and should not be also
74
+ given
75
+ user: str or None
76
+ If given, assert the user name to connect with
77
+ password: str or None
78
+ If given, assert the password to use for basic auth. If password
79
+ is provided, user must be provided also
80
+ proxy_to: str or None
81
+ If given, the user has the authority to proxy, and this value is
82
+ the user in who's name actions are taken
83
+ kerb_kwargs: dict
84
+ Any extra arguments for HTTPKerberosAuth, see
85
+ `<https://github.com/requests/requests-kerberos/blob/master/requests_kerberos/kerberos_.py>`_
86
+ data_proxy: dict, callable or None
87
+ If given, map data-node addresses. This can be necessary if the
88
+ HDFS cluster is behind a proxy, running on Docker or otherwise has
89
+ a mismatch between the host-names given by the name-node and the
90
+ address by which to refer to them from the client. If a dict,
91
+ maps host names ``host->data_proxy[host]``; if a callable, full
92
+ URLs are passed, and function must conform to
93
+ ``url->data_proxy(url)``.
94
+ use_https: bool
95
+ Whether to connect to the Name-node using HTTPS instead of HTTP
96
+ session_cert: str or Tuple[str, str] or None
97
+ Path to a certificate file, or tuple of (cert, key) files to use
98
+ for the requests.Session
99
+ session_verify: str, bool or None
100
+ Path to a certificate file to use for verifying the requests.Session.
101
+ kwargs
102
+ """
103
+ if self._cached:
104
+ return
105
+ super().__init__(**kwargs)
106
+ self.url = f"{'https' if use_https else 'http'}://{host}:{port}/webhdfs/v1"
107
+ self.kerb = kerberos
108
+ self.kerb_kwargs = kerb_kwargs or {}
109
+ self.pars = {}
110
+ self.proxy = data_proxy or {}
111
+ if token is not None:
112
+ if user is not None or proxy_to is not None:
113
+ raise ValueError(
114
+ "If passing a delegation token, must not set "
115
+ "user or proxy_to, as these are encoded in the"
116
+ " token"
117
+ )
118
+ self.pars["delegation"] = token
119
+ self.user = user
120
+ self.password = password
121
+
122
+ if password is not None:
123
+ if user is None:
124
+ raise ValueError(
125
+ "If passing a password, the user must also be"
126
+ "set in order to set up the basic-auth"
127
+ )
128
+ else:
129
+ if user is not None:
130
+ self.pars["user.name"] = user
131
+
132
+ if proxy_to is not None:
133
+ self.pars["doas"] = proxy_to
134
+ if kerberos and user is not None:
135
+ raise ValueError(
136
+ "If using Kerberos auth, do not specify the "
137
+ "user, this is handled by kinit."
138
+ )
139
+
140
+ self.session_cert = session_cert
141
+ self.session_verify = session_verify
142
+
143
+ self._connect()
144
+
145
+ self._fsid = f"webhdfs_{tokenize(host, port)}"
146
+
147
+ @property
148
+ def fsid(self):
149
+ return self._fsid
150
+
151
+ def _connect(self):
152
+ self.session = requests.Session()
153
+
154
+ if self.session_cert:
155
+ self.session.cert = self.session_cert
156
+
157
+ self.session.verify = self.session_verify
158
+
159
+ if self.kerb:
160
+ from requests_kerberos import HTTPKerberosAuth
161
+
162
+ self.session.auth = HTTPKerberosAuth(**self.kerb_kwargs)
163
+
164
+ if self.user is not None and self.password is not None:
165
+ from requests.auth import HTTPBasicAuth
166
+
167
+ self.session.auth = HTTPBasicAuth(self.user, self.password)
168
+
169
+ def _call(self, op, method="get", path=None, data=None, redirect=True, **kwargs):
170
+ path = self._strip_protocol(path) if path is not None else ""
171
+ url = self._apply_proxy(self.url + quote(path, safe="/="))
172
+ args = kwargs.copy()
173
+ args.update(self.pars)
174
+ args["op"] = op.upper()
175
+ logger.debug("sending %s with %s", url, method)
176
+ out = self.session.request(
177
+ method=method.upper(),
178
+ url=url,
179
+ params=args,
180
+ data=data,
181
+ allow_redirects=redirect,
182
+ )
183
+ if out.status_code in [400, 401, 403, 404, 500]:
184
+ try:
185
+ err = out.json()
186
+ msg = err["RemoteException"]["message"]
187
+ exp = err["RemoteException"]["exception"]
188
+ except (ValueError, KeyError):
189
+ pass
190
+ else:
191
+ if exp in ["IllegalArgumentException", "UnsupportedOperationException"]:
192
+ raise ValueError(msg)
193
+ elif exp in ["SecurityException", "AccessControlException"]:
194
+ raise PermissionError(msg)
195
+ elif exp in ["FileNotFoundException"]:
196
+ raise FileNotFoundError(msg)
197
+ else:
198
+ raise RuntimeError(msg)
199
+ out.raise_for_status()
200
+ return out
201
+
202
+ def _open(
203
+ self,
204
+ path,
205
+ mode="rb",
206
+ block_size=None,
207
+ autocommit=True,
208
+ replication=None,
209
+ permissions=None,
210
+ **kwargs,
211
+ ):
212
+ """
213
+
214
+ Parameters
215
+ ----------
216
+ path: str
217
+ File location
218
+ mode: str
219
+ 'rb', 'wb', etc.
220
+ block_size: int
221
+ Client buffer size for read-ahead or write buffer
222
+ autocommit: bool
223
+ If False, writes to temporary file that only gets put in final
224
+ location upon commit
225
+ replication: int
226
+ Number of copies of file on the cluster, write mode only
227
+ permissions: str or int
228
+ posix permissions, write mode only
229
+ kwargs
230
+
231
+ Returns
232
+ -------
233
+ WebHDFile instance
234
+ """
235
+ block_size = block_size or self.blocksize
236
+ return WebHDFile(
237
+ self,
238
+ path,
239
+ mode=mode,
240
+ block_size=block_size,
241
+ tempdir=self.tempdir,
242
+ autocommit=autocommit,
243
+ replication=replication,
244
+ permissions=permissions,
245
+ )
246
+
247
+ @staticmethod
248
+ def _process_info(info):
249
+ info["type"] = info["type"].lower()
250
+ info["size"] = info["length"]
251
+ return info
252
+
253
+ @classmethod
254
+ def _strip_protocol(cls, path):
255
+ return infer_storage_options(path)["path"]
256
+
257
+ @staticmethod
258
+ def _get_kwargs_from_urls(urlpath):
259
+ out = infer_storage_options(urlpath)
260
+ out.pop("path", None)
261
+ out.pop("protocol", None)
262
+ if "username" in out:
263
+ out["user"] = out.pop("username")
264
+ return out
265
+
266
+ def info(self, path):
267
+ out = self._call("GETFILESTATUS", path=path)
268
+ info = out.json()["FileStatus"]
269
+ info["name"] = path
270
+ return self._process_info(info)
271
+
272
+ def created(self, path):
273
+ """Return the created timestamp of a file as a datetime.datetime"""
274
+ # The API does not provide creation time, so we use modification time
275
+ info = self.info(path)
276
+ mtime = info.get("modificationTime", None)
277
+ if mtime is not None:
278
+ return datetime.fromtimestamp(mtime / 1000)
279
+ raise RuntimeError("Could not retrieve creation time (modification time).")
280
+
281
+ def modified(self, path):
282
+ """Return the modified timestamp of a file as a datetime.datetime"""
283
+ info = self.info(path)
284
+ mtime = info.get("modificationTime", None)
285
+ if mtime is not None:
286
+ return datetime.fromtimestamp(mtime / 1000)
287
+ raise RuntimeError("Could not retrieve modification time.")
288
+
289
+ def ls(self, path, detail=False, **kwargs):
290
+ out = self._call("LISTSTATUS", path=path)
291
+ infos = out.json()["FileStatuses"]["FileStatus"]
292
+ for info in infos:
293
+ self._process_info(info)
294
+ info["name"] = path.rstrip("/") + "/" + info["pathSuffix"]
295
+ if detail:
296
+ return sorted(infos, key=lambda i: i["name"])
297
+ else:
298
+ return sorted(info["name"] for info in infos)
299
+
300
+ def content_summary(self, path):
301
+ """Total numbers of files, directories and bytes under path"""
302
+ out = self._call("GETCONTENTSUMMARY", path=path)
303
+ return out.json()["ContentSummary"]
304
+
305
+ def ukey(self, path):
306
+ """Checksum info of file, giving method and result"""
307
+ out = self._call("GETFILECHECKSUM", path=path, redirect=False)
308
+ if "Location" in out.headers:
309
+ location = self._apply_proxy(out.headers["Location"])
310
+ out2 = self.session.get(location)
311
+ out2.raise_for_status()
312
+ return out2.json()["FileChecksum"]
313
+ else:
314
+ out.raise_for_status()
315
+ return out.json()["FileChecksum"]
316
+
317
+ def home_directory(self):
318
+ """Get user's home directory"""
319
+ out = self._call("GETHOMEDIRECTORY")
320
+ return out.json()["Path"]
321
+
322
+ def get_delegation_token(self, renewer=None):
323
+ """Retrieve token which can give the same authority to other uses
324
+
325
+ Parameters
326
+ ----------
327
+ renewer: str or None
328
+ User who may use this token; if None, will be current user
329
+ """
330
+ if renewer:
331
+ out = self._call("GETDELEGATIONTOKEN", renewer=renewer)
332
+ else:
333
+ out = self._call("GETDELEGATIONTOKEN")
334
+ t = out.json()["Token"]
335
+ if t is None:
336
+ raise ValueError("No token available for this user/security context")
337
+ return t["urlString"]
338
+
339
+ def renew_delegation_token(self, token):
340
+ """Make token live longer. Returns new expiry time"""
341
+ out = self._call("RENEWDELEGATIONTOKEN", method="put", token=token)
342
+ return out.json()["long"]
343
+
344
+ def cancel_delegation_token(self, token):
345
+ """Stop the token from being useful"""
346
+ self._call("CANCELDELEGATIONTOKEN", method="put", token=token)
347
+
348
+ def chmod(self, path, mod):
349
+ """Set the permission at path
350
+
351
+ Parameters
352
+ ----------
353
+ path: str
354
+ location to set (file or directory)
355
+ mod: str or int
356
+ posix epresentation or permission, give as oct string, e.g, '777'
357
+ or 0o777
358
+ """
359
+ self._call("SETPERMISSION", method="put", path=path, permission=mod)
360
+
361
+ def chown(self, path, owner=None, group=None):
362
+ """Change owning user and/or group"""
363
+ kwargs = {}
364
+ if owner is not None:
365
+ kwargs["owner"] = owner
366
+ if group is not None:
367
+ kwargs["group"] = group
368
+ self._call("SETOWNER", method="put", path=path, **kwargs)
369
+
370
+ def set_replication(self, path, replication):
371
+ """
372
+ Set file replication factor
373
+
374
+ Parameters
375
+ ----------
376
+ path: str
377
+ File location (not for directories)
378
+ replication: int
379
+ Number of copies of file on the cluster. Should be smaller than
380
+ number of data nodes; normally 3 on most systems.
381
+ """
382
+ self._call("SETREPLICATION", path=path, method="put", replication=replication)
383
+
384
+ def mkdir(self, path, **kwargs):
385
+ self._call("MKDIRS", method="put", path=path)
386
+
387
+ def makedirs(self, path, exist_ok=False):
388
+ if exist_ok is False and self.exists(path):
389
+ raise FileExistsError(path)
390
+ self.mkdir(path)
391
+
392
+ def mv(self, path1, path2, **kwargs):
393
+ self._call("RENAME", method="put", path=path1, destination=path2)
394
+
395
+ def rm(self, path, recursive=False, **kwargs):
396
+ self._call(
397
+ "DELETE",
398
+ method="delete",
399
+ path=path,
400
+ recursive="true" if recursive else "false",
401
+ )
402
+
403
+ def rm_file(self, path, **kwargs):
404
+ self.rm(path)
405
+
406
+ def cp_file(self, lpath, rpath, **kwargs):
407
+ with self.open(lpath) as lstream:
408
+ tmp_fname = "/".join([self._parent(rpath), f".tmp.{secrets.token_hex(16)}"])
409
+ # Perform an atomic copy (stream to a temporary file and
410
+ # move it to the actual destination).
411
+ try:
412
+ with self.open(tmp_fname, "wb") as rstream:
413
+ shutil.copyfileobj(lstream, rstream)
414
+ self.mv(tmp_fname, rpath)
415
+ except BaseException:
416
+ with suppress(FileNotFoundError):
417
+ self.rm(tmp_fname)
418
+ raise
419
+
420
+ def _apply_proxy(self, location):
421
+ if self.proxy and callable(self.proxy):
422
+ location = self.proxy(location)
423
+ elif self.proxy:
424
+ # as a dict
425
+ for k, v in self.proxy.items():
426
+ location = location.replace(k, v, 1)
427
+ return location
428
+
429
+
430
+ class WebHDFile(AbstractBufferedFile):
431
+ """A file living in HDFS over webHDFS"""
432
+
433
+ def __init__(self, fs, path, **kwargs):
434
+ super().__init__(fs, path, **kwargs)
435
+ kwargs = kwargs.copy()
436
+ if kwargs.get("permissions", None) is None:
437
+ kwargs.pop("permissions", None)
438
+ if kwargs.get("replication", None) is None:
439
+ kwargs.pop("replication", None)
440
+ self.permissions = kwargs.pop("permissions", 511)
441
+ tempdir = kwargs.pop("tempdir")
442
+ if kwargs.pop("autocommit", False) is False:
443
+ self.target = self.path
444
+ self.path = os.path.join(tempdir, str(uuid.uuid4()))
445
+
446
+ def _upload_chunk(self, final=False):
447
+ """Write one part of a multi-block file upload
448
+
449
+ Parameters
450
+ ==========
451
+ final: bool
452
+ This is the last block, so should complete file, if
453
+ self.autocommit is True.
454
+ """
455
+ out = self.fs.session.post(
456
+ self.location,
457
+ data=self.buffer.getvalue(),
458
+ headers={"content-type": "application/octet-stream"},
459
+ )
460
+ out.raise_for_status()
461
+ return True
462
+
463
+ def _initiate_upload(self):
464
+ """Create remote file/upload"""
465
+ kwargs = self.kwargs.copy()
466
+ if "a" in self.mode:
467
+ op, method = "APPEND", "POST"
468
+ else:
469
+ op, method = "CREATE", "PUT"
470
+ kwargs["overwrite"] = "true"
471
+ out = self.fs._call(op, method, self.path, redirect=False, **kwargs)
472
+ location = self.fs._apply_proxy(out.headers["Location"])
473
+ if "w" in self.mode:
474
+ # create empty file to append to
475
+ out2 = self.fs.session.put(
476
+ location, headers={"content-type": "application/octet-stream"}
477
+ )
478
+ out2.raise_for_status()
479
+ # after creating empty file, change location to append to
480
+ out2 = self.fs._call("APPEND", "POST", self.path, redirect=False, **kwargs)
481
+ self.location = self.fs._apply_proxy(out2.headers["Location"])
482
+
483
+ def _fetch_range(self, start, end):
484
+ start = max(start, 0)
485
+ end = min(self.size, end)
486
+ if start >= end or start >= self.size:
487
+ return b""
488
+ out = self.fs._call(
489
+ "OPEN", path=self.path, offset=start, length=end - start, redirect=False
490
+ )
491
+ out.raise_for_status()
492
+ if "Location" in out.headers:
493
+ location = out.headers["Location"]
494
+ out2 = self.fs.session.get(self.fs._apply_proxy(location))
495
+ return out2.content
496
+ else:
497
+ return out.content
498
+
499
+ def commit(self):
500
+ self.fs.mv(self.path, self.target)
501
+
502
+ def discard(self):
503
+ self.fs.rm(self.path)
LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/numpy/_utils/_convertions.py ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ A set of methods retained from np.compat module that
3
+ are still used across codebase.
4
+ """
5
+
6
+ __all__ = ["asunicode", "asbytes"]
7
+
8
+
9
+ def asunicode(s):
10
+ if isinstance(s, bytes):
11
+ return s.decode('latin1')
12
+ return str(s)
13
+
14
+
15
+ def asbytes(s):
16
+ if isinstance(s, bytes):
17
+ return s
18
+ return str(s).encode('latin1')
LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/numpy/_utils/_pep440.py ADDED
@@ -0,0 +1,487 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Utility to compare pep440 compatible version strings.
2
+
3
+ The LooseVersion and StrictVersion classes that distutils provides don't
4
+ work; they don't recognize anything like alpha/beta/rc/dev versions.
5
+ """
6
+
7
+ # Copyright (c) Donald Stufft and individual contributors.
8
+ # All rights reserved.
9
+
10
+ # Redistribution and use in source and binary forms, with or without
11
+ # modification, are permitted provided that the following conditions are met:
12
+
13
+ # 1. Redistributions of source code must retain the above copyright notice,
14
+ # this list of conditions and the following disclaimer.
15
+
16
+ # 2. Redistributions in binary form must reproduce the above copyright
17
+ # notice, this list of conditions and the following disclaimer in the
18
+ # documentation and/or other materials provided with the distribution.
19
+
20
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21
+ # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22
+ # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23
+ # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
24
+ # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25
+ # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26
+ # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27
+ # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28
+ # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29
+ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30
+ # POSSIBILITY OF SUCH DAMAGE.
31
+
32
+ import collections
33
+ import itertools
34
+ import re
35
+
36
+
37
+ __all__ = [
38
+ "parse", "Version", "LegacyVersion", "InvalidVersion", "VERSION_PATTERN",
39
+ ]
40
+
41
+
42
+ # BEGIN packaging/_structures.py
43
+
44
+
45
+ class Infinity:
46
+ def __repr__(self):
47
+ return "Infinity"
48
+
49
+ def __hash__(self):
50
+ return hash(repr(self))
51
+
52
+ def __lt__(self, other):
53
+ return False
54
+
55
+ def __le__(self, other):
56
+ return False
57
+
58
+ def __eq__(self, other):
59
+ return isinstance(other, self.__class__)
60
+
61
+ def __ne__(self, other):
62
+ return not isinstance(other, self.__class__)
63
+
64
+ def __gt__(self, other):
65
+ return True
66
+
67
+ def __ge__(self, other):
68
+ return True
69
+
70
+ def __neg__(self):
71
+ return NegativeInfinity
72
+
73
+
74
+ Infinity = Infinity()
75
+
76
+
77
+ class NegativeInfinity:
78
+ def __repr__(self):
79
+ return "-Infinity"
80
+
81
+ def __hash__(self):
82
+ return hash(repr(self))
83
+
84
+ def __lt__(self, other):
85
+ return True
86
+
87
+ def __le__(self, other):
88
+ return True
89
+
90
+ def __eq__(self, other):
91
+ return isinstance(other, self.__class__)
92
+
93
+ def __ne__(self, other):
94
+ return not isinstance(other, self.__class__)
95
+
96
+ def __gt__(self, other):
97
+ return False
98
+
99
+ def __ge__(self, other):
100
+ return False
101
+
102
+ def __neg__(self):
103
+ return Infinity
104
+
105
+
106
+ # BEGIN packaging/version.py
107
+
108
+
109
+ NegativeInfinity = NegativeInfinity()
110
+
111
+ _Version = collections.namedtuple(
112
+ "_Version",
113
+ ["epoch", "release", "dev", "pre", "post", "local"],
114
+ )
115
+
116
+
117
+ def parse(version):
118
+ """
119
+ Parse the given version string and return either a :class:`Version` object
120
+ or a :class:`LegacyVersion` object depending on if the given version is
121
+ a valid PEP 440 version or a legacy version.
122
+ """
123
+ try:
124
+ return Version(version)
125
+ except InvalidVersion:
126
+ return LegacyVersion(version)
127
+
128
+
129
+ class InvalidVersion(ValueError):
130
+ """
131
+ An invalid version was found, users should refer to PEP 440.
132
+ """
133
+
134
+
135
+ class _BaseVersion:
136
+
137
+ def __hash__(self):
138
+ return hash(self._key)
139
+
140
+ def __lt__(self, other):
141
+ return self._compare(other, lambda s, o: s < o)
142
+
143
+ def __le__(self, other):
144
+ return self._compare(other, lambda s, o: s <= o)
145
+
146
+ def __eq__(self, other):
147
+ return self._compare(other, lambda s, o: s == o)
148
+
149
+ def __ge__(self, other):
150
+ return self._compare(other, lambda s, o: s >= o)
151
+
152
+ def __gt__(self, other):
153
+ return self._compare(other, lambda s, o: s > o)
154
+
155
+ def __ne__(self, other):
156
+ return self._compare(other, lambda s, o: s != o)
157
+
158
+ def _compare(self, other, method):
159
+ if not isinstance(other, _BaseVersion):
160
+ return NotImplemented
161
+
162
+ return method(self._key, other._key)
163
+
164
+
165
+ class LegacyVersion(_BaseVersion):
166
+
167
+ def __init__(self, version):
168
+ self._version = str(version)
169
+ self._key = _legacy_cmpkey(self._version)
170
+
171
+ def __str__(self):
172
+ return self._version
173
+
174
+ def __repr__(self):
175
+ return "<LegacyVersion({0})>".format(repr(str(self)))
176
+
177
+ @property
178
+ def public(self):
179
+ return self._version
180
+
181
+ @property
182
+ def base_version(self):
183
+ return self._version
184
+
185
+ @property
186
+ def local(self):
187
+ return None
188
+
189
+ @property
190
+ def is_prerelease(self):
191
+ return False
192
+
193
+ @property
194
+ def is_postrelease(self):
195
+ return False
196
+
197
+
198
+ _legacy_version_component_re = re.compile(
199
+ r"(\d+ | [a-z]+ | \.| -)", re.VERBOSE,
200
+ )
201
+
202
+ _legacy_version_replacement_map = {
203
+ "pre": "c", "preview": "c", "-": "final-", "rc": "c", "dev": "@",
204
+ }
205
+
206
+
207
+ def _parse_version_parts(s):
208
+ for part in _legacy_version_component_re.split(s):
209
+ part = _legacy_version_replacement_map.get(part, part)
210
+
211
+ if not part or part == ".":
212
+ continue
213
+
214
+ if part[:1] in "0123456789":
215
+ # pad for numeric comparison
216
+ yield part.zfill(8)
217
+ else:
218
+ yield "*" + part
219
+
220
+ # ensure that alpha/beta/candidate are before final
221
+ yield "*final"
222
+
223
+
224
+ def _legacy_cmpkey(version):
225
+ # We hardcode an epoch of -1 here. A PEP 440 version can only have an epoch
226
+ # greater than or equal to 0. This will effectively put the LegacyVersion,
227
+ # which uses the defacto standard originally implemented by setuptools,
228
+ # as before all PEP 440 versions.
229
+ epoch = -1
230
+
231
+ # This scheme is taken from pkg_resources.parse_version setuptools prior to
232
+ # its adoption of the packaging library.
233
+ parts = []
234
+ for part in _parse_version_parts(version.lower()):
235
+ if part.startswith("*"):
236
+ # remove "-" before a prerelease tag
237
+ if part < "*final":
238
+ while parts and parts[-1] == "*final-":
239
+ parts.pop()
240
+
241
+ # remove trailing zeros from each series of numeric parts
242
+ while parts and parts[-1] == "00000000":
243
+ parts.pop()
244
+
245
+ parts.append(part)
246
+ parts = tuple(parts)
247
+
248
+ return epoch, parts
249
+
250
+
251
+ # Deliberately not anchored to the start and end of the string, to make it
252
+ # easier for 3rd party code to reuse
253
+ VERSION_PATTERN = r"""
254
+ v?
255
+ (?:
256
+ (?:(?P<epoch>[0-9]+)!)? # epoch
257
+ (?P<release>[0-9]+(?:\.[0-9]+)*) # release segment
258
+ (?P<pre> # pre-release
259
+ [-_\.]?
260
+ (?P<pre_l>(a|b|c|rc|alpha|beta|pre|preview))
261
+ [-_\.]?
262
+ (?P<pre_n>[0-9]+)?
263
+ )?
264
+ (?P<post> # post release
265
+ (?:-(?P<post_n1>[0-9]+))
266
+ |
267
+ (?:
268
+ [-_\.]?
269
+ (?P<post_l>post|rev|r)
270
+ [-_\.]?
271
+ (?P<post_n2>[0-9]+)?
272
+ )
273
+ )?
274
+ (?P<dev> # dev release
275
+ [-_\.]?
276
+ (?P<dev_l>dev)
277
+ [-_\.]?
278
+ (?P<dev_n>[0-9]+)?
279
+ )?
280
+ )
281
+ (?:\+(?P<local>[a-z0-9]+(?:[-_\.][a-z0-9]+)*))? # local version
282
+ """
283
+
284
+
285
+ class Version(_BaseVersion):
286
+
287
+ _regex = re.compile(
288
+ r"^\s*" + VERSION_PATTERN + r"\s*$",
289
+ re.VERBOSE | re.IGNORECASE,
290
+ )
291
+
292
+ def __init__(self, version):
293
+ # Validate the version and parse it into pieces
294
+ match = self._regex.search(version)
295
+ if not match:
296
+ raise InvalidVersion("Invalid version: '{0}'".format(version))
297
+
298
+ # Store the parsed out pieces of the version
299
+ self._version = _Version(
300
+ epoch=int(match.group("epoch")) if match.group("epoch") else 0,
301
+ release=tuple(int(i) for i in match.group("release").split(".")),
302
+ pre=_parse_letter_version(
303
+ match.group("pre_l"),
304
+ match.group("pre_n"),
305
+ ),
306
+ post=_parse_letter_version(
307
+ match.group("post_l"),
308
+ match.group("post_n1") or match.group("post_n2"),
309
+ ),
310
+ dev=_parse_letter_version(
311
+ match.group("dev_l"),
312
+ match.group("dev_n"),
313
+ ),
314
+ local=_parse_local_version(match.group("local")),
315
+ )
316
+
317
+ # Generate a key which will be used for sorting
318
+ self._key = _cmpkey(
319
+ self._version.epoch,
320
+ self._version.release,
321
+ self._version.pre,
322
+ self._version.post,
323
+ self._version.dev,
324
+ self._version.local,
325
+ )
326
+
327
+ def __repr__(self):
328
+ return "<Version({0})>".format(repr(str(self)))
329
+
330
+ def __str__(self):
331
+ parts = []
332
+
333
+ # Epoch
334
+ if self._version.epoch != 0:
335
+ parts.append("{0}!".format(self._version.epoch))
336
+
337
+ # Release segment
338
+ parts.append(".".join(str(x) for x in self._version.release))
339
+
340
+ # Pre-release
341
+ if self._version.pre is not None:
342
+ parts.append("".join(str(x) for x in self._version.pre))
343
+
344
+ # Post-release
345
+ if self._version.post is not None:
346
+ parts.append(".post{0}".format(self._version.post[1]))
347
+
348
+ # Development release
349
+ if self._version.dev is not None:
350
+ parts.append(".dev{0}".format(self._version.dev[1]))
351
+
352
+ # Local version segment
353
+ if self._version.local is not None:
354
+ parts.append(
355
+ "+{0}".format(".".join(str(x) for x in self._version.local))
356
+ )
357
+
358
+ return "".join(parts)
359
+
360
+ @property
361
+ def public(self):
362
+ return str(self).split("+", 1)[0]
363
+
364
+ @property
365
+ def base_version(self):
366
+ parts = []
367
+
368
+ # Epoch
369
+ if self._version.epoch != 0:
370
+ parts.append("{0}!".format(self._version.epoch))
371
+
372
+ # Release segment
373
+ parts.append(".".join(str(x) for x in self._version.release))
374
+
375
+ return "".join(parts)
376
+
377
+ @property
378
+ def local(self):
379
+ version_string = str(self)
380
+ if "+" in version_string:
381
+ return version_string.split("+", 1)[1]
382
+
383
+ @property
384
+ def is_prerelease(self):
385
+ return bool(self._version.dev or self._version.pre)
386
+
387
+ @property
388
+ def is_postrelease(self):
389
+ return bool(self._version.post)
390
+
391
+
392
+ def _parse_letter_version(letter, number):
393
+ if letter:
394
+ # We assume there is an implicit 0 in a pre-release if there is
395
+ # no numeral associated with it.
396
+ if number is None:
397
+ number = 0
398
+
399
+ # We normalize any letters to their lower-case form
400
+ letter = letter.lower()
401
+
402
+ # We consider some words to be alternate spellings of other words and
403
+ # in those cases we want to normalize the spellings to our preferred
404
+ # spelling.
405
+ if letter == "alpha":
406
+ letter = "a"
407
+ elif letter == "beta":
408
+ letter = "b"
409
+ elif letter in ["c", "pre", "preview"]:
410
+ letter = "rc"
411
+ elif letter in ["rev", "r"]:
412
+ letter = "post"
413
+
414
+ return letter, int(number)
415
+ if not letter and number:
416
+ # We assume that if we are given a number but not given a letter,
417
+ # then this is using the implicit post release syntax (e.g., 1.0-1)
418
+ letter = "post"
419
+
420
+ return letter, int(number)
421
+
422
+
423
+ _local_version_seperators = re.compile(r"[\._-]")
424
+
425
+
426
+ def _parse_local_version(local):
427
+ """
428
+ Takes a string like abc.1.twelve and turns it into ("abc", 1, "twelve").
429
+ """
430
+ if local is not None:
431
+ return tuple(
432
+ part.lower() if not part.isdigit() else int(part)
433
+ for part in _local_version_seperators.split(local)
434
+ )
435
+
436
+
437
+ def _cmpkey(epoch, release, pre, post, dev, local):
438
+ # When we compare a release version, we want to compare it with all of the
439
+ # trailing zeros removed. So we'll use a reverse the list, drop all the now
440
+ # leading zeros until we come to something non-zero, then take the rest,
441
+ # re-reverse it back into the correct order, and make it a tuple and use
442
+ # that for our sorting key.
443
+ release = tuple(
444
+ reversed(list(
445
+ itertools.dropwhile(
446
+ lambda x: x == 0,
447
+ reversed(release),
448
+ )
449
+ ))
450
+ )
451
+
452
+ # We need to "trick" the sorting algorithm to put 1.0.dev0 before 1.0a0.
453
+ # We'll do this by abusing the pre-segment, but we _only_ want to do this
454
+ # if there is no pre- or a post-segment. If we have one of those, then
455
+ # the normal sorting rules will handle this case correctly.
456
+ if pre is None and post is None and dev is not None:
457
+ pre = -Infinity
458
+ # Versions without a pre-release (except as noted above) should sort after
459
+ # those with one.
460
+ elif pre is None:
461
+ pre = Infinity
462
+
463
+ # Versions without a post-segment should sort before those with one.
464
+ if post is None:
465
+ post = -Infinity
466
+
467
+ # Versions without a development segment should sort after those with one.
468
+ if dev is None:
469
+ dev = Infinity
470
+
471
+ if local is None:
472
+ # Versions without a local segment should sort before those with one.
473
+ local = -Infinity
474
+ else:
475
+ # Versions with a local segment need that segment parsed to implement
476
+ # the sorting rules in PEP440.
477
+ # - Alphanumeric segments sort before numeric segments
478
+ # - Alphanumeric segments sort lexicographically
479
+ # - Numeric segments sort numerically
480
+ # - Shorter versions sort before longer versions when the prefixes
481
+ # match exactly
482
+ local = tuple(
483
+ (i, "") if isinstance(i, int) else (-Infinity, i)
484
+ for i in local
485
+ )
486
+
487
+ return epoch, release, pre, post, dev, local
LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/numpy/typing/tests/data/reveal/arraysetops.pyi ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import sys
2
+ from typing import Any
3
+
4
+ import numpy as np
5
+ import numpy.typing as npt
6
+
7
+ if sys.version_info >= (3, 11):
8
+ from typing import assert_type
9
+ else:
10
+ from typing_extensions import assert_type
11
+
12
+ AR_b: npt.NDArray[np.bool_]
13
+ AR_i8: npt.NDArray[np.int64]
14
+ AR_f8: npt.NDArray[np.float64]
15
+ AR_M: npt.NDArray[np.datetime64]
16
+ AR_O: npt.NDArray[np.object_]
17
+
18
+ AR_LIKE_f8: list[float]
19
+
20
+ assert_type(np.ediff1d(AR_b), npt.NDArray[np.int8])
21
+ assert_type(np.ediff1d(AR_i8, to_end=[1, 2, 3]), npt.NDArray[np.int64])
22
+ assert_type(np.ediff1d(AR_M), npt.NDArray[np.timedelta64])
23
+ assert_type(np.ediff1d(AR_O), npt.NDArray[np.object_])
24
+ assert_type(np.ediff1d(AR_LIKE_f8, to_begin=[1, 1.5]), npt.NDArray[Any])
25
+
26
+ assert_type(np.intersect1d(AR_i8, AR_i8), npt.NDArray[np.int64])
27
+ assert_type(np.intersect1d(AR_M, AR_M, assume_unique=True), npt.NDArray[np.datetime64])
28
+ assert_type(np.intersect1d(AR_f8, AR_i8), npt.NDArray[Any])
29
+ assert_type(np.intersect1d(AR_f8, AR_f8, return_indices=True), tuple[npt.NDArray[np.float64], npt.NDArray[np.intp], npt.NDArray[np.intp]])
30
+
31
+ assert_type(np.setxor1d(AR_i8, AR_i8), npt.NDArray[np.int64])
32
+ assert_type(np.setxor1d(AR_M, AR_M, assume_unique=True), npt.NDArray[np.datetime64])
33
+ assert_type(np.setxor1d(AR_f8, AR_i8), npt.NDArray[Any])
34
+
35
+ assert_type(np.in1d(AR_i8, AR_i8), npt.NDArray[np.bool_])
36
+ assert_type(np.in1d(AR_M, AR_M, assume_unique=True), npt.NDArray[np.bool_])
37
+ assert_type(np.in1d(AR_f8, AR_i8), npt.NDArray[np.bool_])
38
+ assert_type(np.in1d(AR_f8, AR_LIKE_f8, invert=True), npt.NDArray[np.bool_])
39
+
40
+ assert_type(np.isin(AR_i8, AR_i8), npt.NDArray[np.bool_])
41
+ assert_type(np.isin(AR_M, AR_M, assume_unique=True), npt.NDArray[np.bool_])
42
+ assert_type(np.isin(AR_f8, AR_i8), npt.NDArray[np.bool_])
43
+ assert_type(np.isin(AR_f8, AR_LIKE_f8, invert=True), npt.NDArray[np.bool_])
44
+
45
+ assert_type(np.union1d(AR_i8, AR_i8), npt.NDArray[np.int64])
46
+ assert_type(np.union1d(AR_M, AR_M), npt.NDArray[np.datetime64])
47
+ assert_type(np.union1d(AR_f8, AR_i8), npt.NDArray[Any])
48
+
49
+ assert_type(np.setdiff1d(AR_i8, AR_i8), npt.NDArray[np.int64])
50
+ assert_type(np.setdiff1d(AR_M, AR_M, assume_unique=True), npt.NDArray[np.datetime64])
51
+ assert_type(np.setdiff1d(AR_f8, AR_i8), npt.NDArray[Any])
52
+
53
+ assert_type(np.unique(AR_f8), npt.NDArray[np.float64])
54
+ assert_type(np.unique(AR_LIKE_f8, axis=0), npt.NDArray[Any])
55
+ assert_type(np.unique(AR_f8, return_index=True), tuple[npt.NDArray[np.float64], npt.NDArray[np.intp]])
56
+ assert_type(np.unique(AR_LIKE_f8, return_index=True), tuple[npt.NDArray[Any], npt.NDArray[np.intp]])
57
+ assert_type(np.unique(AR_f8, return_inverse=True), tuple[npt.NDArray[np.float64], npt.NDArray[np.intp]])
58
+ assert_type(np.unique(AR_LIKE_f8, return_inverse=True), tuple[npt.NDArray[Any], npt.NDArray[np.intp]])
59
+ assert_type(np.unique(AR_f8, return_counts=True), tuple[npt.NDArray[np.float64], npt.NDArray[np.intp]])
60
+ assert_type(np.unique(AR_LIKE_f8, return_counts=True), tuple[npt.NDArray[Any], npt.NDArray[np.intp]])
61
+ assert_type(np.unique(AR_f8, return_index=True, return_inverse=True), tuple[npt.NDArray[np.float64], npt.NDArray[np.intp], npt.NDArray[np.intp]])
62
+ assert_type(np.unique(AR_LIKE_f8, return_index=True, return_inverse=True), tuple[npt.NDArray[Any], npt.NDArray[np.intp], npt.NDArray[np.intp]])
63
+ assert_type(np.unique(AR_f8, return_index=True, return_counts=True), tuple[npt.NDArray[np.float64], npt.NDArray[np.intp], npt.NDArray[np.intp]])
64
+ assert_type(np.unique(AR_LIKE_f8, return_index=True, return_counts=True), tuple[npt.NDArray[Any], npt.NDArray[np.intp], npt.NDArray[np.intp]])
65
+ assert_type(np.unique(AR_f8, return_inverse=True, return_counts=True), tuple[npt.NDArray[np.float64], npt.NDArray[np.intp], npt.NDArray[np.intp]])
66
+ assert_type(np.unique(AR_LIKE_f8, return_inverse=True, return_counts=True), tuple[npt.NDArray[Any], npt.NDArray[np.intp], npt.NDArray[np.intp]])
67
+ assert_type(np.unique(AR_f8, return_index=True, return_inverse=True, return_counts=True), tuple[npt.NDArray[np.float64], npt.NDArray[np.intp], npt.NDArray[np.intp], npt.NDArray[np.intp]])
68
+ assert_type(np.unique(AR_LIKE_f8, return_index=True, return_inverse=True, return_counts=True), tuple[npt.NDArray[Any], npt.NDArray[np.intp], npt.NDArray[np.intp], npt.NDArray[np.intp]])
LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/numpy/typing/tests/data/reveal/nbit_base_example.pyi ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import sys
2
+ from typing import TypeVar
3
+
4
+ import numpy as np
5
+ import numpy.typing as npt
6
+ from numpy._typing import _64Bit, _32Bit
7
+
8
+ if sys.version_info >= (3, 11):
9
+ from typing import assert_type
10
+ else:
11
+ from typing_extensions import assert_type
12
+
13
+ T1 = TypeVar("T1", bound=npt.NBitBase)
14
+ T2 = TypeVar("T2", bound=npt.NBitBase)
15
+
16
+ def add(a: np.floating[T1], b: np.integer[T2]) -> np.floating[T1 | T2]:
17
+ return a + b
18
+
19
+ i8: np.int64
20
+ i4: np.int32
21
+ f8: np.float64
22
+ f4: np.float32
23
+
24
+ assert_type(add(f8, i8), np.float64)
25
+ assert_type(add(f4, i8), np.floating[_32Bit | _64Bit])
26
+ assert_type(add(f8, i4), np.floating[_32Bit | _64Bit])
27
+ assert_type(add(f4, i4), np.float32)
LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/numpy/typing/tests/data/reveal/nested_sequence.pyi ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import sys
2
+ from collections.abc import Sequence
3
+ from typing import Any
4
+
5
+ from numpy._typing import _NestedSequence
6
+
7
+ if sys.version_info >= (3, 11):
8
+ from typing import assert_type
9
+ else:
10
+ from typing_extensions import assert_type
11
+
12
+ a: Sequence[int]
13
+ b: Sequence[Sequence[int]]
14
+ c: Sequence[Sequence[Sequence[int]]]
15
+ d: Sequence[Sequence[Sequence[Sequence[int]]]]
16
+ e: Sequence[bool]
17
+ f: tuple[int, ...]
18
+ g: list[int]
19
+ h: Sequence[Any]
20
+
21
+ def func(a: _NestedSequence[int]) -> None:
22
+ ...
23
+
24
+ assert_type(func(a), None)
25
+ assert_type(func(b), None)
26
+ assert_type(func(c), None)
27
+ assert_type(func(d), None)
28
+ assert_type(func(e), None)
29
+ assert_type(func(f), None)
30
+ assert_type(func(g), None)
31
+ assert_type(func(h), None)
32
+ assert_type(func(range(15)), None)
LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/numpy/typing/tests/data/reveal/twodim_base.pyi ADDED
@@ -0,0 +1,99 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import sys
2
+ from typing import Any, TypeVar
3
+
4
+ import numpy as np
5
+ import numpy.typing as npt
6
+
7
+ if sys.version_info >= (3, 11):
8
+ from typing import assert_type
9
+ else:
10
+ from typing_extensions import assert_type
11
+
12
+ _SCT = TypeVar("_SCT", bound=np.generic)
13
+
14
+
15
+ def func1(ar: npt.NDArray[_SCT], a: int) -> npt.NDArray[_SCT]:
16
+ pass
17
+
18
+
19
+ def func2(ar: npt.NDArray[np.number[Any]], a: str) -> npt.NDArray[np.float64]:
20
+ pass
21
+
22
+
23
+ AR_b: npt.NDArray[np.bool_]
24
+ AR_u: npt.NDArray[np.uint64]
25
+ AR_i: npt.NDArray[np.int64]
26
+ AR_f: npt.NDArray[np.float64]
27
+ AR_c: npt.NDArray[np.complex128]
28
+ AR_O: npt.NDArray[np.object_]
29
+
30
+ AR_LIKE_b: list[bool]
31
+
32
+ assert_type(np.fliplr(AR_b), npt.NDArray[np.bool_])
33
+ assert_type(np.fliplr(AR_LIKE_b), npt.NDArray[Any])
34
+
35
+ assert_type(np.flipud(AR_b), npt.NDArray[np.bool_])
36
+ assert_type(np.flipud(AR_LIKE_b), npt.NDArray[Any])
37
+
38
+ assert_type(np.eye(10), npt.NDArray[np.float64])
39
+ assert_type(np.eye(10, M=20, dtype=np.int64), npt.NDArray[np.int64])
40
+ assert_type(np.eye(10, k=2, dtype=int), npt.NDArray[Any])
41
+
42
+ assert_type(np.diag(AR_b), npt.NDArray[np.bool_])
43
+ assert_type(np.diag(AR_LIKE_b, k=0), npt.NDArray[Any])
44
+
45
+ assert_type(np.diagflat(AR_b), npt.NDArray[np.bool_])
46
+ assert_type(np.diagflat(AR_LIKE_b, k=0), npt.NDArray[Any])
47
+
48
+ assert_type(np.tri(10), npt.NDArray[np.float64])
49
+ assert_type(np.tri(10, M=20, dtype=np.int64), npt.NDArray[np.int64])
50
+ assert_type(np.tri(10, k=2, dtype=int), npt.NDArray[Any])
51
+
52
+ assert_type(np.tril(AR_b), npt.NDArray[np.bool_])
53
+ assert_type(np.tril(AR_LIKE_b, k=0), npt.NDArray[Any])
54
+
55
+ assert_type(np.triu(AR_b), npt.NDArray[np.bool_])
56
+ assert_type(np.triu(AR_LIKE_b, k=0), npt.NDArray[Any])
57
+
58
+ assert_type(np.vander(AR_b), npt.NDArray[np.signedinteger[Any]])
59
+ assert_type(np.vander(AR_u), npt.NDArray[np.signedinteger[Any]])
60
+ assert_type(np.vander(AR_i, N=2), npt.NDArray[np.signedinteger[Any]])
61
+ assert_type(np.vander(AR_f, increasing=True), npt.NDArray[np.floating[Any]])
62
+ assert_type(np.vander(AR_c), npt.NDArray[np.complexfloating[Any, Any]])
63
+ assert_type(np.vander(AR_O), npt.NDArray[np.object_])
64
+
65
+ assert_type(
66
+ np.histogram2d(AR_i, AR_b),
67
+ tuple[
68
+ npt.NDArray[np.float64],
69
+ npt.NDArray[np.floating[Any]],
70
+ npt.NDArray[np.floating[Any]],
71
+ ],
72
+ )
73
+ assert_type(
74
+ np.histogram2d(AR_f, AR_f),
75
+ tuple[
76
+ npt.NDArray[np.float64],
77
+ npt.NDArray[np.floating[Any]],
78
+ npt.NDArray[np.floating[Any]],
79
+ ],
80
+ )
81
+ assert_type(
82
+ np.histogram2d(AR_f, AR_c, weights=AR_LIKE_b),
83
+ tuple[
84
+ npt.NDArray[np.float64],
85
+ npt.NDArray[np.complexfloating[Any, Any]],
86
+ npt.NDArray[np.complexfloating[Any, Any]],
87
+ ],
88
+ )
89
+
90
+ assert_type(np.mask_indices(10, func1), tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]])
91
+ assert_type(np.mask_indices(8, func2, "0"), tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]])
92
+
93
+ assert_type(np.tril_indices(10), tuple[npt.NDArray[np.int_], npt.NDArray[np.int_]])
94
+
95
+ assert_type(np.tril_indices_from(AR_b), tuple[npt.NDArray[np.int_], npt.NDArray[np.int_]])
96
+
97
+ assert_type(np.triu_indices(10), tuple[npt.NDArray[np.int_], npt.NDArray[np.int_]])
98
+
99
+ assert_type(np.triu_indices_from(AR_b), tuple[npt.NDArray[np.int_], npt.NDArray[np.int_]])
LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/transformers/models/dab_detr/__init__.py ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright 2024 The HuggingFace Team. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ from typing import TYPE_CHECKING
16
+
17
+ from ...utils import _LazyModule
18
+ from ...utils.import_utils import define_import_structure
19
+
20
+
21
+ if TYPE_CHECKING:
22
+ from .configuration_dab_detr import *
23
+ from .modeling_dab_detr import *
24
+ else:
25
+ import sys
26
+
27
+ _file = globals()["__file__"]
28
+ sys.modules[__name__] = _LazyModule(__name__, _file, define_import_structure(_file), module_spec=__spec__)
LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/transformers/models/gemma3n/__init__.py ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright 2025 The HuggingFace Team. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ from typing import TYPE_CHECKING
15
+
16
+ from ...utils import _LazyModule
17
+ from ...utils.import_utils import define_import_structure
18
+
19
+
20
+ if TYPE_CHECKING:
21
+ from .configuration_gemma3n import *
22
+ from .feature_extraction_gemma3n import *
23
+ from .modeling_gemma3n import *
24
+ from .processing_gemma3n import *
25
+ else:
26
+ import sys
27
+
28
+ _file = globals()["__file__"]
29
+ sys.modules[__name__] = _LazyModule(__name__, _file, define_import_structure(_file), module_spec=__spec__)
LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/transformers/models/gemma3n/configuration_gemma3n.py ADDED
@@ -0,0 +1,477 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨
2
+ # This file was automatically generated from src/transformers/models/gemma3n/modular_gemma3n.py.
3
+ # Do NOT edit this file manually as any edits will be overwritten by the generation of
4
+ # the file from the modular. If any change should be done, please apply the change to the
5
+ # modular_gemma3n.py file directly. One of our CI enforces this.
6
+ # 🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨
7
+ # Copyright 2025 Google Inc. HuggingFace Inc. team. All rights reserved.
8
+ #
9
+ #
10
+ # Licensed under the Apache License, Version 2.0 (the "License");
11
+ # you may not use this file except in compliance with the License.
12
+ # You may obtain a copy of the License at
13
+ #
14
+ # http://www.apache.org/licenses/LICENSE-2.0
15
+ #
16
+ # Unless required by applicable law or agreed to in writing, software
17
+ # distributed under the License is distributed on an "AS IS" BASIS,
18
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
+ # See the License for the specific language governing permissions and
20
+ # limitations under the License.
21
+ from collections.abc import Sequence
22
+ from typing import Any
23
+
24
+ from huggingface_hub.dataclasses import strict
25
+
26
+ from ...configuration_utils import PreTrainedConfig
27
+ from ...utils import auto_docstring, is_timm_available, logging, requires_backends
28
+
29
+
30
+ if is_timm_available():
31
+ from timm.data import ImageNetInfo, infer_imagenet_subset
32
+
33
+ logger = logging.get_logger(__name__)
34
+
35
+
36
+ @auto_docstring(checkpoint="google/gemma-3n-E4B")
37
+ @strict
38
+ class Gemma3nTextConfig(PreTrainedConfig):
39
+ r"""
40
+ vocab_size_per_layer_input (`int`, *optional*, defaults to 262144):
41
+ Vocabulary size of the per-layer text embeddings that augment the standard embeddings.
42
+ hidden_size_per_layer_input (`int`, *optional*, defaults to 256):
43
+ Dimension of the hidden representations for per-layer embeddings.
44
+ altup_active_idx (`int`, *optional*, defaults to 0):
45
+ The index of the prediction from which AltUp will compute additional predictions or correct the active prediction.
46
+ altup_coef_clip (`float`, *optional*, defaults to 120.0):
47
+ The maximum amplitude of an AltUp prediction or correction coefficient weight.
48
+ altup_correct_scale (`bool`, *optional*, defaults to `True`):
49
+ If True, apply the `AltUp.correct_output_scale` to the corrected prediction at `altup_active_idx`.
50
+ altup_num_inputs (`int`, *optional*, defaults to 4):
51
+ The number of predictions that AltUp should make given the input sequence.
52
+ num_kv_shared_layers (`int`, *optional*, defaults to 15):
53
+ The number of layers that share KV cache values. During the forward pass, the last `num_kv_shared_layers`
54
+ layers in the model "share" the KV values in that each local and global layer in this range uses the KV
55
+ cache values computed for the last local or global layer, respectively, before entering this range. The
56
+ value should be a multiple of the attention pattern size (see `layer_types` parameter).
57
+ laurel_rank (`int`, *optional*, defaults to 64):
58
+ The intermediate size for the linear projections in the Learned Augmented Residual Layer.
59
+ activation_sparsity_pattern (`Sequence[float]`, *optional*):
60
+ The sparsity factor used to extract the top-k activations for a given layer. The provided Sequence must
61
+ explicitly provide a sparsity value for each layer in the model. By default, the first 10 layers are
62
+ sparse with a sparsity factor of 0.95 and the rest are dense.
63
+
64
+ ```python
65
+ >>> from transformers import Gemma3nTextModel, Gemma3nTextConfig
66
+
67
+ >>> # Initializing a Gemma3nText gemma3n_text-E4B style configuration
68
+ >>> configuration = Gemma3nTextConfig()
69
+
70
+ >>> # Initializing a model from the gemma3n_text-E4B style configuration
71
+ >>> model = Gemma3nTextModel(configuration)
72
+
73
+ >>> # Accessing the model configuration
74
+ >>> configuration = model.config
75
+ ```
76
+ """
77
+
78
+ model_type = "gemma3n_text"
79
+ keys_to_ignore_at_inference = ["past_key_values"]
80
+ base_model_tp_plan = {
81
+ "layers.*.self_attn.q_proj": "colwise",
82
+ "layers.*.self_attn.k_proj": "colwise",
83
+ "layers.*.self_attn.v_proj": "colwise",
84
+ "layers.*.self_attn.q_norm": "replicated_with_grad_allreduce",
85
+ "layers.*.self_attn.k_norm": "replicated_with_grad_allreduce",
86
+ "layers.*.self_attn.v_norm": "replicated_with_grad_allreduce",
87
+ "layers.*.self_attn.o_proj": "rowwise",
88
+ "layers.*.mlp.gate_proj": "colwise",
89
+ "layers.*.mlp.up_proj": "colwise",
90
+ "layers.*.mlp.down_proj": "rowwise",
91
+ }
92
+ base_model_pp_plan = {
93
+ "embed_tokens": (["input_ids"], ["inputs_embeds"]),
94
+ "layers": (["hidden_states", "attention_mask"], ["hidden_states"]),
95
+ "norm": (["hidden_states"], ["hidden_states"]),
96
+ }
97
+
98
+ vocab_size: int = 262_400
99
+ hidden_size: int = 2048
100
+ intermediate_size: int | list[int] = 16_384
101
+ num_hidden_layers: int = 35
102
+ num_attention_heads: int = 8
103
+ num_key_value_heads: int = 2
104
+ head_dim: int = 256
105
+ hidden_activation: str = "gelu_pytorch_tanh"
106
+ max_position_embeddings: int = 32_768
107
+ initializer_range: float = 0.02
108
+ rms_norm_eps: float = 1e-6
109
+ use_cache: bool = True
110
+ pad_token_id: int | None = 0
111
+ eos_token_id: int | list[int] | None = 1
112
+ bos_token_id: int | None = 2
113
+ tie_word_embeddings: bool = True
114
+ rope_parameters: dict | None = None
115
+ attention_bias: bool = False
116
+ attention_dropout: int | float | None = 0.0
117
+ sliding_window: int = 512
118
+ layer_types: list[str] | None = None
119
+ final_logit_softcapping: float = 30.0
120
+ default_theta = {"global": 1_000_000.0, "local": 10_000.0}
121
+ vocab_size_per_layer_input: int = 262_144
122
+ hidden_size_per_layer_input: int = 256
123
+ altup_active_idx: int = 0
124
+ altup_coef_clip: float = 120.0
125
+ altup_correct_scale: bool = True
126
+ altup_num_inputs: int = 4
127
+ num_kv_shared_layers: int = 15
128
+ laurel_rank: int = 64
129
+ activation_sparsity_pattern: float | list[float] | None = None
130
+
131
+ def __post_init__(self, **kwargs):
132
+ if (
133
+ isinstance(self.intermediate_size, Sequence)
134
+ and (intsize_len := len(self.intermediate_size)) != self.num_hidden_layers
135
+ ):
136
+ raise ValueError(
137
+ "intermediate_size must have an explicit intermediate size for every layer or one for all layers. "
138
+ f"Expected {self.num_hidden_layers} values but got {intsize_len}."
139
+ )
140
+ elif not isinstance(self.intermediate_size, Sequence):
141
+ self.intermediate_size = [self.intermediate_size] * self.num_hidden_layers
142
+
143
+ if self.layer_types is None:
144
+ self.layer_types = [
145
+ "full_attention" if (i + 1) % 5 == 0 else "sliding_attention" for i in range(self.num_hidden_layers)
146
+ ]
147
+
148
+ if self.activation_sparsity_pattern is None:
149
+ num_sparse_layers = 10 if self.num_hidden_layers > 10 else 0
150
+ self.activation_sparsity_pattern = [0.95] * num_sparse_layers + [0.0] * (
151
+ self.num_hidden_layers - num_sparse_layers
152
+ )
153
+
154
+ if (len_asp := len(self.activation_sparsity_pattern)) != self.num_hidden_layers:
155
+ raise ValueError(
156
+ "activation_sparsity_pattern must have an explicit activation sparsity value for every layer."
157
+ f"Expected {self.num_hidden_layers} values but got {len_asp}."
158
+ )
159
+
160
+ super().__post_init__(**kwargs)
161
+
162
+ def validate_architecture(self):
163
+ """Part of `@strict`-powered validation. Validates the architecture of the config."""
164
+ if self.hidden_size % self.num_attention_heads != 0:
165
+ raise ValueError(
166
+ f"The hidden size ({self.hidden_size}) is not a multiple of the number of attention "
167
+ f"heads ({self.num_attention_heads})."
168
+ )
169
+
170
+ def convert_rope_params_to_dict(self, **kwargs):
171
+ rope_scaling = kwargs.pop("rope_scaling", None)
172
+
173
+ # Try to set `rope_scaling` if available, otherwise use `rope_parameters`. If we find `rope_parameters`
174
+ # as arg in the inputs, we can safely assume that it is in the new format. New naming used -> new format
175
+ default_rope_params = {
176
+ "sliding_attention": {"rope_type": "default"},
177
+ "full_attention": {"rope_type": "default"},
178
+ }
179
+ self.rope_parameters = self.rope_parameters if self.rope_parameters is not None else default_rope_params
180
+ if rope_scaling is not None:
181
+ self.rope_parameters["full_attention"].update(rope_scaling)
182
+
183
+ # Set default values if not present
184
+ if self.rope_parameters.get("full_attention") is None:
185
+ self.rope_parameters["full_attention"] = {"rope_type": "default"}
186
+ self.rope_parameters["full_attention"].setdefault(
187
+ "rope_theta", kwargs.pop("rope_theta", self.default_theta["global"])
188
+ )
189
+ if self.rope_parameters.get("sliding_attention") is None:
190
+ self.rope_parameters["sliding_attention"] = {"rope_type": "default"}
191
+ self.rope_parameters["sliding_attention"].setdefault(
192
+ "rope_theta", kwargs.pop("rope_local_base_freq", self.default_theta["local"])
193
+ )
194
+
195
+ # Standardize and validate the correctness of rotary position embeddings parameters
196
+ self.standardize_rope_params()
197
+ return kwargs
198
+
199
+
200
+ @auto_docstring(checkpoint="google/gemma-3n-E4B")
201
+ @strict
202
+ class Gemma3nAudioConfig(PreTrainedConfig):
203
+ r"""
204
+ vocab_offset (`int`, *optional*, defaults to 262272):
205
+ Offset between the tokenizer vocab index for the token ids embedded by `Gemma3nMultimodalEmbedder` and the
206
+ 0-indexed `Gemma3nMultimodalEmbedder.embedding` table.
207
+ input_feat_size (`int`, *optional*, defaults to 128):
208
+ The number of channels in each mel-spectrogram frame.
209
+ gradient_clipping (`float`, *optional*, defaults to 10000000000.0):
210
+ Clipping value used to stabilize extremely large gradient values.
211
+ conf_attention_chunk_size (`int`, *optional*, defaults to 12):
212
+ The sub-sequence size for local attention processing inside the Conformer ("conf") section of the
213
+ Universal Speech Model.
214
+ conf_attention_context_left (`int`, *optional*, defaults to 13):
215
+ The left context size of the local attention inside the Conformer ("conf") section of the
216
+ Universal Speech Model.
217
+ conf_attention_context_right (`int`, *optional*, defaults to 0):
218
+ The right context size of the local attention inside the Conformer ("conf") section of the
219
+ Universal Speech Model.
220
+ conf_attention_logit_cap (`float`, *optional*, defaults to 50.0):
221
+ Logit cap applied during local attention inside the Conformer ("conf") section of the
222
+ Universal Speech Model.
223
+ conf_num_attention_heads (`int`, *optional*, defaults to 8):
224
+ The number of attention heads in local attention inside the Conformer ("conf") section of the
225
+ Universal Speech Model.
226
+ conf_num_hidden_layers (`int`, *optional*, defaults to 12):
227
+ The number of layers that use local attention inside the Conformer ("conf") section of the
228
+ Universal Speech Model.
229
+ conf_conv_kernel_size (`int`, *optional*, defaults to 5):
230
+ Convolution kernel size for the conformer block inside the Conformer ("conf") section of the
231
+ Universal Speech Model.
232
+ conf_reduction_factor (`int`, *optional*, defaults to 4):
233
+ Reduction factor used in the conformer block inside the Conformer ("conf") section of the
234
+ Universal Speech Model.
235
+ conf_residual_weight (`float`, *optional*, defaults to 0.5):
236
+ Residual connection weight inside the Conformer ("conf") section of the
237
+ Universal Speech Model.
238
+ sscp_conv_channel_size (`tuple(int, int)`, *optional*, defaults to `(128, 32)`):
239
+ The channel sizes for the first and second convolutional layers in the Sub-sample Convolution Projection
240
+ ("sscp") section of the Universal Speech Model.
241
+ sscp_conv_group_norm_eps (`float`, *optional*, defaults to 0.001):
242
+ Epsilon used in group normalization in the subsample convolution projection in the Sub-sample Convolution
243
+ Projection ("sscp") section of the Universal Speech Model.
244
+ sscp_conv_kernel_size (`tuple(tuple(int, int), tuple(int, int))`, *optional*, defaults to `((3, 3), (3, 3))`):
245
+ Kernel sizes of the two convolutional layers in the subsample convolution projection in the Sub-sample
246
+ Convolution Projection ("sscp") section of the Universal Speech Model. The kernel sizes are specified as a
247
+ tuple of height and width for each layer, where the height corresponds to the time dimension and the width
248
+ corresponds to the frequency dimension.
249
+ sscp_conv_stride_size (`tuple(tuple(int, int), tuple(int, int))`, *optional*, defaults to `((2, 2), (2, 2))`):
250
+ Stride sizes of the two convolutional layers in the subsample convolution projection in the Sub-sample
251
+ Convolution Projection ("sscp") section of the Universal Speech Model. The stride sizes are specified as a
252
+ tuple of height and width for each layer, where the height corresponds to the time dimension and the width
253
+ corresponds to the frequency dimension.
254
+
255
+ Example:
256
+
257
+ ```python
258
+ >>> from transformers import Gemma3nAudioConfig, Gemma3nAudioEncoder
259
+
260
+ >>> # Initializing a Gemma3nAudioEncoder gemma3n_audio-E4B-style configuration
261
+ >>> configuration = Gemma3nAudioConfig()
262
+
263
+ >>> # Initializing a model from the gemma3n_audio-E4B style configuration
264
+ >>> model = Gemma3nAudioEncoder(configuration)
265
+
266
+ >>> # Accessing the model configuration
267
+ >>> configuration = model.config
268
+ ```
269
+ """
270
+
271
+ model_type = "gemma3n_audio"
272
+
273
+ vocab_size: int = 128
274
+ vocab_offset: int = 262_144 + 128 # text vocab size + vision vocab size
275
+ input_feat_size: int = 128
276
+ hidden_size: int = 1536
277
+ rms_norm_eps: float = 1e-6
278
+ gradient_clipping: float = 10_000_000_000.0
279
+ conf_attention_chunk_size: int = 12
280
+ conf_attention_context_left: int = 13
281
+ conf_attention_context_right: int = 0
282
+ conf_attention_logit_cap: float = 50.0
283
+ conf_num_attention_heads: int = 8
284
+ conf_num_hidden_layers: int = 12
285
+ conf_conv_kernel_size: int = 5
286
+ conf_reduction_factor: int = 4
287
+ conf_residual_weight: float = 0.5
288
+ sscp_conv_channel_size: list[int] | tuple[int, int] = (128, 32)
289
+ sscp_conv_group_norm_eps: float = 1e-3
290
+ sscp_conv_kernel_size: list | tuple[tuple[int, int], tuple[int, int]] = (
291
+ (3, 3),
292
+ (3, 3),
293
+ )
294
+ sscp_conv_stride_size: list | tuple[tuple[int, int], tuple[int, int]] = (
295
+ (2, 2),
296
+ (2, 2),
297
+ )
298
+
299
+
300
+ @auto_docstring(checkpoint="google/gemma-3n-E4B")
301
+ @strict
302
+ class Gemma3nVisionConfig(PreTrainedConfig):
303
+ r"""
304
+ architecture (`str`, *optional*, defaults to `"resnet50"`):
305
+ The timm architecture to load.
306
+ do_pooling (`bool`, *optional*, defaults to `True`):
307
+ Whether to do pooling for the last_hidden_state in `TimmWrapperModel` or not.
308
+ model_args (`dict[str, Any]`, *optional*):
309
+ Additional keyword arguments to pass to the `timm.create_model` function. e.g. `model_args={"depth": 3}`
310
+ for `timm/vit_base_patch32_clip_448.laion2b_ft_in12k_in1k` to create a model with 3 blocks. Defaults to `None`.
311
+ vocab_offset (`int`, *optional*, defaults to 262144):
312
+ Offset between the tokenizer vocab index for the token ids embedded by `Gemma3nMultimodalEmbedder` and the
313
+ 0-indexed `Gemma3nMultimodalEmbedder.embedding` table.
314
+
315
+ Example:
316
+ ```python
317
+ >>> from transformers import Gemma3nVisionConfig, TimmWrapper
318
+
319
+ >>> # Initializing a TimmWrapper gemma3n_vision-E4B-style configuration
320
+ >>> configuration = Gemma3nVisionConfig()
321
+
322
+ >>> # Initializing a gemma3n_vision-E4B-style TimmWrapper from the configuration
323
+ >>> model = TimmWrapper(configuration)
324
+
325
+ >>> # Accessing the model configuration
326
+ >>> configuration = model.config
327
+ ```
328
+ """
329
+
330
+ model_type = "gemma3n_vision"
331
+ architecture: str = "mobilenetv5_300m_enc"
332
+
333
+ initializer_range: float = 0.02
334
+ do_pooling: bool = False
335
+ model_args: dict | None = None
336
+ hidden_size: int = 2048
337
+ vocab_size: int = 128
338
+ vocab_offset: int = 262_144
339
+ rms_norm_eps: float = 1e-06
340
+
341
+ @classmethod
342
+ def from_dict(cls, config_dict: dict[str, Any], **kwargs):
343
+ # Create a copy to avoid mutating the original dict
344
+ config_dict = config_dict.copy()
345
+
346
+ label_names = config_dict.get("label_names")
347
+ is_custom_model = "num_labels" in kwargs or "id2label" in kwargs
348
+
349
+ # if no labels added to config, use imagenet labeller in timm
350
+ if label_names is None and not is_custom_model:
351
+ requires_backends(cls, ["timm"])
352
+ imagenet_subset = infer_imagenet_subset(config_dict)
353
+ if imagenet_subset:
354
+ dataset_info = ImageNetInfo(imagenet_subset)
355
+ synsets = dataset_info.label_names()
356
+ label_descriptions = dataset_info.label_descriptions(as_dict=True)
357
+ label_names = [label_descriptions[synset] for synset in synsets]
358
+
359
+ if label_names is not None and not is_custom_model:
360
+ kwargs["id2label"] = dict(enumerate(label_names))
361
+
362
+ # if all label names are unique, create label2id mapping as well
363
+ if len(set(label_names)) == len(label_names):
364
+ kwargs["label2id"] = {name: i for i, name in enumerate(label_names)}
365
+ else:
366
+ kwargs["label2id"] = None
367
+
368
+ # timm config stores the `num_classes` attribute in both the root of config and in the "pretrained_cfg" dict.
369
+ # We are removing these attributes in order to have the native `transformers` num_labels attribute in config
370
+ # and to avoid duplicate attributes
371
+ num_labels_in_kwargs = kwargs.pop("num_labels", None)
372
+ num_labels_in_dict = config_dict.pop("num_classes", None)
373
+
374
+ # passed num_labels has priority over num_classes in config_dict
375
+ kwargs["num_labels"] = num_labels_in_kwargs or num_labels_in_dict
376
+
377
+ # pop num_classes from "pretrained_cfg",
378
+ # it is not necessary to have it, only root one is used in timm
379
+ if "pretrained_cfg" in config_dict and "num_classes" in config_dict["pretrained_cfg"]:
380
+ config_dict["pretrained_cfg"].pop("num_classes", None)
381
+
382
+ return super().from_dict(config_dict, **kwargs)
383
+
384
+ def to_dict(self) -> dict[str, Any]:
385
+ output = super().to_dict()
386
+ output.setdefault("num_classes", self.num_labels)
387
+ output.setdefault("label_names", list(self.id2label.values()))
388
+ output.pop("id2label", None)
389
+ output.pop("label2id", None)
390
+ return output
391
+
392
+
393
+ @auto_docstring(checkpoint="google/gemma-3n-E4B")
394
+ @strict
395
+ class Gemma3nConfig(PreTrainedConfig):
396
+ r"""
397
+ audio_soft_tokens_per_image (`int`, *optional*, defaults to 188):
398
+ The number of soft tokens per audio clip.
399
+ vision_soft_tokens_per_image (`int`, *optional*, defaults to 256):
400
+ The number of soft tokens per image.
401
+ boi_token_id (`int`, *optional*, defaults to 255999):
402
+ The begin-of-image token index to wrap the image prompt.
403
+ eoi_token_id (`int`, *optional*, defaults to 262144):
404
+ The end-of-image token index to wrap the image prompt.
405
+ boa_token_id (`int`, *optional*, defaults to 256000):
406
+ The begin-of-audio token index to wrap the audio prompt.
407
+ eoa_token_id (`int`, *optional*, defaults to 262272):
408
+ The end-of-audio token index to wrap the audio prompt.
409
+
410
+ Example:
411
+
412
+ ```python
413
+ >>> from transformers import Gemma3nForConditionalGeneration, Gemma3nConfig, Gemma3nTextConfig
414
+
415
+ >>> # Initializing a MobileNet vision config, which is loaded from TIMM
416
+ >>> vision_config = Gemma3nVisionConfig()
417
+
418
+ >>> # Initializing a Gemma3n Audio config
419
+ >>> audio_config = Gemma3nAudioConfig()
420
+
421
+ >>> # Initializing a Gemma3n Text config
422
+ >>> text_config = Gemma3nTextConfig()
423
+
424
+ >>> # Initializing a Gemma3n gemma-3-4b style configuration
425
+ >>> configuration = Gemma3nConfig(text_config, vision_config, audio_config)
426
+
427
+ >>> # Initializing a model from the gemma-3-4b style configuration
428
+ >>> model = Gemma3nTextConfig(configuration)
429
+
430
+ >>> # Accessing the model configuration
431
+ >>> configuration = model.config
432
+ ```"""
433
+
434
+ model_type = "gemma3n"
435
+ sub_configs = {
436
+ "text_config": Gemma3nTextConfig,
437
+ "vision_config": Gemma3nVisionConfig,
438
+ "audio_config": Gemma3nAudioConfig,
439
+ }
440
+
441
+ text_config: Gemma3nTextConfig | dict[str, Any] | None = None
442
+ vision_config: Gemma3nVisionConfig | dict[str, Any] | None = None
443
+ audio_config: Gemma3nAudioConfig | dict[str, Any] | None = None
444
+ audio_soft_tokens_per_image: int | None = 188
445
+ vision_soft_tokens_per_image: int | None = 256
446
+ boi_token_id: int | None = 255_999
447
+ eoi_token_id: int | None = 262_144
448
+ image_token_id: int | None = 262_145
449
+ boa_token_id: int | None = 256_000
450
+ eoa_token_id: int | None = 262_272
451
+ audio_token_id: int | None = 262_273
452
+ initializer_range: float | None = 0.02
453
+ tie_word_embeddings: bool | None = True
454
+
455
+ def __post_init__(self, **kwargs):
456
+ if self.text_config is None:
457
+ self.text_config = Gemma3nTextConfig()
458
+ logger.info("text_config is None, using default Gemma3nTextConfig text config.")
459
+ elif isinstance(self.text_config, dict):
460
+ self.text_config = Gemma3nTextConfig(**self.text_config)
461
+
462
+ if isinstance(self.vision_config, dict):
463
+ self.vision_config = Gemma3nVisionConfig(**self.vision_config)
464
+ elif self.vision_config is None:
465
+ self.vision_config = Gemma3nVisionConfig()
466
+ logger.info("vision_config is None, using default Gemma3nVisionConfig vision config.")
467
+
468
+ if isinstance(self.audio_config, dict):
469
+ self.audio_config = Gemma3nAudioConfig(**self.audio_config)
470
+ elif self.audio_config is None:
471
+ self.audio_config = Gemma3nAudioConfig()
472
+ logger.info("audio_config is None. Using default Gemma3nAudioConfig.")
473
+
474
+ super().__post_init__(**kwargs)
475
+
476
+
477
+ __all__ = ["Gemma3nAudioConfig", "Gemma3nConfig", "Gemma3nTextConfig", "Gemma3nVisionConfig"]
LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/transformers/models/gemma3n/processing_gemma3n.py ADDED
@@ -0,0 +1,145 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright 2025 Google Inc. HuggingFace Inc. team. All rights reserved.
2
+ #
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+
16
+ import numpy as np
17
+
18
+ from ...feature_extraction_utils import BatchFeature
19
+ from ...image_utils import ImageInput, make_nested_list_of_images
20
+ from ...processing_utils import ProcessingKwargs, ProcessorMixin, Unpack
21
+ from ...tokenization_utils_base import PreTokenizedInput, TextInput
22
+ from ...utils import auto_docstring
23
+
24
+
25
+ class Gemma3nProcessorKwargs(ProcessingKwargs, total=False):
26
+ _defaults = {
27
+ "text_kwargs": {"padding": False},
28
+ }
29
+
30
+
31
+ @auto_docstring
32
+ class Gemma3nProcessor(ProcessorMixin):
33
+ def __init__(
34
+ self,
35
+ feature_extractor,
36
+ image_processor,
37
+ tokenizer,
38
+ chat_template=None,
39
+ audio_seq_length: int = 188,
40
+ image_seq_length: int = 256,
41
+ **kwargs,
42
+ ):
43
+ r"""
44
+ audio_seq_length (int, *optional*, defaults to 188):
45
+ The number of audio soft tokens that will be added to the text prompt
46
+ image_seq_length (int, *optional*, defaults to 256):
47
+ The number of image soft tokens that should be added to
48
+ """
49
+ self.audio_seq_length = audio_seq_length
50
+ self.audio_token_id = tokenizer.audio_token_id
51
+ self.boa_token = tokenizer.boa_token
52
+ self.audio_token = tokenizer.audio_token
53
+ audio_tokens_expanded = "".join([tokenizer.audio_token] * audio_seq_length)
54
+ self.full_audio_sequence = f"\n\n{tokenizer.boa_token}{audio_tokens_expanded}{tokenizer.eoa_token}\n\n"
55
+
56
+ self.image_seq_length = image_seq_length
57
+ self.image_token_id = tokenizer.image_token_id
58
+ self.boi_token = tokenizer.boi_token
59
+ self.image_token = tokenizer.image_token
60
+ image_tokens_expanded = "".join([tokenizer.image_token] * image_seq_length)
61
+ self.full_image_sequence = f"\n\n{tokenizer.boi_token}{image_tokens_expanded}{tokenizer.eoi_token}\n\n"
62
+
63
+ super().__init__(
64
+ feature_extractor=feature_extractor,
65
+ image_processor=image_processor,
66
+ tokenizer=tokenizer,
67
+ chat_template=chat_template,
68
+ **kwargs,
69
+ )
70
+
71
+ @auto_docstring
72
+ def __call__(
73
+ self,
74
+ images: ImageInput | None = None,
75
+ text: TextInput | PreTokenizedInput | list[TextInput] | list[PreTokenizedInput] = None,
76
+ audio: np.ndarray | list[float] | list[np.ndarray] | list[list[float]] | None = None,
77
+ **kwargs: Unpack[Gemma3nProcessorKwargs],
78
+ ) -> BatchFeature:
79
+ if text is None and images is None and audio is None:
80
+ raise ValueError("Provide at least one of `text`, `images`, or `audio`.")
81
+
82
+ output_kwargs = self._merge_kwargs(
83
+ Gemma3nProcessorKwargs,
84
+ tokenizer_init_kwargs=self.tokenizer.init_kwargs,
85
+ **kwargs,
86
+ )
87
+
88
+ if isinstance(text, str):
89
+ text = [text]
90
+ elif not isinstance(text, list) and not isinstance(text[0], str):
91
+ raise TypeError("Invalid input text. Please provide a string, or a list of strings")
92
+
93
+ if audio is not None:
94
+ audio_inputs = self.feature_extractor(audio, **output_kwargs["audio_kwargs"])
95
+
96
+ if not text:
97
+ text = [self.audio_token for _ in audio]
98
+
99
+ # Expand placeholder audio tokens to the full audio token sequence
100
+ text = [prompt.replace(self.audio_token, self.full_audio_sequence) for prompt in text]
101
+ else:
102
+ audio_inputs = {}
103
+
104
+ if images is not None:
105
+ images = self.image_processor.fetch_images(images)
106
+ batched_images = make_nested_list_of_images(images)
107
+ image_inputs = self.image_processor(batched_images, **output_kwargs["images_kwargs"])
108
+
109
+ # Create empty text to be replaced with placeholders
110
+ if not text:
111
+ text = [" ".join([self.image_token] * len(images)) for images in batched_images]
112
+
113
+ if len(batched_images) != len(text):
114
+ raise ValueError(
115
+ f"Received inconsistently sized batches of images ({len(batched_images)}) and text ({len(text)})."
116
+ )
117
+
118
+ # Expand placeholder image tokens to the full image token sequence
119
+ text = [prompt.replace(self.image_token, self.full_image_sequence) for prompt in text]
120
+ else:
121
+ image_inputs = {}
122
+
123
+ return_tensors = output_kwargs["text_kwargs"].pop("return_tensors", None)
124
+ text_inputs = self.tokenizer(text=text, **output_kwargs["text_kwargs"], return_tensors="np")
125
+ self._check_special_mm_tokens(text, text_inputs, modalities=["image"])
126
+
127
+ # Add token type ids manually, as tokenizer can't do arbitrary position token types
128
+ array_ids = text_inputs["input_ids"]
129
+ token_type_ids = np.zeros_like(array_ids)
130
+ token_type_ids[array_ids == self.image_token_id] = 1
131
+ token_type_ids[array_ids == self.audio_token_id] = 3
132
+ text_inputs = {k: v.tolist() for k, v in text_inputs.items()} # in case user requested list inputs
133
+ text_inputs["token_type_ids"] = token_type_ids.tolist()
134
+ return BatchFeature(data={**text_inputs, **image_inputs, **audio_inputs}, tensor_type=return_tensors)
135
+
136
+ @property
137
+ def model_input_names(self):
138
+ tokenizer_input_names = self.tokenizer.model_input_names + ["token_type_ids"]
139
+ image_processor_input_names = self.image_processor.model_input_names
140
+ audio_processor_input_names = self.feature_extractor.model_input_names
141
+ image_processor_input_names = [name for name in image_processor_input_names if name != "num_crops"]
142
+ return list(tokenizer_input_names + image_processor_input_names + audio_processor_input_names)
143
+
144
+
145
+ __all__ = ["Gemma3nProcessor"]