lokinfey commited on
Commit
9735b74
·
verified ·
1 Parent(s): 4223804

Upload folder using huggingface_hub

Browse files
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ tokenizer.json filter=lfs diff=lfs merge=lfs -text
added_tokens.json ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "<|/tool_call|>": 200026,
3
+ "<|/tool|>": 200024,
4
+ "<|assistant|>": 200019,
5
+ "<|end|>": 200020,
6
+ "<|system|>": 200022,
7
+ "<|tag|>": 200028,
8
+ "<|tool_call|>": 200025,
9
+ "<|tool_response|>": 200027,
10
+ "<|tool|>": 200023,
11
+ "<|user|>": 200021
12
+ }
config.json ADDED
@@ -0,0 +1,2542 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_attn_implementation_autoset": true,
3
+ "_name_or_path": "C:\\Users\\kinfeylo\\Desktop\\AOAI\\Tools\\ORTModel\\Phi-4-multimodal",
4
+ "architectures": [
5
+ "Phi4MMForCausalLM"
6
+ ],
7
+ "attention_bias": false,
8
+ "attention_dropout": 0.0,
9
+ "audio_processor": {
10
+ "config": {
11
+ "activation": "swish",
12
+ "activation_checkpointing": "",
13
+ "attention_dim": 1024,
14
+ "attention_heads": 16,
15
+ "batch_norm": false,
16
+ "bias_in_glu": true,
17
+ "causal": true,
18
+ "chunk_size": -1,
19
+ "cnn_layer_norm": true,
20
+ "conv_activation": "swish",
21
+ "conv_glu_type": "swish",
22
+ "depthwise_multiplier": 1,
23
+ "depthwise_seperable_out_channel": 1024,
24
+ "dropout_rate": 0.0,
25
+ "encoder_embedding_config": {
26
+ "input_size": 80
27
+ },
28
+ "ext_pw_kernel_size": 1,
29
+ "ext_pw_out_channel": 1024,
30
+ "input_layer": "nemo_conv",
31
+ "input_size": 80,
32
+ "kernel_size": 3,
33
+ "left_chunk": 18,
34
+ "linear_units": 1536,
35
+ "nemo_conv_settings": {
36
+ "conv_channels": 1024
37
+ },
38
+ "num_blocks": 24,
39
+ "relative_attention_bias_args": {
40
+ "t5_bias_max_distance": 500,
41
+ "type": "t5"
42
+ },
43
+ "time_reduction": 8
44
+ },
45
+ "name": "cascades"
46
+ },
47
+ "auto_map": {
48
+ "AutoConfig": "configuration_phi4mm.Phi4MMConfig",
49
+ "AutoModelForCausalLM": "modeling_phi4mm.Phi4MMForCausalLM",
50
+ "AutoTokenizer": "Xenova/gpt-4o"
51
+ },
52
+ "base_vision_feat_height_reduction": 1,
53
+ "base_vision_feat_height_target": 16,
54
+ "bos_token_id": 199999,
55
+ "crop_size": 448,
56
+ "embd_layer": {
57
+ "audio_embd_layer": {
58
+ "compression_rate": 8,
59
+ "downsample_rate": 1,
60
+ "embedding_cls": "audio",
61
+ "enable_gradient_checkpointing": true,
62
+ "projection_cls": "mlp",
63
+ "use_conv_downsample": false,
64
+ "use_qformer": false
65
+ },
66
+ "embedding_cls": "image_audio",
67
+ "image_embd_layer": {
68
+ "crop_size": 448,
69
+ "embedding_cls": "tune_image",
70
+ "enable_gradient_checkpointing": true,
71
+ "hd_transform_order": "sub_glb",
72
+ "image_token_compression_cls": "avg_pool_2d",
73
+ "projection_cls": "mlp",
74
+ "use_hd_transform": true,
75
+ "with_learnable_separator": true
76
+ }
77
+ },
78
+ "embd_pdrop": 0.0,
79
+ "eos_token_id": 199999,
80
+ "full_attn_mod": 1,
81
+ "glb_GN": [
82
+ [
83
+ [
84
+ 0.0240478515625,
85
+ -0.03466796875,
86
+ -0.0201416015625,
87
+ 0.0208740234375,
88
+ -0.0042724609375,
89
+ -0.034423828125,
90
+ 0.01043701171875,
91
+ -0.03955078125,
92
+ -0.0103759765625,
93
+ 0.0791015625,
94
+ -0.0225830078125,
95
+ 0.0174560546875,
96
+ 0.006622314453125,
97
+ -0.003143310546875,
98
+ 0.0272216796875,
99
+ 0.0400390625,
100
+ 0.0166015625,
101
+ -0.034912109375,
102
+ 0.015869140625,
103
+ -0.021728515625,
104
+ -0.0106201171875,
105
+ 0.0400390625,
106
+ 0.0081787109375,
107
+ -0.009521484375,
108
+ 0.0107421875,
109
+ 0.000499725341796875,
110
+ 0.0439453125,
111
+ -0.02734375,
112
+ 0.0179443359375,
113
+ -0.012451171875,
114
+ 0.042724609375,
115
+ 0.00043487548828125,
116
+ -0.00213623046875,
117
+ -0.0164794921875,
118
+ 0.0152587890625,
119
+ 0.034912109375,
120
+ 0.0111083984375,
121
+ -0.0732421875,
122
+ -0.017822265625,
123
+ -0.02783203125,
124
+ -0.024658203125,
125
+ -0.0126953125,
126
+ 0.00433349609375,
127
+ -0.0225830078125,
128
+ -0.0294189453125,
129
+ -0.006561279296875,
130
+ 0.027587890625,
131
+ 0.0286865234375,
132
+ 0.0164794921875,
133
+ -0.048583984375,
134
+ -0.061279296875,
135
+ 0.006927490234375,
136
+ -0.0225830078125,
137
+ 0.01434326171875,
138
+ 0.00130462646484375,
139
+ -0.07080078125,
140
+ -0.006011962890625,
141
+ -0.0228271484375,
142
+ 0.01300048828125,
143
+ 0.00225830078125,
144
+ -0.0052490234375,
145
+ -0.0218505859375,
146
+ -0.0025177001953125,
147
+ 0.05078125,
148
+ -0.0283203125,
149
+ -0.033203125,
150
+ -0.0279541015625,
151
+ 0.01025390625,
152
+ -0.011962890625,
153
+ 0.015625,
154
+ -0.0021514892578125,
155
+ 0.013671875,
156
+ 0.0634765625,
157
+ -0.0014190673828125,
158
+ 0.006256103515625,
159
+ 0.000865936279296875,
160
+ 0.03662109375,
161
+ -0.024169921875,
162
+ 0.030517578125,
163
+ 0.035888671875,
164
+ 0.00396728515625,
165
+ -0.035400390625,
166
+ 0.0311279296875,
167
+ -0.015869140625,
168
+ -0.00531005859375,
169
+ 0.0235595703125,
170
+ 0.003143310546875,
171
+ -0.02099609375,
172
+ -0.07177734375,
173
+ -0.035888671875,
174
+ -0.03125,
175
+ 0.021240234375,
176
+ -0.04833984375,
177
+ -0.0299072265625,
178
+ -0.10791015625,
179
+ 0.023681640625,
180
+ 0.0291748046875,
181
+ 0.003936767578125,
182
+ -0.0255126953125,
183
+ 0.018310546875,
184
+ 0.005767822265625,
185
+ 0.01422119140625,
186
+ 0.00787353515625,
187
+ -0.0030059814453125,
188
+ 0.053466796875,
189
+ 0.02734375,
190
+ 0.024658203125,
191
+ -0.0081787109375,
192
+ 0.0419921875,
193
+ -0.0240478515625,
194
+ -0.0208740234375,
195
+ 0.004058837890625,
196
+ -0.03369140625,
197
+ 0.0439453125,
198
+ -0.0625,
199
+ 0.003082275390625,
200
+ 0.01007080078125,
201
+ -0.047119140625,
202
+ -0.0224609375,
203
+ 0.0181884765625,
204
+ 0.0196533203125,
205
+ -0.004608154296875,
206
+ -0.0458984375,
207
+ 0.04736328125,
208
+ -0.01513671875,
209
+ -0.08349609375,
210
+ -0.0576171875,
211
+ -0.0263671875,
212
+ -0.0341796875,
213
+ -0.017578125,
214
+ 0.0145263671875,
215
+ 0.06884765625,
216
+ 0.0291748046875,
217
+ -0.0164794921875,
218
+ 0.0859375,
219
+ -0.02685546875,
220
+ 0.003021240234375,
221
+ -0.0181884765625,
222
+ 0.041015625,
223
+ 0.018310546875,
224
+ -0.04638671875,
225
+ -0.08056640625,
226
+ -0.03759765625,
227
+ 0.0086669921875,
228
+ -0.0244140625,
229
+ 0.01385498046875,
230
+ -0.050048828125,
231
+ -0.037841796875,
232
+ -0.014404296875,
233
+ 0.0196533203125,
234
+ 0.048095703125,
235
+ -0.05029296875,
236
+ 0.000946044921875,
237
+ -0.003875732421875,
238
+ 0.0078125,
239
+ -0.00726318359375,
240
+ -0.01275634765625,
241
+ 0.00193023681640625,
242
+ -0.01556396484375,
243
+ -0.03857421875,
244
+ -0.024169921875,
245
+ -0.009765625,
246
+ -0.0208740234375,
247
+ -0.01141357421875,
248
+ -0.043701171875,
249
+ -0.005096435546875,
250
+ -0.045654296875,
251
+ 0.064453125,
252
+ 0.038818359375,
253
+ 0.0004215240478515625,
254
+ 0.0274658203125,
255
+ 0.00299072265625,
256
+ -0.003265380859375,
257
+ -0.00811767578125,
258
+ -0.034912109375,
259
+ -0.023681640625,
260
+ -0.0238037109375,
261
+ -0.0015106201171875,
262
+ -0.0225830078125,
263
+ 0.005706787109375,
264
+ 0.040283203125,
265
+ 0.047119140625,
266
+ 0.00872802734375,
267
+ -0.00933837890625,
268
+ -0.0546875,
269
+ -0.007476806640625,
270
+ -0.02099609375,
271
+ 0.056396484375,
272
+ 0.0189208984375,
273
+ 0.0184326171875,
274
+ -0.0400390625,
275
+ -0.0142822265625,
276
+ -0.0703125,
277
+ -0.035400390625,
278
+ -0.0086669921875,
279
+ -0.0517578125,
280
+ -0.0289306640625,
281
+ 0.04736328125,
282
+ 0.0028533935546875,
283
+ 0.0439453125,
284
+ 0.0301513671875,
285
+ 0.019287109375,
286
+ -0.0185546875,
287
+ -0.0185546875,
288
+ -0.033935546875,
289
+ 0.0159912109375,
290
+ 0.01434326171875,
291
+ -0.0128173828125,
292
+ -0.0225830078125,
293
+ 0.056884765625,
294
+ 0.0556640625,
295
+ -0.03466796875,
296
+ 0.0135498046875,
297
+ 0.0137939453125,
298
+ 0.0732421875,
299
+ -0.01116943359375,
300
+ -0.0128173828125,
301
+ -0.0004100799560546875,
302
+ 0.01434326171875,
303
+ 0.0299072265625,
304
+ -0.01446533203125,
305
+ -0.050048828125,
306
+ -0.036376953125,
307
+ -0.00775146484375,
308
+ 0.00439453125,
309
+ 0.00811767578125,
310
+ 0.0147705078125,
311
+ 0.01019287109375,
312
+ 0.0019683837890625,
313
+ -0.00830078125,
314
+ -0.007659912109375,
315
+ 0.029541015625,
316
+ -0.003509521484375,
317
+ 0.043701171875,
318
+ -0.007781982421875,
319
+ 0.0211181640625,
320
+ -0.0208740234375,
321
+ 0.039794921875,
322
+ -0.03759765625,
323
+ 0.0045166015625,
324
+ 0.050048828125,
325
+ 0.0196533203125,
326
+ 0.043701171875,
327
+ 0.00848388671875,
328
+ -0.043212890625,
329
+ -0.049560546875,
330
+ -0.062255859375,
331
+ 0.0272216796875,
332
+ 0.03662109375,
333
+ -0.034912109375,
334
+ -0.01336669921875,
335
+ 0.05419921875,
336
+ -0.042236328125,
337
+ 0.000705718994140625,
338
+ 0.003753662109375,
339
+ 0.0225830078125,
340
+ 0.021240234375,
341
+ -0.0181884765625,
342
+ 0.0257568359375,
343
+ 0.0238037109375,
344
+ 0.0034332275390625,
345
+ 0.045166015625,
346
+ 0.021728515625,
347
+ -0.0037384033203125,
348
+ -0.000598907470703125,
349
+ 0.017578125,
350
+ -0.012939453125,
351
+ 0.040771484375,
352
+ -0.05419921875,
353
+ -0.015380859375,
354
+ -0.040771484375,
355
+ -0.004974365234375,
356
+ -0.06689453125,
357
+ 0.0419921875,
358
+ -0.00043487548828125,
359
+ 0.042724609375,
360
+ 0.01361083984375,
361
+ -0.013671875,
362
+ -0.048095703125,
363
+ -0.00787353515625,
364
+ -0.03076171875,
365
+ 0.05078125,
366
+ 0.0269775390625,
367
+ 0.0028076171875,
368
+ -0.0233154296875,
369
+ -0.0023956298828125,
370
+ -0.02294921875,
371
+ -0.0517578125,
372
+ 0.04541015625,
373
+ 0.0035247802734375,
374
+ -0.004302978515625,
375
+ 0.019775390625,
376
+ 0.002777099609375,
377
+ -0.04150390625,
378
+ 0.0150146484375,
379
+ 0.0166015625,
380
+ 0.01104736328125,
381
+ 0.0252685546875,
382
+ 0.02587890625,
383
+ -0.0079345703125,
384
+ -0.00347900390625,
385
+ -0.01171875,
386
+ -0.06298828125,
387
+ -0.023193359375,
388
+ 0.0233154296875,
389
+ -0.0311279296875,
390
+ 0.016845703125,
391
+ -0.006561279296875,
392
+ 0.0257568359375,
393
+ 0.048583984375,
394
+ -0.00567626953125,
395
+ -0.049072265625,
396
+ 0.00119781494140625,
397
+ 0.01416015625,
398
+ -0.0111083984375,
399
+ -0.01556396484375,
400
+ -0.022705078125,
401
+ -0.0184326171875,
402
+ -0.044189453125,
403
+ 0.00469970703125,
404
+ -0.0281982421875,
405
+ 0.031494140625,
406
+ 0.00970458984375,
407
+ -0.00604248046875,
408
+ -0.00023937225341796875,
409
+ 0.00732421875,
410
+ -0.032958984375,
411
+ -0.0361328125,
412
+ -0.00909423828125,
413
+ 0.03857421875,
414
+ -0.06201171875,
415
+ -0.0283203125,
416
+ 0.0791015625,
417
+ -0.0108642578125,
418
+ -0.049072265625,
419
+ 0.01068115234375,
420
+ -0.049072265625,
421
+ -0.0380859375,
422
+ -0.048583984375,
423
+ -0.026123046875,
424
+ -0.00872802734375,
425
+ 0.0021209716796875,
426
+ 0.00140380859375,
427
+ -0.0260009765625,
428
+ 0.0050048828125,
429
+ 0.010986328125,
430
+ -0.0028228759765625,
431
+ 0.0390625,
432
+ -0.0205078125,
433
+ -0.00543212890625,
434
+ -0.0113525390625,
435
+ 0.045166015625,
436
+ 0.00762939453125,
437
+ -0.029541015625,
438
+ -0.0106201171875,
439
+ -0.021484375,
440
+ -0.000362396240234375,
441
+ -0.025146484375,
442
+ -0.0419921875,
443
+ -0.04736328125,
444
+ -0.0186767578125,
445
+ -0.0029144287109375,
446
+ -0.04052734375,
447
+ -0.02734375,
448
+ -0.009521484375,
449
+ 0.0189208984375,
450
+ 0.033935546875,
451
+ -0.031982421875,
452
+ -0.044189453125,
453
+ -0.036376953125,
454
+ -0.0035400390625,
455
+ -0.0191650390625,
456
+ 0.0184326171875,
457
+ -0.0133056640625,
458
+ -0.0240478515625,
459
+ -0.05712890625,
460
+ -0.005157470703125,
461
+ 0.0208740234375,
462
+ 0.0172119140625,
463
+ -0.0034332275390625,
464
+ 0.068359375,
465
+ -0.0191650390625,
466
+ 0.004425048828125,
467
+ 0.04150390625,
468
+ -0.06689453125,
469
+ -0.0224609375,
470
+ -0.002899169921875,
471
+ 0.0167236328125,
472
+ -0.032958984375,
473
+ 0.037353515625,
474
+ -0.0184326171875,
475
+ -0.053466796875,
476
+ -0.0125732421875,
477
+ -0.04296875,
478
+ -0.003143310546875,
479
+ -0.05810546875,
480
+ 0.068359375,
481
+ -0.04150390625,
482
+ -0.01275634765625,
483
+ -0.017333984375,
484
+ -0.06787109375,
485
+ -0.03466796875,
486
+ 0.01806640625,
487
+ -0.00408935546875,
488
+ 0.0294189453125,
489
+ -0.0498046875,
490
+ 0.038330078125,
491
+ -0.0615234375,
492
+ 0.072265625,
493
+ 0.0267333984375,
494
+ -0.055908203125,
495
+ 0.0284423828125,
496
+ -0.0159912109375,
497
+ -0.016845703125,
498
+ 0.051513671875,
499
+ -0.002105712890625,
500
+ 0.0023193359375,
501
+ -0.00592041015625,
502
+ -0.00012874603271484375,
503
+ 0.0247802734375,
504
+ -0.024169921875,
505
+ -0.031982421875,
506
+ -0.0020294189453125,
507
+ -0.06787109375,
508
+ -0.0128173828125,
509
+ 0.0057373046875,
510
+ 0.034912109375,
511
+ -0.01416015625,
512
+ 0.004638671875,
513
+ 0.0032806396484375,
514
+ -0.022705078125,
515
+ -0.015625,
516
+ 0.03564453125,
517
+ -0.0272216796875,
518
+ -0.042724609375,
519
+ -0.03271484375,
520
+ 0.035400390625,
521
+ 0.0419921875,
522
+ 0.00787353515625,
523
+ 0.0281982421875,
524
+ -0.0037841796875,
525
+ -0.01177978515625,
526
+ -0.03857421875,
527
+ 0.056884765625,
528
+ -0.0189208984375,
529
+ 0.061767578125,
530
+ -0.036865234375,
531
+ 0.04638671875,
532
+ 0.060302734375,
533
+ -0.0537109375,
534
+ 0.0439453125,
535
+ 0.00799560546875,
536
+ -0.0196533203125,
537
+ 0.0010528564453125,
538
+ 0.0036468505859375,
539
+ -0.021728515625,
540
+ 0.0032806396484375,
541
+ -0.006256103515625,
542
+ 0.017822265625,
543
+ -0.045166015625,
544
+ -0.0380859375,
545
+ 0.0140380859375,
546
+ 0.016357421875,
547
+ -0.109375,
548
+ -0.05859375,
549
+ 0.047607421875,
550
+ 0.01031494140625,
551
+ -0.01348876953125,
552
+ 0.03466796875,
553
+ -0.01177978515625,
554
+ -0.013916015625,
555
+ -0.0205078125,
556
+ -0.0439453125,
557
+ -0.01214599609375,
558
+ 0.035400390625,
559
+ -0.0184326171875,
560
+ -0.017822265625,
561
+ 0.0361328125,
562
+ -0.03662109375,
563
+ 0.0257568359375,
564
+ 0.0022430419921875,
565
+ -0.03125,
566
+ -0.0267333984375,
567
+ -0.03271484375,
568
+ -0.0260009765625,
569
+ 0.0216064453125,
570
+ 0.04443359375,
571
+ -0.007293701171875,
572
+ -0.0177001953125,
573
+ -0.00286865234375,
574
+ -0.0017242431640625,
575
+ -0.0927734375,
576
+ -0.0164794921875,
577
+ 0.029052734375,
578
+ 0.0242919921875,
579
+ 0.0040283203125,
580
+ 0.012939453125,
581
+ 0.03857421875,
582
+ 0.020263671875,
583
+ -0.041015625,
584
+ -0.0169677734375,
585
+ -0.0301513671875,
586
+ 0.043212890625,
587
+ 0.045654296875,
588
+ 0.01708984375,
589
+ 0.036376953125,
590
+ 0.0125732421875,
591
+ -0.07177734375,
592
+ 0.006011962890625,
593
+ -0.01239013671875,
594
+ -0.0029296875,
595
+ 0.035888671875,
596
+ -0.03173828125,
597
+ 0.028564453125,
598
+ 0.0308837890625,
599
+ -0.0517578125,
600
+ 0.021728515625,
601
+ -0.0179443359375,
602
+ 0.044189453125,
603
+ 0.02783203125,
604
+ -0.0007476806640625,
605
+ 0.0026397705078125,
606
+ 0.02587890625,
607
+ 0.0625,
608
+ 0.06640625,
609
+ 0.0113525390625,
610
+ 0.027099609375,
611
+ 0.00119781494140625,
612
+ -0.021484375,
613
+ 0.0296630859375,
614
+ -0.0106201171875,
615
+ -0.023193359375,
616
+ 0.0322265625,
617
+ 0.03515625,
618
+ 0.00083160400390625,
619
+ -0.0238037109375,
620
+ 0.04443359375,
621
+ 0.013671875,
622
+ 0.011474609375,
623
+ -0.0205078125,
624
+ -0.0191650390625,
625
+ 0.04443359375,
626
+ -0.0225830078125,
627
+ -0.017822265625,
628
+ -0.0341796875,
629
+ 0.06494140625,
630
+ 0.0294189453125,
631
+ -0.040771484375,
632
+ -0.0235595703125,
633
+ 0.043701171875,
634
+ 0.01318359375,
635
+ -0.0277099609375,
636
+ 0.01055908203125,
637
+ -0.0081787109375,
638
+ -0.00714111328125,
639
+ 0.030029296875,
640
+ -0.032470703125,
641
+ -0.0030364990234375,
642
+ 0.01031494140625,
643
+ 0.0211181640625,
644
+ -0.095703125,
645
+ -0.0003795623779296875,
646
+ -0.01611328125,
647
+ 0.0205078125,
648
+ 0.004302978515625,
649
+ 0.00457763671875,
650
+ 0.0281982421875,
651
+ -0.03955078125,
652
+ 0.03369140625,
653
+ -0.011962890625,
654
+ -0.01348876953125,
655
+ 0.0081787109375,
656
+ 0.053955078125,
657
+ -0.02197265625,
658
+ -0.08935546875,
659
+ -0.0205078125,
660
+ 0.0269775390625,
661
+ -8.153915405273438e-05,
662
+ -0.0296630859375,
663
+ 0.034912109375,
664
+ -0.03369140625,
665
+ -0.001007080078125,
666
+ -0.045166015625,
667
+ -0.0093994140625,
668
+ 0.020263671875,
669
+ 0.0291748046875,
670
+ -0.026611328125,
671
+ -0.002197265625,
672
+ -0.030517578125,
673
+ 0.0244140625,
674
+ 0.0166015625,
675
+ 0.0272216796875,
676
+ -0.001312255859375,
677
+ -0.034912109375,
678
+ 0.035400390625,
679
+ 0.0257568359375,
680
+ 0.005279541015625,
681
+ 0.029052734375,
682
+ -0.0196533203125,
683
+ -0.0166015625,
684
+ -0.0002613067626953125,
685
+ -0.000545501708984375,
686
+ 0.0849609375,
687
+ -0.006103515625,
688
+ 0.0390625,
689
+ -0.0296630859375,
690
+ 0.041259765625,
691
+ 0.025634765625,
692
+ 0.01513671875,
693
+ -0.00555419921875,
694
+ 0.01348876953125,
695
+ 0.035400390625,
696
+ 0.01409912109375,
697
+ -0.01806640625,
698
+ -0.0302734375,
699
+ -0.060302734375,
700
+ -0.016845703125,
701
+ -0.016845703125,
702
+ 0.0189208984375,
703
+ -0.0311279296875,
704
+ -0.0537109375,
705
+ -0.0235595703125,
706
+ 0.0269775390625,
707
+ -0.0010223388671875,
708
+ 0.0299072265625,
709
+ 0.00140380859375,
710
+ 0.004974365234375,
711
+ 0.00982666015625,
712
+ 0.0028839111328125,
713
+ -0.0135498046875,
714
+ 0.0203857421875,
715
+ -0.0235595703125,
716
+ -0.0283203125,
717
+ 0.0018157958984375,
718
+ 0.01348876953125,
719
+ -0.0252685546875,
720
+ 0.0186767578125,
721
+ 0.04052734375,
722
+ -0.01324462890625,
723
+ 0.006866455078125,
724
+ 0.022705078125,
725
+ 0.0255126953125,
726
+ 0.012451171875,
727
+ -0.0189208984375,
728
+ -0.007476806640625,
729
+ 0.004425048828125,
730
+ 0.047607421875,
731
+ 0.0140380859375,
732
+ -0.06689453125,
733
+ 0.008056640625,
734
+ -0.0201416015625,
735
+ -0.034423828125,
736
+ 0.023193359375,
737
+ 0.0693359375,
738
+ 0.03125,
739
+ 0.0245361328125,
740
+ -0.029052734375,
741
+ 0.0252685546875,
742
+ -0.04150390625,
743
+ -0.007171630859375,
744
+ -0.0400390625,
745
+ 0.0166015625,
746
+ -0.025146484375,
747
+ -0.0162353515625,
748
+ -0.019287109375,
749
+ -0.0223388671875,
750
+ -0.0089111328125,
751
+ 0.02685546875,
752
+ -0.0634765625,
753
+ 0.050537109375,
754
+ 0.023193359375,
755
+ 0.04931640625,
756
+ 0.0111083984375,
757
+ 0.01275634765625,
758
+ 0.0380859375,
759
+ 0.05419921875,
760
+ -0.05859375,
761
+ -0.0208740234375,
762
+ -0.046142578125,
763
+ 0.01385498046875,
764
+ 0.0081787109375,
765
+ 0.0240478515625,
766
+ 0.0081787109375,
767
+ 0.04443359375,
768
+ -0.04736328125,
769
+ 0.021240234375,
770
+ -0.0084228515625,
771
+ -0.005767822265625,
772
+ 0.0140380859375,
773
+ -0.02587890625,
774
+ 0.0014190673828125,
775
+ -0.0179443359375,
776
+ -0.0267333984375,
777
+ -0.0322265625,
778
+ 0.036376953125,
779
+ -0.049560546875,
780
+ -0.005340576171875,
781
+ 0.021240234375,
782
+ 0.004913330078125,
783
+ 0.02490234375,
784
+ 0.007293701171875,
785
+ -0.0517578125,
786
+ 0.00799560546875,
787
+ -0.040771484375,
788
+ -0.03857421875,
789
+ -0.040283203125,
790
+ -0.007568359375,
791
+ -0.0250244140625,
792
+ -0.0230712890625,
793
+ 0.042724609375,
794
+ 0.0172119140625,
795
+ -0.0185546875,
796
+ -0.01446533203125,
797
+ 0.0296630859375,
798
+ 0.02099609375,
799
+ 0.030029296875,
800
+ 0.03515625,
801
+ -0.0277099609375,
802
+ -0.05029296875,
803
+ 0.031494140625,
804
+ -0.00262451171875,
805
+ -0.02001953125,
806
+ 0.033447265625,
807
+ 0.06103515625,
808
+ -0.0179443359375,
809
+ -0.03564453125,
810
+ -0.0194091796875,
811
+ -0.062255859375,
812
+ 0.0037994384765625,
813
+ 0.038330078125,
814
+ 0.0712890625,
815
+ -0.0380859375,
816
+ 0.00051116943359375,
817
+ 0.033203125,
818
+ 0.025634765625,
819
+ -0.02294921875,
820
+ 0.0247802734375,
821
+ 0.033935546875,
822
+ 0.03955078125,
823
+ -0.01397705078125,
824
+ -0.006103515625,
825
+ -0.062255859375,
826
+ -0.0322265625,
827
+ -0.004119873046875,
828
+ -0.017822265625,
829
+ 0.017333984375,
830
+ 0.04345703125,
831
+ -0.002471923828125,
832
+ 0.0277099609375,
833
+ -0.0162353515625,
834
+ 0.0751953125,
835
+ -0.005828857421875,
836
+ -0.017578125,
837
+ -0.0220947265625,
838
+ -0.0439453125,
839
+ -0.022705078125,
840
+ -0.028076171875,
841
+ -0.0164794921875,
842
+ 0.0260009765625,
843
+ -0.014892578125,
844
+ -0.01806640625,
845
+ -0.01141357421875,
846
+ -0.04248046875,
847
+ -0.0693359375,
848
+ 0.01141357421875,
849
+ 0.0211181640625,
850
+ 0.007415771484375,
851
+ -0.03466796875,
852
+ 0.024658203125,
853
+ 0.016357421875,
854
+ 0.04443359375,
855
+ 0.00830078125,
856
+ -0.033447265625,
857
+ 0.0012359619140625,
858
+ -0.036865234375,
859
+ 0.0286865234375,
860
+ -0.04150390625,
861
+ -0.0308837890625,
862
+ 0.059326171875,
863
+ -0.0213623046875,
864
+ 0.0140380859375,
865
+ 0.060302734375,
866
+ 0.0101318359375,
867
+ 0.052490234375,
868
+ 0.0242919921875,
869
+ -0.0213623046875,
870
+ 0.03857421875,
871
+ -0.000690460205078125,
872
+ 0.048583984375,
873
+ -0.01300048828125,
874
+ 0.006439208984375,
875
+ 0.005950927734375,
876
+ -0.06884765625,
877
+ -0.004364013671875,
878
+ 0.0302734375,
879
+ 0.021728515625,
880
+ 0.029541015625,
881
+ 0.0196533203125,
882
+ -0.0048828125,
883
+ -0.0172119140625,
884
+ 0.0009002685546875,
885
+ -0.0419921875,
886
+ -0.0185546875,
887
+ 0.06396484375,
888
+ -0.0028839111328125,
889
+ 0.0272216796875,
890
+ 0.0247802734375,
891
+ -0.018310546875,
892
+ 0.04052734375,
893
+ 0.06494140625,
894
+ 0.0233154296875,
895
+ -0.0001506805419921875,
896
+ -0.0250244140625,
897
+ -0.06103515625,
898
+ 0.00286865234375,
899
+ -0.00927734375,
900
+ -0.01025390625,
901
+ -0.03466796875,
902
+ -0.00116729736328125,
903
+ 0.029052734375,
904
+ 0.0150146484375,
905
+ 0.0130615234375,
906
+ 0.068359375,
907
+ 0.054931640625,
908
+ 0.037109375,
909
+ 0.025634765625,
910
+ -0.02587890625,
911
+ 0.0458984375,
912
+ 0.06591796875,
913
+ 0.01239013671875,
914
+ -0.0262451171875,
915
+ 0.10693359375,
916
+ -0.07421875,
917
+ -0.0174560546875,
918
+ -0.00604248046875,
919
+ -0.017578125,
920
+ 0.06103515625,
921
+ 0.0322265625,
922
+ -0.040771484375,
923
+ -0.0026397705078125,
924
+ 0.0037841796875,
925
+ -0.05859375,
926
+ -0.03662109375,
927
+ 0.0029449462890625,
928
+ -0.0245361328125,
929
+ 0.0179443359375,
930
+ 0.0220947265625,
931
+ 0.00726318359375,
932
+ -0.01458740234375,
933
+ 0.0054931640625,
934
+ 0.036376953125,
935
+ 0.02099609375,
936
+ 0.0162353515625,
937
+ -0.0250244140625,
938
+ 0.109375,
939
+ -0.024658203125,
940
+ -0.0206298828125,
941
+ -0.0269775390625,
942
+ -0.01043701171875,
943
+ -0.00994873046875,
944
+ -0.007720947265625,
945
+ -0.0002593994140625,
946
+ -0.01385498046875,
947
+ 0.01153564453125,
948
+ 0.0250244140625,
949
+ -0.017333984375,
950
+ -0.034912109375,
951
+ -0.004913330078125,
952
+ -0.0223388671875,
953
+ 0.053955078125,
954
+ 0.033447265625,
955
+ -0.01123046875,
956
+ -0.0213623046875,
957
+ 0.02880859375,
958
+ -0.0059814453125,
959
+ 0.00909423828125,
960
+ 0.0021820068359375,
961
+ -0.050048828125,
962
+ 0.044677734375,
963
+ -0.025390625,
964
+ -0.032958984375,
965
+ -0.033447265625,
966
+ -0.0250244140625,
967
+ -0.047607421875,
968
+ -0.02197265625,
969
+ -0.017333984375,
970
+ -0.00897216796875,
971
+ -0.037353515625,
972
+ -0.047607421875,
973
+ -0.006866455078125,
974
+ 0.0145263671875,
975
+ 0.0245361328125,
976
+ 0.0262451171875,
977
+ 0.01953125,
978
+ 0.036376953125,
979
+ 0.0859375,
980
+ -0.01177978515625,
981
+ -0.00994873046875,
982
+ -0.047119140625,
983
+ 0.0166015625,
984
+ -0.01025390625,
985
+ 0.0093994140625,
986
+ -0.0274658203125,
987
+ -0.0220947265625,
988
+ -0.03369140625,
989
+ -0.00518798828125,
990
+ -0.03466796875,
991
+ 0.00179290771484375,
992
+ 0.03173828125,
993
+ -0.0032958984375,
994
+ 0.036376953125,
995
+ 0.0927734375,
996
+ -0.01531982421875,
997
+ -0.037109375,
998
+ -0.0380859375,
999
+ -0.0147705078125,
1000
+ 0.026611328125,
1001
+ -0.01165771484375,
1002
+ -0.0322265625,
1003
+ 0.031005859375,
1004
+ -0.0147705078125,
1005
+ 0.00885009765625,
1006
+ 0.0262451171875,
1007
+ -0.01239013671875,
1008
+ 0.01226806640625,
1009
+ -0.0179443359375,
1010
+ 0.030029296875,
1011
+ -0.0234375,
1012
+ 0.0028076171875,
1013
+ -0.00665283203125,
1014
+ -0.0230712890625,
1015
+ -0.0029296875,
1016
+ -0.02783203125,
1017
+ -0.01190185546875,
1018
+ 0.00299072265625,
1019
+ -0.031982421875,
1020
+ -0.021728515625,
1021
+ 0.0262451171875,
1022
+ 0.04541015625,
1023
+ 0.00189208984375,
1024
+ 0.00811767578125,
1025
+ -0.030029296875,
1026
+ -0.0211181640625,
1027
+ 0.05615234375,
1028
+ 0.00994873046875,
1029
+ -0.0157470703125,
1030
+ 0.03369140625,
1031
+ 0.006683349609375,
1032
+ 0.000865936279296875,
1033
+ -0.0059814453125,
1034
+ -0.007476806640625,
1035
+ -0.0238037109375,
1036
+ 0.0458984375,
1037
+ -0.004119873046875,
1038
+ 0.0230712890625,
1039
+ 0.00732421875,
1040
+ 0.0225830078125,
1041
+ 0.0294189453125,
1042
+ -0.0302734375,
1043
+ -0.023681640625,
1044
+ 0.026123046875,
1045
+ 0.05029296875,
1046
+ 0.056640625,
1047
+ 0.00860595703125,
1048
+ 0.01104736328125,
1049
+ -0.01129150390625,
1050
+ -0.00092315673828125,
1051
+ 0.007293701171875,
1052
+ 0.040771484375,
1053
+ 0.002655029296875,
1054
+ 0.0174560546875,
1055
+ -0.0162353515625,
1056
+ 0.045166015625,
1057
+ -0.026123046875,
1058
+ 0.0022125244140625,
1059
+ 0.02685546875,
1060
+ 0.03173828125,
1061
+ 0.00830078125,
1062
+ -0.0556640625,
1063
+ -0.037109375,
1064
+ 0.0693359375,
1065
+ 0.0291748046875,
1066
+ 0.052490234375,
1067
+ 0.038818359375,
1068
+ 0.0152587890625,
1069
+ -0.03369140625,
1070
+ -0.0218505859375,
1071
+ 0.0157470703125,
1072
+ -0.0260009765625,
1073
+ 0.005706787109375,
1074
+ 0.005462646484375,
1075
+ 0.00494384765625,
1076
+ 0.00885009765625,
1077
+ 0.002044677734375,
1078
+ 0.057861328125,
1079
+ 0.029296875,
1080
+ -0.0311279296875,
1081
+ -0.03662109375,
1082
+ -0.01416015625,
1083
+ 0.007293701171875,
1084
+ 0.018798828125,
1085
+ -0.043701171875,
1086
+ 0.011962890625,
1087
+ 0.0296630859375,
1088
+ 0.00299072265625,
1089
+ -0.023681640625,
1090
+ -0.04443359375,
1091
+ 0.0233154296875,
1092
+ -0.031005859375,
1093
+ 0.0181884765625,
1094
+ 0.05517578125,
1095
+ -0.0010528564453125,
1096
+ -0.00075531005859375,
1097
+ 0.0157470703125,
1098
+ 0.015869140625,
1099
+ -0.0419921875,
1100
+ 0.00775146484375,
1101
+ -0.0159912109375,
1102
+ 0.0186767578125,
1103
+ -0.03857421875,
1104
+ 0.00115966796875,
1105
+ -0.01336669921875,
1106
+ 0.00933837890625,
1107
+ -0.01080322265625,
1108
+ -0.0556640625,
1109
+ 0.00433349609375,
1110
+ -0.0147705078125,
1111
+ 0.03466796875,
1112
+ -0.0308837890625,
1113
+ -0.00162506103515625,
1114
+ 0.050048828125,
1115
+ -0.04150390625,
1116
+ -0.0198974609375,
1117
+ -0.0155029296875,
1118
+ 0.0267333984375,
1119
+ 0.034423828125,
1120
+ 0.03466796875,
1121
+ -0.037841796875,
1122
+ 0.034912109375,
1123
+ 0.0017547607421875,
1124
+ 0.0260009765625,
1125
+ -0.0174560546875,
1126
+ -0.046630859375,
1127
+ -0.0159912109375,
1128
+ -0.0238037109375,
1129
+ 0.04150390625,
1130
+ -0.03759765625,
1131
+ 0.0093994140625,
1132
+ 0.0196533203125,
1133
+ -0.019287109375,
1134
+ 0.01214599609375,
1135
+ 0.01318359375,
1136
+ -0.0203857421875,
1137
+ -0.01318359375,
1138
+ -0.01904296875,
1139
+ 0.0235595703125,
1140
+ 0.0101318359375,
1141
+ 0.003326416015625,
1142
+ -0.04345703125,
1143
+ -0.003265380859375,
1144
+ 0.050537109375,
1145
+ -0.021240234375,
1146
+ 0.0281982421875,
1147
+ -0.004302978515625,
1148
+ 0.0595703125,
1149
+ -0.0062255859375,
1150
+ 0.0145263671875,
1151
+ 0.01214599609375,
1152
+ 0.00250244140625,
1153
+ -0.00909423828125,
1154
+ -0.01519775390625,
1155
+ -0.018310546875,
1156
+ 0.00946044921875,
1157
+ -0.064453125,
1158
+ 0.052490234375,
1159
+ 0.037353515625,
1160
+ 0.00823974609375,
1161
+ -0.0074462890625,
1162
+ -0.044189453125,
1163
+ 0.023193359375,
1164
+ 0.0400390625,
1165
+ 0.003143310546875,
1166
+ -0.00012493133544921875,
1167
+ -0.0230712890625,
1168
+ -0.0169677734375,
1169
+ -0.0032806396484375,
1170
+ -0.0269775390625,
1171
+ 0.01495361328125,
1172
+ 0.033203125,
1173
+ -0.0390625,
1174
+ 0.024169921875,
1175
+ -0.05517578125,
1176
+ 0.01416015625,
1177
+ -0.0057373046875,
1178
+ 0.052490234375,
1179
+ -0.00439453125,
1180
+ -0.039306640625,
1181
+ -0.08056640625,
1182
+ 0.049072265625,
1183
+ 0.002227783203125,
1184
+ 0.02197265625,
1185
+ -0.052978515625,
1186
+ -0.0203857421875,
1187
+ 0.034423828125,
1188
+ -0.0096435546875,
1189
+ 0.043212890625,
1190
+ 0.0361328125,
1191
+ -0.03662109375,
1192
+ 0.038330078125,
1193
+ -0.0380859375,
1194
+ -0.040283203125,
1195
+ 0.0213623046875,
1196
+ 0.02294921875,
1197
+ -0.00152587890625,
1198
+ -0.04296875,
1199
+ 0.0400390625,
1200
+ -0.01361083984375,
1201
+ -0.00872802734375,
1202
+ -0.03125,
1203
+ -0.007476806640625,
1204
+ 0.0267333984375,
1205
+ -0.000583648681640625,
1206
+ -0.06201171875,
1207
+ -0.048828125,
1208
+ 0.041015625,
1209
+ -0.000545501708984375,
1210
+ 0.041015625,
1211
+ 0.052001953125,
1212
+ 0.019287109375,
1213
+ -0.014892578125,
1214
+ 0.01434326171875,
1215
+ 0.0120849609375,
1216
+ 0.0059814453125,
1217
+ -0.0186767578125,
1218
+ 0.01483154296875,
1219
+ -0.02978515625,
1220
+ -0.024658203125,
1221
+ -0.0322265625,
1222
+ 0.056396484375,
1223
+ 0.061279296875,
1224
+ -0.02099609375,
1225
+ -0.0172119140625,
1226
+ 0.0279541015625,
1227
+ 0.02294921875,
1228
+ -0.02099609375,
1229
+ -0.04541015625,
1230
+ -0.00897216796875,
1231
+ -0.032470703125,
1232
+ 0.040283203125,
1233
+ -0.040283203125,
1234
+ -0.040771484375,
1235
+ -0.06787109375
1236
+ ]
1237
+ ]
1238
+ ],
1239
+ "hd_transform_order": "sub_glb",
1240
+ "hidden_act": "silu",
1241
+ "hidden_size": 3072,
1242
+ "image_dim_out": 1152,
1243
+ "img_processor": null,
1244
+ "initializer_range": 0.02,
1245
+ "intermediate_size": 8192,
1246
+ "interpolate_factor": 1,
1247
+ "lm_head_bias": false,
1248
+ "max_position_embeddings": 131072,
1249
+ "mlp_bias": false,
1250
+ "model_type": "phi4mm",
1251
+ "num_attention_heads": 24,
1252
+ "num_hidden_layers": 32,
1253
+ "num_img_tokens": 256,
1254
+ "num_key_value_heads": 8,
1255
+ "original_max_position_embeddings": 4096,
1256
+ "pad_token_id": 199999,
1257
+ "partial_rotary_factor": 0.75,
1258
+ "resid_pdrop": 0.0,
1259
+ "rms_norm_eps": 1e-05,
1260
+ "rope_scaling": {
1261
+ "long_factor": [
1262
+ 1,
1263
+ 1.118320672,
1264
+ 1.250641126,
1265
+ 1.398617824,
1266
+ 1.564103225,
1267
+ 1.74916897,
1268
+ 1.956131817,
1269
+ 2.187582649,
1270
+ 2.446418898,
1271
+ 2.735880826,
1272
+ 3.059592084,
1273
+ 3.421605075,
1274
+ 3.826451687,
1275
+ 4.279200023,
1276
+ 4.785517845,
1277
+ 5.351743533,
1278
+ 5.984965424,
1279
+ 6.693110555,
1280
+ 7.485043894,
1281
+ 8.370679318,
1282
+ 9.36110372,
1283
+ 10.4687158,
1284
+ 11.70738129,
1285
+ 13.09260651,
1286
+ 14.64173252,
1287
+ 16.37415215,
1288
+ 18.31155283,
1289
+ 20.47818807,
1290
+ 22.90118105,
1291
+ 25.61086418,
1292
+ 28.64115884,
1293
+ 32.03,
1294
+ 32.1,
1295
+ 32.13,
1296
+ 32.23,
1297
+ 32.6,
1298
+ 32.61,
1299
+ 32.64,
1300
+ 32.66,
1301
+ 32.7,
1302
+ 32.71,
1303
+ 32.93,
1304
+ 32.97,
1305
+ 33.28,
1306
+ 33.49,
1307
+ 33.5,
1308
+ 44.16,
1309
+ 47.77
1310
+ ],
1311
+ "short_factor": [
1312
+ 1.0,
1313
+ 1.0,
1314
+ 1.0,
1315
+ 1.0,
1316
+ 1.0,
1317
+ 1.0,
1318
+ 1.0,
1319
+ 1.0,
1320
+ 1.0,
1321
+ 1.0,
1322
+ 1.0,
1323
+ 1.0,
1324
+ 1.0,
1325
+ 1.0,
1326
+ 1.0,
1327
+ 1.0,
1328
+ 1.0,
1329
+ 1.0,
1330
+ 1.0,
1331
+ 1.0,
1332
+ 1.0,
1333
+ 1.0,
1334
+ 1.0,
1335
+ 1.0,
1336
+ 1.0,
1337
+ 1.0,
1338
+ 1.0,
1339
+ 1.0,
1340
+ 1.0,
1341
+ 1.0,
1342
+ 1.0,
1343
+ 1.0,
1344
+ 1.0,
1345
+ 1.0,
1346
+ 1.0,
1347
+ 1.0,
1348
+ 1.0,
1349
+ 1.0,
1350
+ 1.0,
1351
+ 1.0,
1352
+ 1.0,
1353
+ 1.0,
1354
+ 1.0,
1355
+ 1.0,
1356
+ 1.0,
1357
+ 1.0,
1358
+ 1.0,
1359
+ 1.0
1360
+ ],
1361
+ "type": "longrope"
1362
+ },
1363
+ "rope_theta": 10000.0,
1364
+ "sliding_window": 262144,
1365
+ "speech_lora": {
1366
+ "dp": 0.01,
1367
+ "layer": "((layers.*self_attn\\.(qkv|o)_proj)|(layers.*mlp\\.(gate_up|down)_proj))",
1368
+ "lora_alpha": 640,
1369
+ "r": 320
1370
+ },
1371
+ "sub_GN": [
1372
+ [
1373
+ [
1374
+ [
1375
+ 0.01287841796875,
1376
+ 0.01202392578125,
1377
+ -0.0006866455078125,
1378
+ -0.004180908203125,
1379
+ -3.743171691894531e-05,
1380
+ -0.000934600830078125,
1381
+ 0.001434326171875,
1382
+ 0.007476806640625,
1383
+ -0.0035400390625,
1384
+ -0.0196533203125,
1385
+ 0.00775146484375,
1386
+ 0.00098419189453125,
1387
+ 0.00921630859375,
1388
+ 3.218650817871094e-05,
1389
+ 0.009765625,
1390
+ -0.0120849609375,
1391
+ -0.004241943359375,
1392
+ 0.00994873046875,
1393
+ 0.0013580322265625,
1394
+ 0.0012054443359375,
1395
+ 0.0047607421875,
1396
+ -0.00185394287109375,
1397
+ -0.0242919921875,
1398
+ 0.01214599609375,
1399
+ -0.0101318359375,
1400
+ -0.00070953369140625,
1401
+ -0.005126953125,
1402
+ -0.004425048828125,
1403
+ -0.01251220703125,
1404
+ 0.004119873046875,
1405
+ -0.00274658203125,
1406
+ -0.01055908203125,
1407
+ 0.00494384765625,
1408
+ -0.0028228759765625,
1409
+ 0.0024261474609375,
1410
+ 0.0064697265625,
1411
+ 0.000865936279296875,
1412
+ -0.00103759765625,
1413
+ -0.0025787353515625,
1414
+ 0.0166015625,
1415
+ -0.000675201416015625,
1416
+ 0.01177978515625,
1417
+ -0.00018024444580078125,
1418
+ 0.00238037109375,
1419
+ -0.003326416015625,
1420
+ 0.00153350830078125,
1421
+ -0.00086212158203125,
1422
+ -0.00628662109375,
1423
+ -6.079673767089844e-05,
1424
+ 0.005828857421875,
1425
+ 0.001495361328125,
1426
+ -0.01275634765625,
1427
+ -0.00909423828125,
1428
+ 0.00592041015625,
1429
+ 4.863739013671875e-05,
1430
+ 0.0067138671875,
1431
+ -0.003631591796875,
1432
+ 0.0024871826171875,
1433
+ -8.106231689453125e-05,
1434
+ -0.00148773193359375,
1435
+ -1.2993812561035156e-05,
1436
+ 0.00982666015625,
1437
+ 0.004669189453125,
1438
+ -0.003570556640625,
1439
+ 0.01092529296875,
1440
+ 0.0174560546875,
1441
+ -0.005645751953125,
1442
+ 0.01263427734375,
1443
+ 0.00909423828125,
1444
+ -0.00494384765625,
1445
+ 0.00604248046875,
1446
+ -0.0164794921875,
1447
+ -0.0016326904296875,
1448
+ -0.00112152099609375,
1449
+ 0.00177764892578125,
1450
+ -0.00139617919921875,
1451
+ -0.00653076171875,
1452
+ 0.00982666015625,
1453
+ 0.000370025634765625,
1454
+ -0.0159912109375,
1455
+ 0.00171661376953125,
1456
+ 0.0164794921875,
1457
+ -0.0074462890625,
1458
+ -0.004638671875,
1459
+ -0.01007080078125,
1460
+ -0.004913330078125,
1461
+ 0.0177001953125,
1462
+ -0.00689697265625,
1463
+ 0.0059814453125,
1464
+ 0.014892578125,
1465
+ -0.00927734375,
1466
+ 0.025146484375,
1467
+ 0.0042724609375,
1468
+ -0.00060272216796875,
1469
+ 0.0189208984375,
1470
+ 0.007232666015625,
1471
+ -0.002349853515625,
1472
+ 0.01483154296875,
1473
+ -0.005279541015625,
1474
+ -0.00933837890625,
1475
+ -0.000530242919921875,
1476
+ -0.00811767578125,
1477
+ 0.00848388671875,
1478
+ 0.00225830078125,
1479
+ -0.0026702880859375,
1480
+ -0.016357421875,
1481
+ 0.0034027099609375,
1482
+ -0.006317138671875,
1483
+ -0.00830078125,
1484
+ -0.007476806640625,
1485
+ 0.016357421875,
1486
+ 0.00408935546875,
1487
+ -0.0016632080078125,
1488
+ -0.00872802734375,
1489
+ -0.00787353515625,
1490
+ -0.0021820068359375,
1491
+ 0.00185394287109375,
1492
+ -0.002685546875,
1493
+ -0.013427734375,
1494
+ -0.006744384765625,
1495
+ 4.267692565917969e-05,
1496
+ 0.00372314453125,
1497
+ -0.005340576171875,
1498
+ 0.0010223388671875,
1499
+ -0.0078125,
1500
+ -0.0021209716796875,
1501
+ 0.00994873046875,
1502
+ 0.00616455078125,
1503
+ 0.0277099609375,
1504
+ -0.0096435546875,
1505
+ -0.01300048828125,
1506
+ -0.0167236328125,
1507
+ -0.01220703125,
1508
+ -0.01214599609375,
1509
+ -0.0016326904296875,
1510
+ -0.002685546875,
1511
+ 0.0016632080078125,
1512
+ -0.0177001953125,
1513
+ -0.01080322265625,
1514
+ -0.009521484375,
1515
+ 0.009765625,
1516
+ 0.0107421875,
1517
+ 0.007171630859375,
1518
+ -0.0030364990234375,
1519
+ 0.01141357421875,
1520
+ -0.012451171875,
1521
+ -0.004608154296875,
1522
+ 0.004669189453125,
1523
+ -0.003265380859375,
1524
+ -0.00970458984375,
1525
+ -0.00860595703125,
1526
+ -0.0103759765625,
1527
+ 0.003326416015625,
1528
+ 0.0167236328125,
1529
+ 0.0084228515625,
1530
+ 0.000736236572265625,
1531
+ -0.0032806396484375,
1532
+ 0.0125732421875,
1533
+ -0.004241943359375,
1534
+ 0.0123291015625,
1535
+ -0.0057373046875,
1536
+ 0.0081787109375,
1537
+ 0.0029296875,
1538
+ -0.00872802734375,
1539
+ -0.00150299072265625,
1540
+ 0.01275634765625,
1541
+ 0.0016937255859375,
1542
+ -0.00616455078125,
1543
+ 0.01275634765625,
1544
+ -0.0007171630859375,
1545
+ -0.0220947265625,
1546
+ -0.0042724609375,
1547
+ -0.000949859619140625,
1548
+ 0.004486083984375,
1549
+ 0.0029754638671875,
1550
+ -0.004638671875,
1551
+ 0.0076904296875,
1552
+ 0.00070953369140625,
1553
+ 0.0029449462890625,
1554
+ 0.002227783203125,
1555
+ -0.01544189453125,
1556
+ -0.01080322265625,
1557
+ -0.00057220458984375,
1558
+ 0.00021648406982421875,
1559
+ 0.019775390625,
1560
+ -0.006317138671875,
1561
+ -0.017333984375,
1562
+ -0.015869140625,
1563
+ -0.0032958984375,
1564
+ 0.0120849609375,
1565
+ 0.00518798828125,
1566
+ 0.004669189453125,
1567
+ 0.0164794921875,
1568
+ 0.004119873046875,
1569
+ -0.0007476806640625,
1570
+ -0.0036773681640625,
1571
+ -0.001953125,
1572
+ -0.006805419921875,
1573
+ 0.007537841796875,
1574
+ 0.003265380859375,
1575
+ -0.017822265625,
1576
+ -0.00592041015625,
1577
+ -0.00131988525390625,
1578
+ 0.00714111328125,
1579
+ 0.0079345703125,
1580
+ -0.0015106201171875,
1581
+ 0.004119873046875,
1582
+ 0.0027008056640625,
1583
+ 0.01531982421875,
1584
+ -0.00537109375,
1585
+ -0.00225830078125,
1586
+ -0.0001583099365234375,
1587
+ -0.005828857421875,
1588
+ 0.01336669921875,
1589
+ -0.0069580078125,
1590
+ 0.01312255859375,
1591
+ 0.0262451171875,
1592
+ -0.0027923583984375,
1593
+ 0.006103515625,
1594
+ -0.0166015625,
1595
+ 0.0074462890625,
1596
+ 0.01092529296875,
1597
+ 0.005859375,
1598
+ -0.00921630859375,
1599
+ 0.00640869140625,
1600
+ -0.01007080078125,
1601
+ 0.002105712890625,
1602
+ 0.006072998046875,
1603
+ -0.0093994140625,
1604
+ 0.006011962890625,
1605
+ -0.004425048828125,
1606
+ -0.0164794921875,
1607
+ -0.00909423828125,
1608
+ -0.017333984375,
1609
+ 0.00823974609375,
1610
+ -0.007293701171875,
1611
+ 0.006744384765625,
1612
+ -0.005340576171875,
1613
+ -0.004241943359375,
1614
+ 0.00799560546875,
1615
+ -0.0048828125,
1616
+ -0.01513671875,
1617
+ -0.011474609375,
1618
+ -0.00897216796875,
1619
+ 0.017578125,
1620
+ -0.006683349609375,
1621
+ 0.01025390625,
1622
+ -0.0059814453125,
1623
+ -8.153915405273438e-05,
1624
+ 0.00750732421875,
1625
+ 0.0020294189453125,
1626
+ -0.0033721923828125,
1627
+ 0.00250244140625,
1628
+ 0.005523681640625,
1629
+ -0.00150299072265625,
1630
+ -0.00994873046875,
1631
+ 0.00110626220703125,
1632
+ 0.0084228515625,
1633
+ -0.0098876953125,
1634
+ -0.0245361328125,
1635
+ -0.01495361328125,
1636
+ -0.0078125,
1637
+ -0.0137939453125,
1638
+ -0.00093841552734375,
1639
+ -0.00811767578125,
1640
+ -0.003631591796875,
1641
+ -0.010009765625,
1642
+ -0.01519775390625,
1643
+ 0.00677490234375,
1644
+ 0.0140380859375,
1645
+ -0.0064697265625,
1646
+ -0.002349853515625,
1647
+ 0.003021240234375,
1648
+ -0.0032501220703125,
1649
+ -0.001434326171875,
1650
+ -0.0120849609375,
1651
+ 0.00421142578125,
1652
+ -0.0130615234375,
1653
+ -0.001068115234375,
1654
+ -0.0126953125,
1655
+ 0.0022125244140625,
1656
+ -0.000629425048828125,
1657
+ -0.00140380859375,
1658
+ 0.004669189453125,
1659
+ 0.0062255859375,
1660
+ 0.005584716796875,
1661
+ 0.0018463134765625,
1662
+ 0.01116943359375,
1663
+ -0.0062255859375,
1664
+ 0.0009918212890625,
1665
+ 0.00122833251953125,
1666
+ 0.01141357421875,
1667
+ -0.009521484375,
1668
+ 0.017578125,
1669
+ 0.006561279296875,
1670
+ 0.003875732421875,
1671
+ -0.0107421875,
1672
+ -0.00994873046875,
1673
+ -0.0069580078125,
1674
+ 0.01470947265625,
1675
+ -0.00421142578125,
1676
+ 0.006103515625,
1677
+ 0.000392913818359375,
1678
+ 0.004119873046875,
1679
+ 0.0052490234375,
1680
+ -0.00060272216796875,
1681
+ -0.01080322265625,
1682
+ -0.01068115234375,
1683
+ -0.000774383544921875,
1684
+ -0.0172119140625,
1685
+ -0.000835418701171875,
1686
+ -0.0096435546875,
1687
+ 0.0022735595703125,
1688
+ -0.001434326171875,
1689
+ 0.003692626953125,
1690
+ -0.00119781494140625,
1691
+ 0.0026092529296875,
1692
+ 0.02490234375,
1693
+ 0.015380859375,
1694
+ -0.0201416015625,
1695
+ 0.0238037109375,
1696
+ -0.0103759765625,
1697
+ -0.009033203125,
1698
+ -0.01348876953125,
1699
+ 0.00125885009765625,
1700
+ 0.016845703125,
1701
+ -0.0028533935546875,
1702
+ -0.005126953125,
1703
+ -0.0130615234375,
1704
+ -0.00970458984375,
1705
+ 0.00933837890625,
1706
+ 0.01611328125,
1707
+ -0.0076904296875,
1708
+ -0.002197265625,
1709
+ 0.006988525390625,
1710
+ -0.0223388671875,
1711
+ 0.00445556640625,
1712
+ -0.00433349609375,
1713
+ 0.0084228515625,
1714
+ -0.00762939453125,
1715
+ -0.0064697265625,
1716
+ 0.0150146484375,
1717
+ 0.0150146484375,
1718
+ -0.017333984375,
1719
+ 0.017822265625,
1720
+ 0.00177764892578125,
1721
+ 0.00921630859375,
1722
+ -0.00927734375,
1723
+ 0.0028533935546875,
1724
+ -2.2411346435546875e-05,
1725
+ -0.00130462646484375,
1726
+ -0.00433349609375,
1727
+ -0.0013580322265625,
1728
+ 0.01202392578125,
1729
+ -0.0029754638671875,
1730
+ -0.000385284423828125,
1731
+ -0.004608154296875,
1732
+ -0.0037841796875,
1733
+ 0.002166748046875,
1734
+ 0.01068115234375,
1735
+ -0.00506591796875,
1736
+ 0.001617431640625,
1737
+ -0.0107421875,
1738
+ -7.724761962890625e-05,
1739
+ -0.005523681640625,
1740
+ 0.012451171875,
1741
+ -0.00341796875,
1742
+ 0.00286865234375,
1743
+ 0.0244140625,
1744
+ 0.0032196044921875,
1745
+ 0.0048828125,
1746
+ 0.0177001953125,
1747
+ -0.006072998046875,
1748
+ 0.0087890625,
1749
+ 0.00017833709716796875,
1750
+ -0.00799560546875,
1751
+ -0.0250244140625,
1752
+ 0.003326416015625,
1753
+ 0.0017242431640625,
1754
+ 0.004791259765625,
1755
+ -0.0159912109375,
1756
+ -0.00177764892578125,
1757
+ 0.019775390625,
1758
+ -0.0086669921875,
1759
+ 0.01422119140625,
1760
+ -0.005950927734375,
1761
+ 0.005035400390625,
1762
+ -0.011474609375,
1763
+ 0.00238037109375,
1764
+ -0.004547119140625,
1765
+ 0.01177978515625,
1766
+ 0.0115966796875,
1767
+ 0.0030517578125,
1768
+ -8.7738037109375e-05,
1769
+ -0.00335693359375,
1770
+ 0.00592041015625,
1771
+ 0.009033203125,
1772
+ 0.00139617919921875,
1773
+ -0.0185546875,
1774
+ -0.004547119140625,
1775
+ 0.00543212890625,
1776
+ 0.02001953125,
1777
+ -0.01019287109375,
1778
+ -0.01275634765625,
1779
+ 0.005950927734375,
1780
+ 0.00921630859375,
1781
+ 0.00131988525390625,
1782
+ 2.2530555725097656e-05,
1783
+ -0.00604248046875,
1784
+ 0.00885009765625,
1785
+ -0.000335693359375,
1786
+ -0.00848388671875,
1787
+ -0.0072021484375,
1788
+ 0.0037841796875,
1789
+ 0.00177764892578125,
1790
+ -0.0113525390625,
1791
+ -0.00909423828125,
1792
+ 0.004669189453125,
1793
+ -0.01153564453125,
1794
+ 0.00390625,
1795
+ 0.01116943359375,
1796
+ -0.002288818359375,
1797
+ -0.005615234375,
1798
+ -0.00051116943359375,
1799
+ 0.0029144287109375,
1800
+ 0.0159912109375,
1801
+ -0.017578125,
1802
+ -0.01416015625,
1803
+ 0.0017547607421875,
1804
+ 0.00933837890625,
1805
+ 0.000835418701171875,
1806
+ 0.0064697265625,
1807
+ -0.01080322265625,
1808
+ 0.0172119140625,
1809
+ -0.007659912109375,
1810
+ 0.00159454345703125,
1811
+ 0.006500244140625,
1812
+ -0.00750732421875,
1813
+ 0.002532958984375,
1814
+ -0.00909423828125,
1815
+ 0.006744384765625,
1816
+ -0.0133056640625,
1817
+ 0.002288818359375,
1818
+ -0.00101470947265625,
1819
+ 0.003753662109375,
1820
+ -0.0128173828125,
1821
+ 0.0081787109375,
1822
+ 0.000247955322265625,
1823
+ -0.004302978515625,
1824
+ 0.01300048828125,
1825
+ -0.0019989013671875,
1826
+ 0.01031494140625,
1827
+ 0.0015869140625,
1828
+ 0.0135498046875,
1829
+ -0.00323486328125,
1830
+ -0.00021648406982421875,
1831
+ 0.00927734375,
1832
+ -0.01226806640625,
1833
+ -0.00946044921875,
1834
+ 0.011474609375,
1835
+ -0.01031494140625,
1836
+ -0.006927490234375,
1837
+ -0.0118408203125,
1838
+ 0.004913330078125,
1839
+ 0.01446533203125,
1840
+ 0.0174560546875,
1841
+ -0.00153350830078125,
1842
+ 0.005126953125,
1843
+ 0.00113677978515625,
1844
+ -0.000141143798828125,
1845
+ 0.01373291015625,
1846
+ 0.00738525390625,
1847
+ -0.007415771484375,
1848
+ -0.005615234375,
1849
+ -0.00927734375,
1850
+ 0.012939453125,
1851
+ 0.00173187255859375,
1852
+ -0.00043487548828125,
1853
+ -0.012451171875,
1854
+ 0.0101318359375,
1855
+ -0.00150299072265625,
1856
+ -0.006591796875,
1857
+ 0.0107421875,
1858
+ 0.025634765625,
1859
+ 0.0003414154052734375,
1860
+ -0.00017070770263671875,
1861
+ -0.01171875,
1862
+ 0.01806640625,
1863
+ 0.006256103515625,
1864
+ 0.00982666015625,
1865
+ -0.0030670166015625,
1866
+ -0.0091552734375,
1867
+ -0.0179443359375,
1868
+ 0.0020751953125,
1869
+ 0.006744384765625,
1870
+ -0.00445556640625,
1871
+ -0.00335693359375,
1872
+ -0.00543212890625,
1873
+ -0.015869140625,
1874
+ -0.005523681640625,
1875
+ 0.0118408203125,
1876
+ 0.0011138916015625,
1877
+ -0.00543212890625,
1878
+ -0.00013637542724609375,
1879
+ -0.001617431640625,
1880
+ 0.001617431640625,
1881
+ 0.004150390625,
1882
+ 0.00074005126953125,
1883
+ -0.019287109375,
1884
+ -0.0078125,
1885
+ -0.016357421875,
1886
+ -0.0146484375,
1887
+ -0.003143310546875,
1888
+ 0.0025787353515625,
1889
+ -0.019287109375,
1890
+ -0.005218505859375,
1891
+ -0.00830078125,
1892
+ 0.01080322265625,
1893
+ -0.004180908203125,
1894
+ -0.009765625,
1895
+ -0.006927490234375,
1896
+ -0.00823974609375,
1897
+ -0.005035400390625,
1898
+ -0.0185546875,
1899
+ -0.019775390625,
1900
+ 0.00011396408081054688,
1901
+ -0.0020751953125,
1902
+ -0.00927734375,
1903
+ -0.006622314453125,
1904
+ 0.0037078857421875,
1905
+ -0.0027923583984375,
1906
+ 0.0017242431640625,
1907
+ 0.001983642578125,
1908
+ -0.007080078125,
1909
+ -0.00640869140625,
1910
+ -0.007659912109375,
1911
+ 0.0072021484375,
1912
+ 0.002044677734375,
1913
+ -0.01214599609375,
1914
+ 0.00171661376953125,
1915
+ -0.0003204345703125,
1916
+ -0.0002765655517578125,
1917
+ 0.00921630859375,
1918
+ 0.00738525390625,
1919
+ 0.00958251953125,
1920
+ -0.000583648681640625,
1921
+ -0.0169677734375,
1922
+ 0.000453948974609375,
1923
+ 0.006317138671875,
1924
+ -0.0137939453125,
1925
+ -0.018798828125,
1926
+ 0.0196533203125,
1927
+ 0.01434326171875,
1928
+ 0.0030059814453125,
1929
+ 0.006195068359375,
1930
+ 0.01025390625,
1931
+ 0.015625,
1932
+ -0.00897216796875,
1933
+ 0.004638671875,
1934
+ -0.03466796875,
1935
+ -0.0008697509765625,
1936
+ -0.000835418701171875,
1937
+ 0.0024261474609375,
1938
+ -0.012939453125,
1939
+ 0.00848388671875,
1940
+ -0.000820159912109375,
1941
+ -0.00927734375,
1942
+ -0.015625,
1943
+ 0.00567626953125,
1944
+ -0.0016632080078125,
1945
+ -0.0019989013671875,
1946
+ -0.0028533935546875,
1947
+ -0.002777099609375,
1948
+ 0.0025482177734375,
1949
+ 0.01055908203125,
1950
+ 0.00714111328125,
1951
+ -0.01055908203125,
1952
+ 0.00162506103515625,
1953
+ 0.0098876953125,
1954
+ -0.00421142578125,
1955
+ 0.0024261474609375,
1956
+ 0.01373291015625,
1957
+ 0.01611328125,
1958
+ -0.0106201171875,
1959
+ -0.0004405975341796875,
1960
+ -0.0045166015625,
1961
+ -0.0038909912109375,
1962
+ 0.00145721435546875,
1963
+ 0.01123046875,
1964
+ 0.0022430419921875,
1965
+ -0.0078125,
1966
+ 0.01177978515625,
1967
+ -0.00142669677734375,
1968
+ -0.000701904296875,
1969
+ -0.0009613037109375,
1970
+ 0.01556396484375,
1971
+ 0.01019287109375,
1972
+ -0.0155029296875,
1973
+ -0.00537109375,
1974
+ 0.01483154296875,
1975
+ -0.01043701171875,
1976
+ 0.01165771484375,
1977
+ -0.00799560546875,
1978
+ -0.00390625,
1979
+ -0.00174713134765625,
1980
+ 0.009033203125,
1981
+ 0.00372314453125,
1982
+ -0.004852294921875,
1983
+ -0.003082275390625,
1984
+ 0.012939453125,
1985
+ -0.01055908203125,
1986
+ -0.0052490234375,
1987
+ 0.0022125244140625,
1988
+ 0.001556396484375,
1989
+ -0.010498046875,
1990
+ 0.0020599365234375,
1991
+ 0.01611328125,
1992
+ -0.00994873046875,
1993
+ -0.0189208984375,
1994
+ -0.007537841796875,
1995
+ -0.00150299072265625,
1996
+ 1.0192394256591797e-05,
1997
+ -0.007598876953125,
1998
+ 0.0047607421875,
1999
+ -0.0096435546875,
2000
+ -0.0166015625,
2001
+ 0.0126953125,
2002
+ -0.004547119140625,
2003
+ -0.005828857421875,
2004
+ 0.0007781982421875,
2005
+ -0.0074462890625,
2006
+ 0.000701904296875,
2007
+ 0.0018768310546875,
2008
+ 0.00396728515625,
2009
+ 0.0107421875,
2010
+ -0.0062255859375,
2011
+ 0.0211181640625,
2012
+ -0.0194091796875,
2013
+ 0.004058837890625,
2014
+ -0.005096435546875,
2015
+ 0.0036773681640625,
2016
+ 0.00726318359375,
2017
+ -0.003662109375,
2018
+ 0.00885009765625,
2019
+ -0.008056640625,
2020
+ 0.01446533203125,
2021
+ -0.010009765625,
2022
+ 0.002288818359375,
2023
+ 0.000629425048828125,
2024
+ 0.003814697265625,
2025
+ 7.581710815429688e-05,
2026
+ 0.001739501953125,
2027
+ -0.0068359375,
2028
+ 0.00640869140625,
2029
+ 0.002655029296875,
2030
+ 0.0115966796875,
2031
+ -0.0062255859375,
2032
+ -0.0032806396484375,
2033
+ 0.01116943359375,
2034
+ 0.000690460205078125,
2035
+ -0.0062255859375,
2036
+ -0.01043701171875,
2037
+ 0.0003662109375,
2038
+ 0.01519775390625,
2039
+ -0.00384521484375,
2040
+ 0.002227783203125,
2041
+ -0.0027618408203125,
2042
+ -0.01171875,
2043
+ 0.00286865234375,
2044
+ -0.001495361328125,
2045
+ 0.00177764892578125,
2046
+ -0.009033203125,
2047
+ -0.006744384765625,
2048
+ -0.0184326171875,
2049
+ 0.0023193359375,
2050
+ -0.01190185546875,
2051
+ 0.006103515625,
2052
+ 0.005218505859375,
2053
+ 5.3882598876953125e-05,
2054
+ 0.0013427734375,
2055
+ 0.00360107421875,
2056
+ -0.0031585693359375,
2057
+ 0.0068359375,
2058
+ 0.00156402587890625,
2059
+ 0.0050048828125,
2060
+ 0.02001953125,
2061
+ -0.00323486328125,
2062
+ -0.01165771484375,
2063
+ -0.01275634765625,
2064
+ 0.0002269744873046875,
2065
+ 0.00104522705078125,
2066
+ -0.0004177093505859375,
2067
+ -0.006500244140625,
2068
+ 0.0008087158203125,
2069
+ -0.01123046875,
2070
+ 0.00823974609375,
2071
+ 0.00738525390625,
2072
+ -0.0019683837890625,
2073
+ -0.005340576171875,
2074
+ -0.01214599609375,
2075
+ -0.0027008056640625,
2076
+ 0.0040283203125,
2077
+ 0.01220703125,
2078
+ -0.006988525390625,
2079
+ -0.00579833984375,
2080
+ 0.00372314453125,
2081
+ -0.002197265625,
2082
+ -0.007720947265625,
2083
+ -0.005157470703125,
2084
+ -0.003448486328125,
2085
+ -0.011962890625,
2086
+ 0.0125732421875,
2087
+ -0.00125885009765625,
2088
+ 0.0010223388671875,
2089
+ 0.0012054443359375,
2090
+ -0.0150146484375,
2091
+ -0.00127410888671875,
2092
+ 0.01007080078125,
2093
+ 0.00445556640625,
2094
+ -0.001190185546875,
2095
+ 0.006866455078125,
2096
+ 0.0164794921875,
2097
+ -0.018310546875,
2098
+ -0.00408935546875,
2099
+ -0.0001392364501953125,
2100
+ 0.00543212890625,
2101
+ 0.0020294189453125,
2102
+ 0.0003986358642578125,
2103
+ 0.010498046875,
2104
+ -0.0189208984375,
2105
+ -0.01263427734375,
2106
+ -0.000972747802734375,
2107
+ -0.00787353515625,
2108
+ 0.00811767578125,
2109
+ -0.01263427734375,
2110
+ -0.006500244140625,
2111
+ -0.00689697265625,
2112
+ 0.01263427734375,
2113
+ -0.0024566650390625,
2114
+ 0.0198974609375,
2115
+ -0.006805419921875,
2116
+ 0.00958251953125,
2117
+ -0.0107421875,
2118
+ -0.0031585693359375,
2119
+ 0.021484375,
2120
+ -0.0118408203125,
2121
+ -0.001708984375,
2122
+ 0.00982666015625,
2123
+ -0.0022430419921875,
2124
+ -0.01025390625,
2125
+ -0.00762939453125,
2126
+ -0.0162353515625,
2127
+ -0.00057220458984375,
2128
+ 0.00286865234375,
2129
+ -0.0020904541015625,
2130
+ -0.000255584716796875,
2131
+ 0.01104736328125,
2132
+ -0.006683349609375,
2133
+ 0.0020751953125,
2134
+ 0.000362396240234375,
2135
+ -0.0052490234375,
2136
+ 0.0011444091796875,
2137
+ -0.021484375,
2138
+ -0.00026702880859375,
2139
+ 0.010009765625,
2140
+ -0.0057373046875,
2141
+ 0.0140380859375,
2142
+ -0.00946044921875,
2143
+ 0.0072021484375,
2144
+ 0.0028076171875,
2145
+ -0.0159912109375,
2146
+ -0.00335693359375,
2147
+ 0.0177001953125,
2148
+ 0.0027923583984375,
2149
+ 0.005706787109375,
2150
+ 0.005584716796875,
2151
+ 0.0084228515625,
2152
+ -0.001434326171875,
2153
+ -0.00958251953125,
2154
+ -0.00848388671875,
2155
+ -0.0093994140625,
2156
+ -0.0093994140625,
2157
+ 0.01214599609375,
2158
+ -0.01312255859375,
2159
+ -0.01287841796875,
2160
+ -0.004638671875,
2161
+ -0.002410888671875,
2162
+ 0.005828857421875,
2163
+ -0.004669189453125,
2164
+ -0.006927490234375,
2165
+ 0.002716064453125,
2166
+ -0.0089111328125,
2167
+ 0.004730224609375,
2168
+ 0.0157470703125,
2169
+ -0.00173187255859375,
2170
+ 0.00823974609375,
2171
+ -0.00106048583984375,
2172
+ -0.01953125,
2173
+ 0.0009918212890625,
2174
+ 0.0026397705078125,
2175
+ 0.01397705078125,
2176
+ 0.003265380859375,
2177
+ 0.001556396484375,
2178
+ -0.00116729736328125,
2179
+ -0.001617431640625,
2180
+ 0.009033203125,
2181
+ -0.00823974609375,
2182
+ 0.00732421875,
2183
+ -0.002197265625,
2184
+ -0.01495361328125,
2185
+ -0.019775390625,
2186
+ 0.004058837890625,
2187
+ 0.01513671875,
2188
+ 0.008056640625,
2189
+ -0.0111083984375,
2190
+ 0.0068359375,
2191
+ 0.004669189453125,
2192
+ 0.01409912109375,
2193
+ 0.0001277923583984375,
2194
+ -0.0036773681640625,
2195
+ -0.00555419921875,
2196
+ 0.00408935546875,
2197
+ -0.01531982421875,
2198
+ 0.00081634521484375,
2199
+ 0.007080078125,
2200
+ -0.01080322265625,
2201
+ 0.00665283203125,
2202
+ -0.005584716796875,
2203
+ -0.00457763671875,
2204
+ -0.0125732421875,
2205
+ 0.01141357421875,
2206
+ -0.0108642578125,
2207
+ 0.0277099609375,
2208
+ -0.016845703125,
2209
+ -0.01385498046875,
2210
+ -0.0107421875,
2211
+ -0.0123291015625,
2212
+ -0.01483154296875,
2213
+ -0.0005035400390625,
2214
+ -0.00677490234375,
2215
+ -0.006805419921875,
2216
+ 0.0301513671875,
2217
+ 0.00982666015625,
2218
+ -0.00194549560546875,
2219
+ 0.01519775390625,
2220
+ 0.0028076171875,
2221
+ -0.01531982421875,
2222
+ -0.0076904296875,
2223
+ 0.0048828125,
2224
+ 0.00726318359375,
2225
+ -0.004119873046875,
2226
+ -0.008056640625,
2227
+ 0.0037689208984375,
2228
+ 0.01556396484375,
2229
+ -0.022216796875,
2230
+ -0.0079345703125,
2231
+ 0.01446533203125,
2232
+ 0.00933837890625,
2233
+ 0.01129150390625,
2234
+ -0.021240234375,
2235
+ 0.0038604736328125,
2236
+ -0.00396728515625,
2237
+ -0.001678466796875,
2238
+ 0.005706787109375,
2239
+ -0.006683349609375,
2240
+ -0.0009002685546875,
2241
+ -0.00075531005859375,
2242
+ -0.00020122528076171875,
2243
+ -0.00127410888671875,
2244
+ -0.016845703125,
2245
+ 0.0011138916015625,
2246
+ 0.0145263671875,
2247
+ -0.002593994140625,
2248
+ 0.00262451171875,
2249
+ 0.0034027099609375,
2250
+ -0.0010528564453125,
2251
+ -0.0040283203125,
2252
+ 0.0008392333984375,
2253
+ -0.00054168701171875,
2254
+ 0.005950927734375,
2255
+ 0.0155029296875,
2256
+ 0.0050048828125,
2257
+ 0.000873565673828125,
2258
+ 0.007476806640625,
2259
+ -0.0206298828125,
2260
+ 0.00135040283203125,
2261
+ 0.000751495361328125,
2262
+ 0.0057373046875,
2263
+ 0.0016021728515625,
2264
+ 0.0098876953125,
2265
+ 0.0093994140625,
2266
+ 0.00408935546875,
2267
+ -0.0174560546875,
2268
+ -0.01495361328125,
2269
+ 0.00244140625,
2270
+ 0.00836181640625,
2271
+ -0.00213623046875,
2272
+ 0.0004024505615234375,
2273
+ 0.00640869140625,
2274
+ -0.001953125,
2275
+ 0.0089111328125,
2276
+ -0.005584716796875,
2277
+ 0.006591796875,
2278
+ 0.004730224609375,
2279
+ 0.0010223388671875,
2280
+ 0.0125732421875,
2281
+ 0.007476806640625,
2282
+ -0.00058746337890625,
2283
+ 0.004974365234375,
2284
+ 0.01531982421875,
2285
+ 0.003936767578125,
2286
+ -0.005706787109375,
2287
+ 0.005157470703125,
2288
+ -0.00156402587890625,
2289
+ 0.001983642578125,
2290
+ 0.0115966796875,
2291
+ -0.0272216796875,
2292
+ -0.01953125,
2293
+ -0.00025177001953125,
2294
+ -0.003173828125,
2295
+ -0.003173828125,
2296
+ 0.00897216796875,
2297
+ -0.01202392578125,
2298
+ -0.002471923828125,
2299
+ 0.01556396484375,
2300
+ 0.001190185546875,
2301
+ -0.0218505859375,
2302
+ -2.9802322387695312e-05,
2303
+ -0.015869140625,
2304
+ 0.0118408203125,
2305
+ -0.004974365234375,
2306
+ -0.00347900390625,
2307
+ -0.003997802734375,
2308
+ -0.0029296875,
2309
+ -0.00390625,
2310
+ 0.0150146484375,
2311
+ 0.00457763671875,
2312
+ -0.00020313262939453125,
2313
+ -0.005157470703125,
2314
+ -0.010009765625,
2315
+ -0.0022735595703125,
2316
+ 0.006561279296875,
2317
+ -0.0103759765625,
2318
+ -0.01239013671875,
2319
+ 0.0045166015625,
2320
+ -0.0030670166015625,
2321
+ -0.00933837890625,
2322
+ -0.00616455078125,
2323
+ -0.00250244140625,
2324
+ 0.01031494140625,
2325
+ 0.00193023681640625,
2326
+ -0.0035247802734375,
2327
+ 0.001251220703125,
2328
+ 0.0022735595703125,
2329
+ -0.006378173828125,
2330
+ -0.00787353515625,
2331
+ -0.0263671875,
2332
+ -0.007537841796875,
2333
+ -0.001953125,
2334
+ 0.01177978515625,
2335
+ -0.0037078857421875,
2336
+ -0.01556396484375,
2337
+ -0.00897216796875,
2338
+ -0.0032958984375,
2339
+ 0.00860595703125,
2340
+ -0.002288818359375,
2341
+ -0.002105712890625,
2342
+ -0.0042724609375,
2343
+ -0.0205078125,
2344
+ 0.0069580078125,
2345
+ -0.0028076171875,
2346
+ 0.004302978515625,
2347
+ -0.0146484375,
2348
+ 0.00665283203125,
2349
+ -0.0004367828369140625,
2350
+ -0.01275634765625,
2351
+ -0.001068115234375,
2352
+ -0.007720947265625,
2353
+ 0.01544189453125,
2354
+ 0.0218505859375,
2355
+ -0.01953125,
2356
+ -0.00897216796875,
2357
+ -0.0186767578125,
2358
+ 0.0081787109375,
2359
+ -0.001495361328125,
2360
+ 0.007110595703125,
2361
+ 0.01202392578125,
2362
+ -0.0118408203125,
2363
+ -0.007568359375,
2364
+ -0.007080078125,
2365
+ -0.00848388671875,
2366
+ -0.004669189453125,
2367
+ 0.00469970703125,
2368
+ -0.0008392333984375,
2369
+ 0.0022125244140625,
2370
+ 0.0032958984375,
2371
+ -0.01025390625,
2372
+ 0.006072998046875,
2373
+ 0.0030975341796875,
2374
+ 0.002349853515625,
2375
+ 0.00762939453125,
2376
+ 0.0079345703125,
2377
+ -0.0013427734375,
2378
+ -0.00238037109375,
2379
+ -0.003814697265625,
2380
+ -0.001983642578125,
2381
+ 0.0025177001953125,
2382
+ -0.01513671875,
2383
+ 0.005645751953125,
2384
+ -0.00013065338134765625,
2385
+ -0.0113525390625,
2386
+ -0.0038299560546875,
2387
+ -0.00927734375,
2388
+ -0.0125732421875,
2389
+ -0.004669189453125,
2390
+ -0.0033416748046875,
2391
+ -0.0035552978515625,
2392
+ 0.0093994140625,
2393
+ 0.00189971923828125,
2394
+ -9.250640869140625e-05,
2395
+ 0.000164031982421875,
2396
+ 0.000568389892578125,
2397
+ 0.00537109375,
2398
+ -0.005523681640625,
2399
+ 0.002899169921875,
2400
+ -0.0098876953125,
2401
+ -0.0137939453125,
2402
+ -0.0030059814453125,
2403
+ -0.00701904296875,
2404
+ -0.0084228515625,
2405
+ -0.000823974609375,
2406
+ 0.00799560546875,
2407
+ -0.005706787109375,
2408
+ 0.00823974609375,
2409
+ -0.00946044921875,
2410
+ -0.0030517578125,
2411
+ -0.0169677734375,
2412
+ 0.006378173828125,
2413
+ 0.0024566650390625,
2414
+ 0.00775146484375,
2415
+ 0.00101470947265625,
2416
+ -0.00848388671875,
2417
+ -0.003265380859375,
2418
+ -0.004608154296875,
2419
+ -0.004364013671875,
2420
+ 0.001312255859375,
2421
+ 0.0111083984375,
2422
+ 0.001312255859375,
2423
+ -0.0078125,
2424
+ 0.0003509521484375,
2425
+ -0.00131988525390625,
2426
+ -0.0024261474609375,
2427
+ 0.0047607421875,
2428
+ -0.01129150390625,
2429
+ 0.005645751953125,
2430
+ -0.0103759765625,
2431
+ 0.007232666015625,
2432
+ 0.000408172607421875,
2433
+ 0.006011962890625,
2434
+ 0.004547119140625,
2435
+ 0.00136566162109375,
2436
+ -0.01361083984375,
2437
+ -0.01055908203125,
2438
+ -0.000904083251953125,
2439
+ 0.003509521484375,
2440
+ 0.0037689208984375,
2441
+ -0.024658203125,
2442
+ 0.00909423828125,
2443
+ 0.0034942626953125,
2444
+ 0.0113525390625,
2445
+ 0.005859375,
2446
+ -0.0027313232421875,
2447
+ 0.0010528564453125,
2448
+ 0.0164794921875,
2449
+ -0.01226806640625,
2450
+ -0.013427734375,
2451
+ 0.00023746490478515625,
2452
+ 0.01409912109375,
2453
+ 0.01123046875,
2454
+ -0.00872802734375,
2455
+ -0.0010528564453125,
2456
+ 0.006011962890625,
2457
+ -0.004608154296875,
2458
+ 0.00738525390625,
2459
+ -0.00341796875,
2460
+ -0.00482177734375,
2461
+ 0.0024261474609375,
2462
+ 0.0089111328125,
2463
+ 0.0048828125,
2464
+ 0.007110595703125,
2465
+ 0.002899169921875,
2466
+ -0.004302978515625,
2467
+ 0.004486083984375,
2468
+ 0.00714111328125,
2469
+ 0.0035858154296875,
2470
+ -0.01092529296875,
2471
+ 0.0045166015625,
2472
+ 0.00148773193359375,
2473
+ 0.00118255615234375,
2474
+ 0.00439453125,
2475
+ -0.0135498046875,
2476
+ 0.005523681640625,
2477
+ -0.01055908203125,
2478
+ -0.004364013671875,
2479
+ -0.00567626953125,
2480
+ -0.0050048828125,
2481
+ -0.006011962890625,
2482
+ -0.00848388671875,
2483
+ -0.000545501708984375,
2484
+ -0.01153564453125,
2485
+ 0.00579833984375,
2486
+ 0.0064697265625,
2487
+ -0.004180908203125,
2488
+ -0.00311279296875,
2489
+ -0.000888824462890625,
2490
+ 0.0025177001953125,
2491
+ 0.0012054443359375,
2492
+ 0.0087890625,
2493
+ -0.005401611328125,
2494
+ 0.0032806396484375,
2495
+ -0.01190185546875,
2496
+ -0.009033203125,
2497
+ -0.0111083984375,
2498
+ -0.000640869140625,
2499
+ -0.009765625,
2500
+ -0.0167236328125,
2501
+ -0.0023956298828125,
2502
+ 0.00023937225341796875,
2503
+ -0.0189208984375,
2504
+ -0.007080078125,
2505
+ -0.00014019012451171875,
2506
+ -0.00958251953125,
2507
+ -0.0076904296875,
2508
+ -0.0027008056640625,
2509
+ 0.0047607421875,
2510
+ 0.0087890625,
2511
+ -0.0047607421875,
2512
+ -1.0967254638671875e-05,
2513
+ 0.010009765625,
2514
+ 0.003387451171875,
2515
+ 0.015869140625,
2516
+ 0.0096435546875,
2517
+ 0.010009765625,
2518
+ 1.1861324310302734e-05,
2519
+ 0.001678466796875,
2520
+ -0.00055694580078125,
2521
+ -0.00140380859375,
2522
+ -0.0031280517578125,
2523
+ -0.005645751953125,
2524
+ -0.00162506103515625,
2525
+ -0.003326416015625,
2526
+ 0.0181884765625
2527
+ ]
2528
+ ]
2529
+ ]
2530
+ ],
2531
+ "tie_word_embeddings": true,
2532
+ "torch_dtype": "float32",
2533
+ "transformers_version": "4.49.0",
2534
+ "use_cache": true,
2535
+ "vision_lora": {
2536
+ "dp": 0.0,
2537
+ "layer": "layers.*((self_attn\\.(qkv_proj|o_proj))|(mlp\\.(gate_up|down)_proj))",
2538
+ "lora_alpha": 512,
2539
+ "r": 256
2540
+ },
2541
+ "vocab_size": 200064
2542
+ }
configuration_phi4mm.py ADDED
@@ -0,0 +1,235 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # coding=utf-8
2
+ # Copyright 2024 Microsoft and the HuggingFace Inc. team. All rights reserved.
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
+ """ Phi-4-MM model configuration"""
17
+
18
+ from transformers.configuration_utils import PretrainedConfig
19
+ from transformers.utils import logging
20
+
21
+
22
+ logger = logging.get_logger(__name__)
23
+
24
+
25
+ class Phi4MMConfig(PretrainedConfig):
26
+ r"""
27
+ This is the configuration class to store the configuration of a [`Phi4MMModel`]. It is used to instantiate a Phi-4-MM
28
+ model according to the specified arguments, defining the model architecture.
29
+
30
+ Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the
31
+ documentation from [`PretrainedConfig`] for more information.
32
+
33
+ Args:
34
+ vocab_size (`int`, *optional*, defaults to 200064):
35
+ Vocabulary size of the Phi-4-MM model. Defines the number of different tokens that can be represented by the
36
+ `inputs_ids` passed when calling [`Phi4MMModel`].
37
+ hidden_size (`int`, *optional*, defaults to 3072):
38
+ Dimension of the hidden representations.
39
+ intermediate_size (`int`, *optional*, defaults to 8192):
40
+ Dimension of the MLP representations.
41
+ num_hidden_layers (`int`, *optional*, defaults to 32):
42
+ Number of hidden layers in the Transformer decoder.
43
+ num_attention_heads (`int`, *optional*, defaults to 32):
44
+ Number of attention heads for each attention layer in the Transformer decoder.
45
+ num_key_value_heads (`int`, *optional*):
46
+ This is the number of key_value heads that should be used to implement Grouped Query Attention. If
47
+ `num_key_value_heads=num_attention_heads`, the model will use Multi Head Attention (MHA), if
48
+ `num_key_value_heads=1` the model will use Multi Query Attention (MQA) otherwise GQA is used. When
49
+ converting a multi-head checkpoint to a GQA checkpoint, each group key and value head should be constructed
50
+ by meanpooling all the original heads within that group. For more details checkout [this
51
+ paper](https://arxiv.org/pdf/2305.13245.pdf). If it is not specified, will default to
52
+ `num_attention_heads`.
53
+ resid_pdrop (`float`, *optional*, defaults to 0.0):
54
+ Dropout probability for mlp outputs.
55
+ embd_pdrop (`int`, *optional*, defaults to 0.0):
56
+ The dropout ratio for the embeddings.
57
+ attention_dropout (`float`, *optional*, defaults to 0.0):
58
+ The dropout ratio after computing the attention scores.
59
+ hidden_act (`str` or `function`, *optional*, defaults to `"silu"`):
60
+ The non-linear activation function (function or string) in the decoder.
61
+ max_position_embeddings (`int`, *optional*, defaults to 4096):
62
+ The maximum sequence length that this model might ever be used with.
63
+ original_max_position_embeddings (`int`, *optional*, defaults to 4096):
64
+ The maximum sequence length that this model was trained with. This is used to determine the size of the
65
+ original RoPE embeddings when using long scaling.
66
+ initializer_range (`float`, *optional*, defaults to 0.02):
67
+ The standard deviation of the truncated_normal_initializer for initializing all weight matrices.
68
+ rms_norm_eps (`float`, *optional*, defaults to 1e-05):
69
+ The epsilon value used for the RMSNorm.
70
+ use_cache (`bool`, *optional*, defaults to `True`):
71
+ Whether or not the model should return the last key/values attentions (not used by all models). Only
72
+ relevant if `config.is_decoder=True`. Whether to tie weight embeddings or not.
73
+ tie_word_embeddings (`bool`, *optional*, defaults to `False`):
74
+ Whether to tie weight embeddings
75
+ rope_theta (`float`, *optional*, defaults to 10000.0):
76
+ The base period of the RoPE embeddings.
77
+ rope_scaling (`dict`, *optional*):
78
+ The scaling strategy for the RoPE embeddings. If `None`, no scaling is applied. If a dictionary, it must
79
+ contain the following keys: `type`, `short_factor` and `long_factor`. The `type` must be `longrope` and
80
+ the `short_factor` and `long_factor` must be lists of numbers with the same length as the hidden size
81
+ divided by the number of attention heads divided by 2.
82
+ partial_rotary_factor (`float`, *optional*, defaults to 0.5):
83
+ Percentage of the query and keys which will have rotary embedding.
84
+ bos_token_id (`int`, *optional*, defaults to 199999):
85
+ The id of the "beginning-of-sequence" token.
86
+ eos_token_id (`int`, *optional*, defaults to 199999):
87
+ The id of the "end-of-sequence" token.
88
+ pad_token_id (`int`, *optional*, defaults to 199999):
89
+ The id of the padding token.
90
+ sliding_window (`int`, *optional*):
91
+ Sliding window attention window size. If `None`, no sliding window is applied.
92
+
93
+ Example:
94
+
95
+ ```python
96
+ >>> from transformers import Phi4MMModel, Phi4MMConfig
97
+
98
+ >>> # Initializing a Phi-4-MM style configuration
99
+ >>> configuration = Phi4MMConfig.from_pretrained("TBA")
100
+
101
+ >>> # Initializing a model from the configuration
102
+ >>> model = Phi4MMModel(configuration)
103
+
104
+ >>> # Accessing the model configuration
105
+ >>> configuration = model.config
106
+ ```"""
107
+
108
+ model_type = "phi4mm"
109
+ keys_to_ignore_at_inference = ["past_key_values"]
110
+
111
+ def __init__(
112
+ self,
113
+ vocab_size=200064,
114
+ hidden_size=3072,
115
+ intermediate_size=8192,
116
+ num_hidden_layers=32,
117
+ num_attention_heads=32,
118
+ num_key_value_heads=None,
119
+ resid_pdrop=0.0,
120
+ embd_pdrop=0.0,
121
+ attention_dropout=0.0,
122
+ hidden_act="silu",
123
+ max_position_embeddings=4096,
124
+ original_max_position_embeddings=4096,
125
+ initializer_range=0.02,
126
+ rms_norm_eps=1e-5,
127
+ use_cache=True,
128
+ tie_word_embeddings=False,
129
+ rope_theta=10000.0,
130
+ rope_scaling=None,
131
+ partial_rotary_factor=1,
132
+ bos_token_id=199999,
133
+ eos_token_id=199999,
134
+ pad_token_id=199999,
135
+ sliding_window=None,
136
+ embd_layer: str = "default",
137
+ img_processor=None,
138
+ audio_processor=None,
139
+ vision_lora=None,
140
+ speech_lora=None,
141
+ **kwargs,
142
+ ):
143
+ self.embd_layer = embd_layer
144
+ self.img_processor = img_processor
145
+ self.audio_processor = audio_processor
146
+ self.vision_lora = vision_lora
147
+ self.speech_lora = speech_lora
148
+
149
+ self.vocab_size = vocab_size
150
+ self.hidden_size = hidden_size
151
+ self.intermediate_size = intermediate_size
152
+ self.num_hidden_layers = num_hidden_layers
153
+ self.num_attention_heads = num_attention_heads
154
+
155
+ if num_key_value_heads is None:
156
+ num_key_value_heads = num_attention_heads
157
+
158
+ self.num_key_value_heads = num_key_value_heads
159
+ self.resid_pdrop = resid_pdrop
160
+ self.embd_pdrop = embd_pdrop
161
+ self.attention_dropout = attention_dropout
162
+ self.hidden_act = hidden_act
163
+ self.max_position_embeddings = max_position_embeddings
164
+ self.original_max_position_embeddings = original_max_position_embeddings
165
+ self.initializer_range = initializer_range
166
+ self.rms_norm_eps = rms_norm_eps
167
+ self.use_cache = use_cache
168
+ self.rope_theta = rope_theta
169
+ self.rope_scaling = rope_scaling
170
+ self.partial_rotary_factor = partial_rotary_factor
171
+ self._rope_scaling_adjustment()
172
+ self._rope_scaling_validation()
173
+ self.sliding_window = sliding_window
174
+
175
+ super().__init__(
176
+ bos_token_id=bos_token_id,
177
+ eos_token_id=eos_token_id,
178
+ pad_token_id=pad_token_id,
179
+ tie_word_embeddings=tie_word_embeddings,
180
+ **kwargs,
181
+ )
182
+
183
+ def _rope_scaling_adjustment(self):
184
+ """
185
+ Adjust the `type` of the `rope_scaling` configuration for backward compatibility.
186
+ """
187
+ if self.rope_scaling is None:
188
+ return
189
+
190
+ rope_scaling_type = self.rope_scaling.get("type", None)
191
+
192
+ # For backward compatibility if previous version used "su" or "yarn"
193
+ if rope_scaling_type is not None and rope_scaling_type in ["su", "yarn"]:
194
+ self.rope_scaling["type"] = "longrope"
195
+
196
+ def _rope_scaling_validation(self):
197
+ """
198
+ Validate the `rope_scaling` configuration.
199
+ """
200
+ if self.rope_scaling is None:
201
+ return
202
+
203
+ if not isinstance(self.rope_scaling, dict) or len(self.rope_scaling) != 3:
204
+ raise ValueError(
205
+ "`rope_scaling` must be a dictionary with three fields, `type`, `short_factor` and `long_factor`, "
206
+ f"got {self.rope_scaling}"
207
+ )
208
+ rope_scaling_type = self.rope_scaling.get("type", None)
209
+ rope_scaling_short_factor = self.rope_scaling.get("short_factor", None)
210
+ rope_scaling_long_factor = self.rope_scaling.get("long_factor", None)
211
+ if rope_scaling_type is None or rope_scaling_type not in ["longrope"]:
212
+ raise ValueError(f"`rope_scaling`'s type field must be one of ['longrope'], got {rope_scaling_type}")
213
+ if not (
214
+ isinstance(rope_scaling_short_factor, list)
215
+ and all(isinstance(x, (int, float)) for x in rope_scaling_short_factor)
216
+ ):
217
+ raise ValueError(
218
+ f"`rope_scaling`'s short_factor field must be a list of numbers, got {rope_scaling_short_factor}"
219
+ )
220
+ rotary_ndims = int(self.hidden_size // self.num_attention_heads * self.partial_rotary_factor)
221
+ if not len(rope_scaling_short_factor) == rotary_ndims // 2:
222
+ raise ValueError(
223
+ f"`rope_scaling`'s short_factor field must have length {rotary_ndims // 2}, got {len(rope_scaling_short_factor)}"
224
+ )
225
+ if not (
226
+ isinstance(rope_scaling_long_factor, list)
227
+ and all(isinstance(x, (int, float)) for x in rope_scaling_long_factor)
228
+ ):
229
+ raise ValueError(
230
+ f"`rope_scaling`'s long_factor field must be a list of numbers, got {rope_scaling_long_factor}"
231
+ )
232
+ if not len(rope_scaling_long_factor) == rotary_ndims // 2:
233
+ raise ValueError(
234
+ f"`rope_scaling`'s long_factor field must have length {rotary_ndims // 2}, got {len(rope_scaling_long_factor)}"
235
+ )
generation_config.json ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_from_model_config": true,
3
+ "bos_token_id": 199999,
4
+ "eos_token_id": [
5
+ 200020,
6
+ 199999
7
+ ],
8
+ "pad_token_id": 199999,
9
+ "transformers_version": "4.49.0"
10
+ }
merges.txt ADDED
The diff for this file is too large to render. See raw diff
 
openvino_audio_embeddings_model.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:43b1464773066a6585f88ac7445481d772fedd3f39aa3bcf26e749ef07eb151d
3
+ size 320
openvino_audio_embeddings_model.xml ADDED
@@ -0,0 +1,144 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <net name="Model16683" version="11">
3
+ <layers>
4
+ <layer id="0" name="input_" type="Parameter" version="opset1">
5
+ <data shape="?,?,?" element_type="f32" />
6
+ <output>
7
+ <port id="0" precision="FP32" names="input_">
8
+ <dim>-1</dim>
9
+ <dim>-1</dim>
10
+ <dim>-1</dim>
11
+ </port>
12
+ </output>
13
+ </layer>
14
+ <layer id="1" name="Constant_3240972_compressed" type="Const" version="opset1">
15
+ <data element_type="f16" shape="1, 1, 80" offset="0" size="160" />
16
+ <output>
17
+ <port id="0" precision="FP16">
18
+ <dim>1</dim>
19
+ <dim>1</dim>
20
+ <dim>80</dim>
21
+ </port>
22
+ </output>
23
+ </layer>
24
+ <layer id="2" name="Constant_3240972" type="Convert" version="opset1">
25
+ <data destination_type="f32" />
26
+ <rt_info>
27
+ <attribute name="decompression" version="0" />
28
+ </rt_info>
29
+ <input>
30
+ <port id="0" precision="FP16">
31
+ <dim>1</dim>
32
+ <dim>1</dim>
33
+ <dim>80</dim>
34
+ </port>
35
+ </input>
36
+ <output>
37
+ <port id="1" precision="FP32">
38
+ <dim>1</dim>
39
+ <dim>1</dim>
40
+ <dim>80</dim>
41
+ </port>
42
+ </output>
43
+ </layer>
44
+ <layer id="3" name="Multiply_3240960" type="Multiply" version="opset1">
45
+ <data auto_broadcast="numpy" />
46
+ <input>
47
+ <port id="0" precision="FP32">
48
+ <dim>-1</dim>
49
+ <dim>-1</dim>
50
+ <dim>-1</dim>
51
+ </port>
52
+ <port id="1" precision="FP32">
53
+ <dim>1</dim>
54
+ <dim>1</dim>
55
+ <dim>80</dim>
56
+ </port>
57
+ </input>
58
+ <output>
59
+ <port id="2" precision="FP32">
60
+ <dim>-1</dim>
61
+ <dim>-1</dim>
62
+ <dim>80</dim>
63
+ </port>
64
+ </output>
65
+ </layer>
66
+ <layer id="4" name="Constant_3240973_compressed" type="Const" version="opset1">
67
+ <data element_type="f16" shape="1, 1, 80" offset="160" size="160" />
68
+ <output>
69
+ <port id="0" precision="FP16">
70
+ <dim>1</dim>
71
+ <dim>1</dim>
72
+ <dim>80</dim>
73
+ </port>
74
+ </output>
75
+ </layer>
76
+ <layer id="5" name="Constant_3240973" type="Convert" version="opset1">
77
+ <data destination_type="f32" />
78
+ <rt_info>
79
+ <attribute name="decompression" version="0" />
80
+ </rt_info>
81
+ <input>
82
+ <port id="0" precision="FP16">
83
+ <dim>1</dim>
84
+ <dim>1</dim>
85
+ <dim>80</dim>
86
+ </port>
87
+ </input>
88
+ <output>
89
+ <port id="1" precision="FP32">
90
+ <dim>1</dim>
91
+ <dim>1</dim>
92
+ <dim>80</dim>
93
+ </port>
94
+ </output>
95
+ </layer>
96
+ <layer id="6" name="aten::mul/Multiply" type="Add" version="opset1">
97
+ <data auto_broadcast="numpy" />
98
+ <input>
99
+ <port id="0" precision="FP32">
100
+ <dim>-1</dim>
101
+ <dim>-1</dim>
102
+ <dim>80</dim>
103
+ </port>
104
+ <port id="1" precision="FP32">
105
+ <dim>1</dim>
106
+ <dim>1</dim>
107
+ <dim>80</dim>
108
+ </port>
109
+ </input>
110
+ <output>
111
+ <port id="2" precision="FP32">
112
+ <dim>-1</dim>
113
+ <dim>-1</dim>
114
+ <dim>80</dim>
115
+ </port>
116
+ </output>
117
+ </layer>
118
+ <layer id="7" name="Result_3239208" type="Result" version="opset1">
119
+ <input>
120
+ <port id="0" precision="FP32">
121
+ <dim>-1</dim>
122
+ <dim>-1</dim>
123
+ <dim>80</dim>
124
+ </port>
125
+ </input>
126
+ </layer>
127
+ </layers>
128
+ <edges>
129
+ <edge from-layer="0" from-port="0" to-layer="3" to-port="0" />
130
+ <edge from-layer="1" from-port="0" to-layer="2" to-port="0" />
131
+ <edge from-layer="2" from-port="1" to-layer="3" to-port="1" />
132
+ <edge from-layer="3" from-port="2" to-layer="6" to-port="0" />
133
+ <edge from-layer="4" from-port="0" to-layer="5" to-port="0" />
134
+ <edge from-layer="5" from-port="1" to-layer="6" to-port="1" />
135
+ <edge from-layer="6" from-port="2" to-layer="7" to-port="0" />
136
+ </edges>
137
+ <rt_info>
138
+ <Runtime_version value="2025.1.0-18311-da00e90afb7" />
139
+ <conversion_parameters>
140
+ <framework value="pytorch" />
141
+ <is_python_object value="True" />
142
+ </conversion_parameters>
143
+ </rt_info>
144
+ </net>
openvino_audio_encoder_model.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2f8c8a1b1579a4db3292236a88a12650e8eee9833b40629e8e665f61d45c8535
3
+ size 432016128
openvino_audio_encoder_model.xml ADDED
The diff for this file is too large to render. See raw diff
 
openvino_audio_forward_embeddings_model.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e430beb598d4d854bc527fbe6c34b1a435cb4c1249325718ac92546ab82b6441
3
+ size 25233456
openvino_audio_forward_embeddings_model.xml ADDED
@@ -0,0 +1,906 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <net name="Model16686" version="11">
3
+ <layers>
4
+ <layer id="0" name="input_tensor" type="Parameter" version="opset1">
5
+ <data shape="?,?,?" element_type="f32" />
6
+ <output>
7
+ <port id="0" precision="FP32" names="input_tensor">
8
+ <dim>-1</dim>
9
+ <dim>-1</dim>
10
+ <dim>-1</dim>
11
+ </port>
12
+ </output>
13
+ </layer>
14
+ <layer id="1" name="10" type="Const" version="opset1">
15
+ <data element_type="i64" shape="" offset="0" size="8" />
16
+ <output>
17
+ <port id="0" precision="I64" names="10" />
18
+ </output>
19
+ </layer>
20
+ <layer id="2" name="__module.embed/aten::unsqueeze/Unsqueeze" type="Unsqueeze" version="opset1">
21
+ <input>
22
+ <port id="0" precision="FP32">
23
+ <dim>-1</dim>
24
+ <dim>-1</dim>
25
+ <dim>-1</dim>
26
+ </port>
27
+ <port id="1" precision="I64" />
28
+ </input>
29
+ <output>
30
+ <port id="2" precision="FP32" names="13">
31
+ <dim>-1</dim>
32
+ <dim>1</dim>
33
+ <dim>-1</dim>
34
+ <dim>-1</dim>
35
+ </port>
36
+ </output>
37
+ </layer>
38
+ <layer id="3" name="self.embed.conv.0.weight_compressed" type="Const" version="opset1">
39
+ <data element_type="f16" shape="1024, 1, 3, 3" offset="8" size="18432" />
40
+ <output>
41
+ <port id="0" precision="FP16" names="self.embed.conv.0.weight">
42
+ <dim>1024</dim>
43
+ <dim>1</dim>
44
+ <dim>3</dim>
45
+ <dim>3</dim>
46
+ </port>
47
+ </output>
48
+ </layer>
49
+ <layer id="4" name="self.embed.conv.0.weight" type="Convert" version="opset1">
50
+ <data destination_type="f32" />
51
+ <rt_info>
52
+ <attribute name="decompression" version="0" />
53
+ </rt_info>
54
+ <input>
55
+ <port id="0" precision="FP16">
56
+ <dim>1024</dim>
57
+ <dim>1</dim>
58
+ <dim>3</dim>
59
+ <dim>3</dim>
60
+ </port>
61
+ </input>
62
+ <output>
63
+ <port id="1" precision="FP32">
64
+ <dim>1024</dim>
65
+ <dim>1</dim>
66
+ <dim>3</dim>
67
+ <dim>3</dim>
68
+ </port>
69
+ </output>
70
+ </layer>
71
+ <layer id="5" name="__module.embed.conv.0/aten::_convolution/Convolution" type="Convolution" version="opset1">
72
+ <data strides="2, 2" dilations="1, 1" pads_begin="1, 1" pads_end="1, 1" auto_pad="explicit" />
73
+ <input>
74
+ <port id="0" precision="FP32">
75
+ <dim>-1</dim>
76
+ <dim>1</dim>
77
+ <dim>-1</dim>
78
+ <dim>-1</dim>
79
+ </port>
80
+ <port id="1" precision="FP32">
81
+ <dim>1024</dim>
82
+ <dim>1</dim>
83
+ <dim>3</dim>
84
+ <dim>3</dim>
85
+ </port>
86
+ </input>
87
+ <output>
88
+ <port id="2" precision="FP32">
89
+ <dim>-1</dim>
90
+ <dim>1024</dim>
91
+ <dim>-1</dim>
92
+ <dim>-1</dim>
93
+ </port>
94
+ </output>
95
+ </layer>
96
+ <layer id="6" name="__module.embed.conv.0/aten::_convolution/Reshape_compressed" type="Const" version="opset1">
97
+ <data element_type="f16" shape="1, 1024, 1, 1" offset="18440" size="2048" />
98
+ <output>
99
+ <port id="0" precision="FP16">
100
+ <dim>1</dim>
101
+ <dim>1024</dim>
102
+ <dim>1</dim>
103
+ <dim>1</dim>
104
+ </port>
105
+ </output>
106
+ </layer>
107
+ <layer id="7" name="__module.embed.conv.0/aten::_convolution/Reshape" type="Convert" version="opset1">
108
+ <data destination_type="f32" />
109
+ <rt_info>
110
+ <attribute name="decompression" version="0" />
111
+ </rt_info>
112
+ <input>
113
+ <port id="0" precision="FP16">
114
+ <dim>1</dim>
115
+ <dim>1024</dim>
116
+ <dim>1</dim>
117
+ <dim>1</dim>
118
+ </port>
119
+ </input>
120
+ <output>
121
+ <port id="1" precision="FP32">
122
+ <dim>1</dim>
123
+ <dim>1024</dim>
124
+ <dim>1</dim>
125
+ <dim>1</dim>
126
+ </port>
127
+ </output>
128
+ </layer>
129
+ <layer id="8" name="__module.embed.conv.0/aten::_convolution/Add" type="Add" version="opset1">
130
+ <data auto_broadcast="numpy" />
131
+ <input>
132
+ <port id="0" precision="FP32">
133
+ <dim>-1</dim>
134
+ <dim>1024</dim>
135
+ <dim>-1</dim>
136
+ <dim>-1</dim>
137
+ </port>
138
+ <port id="1" precision="FP32">
139
+ <dim>1</dim>
140
+ <dim>1024</dim>
141
+ <dim>1</dim>
142
+ <dim>1</dim>
143
+ </port>
144
+ </input>
145
+ <output>
146
+ <port id="2" precision="FP32" names="25">
147
+ <dim>-1</dim>
148
+ <dim>1024</dim>
149
+ <dim>-1</dim>
150
+ <dim>-1</dim>
151
+ </port>
152
+ </output>
153
+ </layer>
154
+ <layer id="9" name="__module.embed.conv.1/aten::relu/Relu" type="ReLU" version="opset1">
155
+ <input>
156
+ <port id="0" precision="FP32">
157
+ <dim>-1</dim>
158
+ <dim>1024</dim>
159
+ <dim>-1</dim>
160
+ <dim>-1</dim>
161
+ </port>
162
+ </input>
163
+ <output>
164
+ <port id="1" precision="FP32" names="26">
165
+ <dim>-1</dim>
166
+ <dim>1024</dim>
167
+ <dim>-1</dim>
168
+ <dim>-1</dim>
169
+ </port>
170
+ </output>
171
+ </layer>
172
+ <layer id="10" name="__module.embed.conv.2/aten::_convolution/Reshape_compressed" type="Const" version="opset1">
173
+ <data element_type="f16" shape="1024, 1, 1, 3, 3" offset="20488" size="18432" />
174
+ <output>
175
+ <port id="0" precision="FP16">
176
+ <dim>1024</dim>
177
+ <dim>1</dim>
178
+ <dim>1</dim>
179
+ <dim>3</dim>
180
+ <dim>3</dim>
181
+ </port>
182
+ </output>
183
+ </layer>
184
+ <layer id="11" name="__module.embed.conv.2/aten::_convolution/Reshape" type="Convert" version="opset1">
185
+ <data destination_type="f32" />
186
+ <rt_info>
187
+ <attribute name="decompression" version="0" />
188
+ </rt_info>
189
+ <input>
190
+ <port id="0" precision="FP16">
191
+ <dim>1024</dim>
192
+ <dim>1</dim>
193
+ <dim>1</dim>
194
+ <dim>3</dim>
195
+ <dim>3</dim>
196
+ </port>
197
+ </input>
198
+ <output>
199
+ <port id="1" precision="FP32">
200
+ <dim>1024</dim>
201
+ <dim>1</dim>
202
+ <dim>1</dim>
203
+ <dim>3</dim>
204
+ <dim>3</dim>
205
+ </port>
206
+ </output>
207
+ </layer>
208
+ <layer id="12" name="__module.embed.conv.2/aten::_convolution/GroupConvolution" type="GroupConvolution" version="opset1">
209
+ <data strides="2, 2" pads_begin="1, 1" pads_end="1, 1" dilations="1, 1" auto_pad="explicit" />
210
+ <input>
211
+ <port id="0" precision="FP32">
212
+ <dim>-1</dim>
213
+ <dim>1024</dim>
214
+ <dim>-1</dim>
215
+ <dim>-1</dim>
216
+ </port>
217
+ <port id="1" precision="FP32">
218
+ <dim>1024</dim>
219
+ <dim>1</dim>
220
+ <dim>1</dim>
221
+ <dim>3</dim>
222
+ <dim>3</dim>
223
+ </port>
224
+ </input>
225
+ <output>
226
+ <port id="2" precision="FP32">
227
+ <dim>-1</dim>
228
+ <dim>1024</dim>
229
+ <dim>-1</dim>
230
+ <dim>-1</dim>
231
+ </port>
232
+ </output>
233
+ </layer>
234
+ <layer id="13" name="__module.embed.conv.2/aten::_convolution/Reshape_1_compressed" type="Const" version="opset1">
235
+ <data element_type="f16" shape="1, 1024, 1, 1" offset="38920" size="2048" />
236
+ <output>
237
+ <port id="0" precision="FP16">
238
+ <dim>1</dim>
239
+ <dim>1024</dim>
240
+ <dim>1</dim>
241
+ <dim>1</dim>
242
+ </port>
243
+ </output>
244
+ </layer>
245
+ <layer id="14" name="__module.embed.conv.2/aten::_convolution/Reshape_1" type="Convert" version="opset1">
246
+ <data destination_type="f32" />
247
+ <rt_info>
248
+ <attribute name="decompression" version="0" />
249
+ </rt_info>
250
+ <input>
251
+ <port id="0" precision="FP16">
252
+ <dim>1</dim>
253
+ <dim>1024</dim>
254
+ <dim>1</dim>
255
+ <dim>1</dim>
256
+ </port>
257
+ </input>
258
+ <output>
259
+ <port id="1" precision="FP32">
260
+ <dim>1</dim>
261
+ <dim>1024</dim>
262
+ <dim>1</dim>
263
+ <dim>1</dim>
264
+ </port>
265
+ </output>
266
+ </layer>
267
+ <layer id="15" name="__module.embed.conv.2/aten::_convolution/Add" type="Add" version="opset1">
268
+ <data auto_broadcast="numpy" />
269
+ <input>
270
+ <port id="0" precision="FP32">
271
+ <dim>-1</dim>
272
+ <dim>1024</dim>
273
+ <dim>-1</dim>
274
+ <dim>-1</dim>
275
+ </port>
276
+ <port id="1" precision="FP32">
277
+ <dim>1</dim>
278
+ <dim>1024</dim>
279
+ <dim>1</dim>
280
+ <dim>1</dim>
281
+ </port>
282
+ </input>
283
+ <output>
284
+ <port id="2" precision="FP32" names="33">
285
+ <dim>-1</dim>
286
+ <dim>1024</dim>
287
+ <dim>-1</dim>
288
+ <dim>-1</dim>
289
+ </port>
290
+ </output>
291
+ </layer>
292
+ <layer id="16" name="self.embed.conv.3.weight_compressed" type="Const" version="opset1">
293
+ <data element_type="f16" shape="1024, 1024, 1, 1" offset="40968" size="2097152" />
294
+ <output>
295
+ <port id="0" precision="FP16" names="self.embed.conv.3.weight">
296
+ <dim>1024</dim>
297
+ <dim>1024</dim>
298
+ <dim>1</dim>
299
+ <dim>1</dim>
300
+ </port>
301
+ </output>
302
+ </layer>
303
+ <layer id="17" name="self.embed.conv.3.weight" type="Convert" version="opset1">
304
+ <data destination_type="f32" />
305
+ <rt_info>
306
+ <attribute name="decompression" version="0" />
307
+ </rt_info>
308
+ <input>
309
+ <port id="0" precision="FP16">
310
+ <dim>1024</dim>
311
+ <dim>1024</dim>
312
+ <dim>1</dim>
313
+ <dim>1</dim>
314
+ </port>
315
+ </input>
316
+ <output>
317
+ <port id="1" precision="FP32">
318
+ <dim>1024</dim>
319
+ <dim>1024</dim>
320
+ <dim>1</dim>
321
+ <dim>1</dim>
322
+ </port>
323
+ </output>
324
+ </layer>
325
+ <layer id="18" name="__module.embed.conv.3/aten::_convolution/Convolution" type="Convolution" version="opset1">
326
+ <data strides="1, 1" dilations="1, 1" pads_begin="0, 0" pads_end="0, 0" auto_pad="explicit" />
327
+ <input>
328
+ <port id="0" precision="FP32">
329
+ <dim>-1</dim>
330
+ <dim>1024</dim>
331
+ <dim>-1</dim>
332
+ <dim>-1</dim>
333
+ </port>
334
+ <port id="1" precision="FP32">
335
+ <dim>1024</dim>
336
+ <dim>1024</dim>
337
+ <dim>1</dim>
338
+ <dim>1</dim>
339
+ </port>
340
+ </input>
341
+ <output>
342
+ <port id="2" precision="FP32">
343
+ <dim>-1</dim>
344
+ <dim>1024</dim>
345
+ <dim>-1</dim>
346
+ <dim>-1</dim>
347
+ </port>
348
+ </output>
349
+ </layer>
350
+ <layer id="19" name="__module.embed.conv.3/aten::_convolution/Reshape_compressed" type="Const" version="opset1">
351
+ <data element_type="f16" shape="1, 1024, 1, 1" offset="2138120" size="2048" />
352
+ <output>
353
+ <port id="0" precision="FP16">
354
+ <dim>1</dim>
355
+ <dim>1024</dim>
356
+ <dim>1</dim>
357
+ <dim>1</dim>
358
+ </port>
359
+ </output>
360
+ </layer>
361
+ <layer id="20" name="__module.embed.conv.3/aten::_convolution/Reshape" type="Convert" version="opset1">
362
+ <data destination_type="f32" />
363
+ <rt_info>
364
+ <attribute name="decompression" version="0" />
365
+ </rt_info>
366
+ <input>
367
+ <port id="0" precision="FP16">
368
+ <dim>1</dim>
369
+ <dim>1024</dim>
370
+ <dim>1</dim>
371
+ <dim>1</dim>
372
+ </port>
373
+ </input>
374
+ <output>
375
+ <port id="1" precision="FP32">
376
+ <dim>1</dim>
377
+ <dim>1024</dim>
378
+ <dim>1</dim>
379
+ <dim>1</dim>
380
+ </port>
381
+ </output>
382
+ </layer>
383
+ <layer id="21" name="__module.embed.conv.3/aten::_convolution/Add" type="Add" version="opset1">
384
+ <data auto_broadcast="numpy" />
385
+ <input>
386
+ <port id="0" precision="FP32">
387
+ <dim>-1</dim>
388
+ <dim>1024</dim>
389
+ <dim>-1</dim>
390
+ <dim>-1</dim>
391
+ </port>
392
+ <port id="1" precision="FP32">
393
+ <dim>1</dim>
394
+ <dim>1024</dim>
395
+ <dim>1</dim>
396
+ <dim>1</dim>
397
+ </port>
398
+ </input>
399
+ <output>
400
+ <port id="2" precision="FP32" names="40">
401
+ <dim>-1</dim>
402
+ <dim>1024</dim>
403
+ <dim>-1</dim>
404
+ <dim>-1</dim>
405
+ </port>
406
+ </output>
407
+ </layer>
408
+ <layer id="22" name="__module.embed.conv.1/aten::relu/Relu_1" type="ReLU" version="opset1">
409
+ <input>
410
+ <port id="0" precision="FP32">
411
+ <dim>-1</dim>
412
+ <dim>1024</dim>
413
+ <dim>-1</dim>
414
+ <dim>-1</dim>
415
+ </port>
416
+ </input>
417
+ <output>
418
+ <port id="1" precision="FP32" names="41">
419
+ <dim>-1</dim>
420
+ <dim>1024</dim>
421
+ <dim>-1</dim>
422
+ <dim>-1</dim>
423
+ </port>
424
+ </output>
425
+ </layer>
426
+ <layer id="23" name="__module.embed.conv.5/aten::_convolution/Reshape_compressed" type="Const" version="opset1">
427
+ <data element_type="f16" shape="1024, 1, 1, 3, 3" offset="2140168" size="18432" />
428
+ <output>
429
+ <port id="0" precision="FP16">
430
+ <dim>1024</dim>
431
+ <dim>1</dim>
432
+ <dim>1</dim>
433
+ <dim>3</dim>
434
+ <dim>3</dim>
435
+ </port>
436
+ </output>
437
+ </layer>
438
+ <layer id="24" name="__module.embed.conv.5/aten::_convolution/Reshape" type="Convert" version="opset1">
439
+ <data destination_type="f32" />
440
+ <rt_info>
441
+ <attribute name="decompression" version="0" />
442
+ </rt_info>
443
+ <input>
444
+ <port id="0" precision="FP16">
445
+ <dim>1024</dim>
446
+ <dim>1</dim>
447
+ <dim>1</dim>
448
+ <dim>3</dim>
449
+ <dim>3</dim>
450
+ </port>
451
+ </input>
452
+ <output>
453
+ <port id="1" precision="FP32">
454
+ <dim>1024</dim>
455
+ <dim>1</dim>
456
+ <dim>1</dim>
457
+ <dim>3</dim>
458
+ <dim>3</dim>
459
+ </port>
460
+ </output>
461
+ </layer>
462
+ <layer id="25" name="__module.embed.conv.5/aten::_convolution/GroupConvolution" type="GroupConvolution" version="opset1">
463
+ <data strides="2, 2" pads_begin="1, 1" pads_end="1, 1" dilations="1, 1" auto_pad="explicit" />
464
+ <input>
465
+ <port id="0" precision="FP32">
466
+ <dim>-1</dim>
467
+ <dim>1024</dim>
468
+ <dim>-1</dim>
469
+ <dim>-1</dim>
470
+ </port>
471
+ <port id="1" precision="FP32">
472
+ <dim>1024</dim>
473
+ <dim>1</dim>
474
+ <dim>1</dim>
475
+ <dim>3</dim>
476
+ <dim>3</dim>
477
+ </port>
478
+ </input>
479
+ <output>
480
+ <port id="2" precision="FP32">
481
+ <dim>-1</dim>
482
+ <dim>1024</dim>
483
+ <dim>-1</dim>
484
+ <dim>-1</dim>
485
+ </port>
486
+ </output>
487
+ </layer>
488
+ <layer id="26" name="__module.embed.conv.5/aten::_convolution/Reshape_1_compressed" type="Const" version="opset1">
489
+ <data element_type="f16" shape="1, 1024, 1, 1" offset="2158600" size="2048" />
490
+ <output>
491
+ <port id="0" precision="FP16">
492
+ <dim>1</dim>
493
+ <dim>1024</dim>
494
+ <dim>1</dim>
495
+ <dim>1</dim>
496
+ </port>
497
+ </output>
498
+ </layer>
499
+ <layer id="27" name="__module.embed.conv.5/aten::_convolution/Reshape_1" type="Convert" version="opset1">
500
+ <data destination_type="f32" />
501
+ <rt_info>
502
+ <attribute name="decompression" version="0" />
503
+ </rt_info>
504
+ <input>
505
+ <port id="0" precision="FP16">
506
+ <dim>1</dim>
507
+ <dim>1024</dim>
508
+ <dim>1</dim>
509
+ <dim>1</dim>
510
+ </port>
511
+ </input>
512
+ <output>
513
+ <port id="1" precision="FP32">
514
+ <dim>1</dim>
515
+ <dim>1024</dim>
516
+ <dim>1</dim>
517
+ <dim>1</dim>
518
+ </port>
519
+ </output>
520
+ </layer>
521
+ <layer id="28" name="__module.embed.conv.5/aten::_convolution/Add" type="Add" version="opset1">
522
+ <data auto_broadcast="numpy" />
523
+ <input>
524
+ <port id="0" precision="FP32">
525
+ <dim>-1</dim>
526
+ <dim>1024</dim>
527
+ <dim>-1</dim>
528
+ <dim>-1</dim>
529
+ </port>
530
+ <port id="1" precision="FP32">
531
+ <dim>1</dim>
532
+ <dim>1024</dim>
533
+ <dim>1</dim>
534
+ <dim>1</dim>
535
+ </port>
536
+ </input>
537
+ <output>
538
+ <port id="2" precision="FP32" names="48">
539
+ <dim>-1</dim>
540
+ <dim>1024</dim>
541
+ <dim>-1</dim>
542
+ <dim>-1</dim>
543
+ </port>
544
+ </output>
545
+ </layer>
546
+ <layer id="29" name="self.embed.conv.6.weight_compressed" type="Const" version="opset1">
547
+ <data element_type="f16" shape="1024, 1024, 1, 1" offset="2160648" size="2097152" />
548
+ <output>
549
+ <port id="0" precision="FP16" names="self.embed.conv.6.weight">
550
+ <dim>1024</dim>
551
+ <dim>1024</dim>
552
+ <dim>1</dim>
553
+ <dim>1</dim>
554
+ </port>
555
+ </output>
556
+ </layer>
557
+ <layer id="30" name="self.embed.conv.6.weight" type="Convert" version="opset1">
558
+ <data destination_type="f32" />
559
+ <rt_info>
560
+ <attribute name="decompression" version="0" />
561
+ </rt_info>
562
+ <input>
563
+ <port id="0" precision="FP16">
564
+ <dim>1024</dim>
565
+ <dim>1024</dim>
566
+ <dim>1</dim>
567
+ <dim>1</dim>
568
+ </port>
569
+ </input>
570
+ <output>
571
+ <port id="1" precision="FP32">
572
+ <dim>1024</dim>
573
+ <dim>1024</dim>
574
+ <dim>1</dim>
575
+ <dim>1</dim>
576
+ </port>
577
+ </output>
578
+ </layer>
579
+ <layer id="31" name="__module.embed.conv.6/aten::_convolution/Convolution" type="Convolution" version="opset1">
580
+ <data strides="1, 1" dilations="1, 1" pads_begin="0, 0" pads_end="0, 0" auto_pad="explicit" />
581
+ <input>
582
+ <port id="0" precision="FP32">
583
+ <dim>-1</dim>
584
+ <dim>1024</dim>
585
+ <dim>-1</dim>
586
+ <dim>-1</dim>
587
+ </port>
588
+ <port id="1" precision="FP32">
589
+ <dim>1024</dim>
590
+ <dim>1024</dim>
591
+ <dim>1</dim>
592
+ <dim>1</dim>
593
+ </port>
594
+ </input>
595
+ <output>
596
+ <port id="2" precision="FP32">
597
+ <dim>-1</dim>
598
+ <dim>1024</dim>
599
+ <dim>-1</dim>
600
+ <dim>-1</dim>
601
+ </port>
602
+ </output>
603
+ </layer>
604
+ <layer id="32" name="__module.embed.conv.6/aten::_convolution/Reshape_compressed" type="Const" version="opset1">
605
+ <data element_type="f16" shape="1, 1024, 1, 1" offset="4257800" size="2048" />
606
+ <output>
607
+ <port id="0" precision="FP16">
608
+ <dim>1</dim>
609
+ <dim>1024</dim>
610
+ <dim>1</dim>
611
+ <dim>1</dim>
612
+ </port>
613
+ </output>
614
+ </layer>
615
+ <layer id="33" name="__module.embed.conv.6/aten::_convolution/Reshape" type="Convert" version="opset1">
616
+ <data destination_type="f32" />
617
+ <rt_info>
618
+ <attribute name="decompression" version="0" />
619
+ </rt_info>
620
+ <input>
621
+ <port id="0" precision="FP16">
622
+ <dim>1</dim>
623
+ <dim>1024</dim>
624
+ <dim>1</dim>
625
+ <dim>1</dim>
626
+ </port>
627
+ </input>
628
+ <output>
629
+ <port id="1" precision="FP32">
630
+ <dim>1</dim>
631
+ <dim>1024</dim>
632
+ <dim>1</dim>
633
+ <dim>1</dim>
634
+ </port>
635
+ </output>
636
+ </layer>
637
+ <layer id="34" name="__module.embed.conv.6/aten::_convolution/Add" type="Add" version="opset1">
638
+ <data auto_broadcast="numpy" />
639
+ <input>
640
+ <port id="0" precision="FP32">
641
+ <dim>-1</dim>
642
+ <dim>1024</dim>
643
+ <dim>-1</dim>
644
+ <dim>-1</dim>
645
+ </port>
646
+ <port id="1" precision="FP32">
647
+ <dim>1</dim>
648
+ <dim>1024</dim>
649
+ <dim>1</dim>
650
+ <dim>1</dim>
651
+ </port>
652
+ </input>
653
+ <output>
654
+ <port id="2" precision="FP32" names="55">
655
+ <dim>-1</dim>
656
+ <dim>1024</dim>
657
+ <dim>-1</dim>
658
+ <dim>-1</dim>
659
+ </port>
660
+ </output>
661
+ </layer>
662
+ <layer id="35" name="__module.embed.conv.1/aten::relu/Relu_2" type="ReLU" version="opset1">
663
+ <input>
664
+ <port id="0" precision="FP32">
665
+ <dim>-1</dim>
666
+ <dim>1024</dim>
667
+ <dim>-1</dim>
668
+ <dim>-1</dim>
669
+ </port>
670
+ </input>
671
+ <output>
672
+ <port id="1" precision="FP32" names="56,x">
673
+ <dim>-1</dim>
674
+ <dim>1024</dim>
675
+ <dim>-1</dim>
676
+ <dim>-1</dim>
677
+ </port>
678
+ </output>
679
+ </layer>
680
+ <layer id="36" name="__module.embed/aten::transpose/Constant" type="Const" version="opset1">
681
+ <data element_type="i32" shape="4" offset="4259848" size="16" />
682
+ <output>
683
+ <port id="0" precision="I32">
684
+ <dim>4</dim>
685
+ </port>
686
+ </output>
687
+ </layer>
688
+ <layer id="37" name="__module.embed/aten::transpose/Transpose" type="Transpose" version="opset1">
689
+ <input>
690
+ <port id="0" precision="FP32">
691
+ <dim>-1</dim>
692
+ <dim>1024</dim>
693
+ <dim>-1</dim>
694
+ <dim>-1</dim>
695
+ </port>
696
+ <port id="1" precision="I32">
697
+ <dim>4</dim>
698
+ </port>
699
+ </input>
700
+ <output>
701
+ <port id="2" precision="FP32" names="59">
702
+ <dim>-1</dim>
703
+ <dim>-1</dim>
704
+ <dim>1024</dim>
705
+ <dim>-1</dim>
706
+ </port>
707
+ </output>
708
+ </layer>
709
+ <layer id="38" name="Constant_3243459" type="Const" version="opset1">
710
+ <data element_type="i64" shape="3" offset="4259864" size="24" />
711
+ <rt_info>
712
+ <attribute name="precise" version="0" />
713
+ </rt_info>
714
+ <output>
715
+ <port id="0" precision="I64">
716
+ <dim>3</dim>
717
+ </port>
718
+ </output>
719
+ </layer>
720
+ <layer id="39" name="__module.embed/aten::reshape/Reshape" type="Reshape" version="opset1">
721
+ <data special_zero="true" />
722
+ <input>
723
+ <port id="0" precision="FP32">
724
+ <dim>-1</dim>
725
+ <dim>-1</dim>
726
+ <dim>1024</dim>
727
+ <dim>-1</dim>
728
+ </port>
729
+ <port id="1" precision="I64">
730
+ <dim>3</dim>
731
+ </port>
732
+ </input>
733
+ <output>
734
+ <port id="2" precision="FP32" names="61">
735
+ <dim>-1</dim>
736
+ <dim>-1</dim>
737
+ <dim>-1</dim>
738
+ </port>
739
+ </output>
740
+ </layer>
741
+ <layer id="40" name="self.embed.out.weight_compressed" type="Const" version="opset1">
742
+ <data element_type="f16" shape="1024, 10240" offset="4259888" size="20971520" />
743
+ <output>
744
+ <port id="0" precision="FP16" names="self.embed.out.weight">
745
+ <dim>1024</dim>
746
+ <dim>10240</dim>
747
+ </port>
748
+ </output>
749
+ </layer>
750
+ <layer id="41" name="self.embed.out.weight" type="Convert" version="opset1">
751
+ <data destination_type="f32" />
752
+ <rt_info>
753
+ <attribute name="decompression" version="0" />
754
+ </rt_info>
755
+ <input>
756
+ <port id="0" precision="FP16">
757
+ <dim>1024</dim>
758
+ <dim>10240</dim>
759
+ </port>
760
+ </input>
761
+ <output>
762
+ <port id="1" precision="FP32">
763
+ <dim>1024</dim>
764
+ <dim>10240</dim>
765
+ </port>
766
+ </output>
767
+ </layer>
768
+ <layer id="42" name="__module.embed.out/aten::linear/MatMul" type="MatMul" version="opset1">
769
+ <data transpose_a="false" transpose_b="true" />
770
+ <input>
771
+ <port id="0" precision="FP32">
772
+ <dim>-1</dim>
773
+ <dim>-1</dim>
774
+ <dim>-1</dim>
775
+ </port>
776
+ <port id="1" precision="FP32">
777
+ <dim>1024</dim>
778
+ <dim>10240</dim>
779
+ </port>
780
+ </input>
781
+ <output>
782
+ <port id="2" precision="FP32">
783
+ <dim>-1</dim>
784
+ <dim>-1</dim>
785
+ <dim>1024</dim>
786
+ </port>
787
+ </output>
788
+ </layer>
789
+ <layer id="43" name="Constant_3243449_compressed" type="Const" version="opset1">
790
+ <data element_type="f16" shape="1, 1, 1024" offset="25231408" size="2048" />
791
+ <output>
792
+ <port id="0" precision="FP16">
793
+ <dim>1</dim>
794
+ <dim>1</dim>
795
+ <dim>1024</dim>
796
+ </port>
797
+ </output>
798
+ </layer>
799
+ <layer id="44" name="Constant_3243449" type="Convert" version="opset1">
800
+ <data destination_type="f32" />
801
+ <rt_info>
802
+ <attribute name="decompression" version="0" />
803
+ </rt_info>
804
+ <input>
805
+ <port id="0" precision="FP16">
806
+ <dim>1</dim>
807
+ <dim>1</dim>
808
+ <dim>1024</dim>
809
+ </port>
810
+ </input>
811
+ <output>
812
+ <port id="1" precision="FP32">
813
+ <dim>1</dim>
814
+ <dim>1</dim>
815
+ <dim>1024</dim>
816
+ </port>
817
+ </output>
818
+ </layer>
819
+ <layer id="45" name="__module.embed.out/aten::linear/Add" type="Add" version="opset1">
820
+ <data auto_broadcast="numpy" />
821
+ <input>
822
+ <port id="0" precision="FP32">
823
+ <dim>-1</dim>
824
+ <dim>-1</dim>
825
+ <dim>1024</dim>
826
+ </port>
827
+ <port id="1" precision="FP32">
828
+ <dim>1</dim>
829
+ <dim>1</dim>
830
+ <dim>1024</dim>
831
+ </port>
832
+ </input>
833
+ <output>
834
+ <port id="2" precision="FP32">
835
+ <dim>-1</dim>
836
+ <dim>-1</dim>
837
+ <dim>1024</dim>
838
+ </port>
839
+ </output>
840
+ </layer>
841
+ <layer id="46" name="Result_3241509" type="Result" version="opset1">
842
+ <input>
843
+ <port id="0" precision="FP32">
844
+ <dim>-1</dim>
845
+ <dim>-1</dim>
846
+ <dim>1024</dim>
847
+ </port>
848
+ </input>
849
+ </layer>
850
+ </layers>
851
+ <edges>
852
+ <edge from-layer="0" from-port="0" to-layer="2" to-port="0" />
853
+ <edge from-layer="1" from-port="0" to-layer="2" to-port="1" />
854
+ <edge from-layer="2" from-port="2" to-layer="5" to-port="0" />
855
+ <edge from-layer="3" from-port="0" to-layer="4" to-port="0" />
856
+ <edge from-layer="4" from-port="1" to-layer="5" to-port="1" />
857
+ <edge from-layer="5" from-port="2" to-layer="8" to-port="0" />
858
+ <edge from-layer="6" from-port="0" to-layer="7" to-port="0" />
859
+ <edge from-layer="7" from-port="1" to-layer="8" to-port="1" />
860
+ <edge from-layer="8" from-port="2" to-layer="9" to-port="0" />
861
+ <edge from-layer="9" from-port="1" to-layer="12" to-port="0" />
862
+ <edge from-layer="10" from-port="0" to-layer="11" to-port="0" />
863
+ <edge from-layer="11" from-port="1" to-layer="12" to-port="1" />
864
+ <edge from-layer="12" from-port="2" to-layer="15" to-port="0" />
865
+ <edge from-layer="13" from-port="0" to-layer="14" to-port="0" />
866
+ <edge from-layer="14" from-port="1" to-layer="15" to-port="1" />
867
+ <edge from-layer="15" from-port="2" to-layer="18" to-port="0" />
868
+ <edge from-layer="16" from-port="0" to-layer="17" to-port="0" />
869
+ <edge from-layer="17" from-port="1" to-layer="18" to-port="1" />
870
+ <edge from-layer="18" from-port="2" to-layer="21" to-port="0" />
871
+ <edge from-layer="19" from-port="0" to-layer="20" to-port="0" />
872
+ <edge from-layer="20" from-port="1" to-layer="21" to-port="1" />
873
+ <edge from-layer="21" from-port="2" to-layer="22" to-port="0" />
874
+ <edge from-layer="22" from-port="1" to-layer="25" to-port="0" />
875
+ <edge from-layer="23" from-port="0" to-layer="24" to-port="0" />
876
+ <edge from-layer="24" from-port="1" to-layer="25" to-port="1" />
877
+ <edge from-layer="25" from-port="2" to-layer="28" to-port="0" />
878
+ <edge from-layer="26" from-port="0" to-layer="27" to-port="0" />
879
+ <edge from-layer="27" from-port="1" to-layer="28" to-port="1" />
880
+ <edge from-layer="28" from-port="2" to-layer="31" to-port="0" />
881
+ <edge from-layer="29" from-port="0" to-layer="30" to-port="0" />
882
+ <edge from-layer="30" from-port="1" to-layer="31" to-port="1" />
883
+ <edge from-layer="31" from-port="2" to-layer="34" to-port="0" />
884
+ <edge from-layer="32" from-port="0" to-layer="33" to-port="0" />
885
+ <edge from-layer="33" from-port="1" to-layer="34" to-port="1" />
886
+ <edge from-layer="34" from-port="2" to-layer="35" to-port="0" />
887
+ <edge from-layer="35" from-port="1" to-layer="37" to-port="0" />
888
+ <edge from-layer="36" from-port="0" to-layer="37" to-port="1" />
889
+ <edge from-layer="37" from-port="2" to-layer="39" to-port="0" />
890
+ <edge from-layer="38" from-port="0" to-layer="39" to-port="1" />
891
+ <edge from-layer="39" from-port="2" to-layer="42" to-port="0" />
892
+ <edge from-layer="40" from-port="0" to-layer="41" to-port="0" />
893
+ <edge from-layer="41" from-port="1" to-layer="42" to-port="1" />
894
+ <edge from-layer="42" from-port="2" to-layer="45" to-port="0" />
895
+ <edge from-layer="43" from-port="0" to-layer="44" to-port="0" />
896
+ <edge from-layer="44" from-port="1" to-layer="45" to-port="1" />
897
+ <edge from-layer="45" from-port="2" to-layer="46" to-port="0" />
898
+ </edges>
899
+ <rt_info>
900
+ <Runtime_version value="2025.1.0-18311-da00e90afb7" />
901
+ <conversion_parameters>
902
+ <framework value="pytorch" />
903
+ <is_python_object value="True" />
904
+ </conversion_parameters>
905
+ </rt_info>
906
+ </net>
openvino_audio_text_projection_model.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7f01e541b7df78261c7f24db84a60d13c0cc36b93cfdb4598af83a5cc0016276
3
+ size 25178112
openvino_audio_text_projection_model.xml ADDED
@@ -0,0 +1,264 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <net name="Model27385" version="11">
3
+ <layers>
4
+ <layer id="0" name="input" type="Parameter" version="opset1">
5
+ <data shape="?,?,?" element_type="f32" />
6
+ <output>
7
+ <port id="0" precision="FP32" names="input">
8
+ <dim>-1</dim>
9
+ <dim>-1</dim>
10
+ <dim>-1</dim>
11
+ </port>
12
+ </output>
13
+ </layer>
14
+ <layer id="1" name="self.0.weight_compressed" type="Const" version="opset1">
15
+ <data element_type="f16" shape="3072, 1024" offset="0" size="6291456" />
16
+ <output>
17
+ <port id="0" precision="FP16" names="self.0.weight">
18
+ <dim>3072</dim>
19
+ <dim>1024</dim>
20
+ </port>
21
+ </output>
22
+ </layer>
23
+ <layer id="2" name="self.0.weight" type="Convert" version="opset1">
24
+ <data destination_type="f32" />
25
+ <rt_info>
26
+ <attribute name="decompression" version="0" />
27
+ </rt_info>
28
+ <input>
29
+ <port id="0" precision="FP16">
30
+ <dim>3072</dim>
31
+ <dim>1024</dim>
32
+ </port>
33
+ </input>
34
+ <output>
35
+ <port id="1" precision="FP32">
36
+ <dim>3072</dim>
37
+ <dim>1024</dim>
38
+ </port>
39
+ </output>
40
+ </layer>
41
+ <layer id="3" name="__module.0/aten::linear/MatMul" type="MatMul" version="opset1">
42
+ <data transpose_a="false" transpose_b="true" />
43
+ <input>
44
+ <port id="0" precision="FP32">
45
+ <dim>-1</dim>
46
+ <dim>-1</dim>
47
+ <dim>-1</dim>
48
+ </port>
49
+ <port id="1" precision="FP32">
50
+ <dim>3072</dim>
51
+ <dim>1024</dim>
52
+ </port>
53
+ </input>
54
+ <output>
55
+ <port id="2" precision="FP32">
56
+ <dim>-1</dim>
57
+ <dim>-1</dim>
58
+ <dim>3072</dim>
59
+ </port>
60
+ </output>
61
+ </layer>
62
+ <layer id="4" name="Constant_4741778_compressed" type="Const" version="opset1">
63
+ <data element_type="f16" shape="1, 1, 3072" offset="6291456" size="6144" />
64
+ <output>
65
+ <port id="0" precision="FP16">
66
+ <dim>1</dim>
67
+ <dim>1</dim>
68
+ <dim>3072</dim>
69
+ </port>
70
+ </output>
71
+ </layer>
72
+ <layer id="5" name="Constant_4741778" type="Convert" version="opset1">
73
+ <data destination_type="f32" />
74
+ <rt_info>
75
+ <attribute name="decompression" version="0" />
76
+ </rt_info>
77
+ <input>
78
+ <port id="0" precision="FP16">
79
+ <dim>1</dim>
80
+ <dim>1</dim>
81
+ <dim>3072</dim>
82
+ </port>
83
+ </input>
84
+ <output>
85
+ <port id="1" precision="FP32">
86
+ <dim>1</dim>
87
+ <dim>1</dim>
88
+ <dim>3072</dim>
89
+ </port>
90
+ </output>
91
+ </layer>
92
+ <layer id="6" name="__module.0/aten::linear/Add" type="Add" version="opset1">
93
+ <data auto_broadcast="numpy" />
94
+ <input>
95
+ <port id="0" precision="FP32">
96
+ <dim>-1</dim>
97
+ <dim>-1</dim>
98
+ <dim>3072</dim>
99
+ </port>
100
+ <port id="1" precision="FP32">
101
+ <dim>1</dim>
102
+ <dim>1</dim>
103
+ <dim>3072</dim>
104
+ </port>
105
+ </input>
106
+ <output>
107
+ <port id="2" precision="FP32" names="10">
108
+ <dim>-1</dim>
109
+ <dim>-1</dim>
110
+ <dim>3072</dim>
111
+ </port>
112
+ </output>
113
+ </layer>
114
+ <layer id="7" name="__module.1/aten::gelu/Gelu" type="Gelu" version="opset7">
115
+ <data approximation_mode="ERF" />
116
+ <input>
117
+ <port id="0" precision="FP32">
118
+ <dim>-1</dim>
119
+ <dim>-1</dim>
120
+ <dim>3072</dim>
121
+ </port>
122
+ </input>
123
+ <output>
124
+ <port id="1" precision="FP32" names="12">
125
+ <dim>-1</dim>
126
+ <dim>-1</dim>
127
+ <dim>3072</dim>
128
+ </port>
129
+ </output>
130
+ </layer>
131
+ <layer id="8" name="self.2.weight_compressed" type="Const" version="opset1">
132
+ <data element_type="f16" shape="3072, 3072" offset="6297600" size="18874368" />
133
+ <output>
134
+ <port id="0" precision="FP16" names="self.2.weight">
135
+ <dim>3072</dim>
136
+ <dim>3072</dim>
137
+ </port>
138
+ </output>
139
+ </layer>
140
+ <layer id="9" name="self.2.weight" type="Convert" version="opset1">
141
+ <data destination_type="f32" />
142
+ <rt_info>
143
+ <attribute name="decompression" version="0" />
144
+ </rt_info>
145
+ <input>
146
+ <port id="0" precision="FP16">
147
+ <dim>3072</dim>
148
+ <dim>3072</dim>
149
+ </port>
150
+ </input>
151
+ <output>
152
+ <port id="1" precision="FP32">
153
+ <dim>3072</dim>
154
+ <dim>3072</dim>
155
+ </port>
156
+ </output>
157
+ </layer>
158
+ <layer id="10" name="__module.2/aten::linear/MatMul" type="MatMul" version="opset1">
159
+ <data transpose_a="false" transpose_b="true" />
160
+ <input>
161
+ <port id="0" precision="FP32">
162
+ <dim>-1</dim>
163
+ <dim>-1</dim>
164
+ <dim>3072</dim>
165
+ </port>
166
+ <port id="1" precision="FP32">
167
+ <dim>3072</dim>
168
+ <dim>3072</dim>
169
+ </port>
170
+ </input>
171
+ <output>
172
+ <port id="2" precision="FP32">
173
+ <dim>-1</dim>
174
+ <dim>-1</dim>
175
+ <dim>3072</dim>
176
+ </port>
177
+ </output>
178
+ </layer>
179
+ <layer id="11" name="Constant_4741779_compressed" type="Const" version="opset1">
180
+ <data element_type="f16" shape="1, 1, 3072" offset="25171968" size="6144" />
181
+ <output>
182
+ <port id="0" precision="FP16">
183
+ <dim>1</dim>
184
+ <dim>1</dim>
185
+ <dim>3072</dim>
186
+ </port>
187
+ </output>
188
+ </layer>
189
+ <layer id="12" name="Constant_4741779" type="Convert" version="opset1">
190
+ <data destination_type="f32" />
191
+ <rt_info>
192
+ <attribute name="decompression" version="0" />
193
+ </rt_info>
194
+ <input>
195
+ <port id="0" precision="FP16">
196
+ <dim>1</dim>
197
+ <dim>1</dim>
198
+ <dim>3072</dim>
199
+ </port>
200
+ </input>
201
+ <output>
202
+ <port id="1" precision="FP32">
203
+ <dim>1</dim>
204
+ <dim>1</dim>
205
+ <dim>3072</dim>
206
+ </port>
207
+ </output>
208
+ </layer>
209
+ <layer id="13" name="__module.2/aten::linear/Add" type="Add" version="opset1">
210
+ <data auto_broadcast="numpy" />
211
+ <input>
212
+ <port id="0" precision="FP32">
213
+ <dim>-1</dim>
214
+ <dim>-1</dim>
215
+ <dim>3072</dim>
216
+ </port>
217
+ <port id="1" precision="FP32">
218
+ <dim>1</dim>
219
+ <dim>1</dim>
220
+ <dim>3072</dim>
221
+ </port>
222
+ </input>
223
+ <output>
224
+ <port id="2" precision="FP32">
225
+ <dim>-1</dim>
226
+ <dim>-1</dim>
227
+ <dim>3072</dim>
228
+ </port>
229
+ </output>
230
+ </layer>
231
+ <layer id="14" name="Result_4740047" type="Result" version="opset1">
232
+ <input>
233
+ <port id="0" precision="FP32">
234
+ <dim>-1</dim>
235
+ <dim>-1</dim>
236
+ <dim>3072</dim>
237
+ </port>
238
+ </input>
239
+ </layer>
240
+ </layers>
241
+ <edges>
242
+ <edge from-layer="0" from-port="0" to-layer="3" to-port="0" />
243
+ <edge from-layer="1" from-port="0" to-layer="2" to-port="0" />
244
+ <edge from-layer="2" from-port="1" to-layer="3" to-port="1" />
245
+ <edge from-layer="3" from-port="2" to-layer="6" to-port="0" />
246
+ <edge from-layer="4" from-port="0" to-layer="5" to-port="0" />
247
+ <edge from-layer="5" from-port="1" to-layer="6" to-port="1" />
248
+ <edge from-layer="6" from-port="2" to-layer="7" to-port="0" />
249
+ <edge from-layer="7" from-port="1" to-layer="10" to-port="0" />
250
+ <edge from-layer="8" from-port="0" to-layer="9" to-port="0" />
251
+ <edge from-layer="9" from-port="1" to-layer="10" to-port="1" />
252
+ <edge from-layer="10" from-port="2" to-layer="13" to-port="0" />
253
+ <edge from-layer="11" from-port="0" to-layer="12" to-port="0" />
254
+ <edge from-layer="12" from-port="1" to-layer="13" to-port="1" />
255
+ <edge from-layer="13" from-port="2" to-layer="14" to-port="0" />
256
+ </edges>
257
+ <rt_info>
258
+ <Runtime_version value="2025.1.0-18311-da00e90afb7" />
259
+ <conversion_parameters>
260
+ <framework value="pytorch" />
261
+ <is_python_object value="True" />
262
+ </conversion_parameters>
263
+ </rt_info>
264
+ </net>
openvino_audio_vision_projection_model.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7f01e541b7df78261c7f24db84a60d13c0cc36b93cfdb4598af83a5cc0016276
3
+ size 25178112
openvino_audio_vision_projection_model.xml ADDED
@@ -0,0 +1,264 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <net name="Model27388" version="11">
3
+ <layers>
4
+ <layer id="0" name="input" type="Parameter" version="opset1">
5
+ <data shape="?,?,?" element_type="f32" />
6
+ <output>
7
+ <port id="0" precision="FP32" names="input">
8
+ <dim>-1</dim>
9
+ <dim>-1</dim>
10
+ <dim>-1</dim>
11
+ </port>
12
+ </output>
13
+ </layer>
14
+ <layer id="1" name="self.0.weight_compressed" type="Const" version="opset1">
15
+ <data element_type="f16" shape="3072, 1024" offset="0" size="6291456" />
16
+ <output>
17
+ <port id="0" precision="FP16" names="self.0.weight">
18
+ <dim>3072</dim>
19
+ <dim>1024</dim>
20
+ </port>
21
+ </output>
22
+ </layer>
23
+ <layer id="2" name="self.0.weight" type="Convert" version="opset1">
24
+ <data destination_type="f32" />
25
+ <rt_info>
26
+ <attribute name="decompression" version="0" />
27
+ </rt_info>
28
+ <input>
29
+ <port id="0" precision="FP16">
30
+ <dim>3072</dim>
31
+ <dim>1024</dim>
32
+ </port>
33
+ </input>
34
+ <output>
35
+ <port id="1" precision="FP32">
36
+ <dim>3072</dim>
37
+ <dim>1024</dim>
38
+ </port>
39
+ </output>
40
+ </layer>
41
+ <layer id="3" name="__module.0/aten::linear/MatMul" type="MatMul" version="opset1">
42
+ <data transpose_a="false" transpose_b="true" />
43
+ <input>
44
+ <port id="0" precision="FP32">
45
+ <dim>-1</dim>
46
+ <dim>-1</dim>
47
+ <dim>-1</dim>
48
+ </port>
49
+ <port id="1" precision="FP32">
50
+ <dim>3072</dim>
51
+ <dim>1024</dim>
52
+ </port>
53
+ </input>
54
+ <output>
55
+ <port id="2" precision="FP32">
56
+ <dim>-1</dim>
57
+ <dim>-1</dim>
58
+ <dim>3072</dim>
59
+ </port>
60
+ </output>
61
+ </layer>
62
+ <layer id="4" name="Constant_4743673_compressed" type="Const" version="opset1">
63
+ <data element_type="f16" shape="1, 1, 3072" offset="6291456" size="6144" />
64
+ <output>
65
+ <port id="0" precision="FP16">
66
+ <dim>1</dim>
67
+ <dim>1</dim>
68
+ <dim>3072</dim>
69
+ </port>
70
+ </output>
71
+ </layer>
72
+ <layer id="5" name="Constant_4743673" type="Convert" version="opset1">
73
+ <data destination_type="f32" />
74
+ <rt_info>
75
+ <attribute name="decompression" version="0" />
76
+ </rt_info>
77
+ <input>
78
+ <port id="0" precision="FP16">
79
+ <dim>1</dim>
80
+ <dim>1</dim>
81
+ <dim>3072</dim>
82
+ </port>
83
+ </input>
84
+ <output>
85
+ <port id="1" precision="FP32">
86
+ <dim>1</dim>
87
+ <dim>1</dim>
88
+ <dim>3072</dim>
89
+ </port>
90
+ </output>
91
+ </layer>
92
+ <layer id="6" name="__module.0/aten::linear/Add" type="Add" version="opset1">
93
+ <data auto_broadcast="numpy" />
94
+ <input>
95
+ <port id="0" precision="FP32">
96
+ <dim>-1</dim>
97
+ <dim>-1</dim>
98
+ <dim>3072</dim>
99
+ </port>
100
+ <port id="1" precision="FP32">
101
+ <dim>1</dim>
102
+ <dim>1</dim>
103
+ <dim>3072</dim>
104
+ </port>
105
+ </input>
106
+ <output>
107
+ <port id="2" precision="FP32" names="10">
108
+ <dim>-1</dim>
109
+ <dim>-1</dim>
110
+ <dim>3072</dim>
111
+ </port>
112
+ </output>
113
+ </layer>
114
+ <layer id="7" name="__module.1/aten::gelu/Gelu" type="Gelu" version="opset7">
115
+ <data approximation_mode="ERF" />
116
+ <input>
117
+ <port id="0" precision="FP32">
118
+ <dim>-1</dim>
119
+ <dim>-1</dim>
120
+ <dim>3072</dim>
121
+ </port>
122
+ </input>
123
+ <output>
124
+ <port id="1" precision="FP32" names="12">
125
+ <dim>-1</dim>
126
+ <dim>-1</dim>
127
+ <dim>3072</dim>
128
+ </port>
129
+ </output>
130
+ </layer>
131
+ <layer id="8" name="self.2.weight_compressed" type="Const" version="opset1">
132
+ <data element_type="f16" shape="3072, 3072" offset="6297600" size="18874368" />
133
+ <output>
134
+ <port id="0" precision="FP16" names="self.2.weight">
135
+ <dim>3072</dim>
136
+ <dim>3072</dim>
137
+ </port>
138
+ </output>
139
+ </layer>
140
+ <layer id="9" name="self.2.weight" type="Convert" version="opset1">
141
+ <data destination_type="f32" />
142
+ <rt_info>
143
+ <attribute name="decompression" version="0" />
144
+ </rt_info>
145
+ <input>
146
+ <port id="0" precision="FP16">
147
+ <dim>3072</dim>
148
+ <dim>3072</dim>
149
+ </port>
150
+ </input>
151
+ <output>
152
+ <port id="1" precision="FP32">
153
+ <dim>3072</dim>
154
+ <dim>3072</dim>
155
+ </port>
156
+ </output>
157
+ </layer>
158
+ <layer id="10" name="__module.2/aten::linear/MatMul" type="MatMul" version="opset1">
159
+ <data transpose_a="false" transpose_b="true" />
160
+ <input>
161
+ <port id="0" precision="FP32">
162
+ <dim>-1</dim>
163
+ <dim>-1</dim>
164
+ <dim>3072</dim>
165
+ </port>
166
+ <port id="1" precision="FP32">
167
+ <dim>3072</dim>
168
+ <dim>3072</dim>
169
+ </port>
170
+ </input>
171
+ <output>
172
+ <port id="2" precision="FP32">
173
+ <dim>-1</dim>
174
+ <dim>-1</dim>
175
+ <dim>3072</dim>
176
+ </port>
177
+ </output>
178
+ </layer>
179
+ <layer id="11" name="Constant_4743674_compressed" type="Const" version="opset1">
180
+ <data element_type="f16" shape="1, 1, 3072" offset="25171968" size="6144" />
181
+ <output>
182
+ <port id="0" precision="FP16">
183
+ <dim>1</dim>
184
+ <dim>1</dim>
185
+ <dim>3072</dim>
186
+ </port>
187
+ </output>
188
+ </layer>
189
+ <layer id="12" name="Constant_4743674" type="Convert" version="opset1">
190
+ <data destination_type="f32" />
191
+ <rt_info>
192
+ <attribute name="decompression" version="0" />
193
+ </rt_info>
194
+ <input>
195
+ <port id="0" precision="FP16">
196
+ <dim>1</dim>
197
+ <dim>1</dim>
198
+ <dim>3072</dim>
199
+ </port>
200
+ </input>
201
+ <output>
202
+ <port id="1" precision="FP32">
203
+ <dim>1</dim>
204
+ <dim>1</dim>
205
+ <dim>3072</dim>
206
+ </port>
207
+ </output>
208
+ </layer>
209
+ <layer id="13" name="__module.2/aten::linear/Add" type="Add" version="opset1">
210
+ <data auto_broadcast="numpy" />
211
+ <input>
212
+ <port id="0" precision="FP32">
213
+ <dim>-1</dim>
214
+ <dim>-1</dim>
215
+ <dim>3072</dim>
216
+ </port>
217
+ <port id="1" precision="FP32">
218
+ <dim>1</dim>
219
+ <dim>1</dim>
220
+ <dim>3072</dim>
221
+ </port>
222
+ </input>
223
+ <output>
224
+ <port id="2" precision="FP32">
225
+ <dim>-1</dim>
226
+ <dim>-1</dim>
227
+ <dim>3072</dim>
228
+ </port>
229
+ </output>
230
+ </layer>
231
+ <layer id="14" name="Result_4741942" type="Result" version="opset1">
232
+ <input>
233
+ <port id="0" precision="FP32">
234
+ <dim>-1</dim>
235
+ <dim>-1</dim>
236
+ <dim>3072</dim>
237
+ </port>
238
+ </input>
239
+ </layer>
240
+ </layers>
241
+ <edges>
242
+ <edge from-layer="0" from-port="0" to-layer="3" to-port="0" />
243
+ <edge from-layer="1" from-port="0" to-layer="2" to-port="0" />
244
+ <edge from-layer="2" from-port="1" to-layer="3" to-port="1" />
245
+ <edge from-layer="3" from-port="2" to-layer="6" to-port="0" />
246
+ <edge from-layer="4" from-port="0" to-layer="5" to-port="0" />
247
+ <edge from-layer="5" from-port="1" to-layer="6" to-port="1" />
248
+ <edge from-layer="6" from-port="2" to-layer="7" to-port="0" />
249
+ <edge from-layer="7" from-port="1" to-layer="10" to-port="0" />
250
+ <edge from-layer="8" from-port="0" to-layer="9" to-port="0" />
251
+ <edge from-layer="9" from-port="1" to-layer="10" to-port="1" />
252
+ <edge from-layer="10" from-port="2" to-layer="13" to-port="0" />
253
+ <edge from-layer="11" from-port="0" to-layer="12" to-port="0" />
254
+ <edge from-layer="12" from-port="1" to-layer="13" to-port="1" />
255
+ <edge from-layer="13" from-port="2" to-layer="14" to-port="0" />
256
+ </edges>
257
+ <rt_info>
258
+ <Runtime_version value="2025.1.0-18311-da00e90afb7" />
259
+ <conversion_parameters>
260
+ <framework value="pytorch" />
261
+ <is_python_object value="True" />
262
+ </conversion_parameters>
263
+ </rt_info>
264
+ </net>
openvino_language_model.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c023c393dd796ef9d1d16e4e03e5dc059a5d9bc99da25845c256d2edfa679c33
3
+ size 2768460624
openvino_language_model.xml ADDED
The diff for this file is too large to render. See raw diff
 
openvino_text_embeddings_model.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:464ddd70c11b2bc5d66f3da60e7edf051e848b6c520088768759ad9bd6645153
3
+ size 1229193220
openvino_text_embeddings_model.xml ADDED
@@ -0,0 +1,107 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <net name="Model0" version="11">
3
+ <layers>
4
+ <layer id="0" name="input" type="Parameter" version="opset1">
5
+ <data shape="?,?" element_type="i64" />
6
+ <output>
7
+ <port id="0" precision="I64" names="input">
8
+ <dim>-1</dim>
9
+ <dim>-1</dim>
10
+ </port>
11
+ </output>
12
+ </layer>
13
+ <layer id="1" name="self.weight_compressed" type="Const" version="opset1">
14
+ <data element_type="f16" shape="200064, 3072" offset="0" size="1229193216" />
15
+ <output>
16
+ <port id="0" precision="FP16" names="self.weight">
17
+ <dim>200064</dim>
18
+ <dim>3072</dim>
19
+ </port>
20
+ </output>
21
+ </layer>
22
+ <layer id="2" name="self.weight" type="Convert" version="opset1">
23
+ <data destination_type="f32" />
24
+ <rt_info>
25
+ <attribute name="decompression" version="0" />
26
+ </rt_info>
27
+ <input>
28
+ <port id="0" precision="FP16">
29
+ <dim>200064</dim>
30
+ <dim>3072</dim>
31
+ </port>
32
+ </input>
33
+ <output>
34
+ <port id="1" precision="FP32">
35
+ <dim>200064</dim>
36
+ <dim>3072</dim>
37
+ </port>
38
+ </output>
39
+ </layer>
40
+ <layer id="3" name="aten::embedding/Convert" type="Convert" version="opset1">
41
+ <data destination_type="i32" />
42
+ <input>
43
+ <port id="0" precision="I64">
44
+ <dim>-1</dim>
45
+ <dim>-1</dim>
46
+ </port>
47
+ </input>
48
+ <output>
49
+ <port id="1" precision="I32">
50
+ <dim>-1</dim>
51
+ <dim>-1</dim>
52
+ </port>
53
+ </output>
54
+ </layer>
55
+ <layer id="4" name="aten::embedding/Constant" type="Const" version="opset1">
56
+ <data element_type="i32" shape="" offset="1229193216" size="4" />
57
+ <output>
58
+ <port id="0" precision="I32" />
59
+ </output>
60
+ </layer>
61
+ <layer id="5" name="aten::embedding/Gather" type="Gather" version="opset8">
62
+ <data batch_dims="0" />
63
+ <input>
64
+ <port id="0" precision="FP32">
65
+ <dim>200064</dim>
66
+ <dim>3072</dim>
67
+ </port>
68
+ <port id="1" precision="I32">
69
+ <dim>-1</dim>
70
+ <dim>-1</dim>
71
+ </port>
72
+ <port id="2" precision="I32" />
73
+ </input>
74
+ <output>
75
+ <port id="3" precision="FP32">
76
+ <dim>-1</dim>
77
+ <dim>-1</dim>
78
+ <dim>3072</dim>
79
+ </port>
80
+ </output>
81
+ </layer>
82
+ <layer id="6" name="Result_11" type="Result" version="opset1">
83
+ <input>
84
+ <port id="0" precision="FP32">
85
+ <dim>-1</dim>
86
+ <dim>-1</dim>
87
+ <dim>3072</dim>
88
+ </port>
89
+ </input>
90
+ </layer>
91
+ </layers>
92
+ <edges>
93
+ <edge from-layer="0" from-port="0" to-layer="3" to-port="0" />
94
+ <edge from-layer="1" from-port="0" to-layer="2" to-port="0" />
95
+ <edge from-layer="2" from-port="1" to-layer="5" to-port="0" />
96
+ <edge from-layer="3" from-port="1" to-layer="5" to-port="1" />
97
+ <edge from-layer="4" from-port="0" to-layer="5" to-port="2" />
98
+ <edge from-layer="5" from-port="3" to-layer="6" to-port="0" />
99
+ </edges>
100
+ <rt_info>
101
+ <Runtime_version value="2025.1.0-18311-da00e90afb7" />
102
+ <conversion_parameters>
103
+ <framework value="pytorch" />
104
+ <is_python_object value="True" />
105
+ </conversion_parameters>
106
+ </rt_info>
107
+ </net>
openvino_vision_embeddings_model.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b70404777806200c0769a018ec95acf1e4fa7055dfbf03ff517bf13a8c30723c
3
+ size 400024908
openvino_vision_embeddings_model.xml ADDED
The diff for this file is too large to render. See raw diff
 
openvino_vision_projection_model.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1f7e2f3f03b477a0a699a740ea365ef61c015142a03ceebb291a6d2ab9b2d4d7
3
+ size 25964544
openvino_vision_projection_model.xml ADDED
@@ -0,0 +1,264 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <net name="Model33240" version="11">
3
+ <layers>
4
+ <layer id="0" name="input" type="Parameter" version="opset1">
5
+ <data shape="?,?,?" element_type="f32" />
6
+ <output>
7
+ <port id="0" precision="FP32" names="input">
8
+ <dim>-1</dim>
9
+ <dim>-1</dim>
10
+ <dim>-1</dim>
11
+ </port>
12
+ </output>
13
+ </layer>
14
+ <layer id="1" name="self.0.weight_compressed" type="Const" version="opset1">
15
+ <data element_type="f16" shape="3072, 1152" offset="0" size="7077888" />
16
+ <output>
17
+ <port id="0" precision="FP16" names="self.0.weight">
18
+ <dim>3072</dim>
19
+ <dim>1152</dim>
20
+ </port>
21
+ </output>
22
+ </layer>
23
+ <layer id="2" name="self.0.weight" type="Convert" version="opset1">
24
+ <data destination_type="f32" />
25
+ <rt_info>
26
+ <attribute name="decompression" version="0" />
27
+ </rt_info>
28
+ <input>
29
+ <port id="0" precision="FP16">
30
+ <dim>3072</dim>
31
+ <dim>1152</dim>
32
+ </port>
33
+ </input>
34
+ <output>
35
+ <port id="1" precision="FP32">
36
+ <dim>3072</dim>
37
+ <dim>1152</dim>
38
+ </port>
39
+ </output>
40
+ </layer>
41
+ <layer id="3" name="__module.0/aten::linear/MatMul" type="MatMul" version="opset1">
42
+ <data transpose_a="false" transpose_b="true" />
43
+ <input>
44
+ <port id="0" precision="FP32">
45
+ <dim>-1</dim>
46
+ <dim>-1</dim>
47
+ <dim>-1</dim>
48
+ </port>
49
+ <port id="1" precision="FP32">
50
+ <dim>3072</dim>
51
+ <dim>1152</dim>
52
+ </port>
53
+ </input>
54
+ <output>
55
+ <port id="2" precision="FP32">
56
+ <dim>-1</dim>
57
+ <dim>-1</dim>
58
+ <dim>3072</dim>
59
+ </port>
60
+ </output>
61
+ </layer>
62
+ <layer id="4" name="Constant_5534472_compressed" type="Const" version="opset1">
63
+ <data element_type="f16" shape="1, 1, 3072" offset="7077888" size="6144" />
64
+ <output>
65
+ <port id="0" precision="FP16">
66
+ <dim>1</dim>
67
+ <dim>1</dim>
68
+ <dim>3072</dim>
69
+ </port>
70
+ </output>
71
+ </layer>
72
+ <layer id="5" name="Constant_5534472" type="Convert" version="opset1">
73
+ <data destination_type="f32" />
74
+ <rt_info>
75
+ <attribute name="decompression" version="0" />
76
+ </rt_info>
77
+ <input>
78
+ <port id="0" precision="FP16">
79
+ <dim>1</dim>
80
+ <dim>1</dim>
81
+ <dim>3072</dim>
82
+ </port>
83
+ </input>
84
+ <output>
85
+ <port id="1" precision="FP32">
86
+ <dim>1</dim>
87
+ <dim>1</dim>
88
+ <dim>3072</dim>
89
+ </port>
90
+ </output>
91
+ </layer>
92
+ <layer id="6" name="__module.0/aten::linear/Add" type="Add" version="opset1">
93
+ <data auto_broadcast="numpy" />
94
+ <input>
95
+ <port id="0" precision="FP32">
96
+ <dim>-1</dim>
97
+ <dim>-1</dim>
98
+ <dim>3072</dim>
99
+ </port>
100
+ <port id="1" precision="FP32">
101
+ <dim>1</dim>
102
+ <dim>1</dim>
103
+ <dim>3072</dim>
104
+ </port>
105
+ </input>
106
+ <output>
107
+ <port id="2" precision="FP32" names="10">
108
+ <dim>-1</dim>
109
+ <dim>-1</dim>
110
+ <dim>3072</dim>
111
+ </port>
112
+ </output>
113
+ </layer>
114
+ <layer id="7" name="__module.1/aten::gelu/Gelu" type="Gelu" version="opset7">
115
+ <data approximation_mode="ERF" />
116
+ <input>
117
+ <port id="0" precision="FP32">
118
+ <dim>-1</dim>
119
+ <dim>-1</dim>
120
+ <dim>3072</dim>
121
+ </port>
122
+ </input>
123
+ <output>
124
+ <port id="1" precision="FP32" names="12">
125
+ <dim>-1</dim>
126
+ <dim>-1</dim>
127
+ <dim>3072</dim>
128
+ </port>
129
+ </output>
130
+ </layer>
131
+ <layer id="8" name="self.2.weight_compressed" type="Const" version="opset1">
132
+ <data element_type="f16" shape="3072, 3072" offset="7084032" size="18874368" />
133
+ <output>
134
+ <port id="0" precision="FP16" names="self.2.weight">
135
+ <dim>3072</dim>
136
+ <dim>3072</dim>
137
+ </port>
138
+ </output>
139
+ </layer>
140
+ <layer id="9" name="self.2.weight" type="Convert" version="opset1">
141
+ <data destination_type="f32" />
142
+ <rt_info>
143
+ <attribute name="decompression" version="0" />
144
+ </rt_info>
145
+ <input>
146
+ <port id="0" precision="FP16">
147
+ <dim>3072</dim>
148
+ <dim>3072</dim>
149
+ </port>
150
+ </input>
151
+ <output>
152
+ <port id="1" precision="FP32">
153
+ <dim>3072</dim>
154
+ <dim>3072</dim>
155
+ </port>
156
+ </output>
157
+ </layer>
158
+ <layer id="10" name="__module.2/aten::linear/MatMul" type="MatMul" version="opset1">
159
+ <data transpose_a="false" transpose_b="true" />
160
+ <input>
161
+ <port id="0" precision="FP32">
162
+ <dim>-1</dim>
163
+ <dim>-1</dim>
164
+ <dim>3072</dim>
165
+ </port>
166
+ <port id="1" precision="FP32">
167
+ <dim>3072</dim>
168
+ <dim>3072</dim>
169
+ </port>
170
+ </input>
171
+ <output>
172
+ <port id="2" precision="FP32">
173
+ <dim>-1</dim>
174
+ <dim>-1</dim>
175
+ <dim>3072</dim>
176
+ </port>
177
+ </output>
178
+ </layer>
179
+ <layer id="11" name="Constant_5534473_compressed" type="Const" version="opset1">
180
+ <data element_type="f16" shape="1, 1, 3072" offset="25958400" size="6144" />
181
+ <output>
182
+ <port id="0" precision="FP16">
183
+ <dim>1</dim>
184
+ <dim>1</dim>
185
+ <dim>3072</dim>
186
+ </port>
187
+ </output>
188
+ </layer>
189
+ <layer id="12" name="Constant_5534473" type="Convert" version="opset1">
190
+ <data destination_type="f32" />
191
+ <rt_info>
192
+ <attribute name="decompression" version="0" />
193
+ </rt_info>
194
+ <input>
195
+ <port id="0" precision="FP16">
196
+ <dim>1</dim>
197
+ <dim>1</dim>
198
+ <dim>3072</dim>
199
+ </port>
200
+ </input>
201
+ <output>
202
+ <port id="1" precision="FP32">
203
+ <dim>1</dim>
204
+ <dim>1</dim>
205
+ <dim>3072</dim>
206
+ </port>
207
+ </output>
208
+ </layer>
209
+ <layer id="13" name="__module.2/aten::linear/Add" type="Add" version="opset1">
210
+ <data auto_broadcast="numpy" />
211
+ <input>
212
+ <port id="0" precision="FP32">
213
+ <dim>-1</dim>
214
+ <dim>-1</dim>
215
+ <dim>3072</dim>
216
+ </port>
217
+ <port id="1" precision="FP32">
218
+ <dim>1</dim>
219
+ <dim>1</dim>
220
+ <dim>3072</dim>
221
+ </port>
222
+ </input>
223
+ <output>
224
+ <port id="2" precision="FP32">
225
+ <dim>-1</dim>
226
+ <dim>-1</dim>
227
+ <dim>3072</dim>
228
+ </port>
229
+ </output>
230
+ </layer>
231
+ <layer id="14" name="Result_5532741" type="Result" version="opset1">
232
+ <input>
233
+ <port id="0" precision="FP32">
234
+ <dim>-1</dim>
235
+ <dim>-1</dim>
236
+ <dim>3072</dim>
237
+ </port>
238
+ </input>
239
+ </layer>
240
+ </layers>
241
+ <edges>
242
+ <edge from-layer="0" from-port="0" to-layer="3" to-port="0" />
243
+ <edge from-layer="1" from-port="0" to-layer="2" to-port="0" />
244
+ <edge from-layer="2" from-port="1" to-layer="3" to-port="1" />
245
+ <edge from-layer="3" from-port="2" to-layer="6" to-port="0" />
246
+ <edge from-layer="4" from-port="0" to-layer="5" to-port="0" />
247
+ <edge from-layer="5" from-port="1" to-layer="6" to-port="1" />
248
+ <edge from-layer="6" from-port="2" to-layer="7" to-port="0" />
249
+ <edge from-layer="7" from-port="1" to-layer="10" to-port="0" />
250
+ <edge from-layer="8" from-port="0" to-layer="9" to-port="0" />
251
+ <edge from-layer="9" from-port="1" to-layer="10" to-port="1" />
252
+ <edge from-layer="10" from-port="2" to-layer="13" to-port="0" />
253
+ <edge from-layer="11" from-port="0" to-layer="12" to-port="0" />
254
+ <edge from-layer="12" from-port="1" to-layer="13" to-port="1" />
255
+ <edge from-layer="13" from-port="2" to-layer="14" to-port="0" />
256
+ </edges>
257
+ <rt_info>
258
+ <Runtime_version value="2025.1.0-18311-da00e90afb7" />
259
+ <conversion_parameters>
260
+ <framework value="pytorch" />
261
+ <is_python_object value="True" />
262
+ </conversion_parameters>
263
+ </rt_info>
264
+ </net>
preprocessor_config.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "auto_map": {
3
+ "AutoProcessor": "processing_phi4mm.Phi4MMProcessor",
4
+ "AutoImageProcessor": "processing_phi4mm.Phi4MMImageProcessor",
5
+ "AutoFeatureExtractor": "processing_phi4mm.Phi4MMAudioFeatureExtractor"
6
+ },
7
+ "image_processor_type": "Phi4MMImageProcessor",
8
+ "processor_class": "Phi4MMProcessor",
9
+ "feature_extractor_type": "Phi4MMAudioFeatureExtractor",
10
+ "audio_compression_rate": 8,
11
+ "audio_downsample_rate": 1,
12
+ "audio_feat_stride": 1,
13
+ "dynamic_hd": 36
14
+ }
processing_phi4mm.py ADDED
@@ -0,0 +1,733 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright 2024 Microsoft and the HuggingFace Inc. 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
+ """
16
+ Processor class for Phi4MM
17
+ """
18
+ import re
19
+ from typing import List, Optional, Tuple, Union
20
+ import math
21
+ from enum import Enum
22
+
23
+ import numpy as np
24
+ import scipy
25
+ import torch
26
+ import torchvision
27
+
28
+ from transformers import AutoFeatureExtractor, AutoImageProcessor
29
+ from transformers.feature_extraction_sequence_utils import SequenceFeatureExtractor
30
+ from transformers.image_processing_utils import BaseImageProcessor, BatchFeature
31
+ from transformers.image_utils import (
32
+ ImageInput,
33
+ make_list_of_images,
34
+ valid_images,
35
+ )
36
+ from transformers.processing_utils import ProcessorMixin
37
+ from transformers.tokenization_utils_base import PaddingStrategy, TextInput, TruncationStrategy
38
+ from transformers.utils import TensorType, logging
39
+ from torch.nn.utils.rnn import pad_sequence
40
+
41
+
42
+ logger = logging.get_logger(__name__)
43
+
44
+ # Special tokens
45
+ _COMPATIBLE_IMAGE_SPECIAL_TOKEN_PATTERN = r'<\|image_\d+\|>' # For backward compatibility
46
+ _COMPATIBLE_AUDIO_SPECIAL_TOKEN_PATTERN = r'<\|audio_\d+\|>' # For backward compatibility
47
+ _IMAGE_SPECIAL_TOKEN = '<|endoftext10|>'
48
+ _AUDIO_SPECIAL_TOKEN = '<|endoftext11|>'
49
+ _IMAGE_SPECIAL_TOKEN_ID = 200010 # '<|endoftext10|>', or we can better name it (in `tokenizer_config.json`)
50
+ _AUDIO_SPECIAL_TOKEN_ID = 200011 # '<|endoftext11|>'
51
+
52
+
53
+ class InputMode(Enum):
54
+ LANGUAGE = 0
55
+ VISION = 1
56
+ SPEECH = 2
57
+ VISION_SPEECH = 3
58
+
59
+
60
+ class Phi4MMImageProcessor(BaseImageProcessor):
61
+ r"""
62
+ Constructs a Phi4MM image processor.
63
+ """
64
+ model_input_names = ["input_image_embeds", "image_sizes", "image_attention_mask"]
65
+
66
+ def __init__(
67
+ self,
68
+ dynamic_hd,
69
+ **kwargs,
70
+ ) -> None:
71
+ super().__init__(**kwargs)
72
+ self.dynamic_hd = dynamic_hd
73
+
74
+ def find_closest_aspect_ratio(self, aspect_ratio, target_ratios, width, height, image_size):
75
+ best_ratio_diff = float('inf')
76
+ best_ratio = (1, 1)
77
+ area = width * height
78
+ for ratio in target_ratios:
79
+ target_aspect_ratio = ratio[0] / ratio[1]
80
+ ratio_diff = abs(aspect_ratio - target_aspect_ratio)
81
+ if ratio_diff < best_ratio_diff:
82
+ best_ratio_diff = ratio_diff
83
+ best_ratio = ratio
84
+ elif ratio_diff == best_ratio_diff:
85
+ if area > 0.5 * image_size * image_size * ratio[0] * ratio[1]:
86
+ best_ratio = ratio
87
+ return best_ratio
88
+
89
+ def dynamic_preprocess(self, image, min_num=1, max_num=12, image_size=384, mask_size=27, use_thumbnail=True):
90
+ orig_width, orig_height = image.size
91
+
92
+ w_crop_num = math.ceil(orig_width/float(image_size))
93
+ h_crop_num = math.ceil(orig_height/float(image_size))
94
+ if w_crop_num * h_crop_num > max_num:
95
+
96
+ aspect_ratio = orig_width / orig_height
97
+
98
+ # calculate the existing image aspect ratio
99
+ target_ratios = set(
100
+ (i, j) for n in range(min_num, max_num + 1) for i in range(1, n + 1) for j in range(1, n + 1) if
101
+ i * j <= max_num and i * j >= min_num)
102
+ target_ratios = sorted(target_ratios, key=lambda x: x[0] * x[1])
103
+
104
+ # find the closest aspect ratio to the target
105
+ target_aspect_ratio = self.find_closest_aspect_ratio(
106
+ aspect_ratio, target_ratios, orig_width, orig_height, image_size)
107
+
108
+ # calculate the target width and height
109
+ target_width = image_size * target_aspect_ratio[0]
110
+ target_height = image_size * target_aspect_ratio[1]
111
+ else:
112
+ target_width = image_size * w_crop_num
113
+ target_height = image_size * h_crop_num
114
+ target_aspect_ratio = (w_crop_num, h_crop_num)
115
+
116
+ # Calculate the ratio
117
+ ratio_width = target_width / orig_width
118
+ ratio_height = target_height / orig_height
119
+ if ratio_width < ratio_height:
120
+ new_size = (target_width, int(orig_height * ratio_width))
121
+ padding_width = 0
122
+ padding_height = target_height - int(orig_height * ratio_width)
123
+ else:
124
+ new_size = (int(orig_width * ratio_height), target_height)
125
+ padding_width = target_width - int(orig_width * ratio_height)
126
+ padding_height = 0
127
+
128
+ attention_mask = torch.ones((int(mask_size*target_aspect_ratio[1]), int(mask_size*target_aspect_ratio[0])))
129
+ if padding_width >= 14:
130
+ attention_mask[:, -math.floor(padding_width/14):] = 0
131
+ if padding_height >= 14:
132
+ attention_mask[-math.floor(padding_height/14):,:] = 0
133
+ assert attention_mask.sum() > 0
134
+
135
+ if min(new_size[1], target_height) < 10 or min(new_size[0], target_width) < 10:
136
+ raise ValueError(f'the aspect ratio is very extreme {new_size}')
137
+
138
+ image = torchvision.transforms.functional.resize(image, [new_size[1], new_size[0]],)
139
+
140
+ resized_img = torchvision.transforms.functional.pad(image, [0, 0, padding_width, padding_height], fill=[255,255,255])
141
+
142
+ return resized_img, attention_mask
143
+
144
+ def pad_to_max_num_crops(self, images, max_crops=5):
145
+ """
146
+ images: B x 3 x H x W, B<=max_crops
147
+ """
148
+ B, _, H, W = images.shape
149
+ if B < max_crops:
150
+ pad = torch.zeros(max_crops - B, 3, H, W, dtype=images.dtype, device=images.device)
151
+ images = torch.cat([images, pad], dim=0)
152
+ return images
153
+
154
+ def pad_mask_to_max_num_crops(self, masks, max_crops=5):
155
+ B, H, W = masks.shape
156
+ if B < max_crops:
157
+ pad = torch.ones(max_crops - B, H, W, dtype=masks.dtype, device=masks.device)
158
+ masks = torch.cat([masks, pad], dim=0)
159
+ return masks
160
+
161
+ def preprocess(
162
+ self,
163
+ images: ImageInput,
164
+ return_tensors: Optional[Union[str, TensorType]] = None,
165
+ ):
166
+ """
167
+ Args:
168
+ images (`ImageInput`):
169
+ Image to preprocess. Expects a single or batch of images with pixel values ranging from 0 to 255. If
170
+ passing in images with pixel values between 0 and 1, set `do_rescale=False`.
171
+ return_tensors (`str` or `TensorType`, *optional*):
172
+ The type of tensors to return. Can be one of:
173
+ - Unset: Return a list of `np.ndarray`.
174
+ - `TensorType.TENSORFLOW` or `'tf'`: Return a batch of type `tf.Tensor`.
175
+ - `TensorType.PYTORCH` or `'pt'`: Return a batch of type `torch.Tensor`.
176
+ - `TensorType.NUMPY` or `'np'`: Return a batch of type `np.ndarray`.
177
+ - `TensorType.JAX` or `'jax'`: Return a batch of type `jax.numpy.ndarray`.
178
+ """
179
+ images = make_list_of_images(images)
180
+
181
+ if not valid_images(images):
182
+ raise ValueError(
183
+ "Invalid image type. Must be of type PIL.Image.Image, numpy.ndarray, "
184
+ "torch.Tensor, tf.Tensor or jax.ndarray."
185
+ )
186
+
187
+ # Basic settings.
188
+ img_processor = torchvision.transforms.Compose([
189
+ torchvision.transforms.ToTensor(),
190
+ torchvision.transforms.Normalize(
191
+ (0.5, 0.5, 0.5),
192
+ (0.5, 0.5, 0.5)
193
+ ),
194
+ ])
195
+ dyhd_base_resolution = 448
196
+
197
+ # Dynamic HD
198
+ base_resolution = dyhd_base_resolution
199
+ images = [image.convert('RGB') for image in images]
200
+ # cover 384 and 448 resolution
201
+ mask_resolution = base_resolution // 14
202
+ elems, image_attention_masks = [], []
203
+ for im in images:
204
+ elem, attention_mask = self.dynamic_preprocess(im, max_num=self.dynamic_hd, image_size=base_resolution, mask_size=mask_resolution)
205
+ elems.append(elem)
206
+ image_attention_masks.append(attention_mask)
207
+ hd_images = [img_processor(im) for im in elems]
208
+ global_image = [torch.nn.functional.interpolate(im.unsqueeze(0).float(), size=(base_resolution, base_resolution), mode='bicubic',).to(im.dtype) for im in hd_images]
209
+ shapes = [[im.size(1), im.size(2)] for im in hd_images]
210
+ mask_shapes = [[mask.size(0), mask.size(1)] for mask in image_attention_masks]
211
+ global_attention_mask = [torch.ones((1, mask_resolution, mask_resolution)) for _ in hd_images]
212
+ hd_images_reshape = [im.reshape(1, 3,
213
+ h//base_resolution,
214
+ base_resolution,
215
+ w//base_resolution,
216
+ base_resolution
217
+ ).permute(0,2,4,1,3,5).reshape(-1, 3, base_resolution, base_resolution).contiguous() for im, (h, w) in zip(hd_images, shapes)]
218
+ attention_masks_reshape = [mask.reshape(1,
219
+ h//mask_resolution,
220
+ mask_resolution,
221
+ w//mask_resolution,
222
+ mask_resolution
223
+ ).permute(0,1,3,2,4).reshape(-1, mask_resolution, mask_resolution).contiguous() for mask, (h, w) in zip(image_attention_masks, mask_shapes)]
224
+ downsample_attention_masks = [mask[:,0::2,0::2].reshape(1,
225
+ h//mask_resolution,
226
+ w//mask_resolution,
227
+ mask_resolution//2+mask_resolution%2,
228
+ mask_resolution//2+mask_resolution%2
229
+ ).permute(0,1,3,2,4) for mask, (h,w) in zip(attention_masks_reshape, mask_shapes)]
230
+ downsample_attention_masks = [mask.reshape(mask.size(1)*mask.size(2), mask.size(3)*mask.size(4))for mask in downsample_attention_masks]
231
+ num_img_tokens = [256 + 1 + int(mask.sum().item()) + int(mask[:,0].sum().item()) + 16 for mask in downsample_attention_masks]
232
+
233
+ hd_images_reshape = [torch.cat([_global_image] + [_im], dim=0) for _global_image, _im in zip(global_image, hd_images_reshape)]
234
+ hd_masks_reshape = [torch.cat([_global_mask] + [_mask], dim=0) for _global_mask, _mask in zip(global_attention_mask, attention_masks_reshape)]
235
+ max_crops = max([img.size(0) for img in hd_images_reshape])
236
+ image_transformed = [self.pad_to_max_num_crops(im, max_crops) for im in hd_images_reshape]
237
+ image_transformed = torch.stack(image_transformed, dim=0)
238
+ mask_transformed = [self.pad_mask_to_max_num_crops(mask, max_crops) for mask in hd_masks_reshape]
239
+ mask_transformed = torch.stack(mask_transformed, dim=0)
240
+
241
+ returned_input_image_embeds = image_transformed
242
+ returned_image_sizes = torch.tensor(shapes, dtype=torch.long)
243
+ returned_image_attention_mask = mask_transformed
244
+ returned_num_img_tokens = num_img_tokens
245
+
246
+ data = {
247
+ "input_image_embeds": returned_input_image_embeds,
248
+ "image_sizes": returned_image_sizes,
249
+ "image_attention_mask": returned_image_attention_mask,
250
+ "num_img_tokens": returned_num_img_tokens,
251
+ }
252
+
253
+ return BatchFeature(data=data, tensor_type=return_tensors)
254
+
255
+
256
+ AudioInput = Tuple[Union[np.ndarray, torch.Tensor], int]
257
+ AudioInputs = List[AudioInput]
258
+
259
+
260
+ def speechlib_mel(sample_rate, n_fft, n_mels, fmin=None, fmax=None):
261
+ """Create a Mel filter-bank the same as SpeechLib FbankFC.
262
+
263
+ Args:
264
+ sample_rate (int): Sample rate in Hz. number > 0 [scalar]
265
+ n_fft (int): FFT size. int > 0 [scalar]
266
+ n_mel (int): Mel filter size. int > 0 [scalar]
267
+ fmin (float): lowest frequency (in Hz). If None use 0.0.
268
+ float >= 0 [scalar]
269
+ fmax: highest frequency (in Hz). If None use sample_rate / 2.
270
+ float >= 0 [scalar]
271
+
272
+ Returns
273
+ out (numpy.ndarray): Mel transform matrix
274
+ [shape=(n_mels, 1 + n_fft/2)]
275
+ """
276
+
277
+ bank_width = int(n_fft // 2 + 1)
278
+ if fmax is None:
279
+ fmax = sample_rate / 2
280
+ if fmin is None:
281
+ fmin = 0
282
+ assert fmin >= 0, "fmin cannot be negtive"
283
+ assert fmin < fmax <= sample_rate / 2, "fmax must be between (fmin, samplerate / 2]"
284
+
285
+ def mel(f):
286
+ return 1127.0 * np.log(1.0 + f / 700.0)
287
+
288
+ def bin2mel(fft_bin):
289
+ return 1127.0 * np.log(1.0 + fft_bin * sample_rate / (n_fft * 700.0))
290
+
291
+ def f2bin(f):
292
+ return int((f * n_fft / sample_rate) + 0.5)
293
+
294
+ # Spec 1: FFT bin range [f2bin(fmin) + 1, f2bin(fmax) - 1]
295
+ klo = f2bin(fmin) + 1
296
+ khi = f2bin(fmax)
297
+
298
+ khi = max(khi, klo)
299
+
300
+ # Spec 2: SpeechLib uses trianges in Mel space
301
+ mlo = mel(fmin)
302
+ mhi = mel(fmax)
303
+ m_centers = np.linspace(mlo, mhi, n_mels + 2)
304
+ ms = (mhi - mlo) / (n_mels + 1)
305
+
306
+ matrix = np.zeros((n_mels, bank_width), dtype=np.float32)
307
+ for m in range(0, n_mels):
308
+ left = m_centers[m]
309
+ center = m_centers[m + 1]
310
+ right = m_centers[m + 2]
311
+ for fft_bin in range(klo, khi):
312
+ mbin = bin2mel(fft_bin)
313
+ if left < mbin < right:
314
+ matrix[m, fft_bin] = 1.0 - abs(center - mbin) / ms
315
+
316
+ return matrix
317
+
318
+
319
+ class Phi4MMAudioFeatureExtractor(SequenceFeatureExtractor):
320
+ model_input_names = ["input_audio_embeds", "audio_embed_sizes", "audio_attention_mask"]
321
+
322
+ def __init__(self, audio_compression_rate, audio_downsample_rate, audio_feat_stride, **kwargs):
323
+ feature_size = 80
324
+ sampling_rate = 16000
325
+ padding_value = 0.0
326
+ super().__init__(feature_size, sampling_rate, padding_value, **kwargs)
327
+
328
+ self.compression_rate = audio_compression_rate
329
+ self.qformer_compression_rate = audio_downsample_rate
330
+ self.feat_stride = audio_feat_stride
331
+
332
+ self._eightk_method = "fillzero"
333
+ self._mel = speechlib_mel(16000, 512, 80, fmin=None, fmax=7690).T
334
+
335
+ self._hamming400 = np.hamming(400) # for 16k audio
336
+ self._hamming200 = np.hamming(200) # for 8k audio
337
+
338
+ def duration_to_frames(self, duration):
339
+ """duration in s, estimated frames"""
340
+ frame_rate = 10
341
+
342
+ num_frames = duration * 1000 // frame_rate
343
+ return num_frames
344
+
345
+ def __call__(
346
+ self,
347
+ audios: List[AudioInput],
348
+ return_tensors: Optional[Union[str, TensorType]] = None,
349
+ ):
350
+ # Ref: https://github.com/huggingface/transformers/blob/v4.47.0/src/transformers/models/audio_spectrogram_transformer/feature_extraction_audio_spectrogram_transformer.py#L161
351
+ returned_input_audio_embeds = []
352
+ returned_audio_embed_sizes = []
353
+ audio_frames_list = []
354
+
355
+ for audio_data, sample_rate in audios:
356
+ audio_embeds = self._extract_features(audio_data, sample_rate)
357
+ audio_frames = len(audio_embeds) * self.feat_stride
358
+ audio_embed_size = self._compute_audio_embed_size(audio_frames)
359
+
360
+ returned_input_audio_embeds.append(torch.tensor(audio_embeds))
361
+ returned_audio_embed_sizes.append(torch.tensor(audio_embed_size).long())
362
+ audio_frames_list.append(audio_frames)
363
+
364
+ returned_input_audio_embeds = pad_sequence(
365
+ returned_input_audio_embeds, batch_first=True
366
+ )
367
+ returned_audio_embed_sizes = torch.stack(returned_audio_embed_sizes, dim=0)
368
+ audio_frames = torch.tensor(audio_frames_list)
369
+ returned_audio_attention_mask = torch.arange(0, audio_frames.max()).unsqueeze(0) < audio_frames.unsqueeze(1) if len(audios) > 1 else None
370
+
371
+ data = {
372
+ "input_audio_embeds": returned_input_audio_embeds,
373
+ "audio_embed_sizes": returned_audio_embed_sizes,
374
+ }
375
+ if returned_audio_attention_mask is not None:
376
+ data["audio_attention_mask"] = returned_audio_attention_mask
377
+
378
+ return BatchFeature(data=data, tensor_type=return_tensors)
379
+
380
+ def _extract_spectrogram(self, wav, fs):
381
+ """Extract spectrogram features from waveform.
382
+ Args:
383
+ wav (1D array): waveform of the input
384
+ fs (int): sampling rate of the waveform, 16000 or 8000.
385
+ If fs=8000, the waveform will be resampled to 16000Hz.
386
+ Output:
387
+ log_fbank (2D array): a TxD matrix of log Mel filterbank features.
388
+ D=80, and T is the number of frames.
389
+ """
390
+ if wav.ndim > 1:
391
+ wav = np.squeeze(wav)
392
+
393
+ # by default, we extract the mean if stereo
394
+ if len(wav.shape) == 2:
395
+ wav = wav.mean(1)
396
+
397
+ # Resample to 16000 or 8000 if needed
398
+ if fs > 16000:
399
+ wav = scipy.signal.resample_poly(wav, 1, fs // 16000)
400
+ fs = 16000
401
+ elif 8000 < fs < 16000:
402
+ wav = scipy.signal.resample_poly(wav, 1, fs // 8000)
403
+ fs = 8000
404
+ elif fs < 8000:
405
+ raise RuntimeError(f"Unsupported sample rate {fs}")
406
+
407
+ if fs == 8000:
408
+ if self._eightk_method == "resample":
409
+ # Input audio is 8 kHz. Convert to 16 kHz before feature
410
+ # extraction
411
+ wav = scipy.signal.resample_poly(wav, 2, 1)
412
+ fs = 16000
413
+ # Do nothing here for fillzero method
414
+ elif fs != 16000:
415
+ # Input audio is not a supported sample rate.
416
+ raise RuntimeError(f"Input data using an unsupported sample rate: {fs}")
417
+
418
+ preemphasis = 0.97
419
+
420
+ if fs == 8000:
421
+ n_fft = 256
422
+ win_length = 200
423
+ hop_length = 80
424
+ fft_window = self._hamming200
425
+ elif fs == 16000:
426
+ n_fft = 512
427
+ win_length = 400
428
+ hop_length = 160
429
+ fft_window = self._hamming400
430
+
431
+ # Spec 1: SpeechLib cut remaining sample insufficient for a hop
432
+ n_batch = (wav.shape[0] - win_length) // hop_length + 1
433
+ # Here we don't use stride_tricks since the input array may not satisfy
434
+ # memory layout requirement and we need writeable output
435
+ # Here we only use list of views before copy to desination
436
+ # so it is more efficient than broadcasting
437
+ y_frames = np.array(
438
+ [wav[_stride : _stride + win_length] for _stride in range(0, hop_length * n_batch, hop_length)],
439
+ dtype=np.float32,
440
+ )
441
+
442
+ # Spec 2: SpeechLib applies preemphasis within each batch
443
+ y_frames_prev = np.roll(y_frames, 1, axis=1)
444
+ y_frames_prev[:, 0] = y_frames_prev[:, 1]
445
+ y_frames = (y_frames - preemphasis * y_frames_prev) * 32768
446
+
447
+ S = np.fft.rfft(fft_window * y_frames, n=n_fft, axis=1).astype(np.complex64)
448
+
449
+ if fs == 8000:
450
+ # Need to pad the output to look like 16 kHz data but with zeros in
451
+ # the 4 to 8 kHz bins.
452
+ frames, bins = S.shape
453
+ padarray = np.zeros((frames, bins))
454
+ S = np.concatenate((S[:, 0:-1], padarray), axis=1) # Nyquist bin gets set to zero
455
+
456
+ spec = np.abs(S).astype(np.float32)
457
+ return spec
458
+
459
+ def _extract_features(self, wav, fs):
460
+ """Extract log filterbank features from waveform.
461
+ Args:
462
+ wav (1D array): waveform of the input
463
+ fs (int): sampling rate of the waveform, 16000 or 8000.
464
+ If fs=8000, the waveform will be resampled to 16000Hz.
465
+ Output:
466
+ log_fbank (2D array): a TxD matrix of log Mel filterbank features.
467
+ D=80, and T is the number of frames.
468
+ """
469
+ spec = self._extract_spectrogram(wav, fs)
470
+ spec_power = spec**2
471
+
472
+ fbank_power = np.clip(spec_power.dot(self._mel), 1.0, None)
473
+ log_fbank = np.log(fbank_power).astype(np.float32)
474
+
475
+ return log_fbank
476
+
477
+ def _compute_audio_embed_size(self, audio_frames):
478
+ integer = audio_frames // self.compression_rate
479
+ remainder = audio_frames % self.compression_rate
480
+
481
+ result = integer if remainder == 0 else integer + 1
482
+
483
+ integer = result // self.qformer_compression_rate
484
+ remainder = result % self.qformer_compression_rate
485
+ result = integer if remainder == 0 else integer + 1 # qformer compression
486
+
487
+ return result
488
+
489
+
490
+ class Phi4MMProcessor(ProcessorMixin):
491
+ r"""
492
+ Constructs a Phi4MM processor which raps an image processor, a audio processor, and a GPT tokenizer into a single processor.
493
+
494
+ [`Phi4MMProcessor`] offers all the functionalities of [`Phi4MMImageProcessor`] and [`GPT2Tokenizer`]. See the
495
+ [`~Phi4MMProcessor.__call__`] and [`~Phi4MMProcessor.decode`] for more information.
496
+
497
+ Args:
498
+ image_processor ([`Phi4MMImageProcessor`], *optional*):
499
+ The image processor is a required input.
500
+ tokenizer ([`GPT2Tokenizer`], *optional*):
501
+ The tokenizer is a required input.
502
+ """
503
+
504
+ attributes = ["image_processor", "audio_processor", "tokenizer"]
505
+ tokenizer_class = "GPT2TokenizerFast"
506
+ image_processor_class = "AutoImageProcessor" # Phi4MMImageProcessor will be registered later
507
+ audio_processor_class = "AutoFeatureExtractor" # Phi4MMAudioFeatureExtractor will be registered later
508
+
509
+ def __init__(self, image_processor, audio_processor, tokenizer):
510
+ self.image_processor = image_processor
511
+ self.audio_processor = audio_processor
512
+ self.tokenizer = tokenizer
513
+
514
+ def __call__(
515
+ self,
516
+ text: Union[TextInput, List[TextInput]],
517
+ images: Optional[ImageInput] = None,
518
+ audios: Optional[AudioInputs] = None,
519
+ padding: Union[bool, str, PaddingStrategy] = False,
520
+ truncation: Optional[Union[bool, str, TruncationStrategy]] = None,
521
+ max_length=None,
522
+ return_tensors: Optional[Union[str, TensorType]] = TensorType.PYTORCH,
523
+ ) -> BatchFeature:
524
+ """
525
+ Main method to prepare for the model one or several sequences(s) and image(s). This method forards the `text`
526
+ and `kwargs` arguments to GPT2Tokenizer's [`~GPT2Tokenizer.__call__`] if `text` is not `None` to encode
527
+ the text. To prepare the image(s), this method forwards the `images` and `kwrags` arguments to
528
+ Phi4MMImageProcessor's [`~Phi4MMImageProcessor.__call__`] if `images` is not `None`. Please refer to the doctsring
529
+ of the above two methods for more information.
530
+
531
+ Args:
532
+ text (`str`, `List[str]`, `List[List[str]]`):
533
+ The sequence or batch of sequences to be encoded. Each sequence can be a string or a list of strings
534
+ (pretokenized string). If the sequences are provided as list of strings (pretokenized), you must set
535
+ `is_split_into_words=True` (to lift the ambiguity with a batch of sequences).
536
+ images (`PIL.Image.Image`, `np.ndarray`, `torch.Tensor`, `List[PIL.Image.Image]`, `List[np.ndarray]`, `List[torch.Tensor]`):
537
+ The image or batch of images to be prepared. Each image can be a PIL image, NumPy array or PyTorch
538
+ tensor. Both channels-first and channels-last formats are supported.
539
+ padding (`bool`, `str` or [`~utils.PaddingStrategy`], *optional*, defaults to `False`):
540
+ Select a strategy to pad the returned sequences (according to the model's padding side and padding
541
+ index) among:
542
+ - `True` or `'longest'`: Pad to the longest sequence in the batch (or no padding if only a single
543
+ sequence if provided).
544
+ - `'max_length'`: Pad to a maximum length specified with the argument `max_length` or to the maximum
545
+ acceptable input length for the model if that argument is not provided.
546
+ - `False` or `'do_not_pad'` (default): No padding (i.e., can output a batch with sequences of different
547
+ lengths).
548
+ max_length (`int`, *optional*):
549
+ Maximum length of the returned list and optionally padding length (see above).
550
+ truncation (`bool`, *optional*):
551
+ Activates truncation to cut input sequences longer than `max_length` to `max_length`.
552
+ return_tensors (`str` or [`~utils.TensorType`], *optional*):
553
+ If set, will return tensors of a particular framework. Acceptable values are:
554
+
555
+ - `'tf'`: Return TensorFlow `tf.constant` objects.
556
+ - `'pt'`: Return PyTorch `torch.Tensor` objects.
557
+ - `'np'`: Return NumPy `np.ndarray` objects.
558
+ - `'jax'`: Return JAX `jnp.ndarray` objects.
559
+
560
+ Returns:
561
+ [`BatchFeature`]: A [`BatchFeature`] with the following fields:
562
+
563
+ - **input_ids** -- List of token ids to be fed to a model.
564
+ - **input_image_embeds** -- Pixel values to be fed to a model.
565
+ - **image_sizes** -- List of tuples specifying the size of each image in `input_image_embeds`.
566
+ - **image_attention_mask** -- List of attention masks for each image in `input_image_embeds`.
567
+ - **input_audio_embeds** -- Audio embeddings to be fed to a model.
568
+ - **audio_embed_sizes** -- List of integers specifying the size of each audio in `input_audio_embeds`.
569
+ - **attention_mask** -- List of indices specifying which tokens should be attended to by the model.
570
+ """
571
+ image_inputs = self.image_processor(images, return_tensors=return_tensors) if images is not None else {}
572
+ audio_inputs = self.audio_processor(audios, return_tensors=return_tensors) if audios is not None else {}
573
+ inputs = self._convert_images_audios_text_to_inputs(
574
+ image_inputs,
575
+ audio_inputs,
576
+ text,
577
+ padding=padding,
578
+ truncation=truncation,
579
+ max_length=max_length,
580
+ return_tensors=return_tensors,
581
+ )
582
+
583
+ # idenfity the input mode
584
+ if len(image_inputs) > 0 and len(audio_inputs) > 0:
585
+ input_mode = InputMode.VISION_SPEECH
586
+ elif len(image_inputs) > 0:
587
+ input_mode = InputMode.VISION
588
+ elif len(audio_inputs) > 0:
589
+ input_mode = InputMode.SPEECH
590
+ else:
591
+ input_mode = InputMode.LANGUAGE
592
+ inputs["input_mode"] = torch.tensor([input_mode.value], dtype=torch.long)
593
+
594
+ return inputs
595
+
596
+ @property
597
+ def special_image_token_id(self):
598
+ return self.tokenizer.convert_tokens_to_ids(self.special_image_token)
599
+
600
+ def get_special_image_token_id(self):
601
+ return self.tokenizer.convert_tokens_to_ids(self.special_image_token)
602
+
603
+ @property
604
+ def chat_template(self):
605
+ return self.tokenizer.chat_template
606
+
607
+ def _convert_images_audios_text_to_inputs(
608
+ self, images, audios, text, padding=False, truncation=None, max_length=None, return_tensors=None
609
+ ):
610
+ # prepare image id to image input ids
611
+ if len(images) > 0:
612
+ input_image_embeds = images["input_image_embeds"]
613
+ image_sizes = images["image_sizes"]
614
+ image_attention_mask = images["image_attention_mask"]
615
+ num_img_tokens = images['num_img_tokens']
616
+ else:
617
+ input_image_embeds = torch.tensor([])
618
+ image_sizes = torch.tensor([])
619
+ image_attention_mask = torch.tensor([])
620
+ num_img_tokens = []
621
+
622
+ # prepare audio id to audio input ids
623
+ if len(audios) > 0:
624
+ input_audio_embeds = audios["input_audio_embeds"]
625
+ audio_embed_sizes = audios["audio_embed_sizes"]
626
+ audio_attention_mask = audios.get("audio_attention_mask", None)
627
+ else:
628
+ input_audio_embeds = torch.tensor([])
629
+ audio_embed_sizes = torch.tensor([])
630
+ audio_attention_mask = None
631
+
632
+ # Replace certain special tokens for compatibility
633
+ # Ref: https://stackoverflow.com/questions/11475885/python-replace-regex
634
+ if isinstance(text, str):
635
+ text = [text]
636
+ assert isinstance(text, list)
637
+ processed_text = [re.sub(_COMPATIBLE_IMAGE_SPECIAL_TOKEN_PATTERN, _IMAGE_SPECIAL_TOKEN, t) for t in text]
638
+ processed_text = [re.sub(_COMPATIBLE_AUDIO_SPECIAL_TOKEN_PATTERN, _AUDIO_SPECIAL_TOKEN, t) for t in processed_text]
639
+
640
+ input_ids_list = [self.tokenizer(t).input_ids for t in processed_text]
641
+
642
+ img_cnt, audio_cnt = 0, 0 # only needed for later assertion
643
+ image_token_count_iter = iter(num_img_tokens)
644
+ audio_embed_size_iter = iter(audio_embed_sizes.tolist())
645
+ new_input_ids_list = []
646
+ for input_ids in input_ids_list:
647
+ i = 0
648
+ while i < len(input_ids):
649
+ token_id = input_ids[i]
650
+ if token_id == _AUDIO_SPECIAL_TOKEN_ID:
651
+ token_count = next(audio_embed_size_iter)
652
+ audio_cnt += 1
653
+ elif token_id == _IMAGE_SPECIAL_TOKEN_ID:
654
+ token_count = next(image_token_count_iter)
655
+ img_cnt += 1
656
+ else:
657
+ i += 1
658
+ continue
659
+ tokens = [token_id] * token_count
660
+ input_ids = input_ids[:i] + tokens + input_ids[i + 1:]
661
+ i += token_count
662
+ input_ids = torch.tensor(input_ids, dtype=torch.long)
663
+ new_input_ids_list.append(input_ids)
664
+ lengths = torch.tensor([len(input_ids) for input_ids in new_input_ids_list])
665
+ max_len = lengths.max()
666
+ input_ids = input_ids.new_full((len(new_input_ids_list), max_len), self.tokenizer.pad_token_id)
667
+ # batched inference requires left padding
668
+ for i in range(len(new_input_ids_list)):
669
+ input_ids[i, max_len - len(new_input_ids_list[i]):] = new_input_ids_list[i]
670
+
671
+ # If the below assertion fails, it might be that input pure-text
672
+ # messages contain image/audio special tokens literally
673
+ # (<|endoftext10|>, <|endoftext11|>).
674
+ assert (
675
+ img_cnt == len(num_img_tokens)
676
+ ), (
677
+ f"Number of image tokens in prompt_token_ids ({img_cnt}) "
678
+ f"does not match number of images ({len(num_img_tokens)})"
679
+ )
680
+ assert (
681
+ audio_cnt == len(audio_embed_sizes)
682
+ ), (
683
+ f"Number of audio tokens in prompt_token_ids ({audio_cnt}) "
684
+ f"does not match number of audios ({len(audio_embed_sizes)})"
685
+ )
686
+
687
+ # prepare attention mask
688
+ seq_range = torch.arange(max_len - 1, -1, -1)
689
+ attention_mask = seq_range.unsqueeze(0) < lengths.unsqueeze(1)
690
+
691
+ # prepare batch feature
692
+ data = {
693
+ "input_ids": input_ids,
694
+ "input_image_embeds": input_image_embeds,
695
+ "image_sizes": image_sizes,
696
+ "image_attention_mask": image_attention_mask,
697
+ "input_audio_embeds": input_audio_embeds,
698
+ "audio_embed_sizes": audio_embed_sizes,
699
+ "audio_attention_mask": audio_attention_mask,
700
+ "attention_mask": attention_mask,
701
+ }
702
+
703
+ return BatchFeature(
704
+ data=data
705
+ )
706
+
707
+ # Copied from transformers.models.clip.processing_clip.CLIPProcessor.batch_decode with CLIP->Llama
708
+ def batch_decode(self, *args, **kwargs):
709
+ """
710
+ This method forwards all its arguments to GPT2Tokenizer's [`~PreTrainedTokenizer.batch_decode`]. Please
711
+ refer to the docstring of this method for more information.
712
+ """
713
+ return self.tokenizer.batch_decode(*args, **kwargs)
714
+
715
+ # Copied from transformers.models.clip.processing_clip.CLIPProcessor.decode with CLIP->Llama
716
+ def decode(self, *args, **kwargs):
717
+ """
718
+ This method forwards all its arguments to GPT2Tokenizer's [`~PreTrainedTokenizer.decode`]. Please refer to
719
+ the docstring of this method for more information.
720
+ """
721
+ return self.tokenizer.decode(*args, **kwargs)
722
+
723
+ @property
724
+ # Copied from transformers.models.clip.processing_clip.CLIPProcessor.model_input_names
725
+ def model_input_names(self):
726
+ tokenizer_input_names = self.tokenizer.model_input_names
727
+ image_processor_input_names = self.image_processor.model_input_names
728
+ audio_processor_input_names = self.audio_processor.model_input_names
729
+ return list(dict.fromkeys(tokenizer_input_names + image_processor_input_names + audio_processor_input_names))
730
+
731
+
732
+ AutoImageProcessor.register("Phi4MMImageProcessor", Phi4MMImageProcessor)
733
+ AutoFeatureExtractor.register("Phi4MMAudioFeatureExtractor", Phi4MMAudioFeatureExtractor)
processor_config.json ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "auto_map": {
3
+ "AutoProcessor": "processing_phi4mm.Phi4MMProcessor"
4
+ },
5
+ "processor_class": "Phi4MMProcessor"
6
+ }
special_tokens_map.json ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bos_token": {
3
+ "content": "<|endoftext|>",
4
+ "lstrip": false,
5
+ "normalized": false,
6
+ "rstrip": false,
7
+ "single_word": false
8
+ },
9
+ "eos_token": {
10
+ "content": "<|endoftext|>",
11
+ "lstrip": false,
12
+ "normalized": false,
13
+ "rstrip": false,
14
+ "single_word": false
15
+ },
16
+ "pad_token": {
17
+ "content": "<|endoftext|>",
18
+ "lstrip": false,
19
+ "normalized": false,
20
+ "rstrip": false,
21
+ "single_word": false
22
+ },
23
+ "unk_token": {
24
+ "content": "<|endoftext|>",
25
+ "lstrip": false,
26
+ "normalized": false,
27
+ "rstrip": false,
28
+ "single_word": false
29
+ }
30
+ }
tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4c1b9f641d4f8b7247b8d5007dd3b6a9f6a87cb5123134fe0d326f14d10c0585
3
+ size 15524479
tokenizer_config.json ADDED
@@ -0,0 +1,126 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_prefix_space": false,
3
+ "added_tokens_decoder": {
4
+ "199999": {
5
+ "content": "<|endoftext|>",
6
+ "lstrip": false,
7
+ "normalized": false,
8
+ "rstrip": false,
9
+ "single_word": false,
10
+ "special": true
11
+ },
12
+ "200010": {
13
+ "content": "<|endoftext10|>",
14
+ "lstrip": false,
15
+ "normalized": false,
16
+ "rstrip": false,
17
+ "single_word": false,
18
+ "special": true
19
+ },
20
+ "200011": {
21
+ "content": "<|endoftext11|>",
22
+ "lstrip": false,
23
+ "normalized": false,
24
+ "rstrip": false,
25
+ "single_word": false,
26
+ "special": true
27
+ },
28
+ "200018": {
29
+ "content": "<|endofprompt|>",
30
+ "lstrip": false,
31
+ "normalized": false,
32
+ "rstrip": false,
33
+ "single_word": false,
34
+ "special": true
35
+ },
36
+ "200019": {
37
+ "content": "<|assistant|>",
38
+ "lstrip": false,
39
+ "normalized": false,
40
+ "rstrip": true,
41
+ "single_word": false,
42
+ "special": true
43
+ },
44
+ "200020": {
45
+ "content": "<|end|>",
46
+ "lstrip": false,
47
+ "normalized": false,
48
+ "rstrip": true,
49
+ "single_word": false,
50
+ "special": true
51
+ },
52
+ "200021": {
53
+ "content": "<|user|>",
54
+ "lstrip": false,
55
+ "normalized": false,
56
+ "rstrip": true,
57
+ "single_word": false,
58
+ "special": true
59
+ },
60
+ "200022": {
61
+ "content": "<|system|>",
62
+ "lstrip": false,
63
+ "normalized": false,
64
+ "rstrip": true,
65
+ "single_word": false,
66
+ "special": true
67
+ },
68
+ "200023": {
69
+ "content": "<|tool|>",
70
+ "lstrip": false,
71
+ "normalized": false,
72
+ "rstrip": true,
73
+ "single_word": false,
74
+ "special": false
75
+ },
76
+ "200024": {
77
+ "content": "<|/tool|>",
78
+ "lstrip": false,
79
+ "normalized": false,
80
+ "rstrip": true,
81
+ "single_word": false,
82
+ "special": false
83
+ },
84
+ "200025": {
85
+ "content": "<|tool_call|>",
86
+ "lstrip": false,
87
+ "normalized": false,
88
+ "rstrip": true,
89
+ "single_word": false,
90
+ "special": false
91
+ },
92
+ "200026": {
93
+ "content": "<|/tool_call|>",
94
+ "lstrip": false,
95
+ "normalized": false,
96
+ "rstrip": true,
97
+ "single_word": false,
98
+ "special": false
99
+ },
100
+ "200027": {
101
+ "content": "<|tool_response|>",
102
+ "lstrip": false,
103
+ "normalized": false,
104
+ "rstrip": true,
105
+ "single_word": false,
106
+ "special": false
107
+ },
108
+ "200028": {
109
+ "content": "<|tag|>",
110
+ "lstrip": false,
111
+ "normalized": false,
112
+ "rstrip": true,
113
+ "single_word": false,
114
+ "special": true
115
+ }
116
+ },
117
+ "bos_token": "<|endoftext|>",
118
+ "chat_template": "{% for message in messages %}{% if message['role'] == 'system' and 'tools' in message and message['tools'] is not none %}{{ '<|' + message['role'] + '|>' + message['content'] + '<|tool|>' + message['tools'] + '<|/tool|>' + '<|end|>' }}{% else %}{{ '<|' + message['role'] + '|>' + message['content'] + '<|end|>' }}{% endif %}{% endfor %}{% if add_generation_prompt %}{{ '<|assistant|>' }}{% else %}{{ eos_token }}{% endif %}",
119
+ "clean_up_tokenization_spaces": false,
120
+ "eos_token": "<|endoftext|>",
121
+ "extra_special_tokens": {},
122
+ "model_max_length": 131072,
123
+ "pad_token": "<|endoftext|>",
124
+ "tokenizer_class": "GPT2Tokenizer",
125
+ "unk_token": "<|endoftext|>"
126
+ }
vocab.json ADDED
The diff for this file is too large to render. See raw diff