jiuhai commited on
Commit
56a17f8
·
verified ·
1 Parent(s): 23bf5f7

Upload folder using huggingface_hub

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +1001 -0
  2. added_tokens.json +27 -0
  3. config.json +84 -0
  4. diffusion-decoder/.gitattributes +35 -0
  5. diffusion-decoder/README.md +137 -0
  6. diffusion-decoder/feature_extractor/preprocessor_config.json +28 -0
  7. diffusion-decoder/model_index.json +32 -0
  8. diffusion-decoder/pipeline_ar_gen.py +292 -0
  9. diffusion-decoder/pipeline_emu2_gen.py +250 -0
  10. diffusion-decoder/pipeline_llava_gen.py +287 -0
  11. diffusion-decoder/safety_checker_none/config.json +168 -0
  12. diffusion-decoder/safety_checker_none/model.bf16.safetensors +3 -0
  13. diffusion-decoder/scheduler/scheduler_config.json +18 -0
  14. diffusion-decoder/tokenizer/added_tokens.json +274 -0
  15. diffusion-decoder/tokenizer/special_tokens_map.json +285 -0
  16. diffusion-decoder/tokenizer/tokenizer.json +0 -0
  17. diffusion-decoder/tokenizer/tokenizer.model +3 -0
  18. diffusion-decoder/tokenizer/tokenizer_config.json +34 -0
  19. diffusion-decoder/unet/config.json +72 -0
  20. diffusion-decoder/unet/diffusion_pytorch_model.bf16.safetensors +3 -0
  21. diffusion-decoder/vae/config.json +32 -0
  22. diffusion-decoder/vae/diffusion_pytorch_model.bf16.safetensors +3 -0
  23. gen_projector.bin +3 -0
  24. generation_config.json +15 -0
  25. merges.txt +0 -0
  26. mm_projector.bin +3 -0
  27. model-00001-of-00006.safetensors +3 -0
  28. model-00002-of-00006.safetensors +3 -0
  29. model-00003-of-00006.safetensors +3 -0
  30. model-00004-of-00006.safetensors +3 -0
  31. model-00005-of-00006.safetensors +3 -0
  32. model-00006-of-00006.safetensors +3 -0
  33. model.safetensors.index.json +0 -0
  34. results.jsonl +0 -0
  35. special_tokens_map.json +21 -0
  36. tokenizer.json +3 -0
  37. tokenizer_config.json +222 -0
  38. trainer_state.json +0 -0
  39. training_args.bin +3 -0
  40. vocab.json +0 -0
  41. wise/1.png +3 -0
  42. wise/10.png +3 -0
  43. wise/100.png +3 -0
  44. wise/1000.png +3 -0
  45. wise/101.png +3 -0
  46. wise/102.png +3 -0
  47. wise/103.png +3 -0
  48. wise/104.png +3 -0
  49. wise/105.png +3 -0
  50. wise/106.png +3 -0
.gitattributes CHANGED
@@ -33,3 +33,1004 @@ 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
37
+ wise/1.png filter=lfs diff=lfs merge=lfs -text
38
+ wise/10.png filter=lfs diff=lfs merge=lfs -text
39
+ wise/100.png filter=lfs diff=lfs merge=lfs -text
40
+ wise/1000.png filter=lfs diff=lfs merge=lfs -text
41
+ wise/101.png filter=lfs diff=lfs merge=lfs -text
42
+ wise/102.png filter=lfs diff=lfs merge=lfs -text
43
+ wise/103.png filter=lfs diff=lfs merge=lfs -text
44
+ wise/104.png filter=lfs diff=lfs merge=lfs -text
45
+ wise/105.png filter=lfs diff=lfs merge=lfs -text
46
+ wise/106.png filter=lfs diff=lfs merge=lfs -text
47
+ wise/107.png filter=lfs diff=lfs merge=lfs -text
48
+ wise/108.png filter=lfs diff=lfs merge=lfs -text
49
+ wise/109.png filter=lfs diff=lfs merge=lfs -text
50
+ wise/11.png filter=lfs diff=lfs merge=lfs -text
51
+ wise/110.png filter=lfs diff=lfs merge=lfs -text
52
+ wise/111.png filter=lfs diff=lfs merge=lfs -text
53
+ wise/112.png filter=lfs diff=lfs merge=lfs -text
54
+ wise/113.png filter=lfs diff=lfs merge=lfs -text
55
+ wise/114.png filter=lfs diff=lfs merge=lfs -text
56
+ wise/115.png filter=lfs diff=lfs merge=lfs -text
57
+ wise/116.png filter=lfs diff=lfs merge=lfs -text
58
+ wise/117.png filter=lfs diff=lfs merge=lfs -text
59
+ wise/118.png filter=lfs diff=lfs merge=lfs -text
60
+ wise/119.png filter=lfs diff=lfs merge=lfs -text
61
+ wise/12.png filter=lfs diff=lfs merge=lfs -text
62
+ wise/120.png filter=lfs diff=lfs merge=lfs -text
63
+ wise/121.png filter=lfs diff=lfs merge=lfs -text
64
+ wise/122.png filter=lfs diff=lfs merge=lfs -text
65
+ wise/123.png filter=lfs diff=lfs merge=lfs -text
66
+ wise/124.png filter=lfs diff=lfs merge=lfs -text
67
+ wise/125.png filter=lfs diff=lfs merge=lfs -text
68
+ wise/126.png filter=lfs diff=lfs merge=lfs -text
69
+ wise/127.png filter=lfs diff=lfs merge=lfs -text
70
+ wise/128.png filter=lfs diff=lfs merge=lfs -text
71
+ wise/129.png filter=lfs diff=lfs merge=lfs -text
72
+ wise/13.png filter=lfs diff=lfs merge=lfs -text
73
+ wise/130.png filter=lfs diff=lfs merge=lfs -text
74
+ wise/131.png filter=lfs diff=lfs merge=lfs -text
75
+ wise/132.png filter=lfs diff=lfs merge=lfs -text
76
+ wise/133.png filter=lfs diff=lfs merge=lfs -text
77
+ wise/134.png filter=lfs diff=lfs merge=lfs -text
78
+ wise/135.png filter=lfs diff=lfs merge=lfs -text
79
+ wise/136.png filter=lfs diff=lfs merge=lfs -text
80
+ wise/137.png filter=lfs diff=lfs merge=lfs -text
81
+ wise/138.png filter=lfs diff=lfs merge=lfs -text
82
+ wise/139.png filter=lfs diff=lfs merge=lfs -text
83
+ wise/14.png filter=lfs diff=lfs merge=lfs -text
84
+ wise/140.png filter=lfs diff=lfs merge=lfs -text
85
+ wise/141.png filter=lfs diff=lfs merge=lfs -text
86
+ wise/142.png filter=lfs diff=lfs merge=lfs -text
87
+ wise/143.png filter=lfs diff=lfs merge=lfs -text
88
+ wise/144.png filter=lfs diff=lfs merge=lfs -text
89
+ wise/145.png filter=lfs diff=lfs merge=lfs -text
90
+ wise/146.png filter=lfs diff=lfs merge=lfs -text
91
+ wise/147.png filter=lfs diff=lfs merge=lfs -text
92
+ wise/148.png filter=lfs diff=lfs merge=lfs -text
93
+ wise/149.png filter=lfs diff=lfs merge=lfs -text
94
+ wise/15.png filter=lfs diff=lfs merge=lfs -text
95
+ wise/150.png filter=lfs diff=lfs merge=lfs -text
96
+ wise/151.png filter=lfs diff=lfs merge=lfs -text
97
+ wise/152.png filter=lfs diff=lfs merge=lfs -text
98
+ wise/153.png filter=lfs diff=lfs merge=lfs -text
99
+ wise/154.png filter=lfs diff=lfs merge=lfs -text
100
+ wise/155.png filter=lfs diff=lfs merge=lfs -text
101
+ wise/156.png filter=lfs diff=lfs merge=lfs -text
102
+ wise/157.png filter=lfs diff=lfs merge=lfs -text
103
+ wise/158.png filter=lfs diff=lfs merge=lfs -text
104
+ wise/159.png filter=lfs diff=lfs merge=lfs -text
105
+ wise/16.png filter=lfs diff=lfs merge=lfs -text
106
+ wise/160.png filter=lfs diff=lfs merge=lfs -text
107
+ wise/161.png filter=lfs diff=lfs merge=lfs -text
108
+ wise/162.png filter=lfs diff=lfs merge=lfs -text
109
+ wise/163.png filter=lfs diff=lfs merge=lfs -text
110
+ wise/164.png filter=lfs diff=lfs merge=lfs -text
111
+ wise/165.png filter=lfs diff=lfs merge=lfs -text
112
+ wise/166.png filter=lfs diff=lfs merge=lfs -text
113
+ wise/167.png filter=lfs diff=lfs merge=lfs -text
114
+ wise/168.png filter=lfs diff=lfs merge=lfs -text
115
+ wise/169.png filter=lfs diff=lfs merge=lfs -text
116
+ wise/17.png filter=lfs diff=lfs merge=lfs -text
117
+ wise/170.png filter=lfs diff=lfs merge=lfs -text
118
+ wise/171.png filter=lfs diff=lfs merge=lfs -text
119
+ wise/172.png filter=lfs diff=lfs merge=lfs -text
120
+ wise/173.png filter=lfs diff=lfs merge=lfs -text
121
+ wise/174.png filter=lfs diff=lfs merge=lfs -text
122
+ wise/175.png filter=lfs diff=lfs merge=lfs -text
123
+ wise/176.png filter=lfs diff=lfs merge=lfs -text
124
+ wise/177.png filter=lfs diff=lfs merge=lfs -text
125
+ wise/178.png filter=lfs diff=lfs merge=lfs -text
126
+ wise/179.png filter=lfs diff=lfs merge=lfs -text
127
+ wise/18.png filter=lfs diff=lfs merge=lfs -text
128
+ wise/180.png filter=lfs diff=lfs merge=lfs -text
129
+ wise/181.png filter=lfs diff=lfs merge=lfs -text
130
+ wise/182.png filter=lfs diff=lfs merge=lfs -text
131
+ wise/183.png filter=lfs diff=lfs merge=lfs -text
132
+ wise/184.png filter=lfs diff=lfs merge=lfs -text
133
+ wise/185.png filter=lfs diff=lfs merge=lfs -text
134
+ wise/186.png filter=lfs diff=lfs merge=lfs -text
135
+ wise/187.png filter=lfs diff=lfs merge=lfs -text
136
+ wise/188.png filter=lfs diff=lfs merge=lfs -text
137
+ wise/189.png filter=lfs diff=lfs merge=lfs -text
138
+ wise/19.png filter=lfs diff=lfs merge=lfs -text
139
+ wise/190.png filter=lfs diff=lfs merge=lfs -text
140
+ wise/191.png filter=lfs diff=lfs merge=lfs -text
141
+ wise/192.png filter=lfs diff=lfs merge=lfs -text
142
+ wise/193.png filter=lfs diff=lfs merge=lfs -text
143
+ wise/194.png filter=lfs diff=lfs merge=lfs -text
144
+ wise/195.png filter=lfs diff=lfs merge=lfs -text
145
+ wise/196.png filter=lfs diff=lfs merge=lfs -text
146
+ wise/197.png filter=lfs diff=lfs merge=lfs -text
147
+ wise/198.png filter=lfs diff=lfs merge=lfs -text
148
+ wise/199.png filter=lfs diff=lfs merge=lfs -text
149
+ wise/2.png filter=lfs diff=lfs merge=lfs -text
150
+ wise/20.png filter=lfs diff=lfs merge=lfs -text
151
+ wise/200.png filter=lfs diff=lfs merge=lfs -text
152
+ wise/201.png filter=lfs diff=lfs merge=lfs -text
153
+ wise/202.png filter=lfs diff=lfs merge=lfs -text
154
+ wise/203.png filter=lfs diff=lfs merge=lfs -text
155
+ wise/204.png filter=lfs diff=lfs merge=lfs -text
156
+ wise/205.png filter=lfs diff=lfs merge=lfs -text
157
+ wise/206.png filter=lfs diff=lfs merge=lfs -text
158
+ wise/207.png filter=lfs diff=lfs merge=lfs -text
159
+ wise/208.png filter=lfs diff=lfs merge=lfs -text
160
+ wise/209.png filter=lfs diff=lfs merge=lfs -text
161
+ wise/21.png filter=lfs diff=lfs merge=lfs -text
162
+ wise/210.png filter=lfs diff=lfs merge=lfs -text
163
+ wise/211.png filter=lfs diff=lfs merge=lfs -text
164
+ wise/212.png filter=lfs diff=lfs merge=lfs -text
165
+ wise/213.png filter=lfs diff=lfs merge=lfs -text
166
+ wise/214.png filter=lfs diff=lfs merge=lfs -text
167
+ wise/215.png filter=lfs diff=lfs merge=lfs -text
168
+ wise/216.png filter=lfs diff=lfs merge=lfs -text
169
+ wise/217.png filter=lfs diff=lfs merge=lfs -text
170
+ wise/218.png filter=lfs diff=lfs merge=lfs -text
171
+ wise/219.png filter=lfs diff=lfs merge=lfs -text
172
+ wise/22.png filter=lfs diff=lfs merge=lfs -text
173
+ wise/220.png filter=lfs diff=lfs merge=lfs -text
174
+ wise/221.png filter=lfs diff=lfs merge=lfs -text
175
+ wise/222.png filter=lfs diff=lfs merge=lfs -text
176
+ wise/223.png filter=lfs diff=lfs merge=lfs -text
177
+ wise/224.png filter=lfs diff=lfs merge=lfs -text
178
+ wise/225.png filter=lfs diff=lfs merge=lfs -text
179
+ wise/226.png filter=lfs diff=lfs merge=lfs -text
180
+ wise/227.png filter=lfs diff=lfs merge=lfs -text
181
+ wise/228.png filter=lfs diff=lfs merge=lfs -text
182
+ wise/229.png filter=lfs diff=lfs merge=lfs -text
183
+ wise/23.png filter=lfs diff=lfs merge=lfs -text
184
+ wise/230.png filter=lfs diff=lfs merge=lfs -text
185
+ wise/231.png filter=lfs diff=lfs merge=lfs -text
186
+ wise/232.png filter=lfs diff=lfs merge=lfs -text
187
+ wise/233.png filter=lfs diff=lfs merge=lfs -text
188
+ wise/234.png filter=lfs diff=lfs merge=lfs -text
189
+ wise/235.png filter=lfs diff=lfs merge=lfs -text
190
+ wise/236.png filter=lfs diff=lfs merge=lfs -text
191
+ wise/237.png filter=lfs diff=lfs merge=lfs -text
192
+ wise/238.png filter=lfs diff=lfs merge=lfs -text
193
+ wise/239.png filter=lfs diff=lfs merge=lfs -text
194
+ wise/24.png filter=lfs diff=lfs merge=lfs -text
195
+ wise/240.png filter=lfs diff=lfs merge=lfs -text
196
+ wise/241.png filter=lfs diff=lfs merge=lfs -text
197
+ wise/242.png filter=lfs diff=lfs merge=lfs -text
198
+ wise/243.png filter=lfs diff=lfs merge=lfs -text
199
+ wise/244.png filter=lfs diff=lfs merge=lfs -text
200
+ wise/245.png filter=lfs diff=lfs merge=lfs -text
201
+ wise/246.png filter=lfs diff=lfs merge=lfs -text
202
+ wise/247.png filter=lfs diff=lfs merge=lfs -text
203
+ wise/248.png filter=lfs diff=lfs merge=lfs -text
204
+ wise/249.png filter=lfs diff=lfs merge=lfs -text
205
+ wise/25.png filter=lfs diff=lfs merge=lfs -text
206
+ wise/250.png filter=lfs diff=lfs merge=lfs -text
207
+ wise/251.png filter=lfs diff=lfs merge=lfs -text
208
+ wise/252.png filter=lfs diff=lfs merge=lfs -text
209
+ wise/253.png filter=lfs diff=lfs merge=lfs -text
210
+ wise/254.png filter=lfs diff=lfs merge=lfs -text
211
+ wise/255.png filter=lfs diff=lfs merge=lfs -text
212
+ wise/256.png filter=lfs diff=lfs merge=lfs -text
213
+ wise/257.png filter=lfs diff=lfs merge=lfs -text
214
+ wise/258.png filter=lfs diff=lfs merge=lfs -text
215
+ wise/259.png filter=lfs diff=lfs merge=lfs -text
216
+ wise/26.png filter=lfs diff=lfs merge=lfs -text
217
+ wise/260.png filter=lfs diff=lfs merge=lfs -text
218
+ wise/261.png filter=lfs diff=lfs merge=lfs -text
219
+ wise/262.png filter=lfs diff=lfs merge=lfs -text
220
+ wise/263.png filter=lfs diff=lfs merge=lfs -text
221
+ wise/264.png filter=lfs diff=lfs merge=lfs -text
222
+ wise/265.png filter=lfs diff=lfs merge=lfs -text
223
+ wise/266.png filter=lfs diff=lfs merge=lfs -text
224
+ wise/267.png filter=lfs diff=lfs merge=lfs -text
225
+ wise/268.png filter=lfs diff=lfs merge=lfs -text
226
+ wise/269.png filter=lfs diff=lfs merge=lfs -text
227
+ wise/27.png filter=lfs diff=lfs merge=lfs -text
228
+ wise/270.png filter=lfs diff=lfs merge=lfs -text
229
+ wise/271.png filter=lfs diff=lfs merge=lfs -text
230
+ wise/272.png filter=lfs diff=lfs merge=lfs -text
231
+ wise/273.png filter=lfs diff=lfs merge=lfs -text
232
+ wise/274.png filter=lfs diff=lfs merge=lfs -text
233
+ wise/275.png filter=lfs diff=lfs merge=lfs -text
234
+ wise/276.png filter=lfs diff=lfs merge=lfs -text
235
+ wise/277.png filter=lfs diff=lfs merge=lfs -text
236
+ wise/278.png filter=lfs diff=lfs merge=lfs -text
237
+ wise/279.png filter=lfs diff=lfs merge=lfs -text
238
+ wise/28.png filter=lfs diff=lfs merge=lfs -text
239
+ wise/280.png filter=lfs diff=lfs merge=lfs -text
240
+ wise/281.png filter=lfs diff=lfs merge=lfs -text
241
+ wise/282.png filter=lfs diff=lfs merge=lfs -text
242
+ wise/283.png filter=lfs diff=lfs merge=lfs -text
243
+ wise/284.png filter=lfs diff=lfs merge=lfs -text
244
+ wise/285.png filter=lfs diff=lfs merge=lfs -text
245
+ wise/286.png filter=lfs diff=lfs merge=lfs -text
246
+ wise/287.png filter=lfs diff=lfs merge=lfs -text
247
+ wise/288.png filter=lfs diff=lfs merge=lfs -text
248
+ wise/289.png filter=lfs diff=lfs merge=lfs -text
249
+ wise/29.png filter=lfs diff=lfs merge=lfs -text
250
+ wise/290.png filter=lfs diff=lfs merge=lfs -text
251
+ wise/291.png filter=lfs diff=lfs merge=lfs -text
252
+ wise/292.png filter=lfs diff=lfs merge=lfs -text
253
+ wise/293.png filter=lfs diff=lfs merge=lfs -text
254
+ wise/294.png filter=lfs diff=lfs merge=lfs -text
255
+ wise/295.png filter=lfs diff=lfs merge=lfs -text
256
+ wise/296.png filter=lfs diff=lfs merge=lfs -text
257
+ wise/297.png filter=lfs diff=lfs merge=lfs -text
258
+ wise/298.png filter=lfs diff=lfs merge=lfs -text
259
+ wise/299.png filter=lfs diff=lfs merge=lfs -text
260
+ wise/3.png filter=lfs diff=lfs merge=lfs -text
261
+ wise/30.png filter=lfs diff=lfs merge=lfs -text
262
+ wise/300.png filter=lfs diff=lfs merge=lfs -text
263
+ wise/301.png filter=lfs diff=lfs merge=lfs -text
264
+ wise/302.png filter=lfs diff=lfs merge=lfs -text
265
+ wise/303.png filter=lfs diff=lfs merge=lfs -text
266
+ wise/304.png filter=lfs diff=lfs merge=lfs -text
267
+ wise/305.png filter=lfs diff=lfs merge=lfs -text
268
+ wise/306.png filter=lfs diff=lfs merge=lfs -text
269
+ wise/307.png filter=lfs diff=lfs merge=lfs -text
270
+ wise/308.png filter=lfs diff=lfs merge=lfs -text
271
+ wise/309.png filter=lfs diff=lfs merge=lfs -text
272
+ wise/31.png filter=lfs diff=lfs merge=lfs -text
273
+ wise/310.png filter=lfs diff=lfs merge=lfs -text
274
+ wise/311.png filter=lfs diff=lfs merge=lfs -text
275
+ wise/312.png filter=lfs diff=lfs merge=lfs -text
276
+ wise/313.png filter=lfs diff=lfs merge=lfs -text
277
+ wise/314.png filter=lfs diff=lfs merge=lfs -text
278
+ wise/315.png filter=lfs diff=lfs merge=lfs -text
279
+ wise/316.png filter=lfs diff=lfs merge=lfs -text
280
+ wise/317.png filter=lfs diff=lfs merge=lfs -text
281
+ wise/318.png filter=lfs diff=lfs merge=lfs -text
282
+ wise/319.png filter=lfs diff=lfs merge=lfs -text
283
+ wise/32.png filter=lfs diff=lfs merge=lfs -text
284
+ wise/320.png filter=lfs diff=lfs merge=lfs -text
285
+ wise/321.png filter=lfs diff=lfs merge=lfs -text
286
+ wise/322.png filter=lfs diff=lfs merge=lfs -text
287
+ wise/323.png filter=lfs diff=lfs merge=lfs -text
288
+ wise/324.png filter=lfs diff=lfs merge=lfs -text
289
+ wise/325.png filter=lfs diff=lfs merge=lfs -text
290
+ wise/326.png filter=lfs diff=lfs merge=lfs -text
291
+ wise/327.png filter=lfs diff=lfs merge=lfs -text
292
+ wise/328.png filter=lfs diff=lfs merge=lfs -text
293
+ wise/329.png filter=lfs diff=lfs merge=lfs -text
294
+ wise/33.png filter=lfs diff=lfs merge=lfs -text
295
+ wise/330.png filter=lfs diff=lfs merge=lfs -text
296
+ wise/331.png filter=lfs diff=lfs merge=lfs -text
297
+ wise/332.png filter=lfs diff=lfs merge=lfs -text
298
+ wise/333.png filter=lfs diff=lfs merge=lfs -text
299
+ wise/334.png filter=lfs diff=lfs merge=lfs -text
300
+ wise/335.png filter=lfs diff=lfs merge=lfs -text
301
+ wise/336.png filter=lfs diff=lfs merge=lfs -text
302
+ wise/337.png filter=lfs diff=lfs merge=lfs -text
303
+ wise/338.png filter=lfs diff=lfs merge=lfs -text
304
+ wise/339.png filter=lfs diff=lfs merge=lfs -text
305
+ wise/34.png filter=lfs diff=lfs merge=lfs -text
306
+ wise/340.png filter=lfs diff=lfs merge=lfs -text
307
+ wise/341.png filter=lfs diff=lfs merge=lfs -text
308
+ wise/342.png filter=lfs diff=lfs merge=lfs -text
309
+ wise/343.png filter=lfs diff=lfs merge=lfs -text
310
+ wise/344.png filter=lfs diff=lfs merge=lfs -text
311
+ wise/345.png filter=lfs diff=lfs merge=lfs -text
312
+ wise/346.png filter=lfs diff=lfs merge=lfs -text
313
+ wise/347.png filter=lfs diff=lfs merge=lfs -text
314
+ wise/348.png filter=lfs diff=lfs merge=lfs -text
315
+ wise/349.png filter=lfs diff=lfs merge=lfs -text
316
+ wise/35.png filter=lfs diff=lfs merge=lfs -text
317
+ wise/350.png filter=lfs diff=lfs merge=lfs -text
318
+ wise/351.png filter=lfs diff=lfs merge=lfs -text
319
+ wise/352.png filter=lfs diff=lfs merge=lfs -text
320
+ wise/353.png filter=lfs diff=lfs merge=lfs -text
321
+ wise/354.png filter=lfs diff=lfs merge=lfs -text
322
+ wise/355.png filter=lfs diff=lfs merge=lfs -text
323
+ wise/356.png filter=lfs diff=lfs merge=lfs -text
324
+ wise/357.png filter=lfs diff=lfs merge=lfs -text
325
+ wise/358.png filter=lfs diff=lfs merge=lfs -text
326
+ wise/359.png filter=lfs diff=lfs merge=lfs -text
327
+ wise/36.png filter=lfs diff=lfs merge=lfs -text
328
+ wise/360.png filter=lfs diff=lfs merge=lfs -text
329
+ wise/361.png filter=lfs diff=lfs merge=lfs -text
330
+ wise/362.png filter=lfs diff=lfs merge=lfs -text
331
+ wise/363.png filter=lfs diff=lfs merge=lfs -text
332
+ wise/364.png filter=lfs diff=lfs merge=lfs -text
333
+ wise/365.png filter=lfs diff=lfs merge=lfs -text
334
+ wise/366.png filter=lfs diff=lfs merge=lfs -text
335
+ wise/367.png filter=lfs diff=lfs merge=lfs -text
336
+ wise/368.png filter=lfs diff=lfs merge=lfs -text
337
+ wise/369.png filter=lfs diff=lfs merge=lfs -text
338
+ wise/37.png filter=lfs diff=lfs merge=lfs -text
339
+ wise/370.png filter=lfs diff=lfs merge=lfs -text
340
+ wise/371.png filter=lfs diff=lfs merge=lfs -text
341
+ wise/372.png filter=lfs diff=lfs merge=lfs -text
342
+ wise/373.png filter=lfs diff=lfs merge=lfs -text
343
+ wise/374.png filter=lfs diff=lfs merge=lfs -text
344
+ wise/375.png filter=lfs diff=lfs merge=lfs -text
345
+ wise/376.png filter=lfs diff=lfs merge=lfs -text
346
+ wise/377.png filter=lfs diff=lfs merge=lfs -text
347
+ wise/378.png filter=lfs diff=lfs merge=lfs -text
348
+ wise/379.png filter=lfs diff=lfs merge=lfs -text
349
+ wise/38.png filter=lfs diff=lfs merge=lfs -text
350
+ wise/380.png filter=lfs diff=lfs merge=lfs -text
351
+ wise/381.png filter=lfs diff=lfs merge=lfs -text
352
+ wise/382.png filter=lfs diff=lfs merge=lfs -text
353
+ wise/383.png filter=lfs diff=lfs merge=lfs -text
354
+ wise/384.png filter=lfs diff=lfs merge=lfs -text
355
+ wise/385.png filter=lfs diff=lfs merge=lfs -text
356
+ wise/386.png filter=lfs diff=lfs merge=lfs -text
357
+ wise/387.png filter=lfs diff=lfs merge=lfs -text
358
+ wise/388.png filter=lfs diff=lfs merge=lfs -text
359
+ wise/389.png filter=lfs diff=lfs merge=lfs -text
360
+ wise/39.png filter=lfs diff=lfs merge=lfs -text
361
+ wise/390.png filter=lfs diff=lfs merge=lfs -text
362
+ wise/391.png filter=lfs diff=lfs merge=lfs -text
363
+ wise/392.png filter=lfs diff=lfs merge=lfs -text
364
+ wise/393.png filter=lfs diff=lfs merge=lfs -text
365
+ wise/394.png filter=lfs diff=lfs merge=lfs -text
366
+ wise/395.png filter=lfs diff=lfs merge=lfs -text
367
+ wise/396.png filter=lfs diff=lfs merge=lfs -text
368
+ wise/397.png filter=lfs diff=lfs merge=lfs -text
369
+ wise/398.png filter=lfs diff=lfs merge=lfs -text
370
+ wise/399.png filter=lfs diff=lfs merge=lfs -text
371
+ wise/4.png filter=lfs diff=lfs merge=lfs -text
372
+ wise/40.png filter=lfs diff=lfs merge=lfs -text
373
+ wise/400.png filter=lfs diff=lfs merge=lfs -text
374
+ wise/401.png filter=lfs diff=lfs merge=lfs -text
375
+ wise/402.png filter=lfs diff=lfs merge=lfs -text
376
+ wise/403.png filter=lfs diff=lfs merge=lfs -text
377
+ wise/404.png filter=lfs diff=lfs merge=lfs -text
378
+ wise/405.png filter=lfs diff=lfs merge=lfs -text
379
+ wise/406.png filter=lfs diff=lfs merge=lfs -text
380
+ wise/407.png filter=lfs diff=lfs merge=lfs -text
381
+ wise/408.png filter=lfs diff=lfs merge=lfs -text
382
+ wise/409.png filter=lfs diff=lfs merge=lfs -text
383
+ wise/41.png filter=lfs diff=lfs merge=lfs -text
384
+ wise/410.png filter=lfs diff=lfs merge=lfs -text
385
+ wise/411.png filter=lfs diff=lfs merge=lfs -text
386
+ wise/412.png filter=lfs diff=lfs merge=lfs -text
387
+ wise/413.png filter=lfs diff=lfs merge=lfs -text
388
+ wise/414.png filter=lfs diff=lfs merge=lfs -text
389
+ wise/415.png filter=lfs diff=lfs merge=lfs -text
390
+ wise/416.png filter=lfs diff=lfs merge=lfs -text
391
+ wise/417.png filter=lfs diff=lfs merge=lfs -text
392
+ wise/418.png filter=lfs diff=lfs merge=lfs -text
393
+ wise/419.png filter=lfs diff=lfs merge=lfs -text
394
+ wise/42.png filter=lfs diff=lfs merge=lfs -text
395
+ wise/420.png filter=lfs diff=lfs merge=lfs -text
396
+ wise/421.png filter=lfs diff=lfs merge=lfs -text
397
+ wise/422.png filter=lfs diff=lfs merge=lfs -text
398
+ wise/423.png filter=lfs diff=lfs merge=lfs -text
399
+ wise/424.png filter=lfs diff=lfs merge=lfs -text
400
+ wise/425.png filter=lfs diff=lfs merge=lfs -text
401
+ wise/426.png filter=lfs diff=lfs merge=lfs -text
402
+ wise/427.png filter=lfs diff=lfs merge=lfs -text
403
+ wise/428.png filter=lfs diff=lfs merge=lfs -text
404
+ wise/429.png filter=lfs diff=lfs merge=lfs -text
405
+ wise/43.png filter=lfs diff=lfs merge=lfs -text
406
+ wise/430.png filter=lfs diff=lfs merge=lfs -text
407
+ wise/431.png filter=lfs diff=lfs merge=lfs -text
408
+ wise/432.png filter=lfs diff=lfs merge=lfs -text
409
+ wise/433.png filter=lfs diff=lfs merge=lfs -text
410
+ wise/434.png filter=lfs diff=lfs merge=lfs -text
411
+ wise/435.png filter=lfs diff=lfs merge=lfs -text
412
+ wise/436.png filter=lfs diff=lfs merge=lfs -text
413
+ wise/437.png filter=lfs diff=lfs merge=lfs -text
414
+ wise/438.png filter=lfs diff=lfs merge=lfs -text
415
+ wise/439.png filter=lfs diff=lfs merge=lfs -text
416
+ wise/44.png filter=lfs diff=lfs merge=lfs -text
417
+ wise/440.png filter=lfs diff=lfs merge=lfs -text
418
+ wise/441.png filter=lfs diff=lfs merge=lfs -text
419
+ wise/442.png filter=lfs diff=lfs merge=lfs -text
420
+ wise/443.png filter=lfs diff=lfs merge=lfs -text
421
+ wise/444.png filter=lfs diff=lfs merge=lfs -text
422
+ wise/445.png filter=lfs diff=lfs merge=lfs -text
423
+ wise/446.png filter=lfs diff=lfs merge=lfs -text
424
+ wise/447.png filter=lfs diff=lfs merge=lfs -text
425
+ wise/448.png filter=lfs diff=lfs merge=lfs -text
426
+ wise/449.png filter=lfs diff=lfs merge=lfs -text
427
+ wise/45.png filter=lfs diff=lfs merge=lfs -text
428
+ wise/450.png filter=lfs diff=lfs merge=lfs -text
429
+ wise/451.png filter=lfs diff=lfs merge=lfs -text
430
+ wise/452.png filter=lfs diff=lfs merge=lfs -text
431
+ wise/453.png filter=lfs diff=lfs merge=lfs -text
432
+ wise/454.png filter=lfs diff=lfs merge=lfs -text
433
+ wise/455.png filter=lfs diff=lfs merge=lfs -text
434
+ wise/456.png filter=lfs diff=lfs merge=lfs -text
435
+ wise/457.png filter=lfs diff=lfs merge=lfs -text
436
+ wise/458.png filter=lfs diff=lfs merge=lfs -text
437
+ wise/459.png filter=lfs diff=lfs merge=lfs -text
438
+ wise/46.png filter=lfs diff=lfs merge=lfs -text
439
+ wise/460.png filter=lfs diff=lfs merge=lfs -text
440
+ wise/461.png filter=lfs diff=lfs merge=lfs -text
441
+ wise/462.png filter=lfs diff=lfs merge=lfs -text
442
+ wise/463.png filter=lfs diff=lfs merge=lfs -text
443
+ wise/464.png filter=lfs diff=lfs merge=lfs -text
444
+ wise/465.png filter=lfs diff=lfs merge=lfs -text
445
+ wise/466.png filter=lfs diff=lfs merge=lfs -text
446
+ wise/467.png filter=lfs diff=lfs merge=lfs -text
447
+ wise/468.png filter=lfs diff=lfs merge=lfs -text
448
+ wise/469.png filter=lfs diff=lfs merge=lfs -text
449
+ wise/47.png filter=lfs diff=lfs merge=lfs -text
450
+ wise/470.png filter=lfs diff=lfs merge=lfs -text
451
+ wise/471.png filter=lfs diff=lfs merge=lfs -text
452
+ wise/472.png filter=lfs diff=lfs merge=lfs -text
453
+ wise/473.png filter=lfs diff=lfs merge=lfs -text
454
+ wise/474.png filter=lfs diff=lfs merge=lfs -text
455
+ wise/475.png filter=lfs diff=lfs merge=lfs -text
456
+ wise/476.png filter=lfs diff=lfs merge=lfs -text
457
+ wise/477.png filter=lfs diff=lfs merge=lfs -text
458
+ wise/478.png filter=lfs diff=lfs merge=lfs -text
459
+ wise/479.png filter=lfs diff=lfs merge=lfs -text
460
+ wise/48.png filter=lfs diff=lfs merge=lfs -text
461
+ wise/480.png filter=lfs diff=lfs merge=lfs -text
462
+ wise/481.png filter=lfs diff=lfs merge=lfs -text
463
+ wise/482.png filter=lfs diff=lfs merge=lfs -text
464
+ wise/483.png filter=lfs diff=lfs merge=lfs -text
465
+ wise/484.png filter=lfs diff=lfs merge=lfs -text
466
+ wise/485.png filter=lfs diff=lfs merge=lfs -text
467
+ wise/486.png filter=lfs diff=lfs merge=lfs -text
468
+ wise/487.png filter=lfs diff=lfs merge=lfs -text
469
+ wise/488.png filter=lfs diff=lfs merge=lfs -text
470
+ wise/489.png filter=lfs diff=lfs merge=lfs -text
471
+ wise/49.png filter=lfs diff=lfs merge=lfs -text
472
+ wise/490.png filter=lfs diff=lfs merge=lfs -text
473
+ wise/491.png filter=lfs diff=lfs merge=lfs -text
474
+ wise/492.png filter=lfs diff=lfs merge=lfs -text
475
+ wise/493.png filter=lfs diff=lfs merge=lfs -text
476
+ wise/494.png filter=lfs diff=lfs merge=lfs -text
477
+ wise/495.png filter=lfs diff=lfs merge=lfs -text
478
+ wise/496.png filter=lfs diff=lfs merge=lfs -text
479
+ wise/497.png filter=lfs diff=lfs merge=lfs -text
480
+ wise/498.png filter=lfs diff=lfs merge=lfs -text
481
+ wise/499.png filter=lfs diff=lfs merge=lfs -text
482
+ wise/5.png filter=lfs diff=lfs merge=lfs -text
483
+ wise/50.png filter=lfs diff=lfs merge=lfs -text
484
+ wise/500.png filter=lfs diff=lfs merge=lfs -text
485
+ wise/501.png filter=lfs diff=lfs merge=lfs -text
486
+ wise/502.png filter=lfs diff=lfs merge=lfs -text
487
+ wise/503.png filter=lfs diff=lfs merge=lfs -text
488
+ wise/504.png filter=lfs diff=lfs merge=lfs -text
489
+ wise/505.png filter=lfs diff=lfs merge=lfs -text
490
+ wise/506.png filter=lfs diff=lfs merge=lfs -text
491
+ wise/507.png filter=lfs diff=lfs merge=lfs -text
492
+ wise/508.png filter=lfs diff=lfs merge=lfs -text
493
+ wise/509.png filter=lfs diff=lfs merge=lfs -text
494
+ wise/51.png filter=lfs diff=lfs merge=lfs -text
495
+ wise/510.png filter=lfs diff=lfs merge=lfs -text
496
+ wise/511.png filter=lfs diff=lfs merge=lfs -text
497
+ wise/512.png filter=lfs diff=lfs merge=lfs -text
498
+ wise/513.png filter=lfs diff=lfs merge=lfs -text
499
+ wise/514.png filter=lfs diff=lfs merge=lfs -text
500
+ wise/515.png filter=lfs diff=lfs merge=lfs -text
501
+ wise/516.png filter=lfs diff=lfs merge=lfs -text
502
+ wise/517.png filter=lfs diff=lfs merge=lfs -text
503
+ wise/518.png filter=lfs diff=lfs merge=lfs -text
504
+ wise/519.png filter=lfs diff=lfs merge=lfs -text
505
+ wise/52.png filter=lfs diff=lfs merge=lfs -text
506
+ wise/520.png filter=lfs diff=lfs merge=lfs -text
507
+ wise/521.png filter=lfs diff=lfs merge=lfs -text
508
+ wise/522.png filter=lfs diff=lfs merge=lfs -text
509
+ wise/523.png filter=lfs diff=lfs merge=lfs -text
510
+ wise/524.png filter=lfs diff=lfs merge=lfs -text
511
+ wise/525.png filter=lfs diff=lfs merge=lfs -text
512
+ wise/526.png filter=lfs diff=lfs merge=lfs -text
513
+ wise/527.png filter=lfs diff=lfs merge=lfs -text
514
+ wise/528.png filter=lfs diff=lfs merge=lfs -text
515
+ wise/529.png filter=lfs diff=lfs merge=lfs -text
516
+ wise/53.png filter=lfs diff=lfs merge=lfs -text
517
+ wise/530.png filter=lfs diff=lfs merge=lfs -text
518
+ wise/531.png filter=lfs diff=lfs merge=lfs -text
519
+ wise/532.png filter=lfs diff=lfs merge=lfs -text
520
+ wise/533.png filter=lfs diff=lfs merge=lfs -text
521
+ wise/534.png filter=lfs diff=lfs merge=lfs -text
522
+ wise/535.png filter=lfs diff=lfs merge=lfs -text
523
+ wise/536.png filter=lfs diff=lfs merge=lfs -text
524
+ wise/537.png filter=lfs diff=lfs merge=lfs -text
525
+ wise/538.png filter=lfs diff=lfs merge=lfs -text
526
+ wise/539.png filter=lfs diff=lfs merge=lfs -text
527
+ wise/54.png filter=lfs diff=lfs merge=lfs -text
528
+ wise/540.png filter=lfs diff=lfs merge=lfs -text
529
+ wise/541.png filter=lfs diff=lfs merge=lfs -text
530
+ wise/542.png filter=lfs diff=lfs merge=lfs -text
531
+ wise/543.png filter=lfs diff=lfs merge=lfs -text
532
+ wise/544.png filter=lfs diff=lfs merge=lfs -text
533
+ wise/545.png filter=lfs diff=lfs merge=lfs -text
534
+ wise/546.png filter=lfs diff=lfs merge=lfs -text
535
+ wise/547.png filter=lfs diff=lfs merge=lfs -text
536
+ wise/548.png filter=lfs diff=lfs merge=lfs -text
537
+ wise/549.png filter=lfs diff=lfs merge=lfs -text
538
+ wise/55.png filter=lfs diff=lfs merge=lfs -text
539
+ wise/550.png filter=lfs diff=lfs merge=lfs -text
540
+ wise/551.png filter=lfs diff=lfs merge=lfs -text
541
+ wise/552.png filter=lfs diff=lfs merge=lfs -text
542
+ wise/553.png filter=lfs diff=lfs merge=lfs -text
543
+ wise/554.png filter=lfs diff=lfs merge=lfs -text
544
+ wise/555.png filter=lfs diff=lfs merge=lfs -text
545
+ wise/556.png filter=lfs diff=lfs merge=lfs -text
546
+ wise/557.png filter=lfs diff=lfs merge=lfs -text
547
+ wise/558.png filter=lfs diff=lfs merge=lfs -text
548
+ wise/559.png filter=lfs diff=lfs merge=lfs -text
549
+ wise/56.png filter=lfs diff=lfs merge=lfs -text
550
+ wise/560.png filter=lfs diff=lfs merge=lfs -text
551
+ wise/561.png filter=lfs diff=lfs merge=lfs -text
552
+ wise/562.png filter=lfs diff=lfs merge=lfs -text
553
+ wise/563.png filter=lfs diff=lfs merge=lfs -text
554
+ wise/564.png filter=lfs diff=lfs merge=lfs -text
555
+ wise/565.png filter=lfs diff=lfs merge=lfs -text
556
+ wise/566.png filter=lfs diff=lfs merge=lfs -text
557
+ wise/567.png filter=lfs diff=lfs merge=lfs -text
558
+ wise/568.png filter=lfs diff=lfs merge=lfs -text
559
+ wise/569.png filter=lfs diff=lfs merge=lfs -text
560
+ wise/57.png filter=lfs diff=lfs merge=lfs -text
561
+ wise/570.png filter=lfs diff=lfs merge=lfs -text
562
+ wise/571.png filter=lfs diff=lfs merge=lfs -text
563
+ wise/572.png filter=lfs diff=lfs merge=lfs -text
564
+ wise/573.png filter=lfs diff=lfs merge=lfs -text
565
+ wise/574.png filter=lfs diff=lfs merge=lfs -text
566
+ wise/575.png filter=lfs diff=lfs merge=lfs -text
567
+ wise/576.png filter=lfs diff=lfs merge=lfs -text
568
+ wise/577.png filter=lfs diff=lfs merge=lfs -text
569
+ wise/578.png filter=lfs diff=lfs merge=lfs -text
570
+ wise/579.png filter=lfs diff=lfs merge=lfs -text
571
+ wise/58.png filter=lfs diff=lfs merge=lfs -text
572
+ wise/580.png filter=lfs diff=lfs merge=lfs -text
573
+ wise/581.png filter=lfs diff=lfs merge=lfs -text
574
+ wise/582.png filter=lfs diff=lfs merge=lfs -text
575
+ wise/583.png filter=lfs diff=lfs merge=lfs -text
576
+ wise/584.png filter=lfs diff=lfs merge=lfs -text
577
+ wise/585.png filter=lfs diff=lfs merge=lfs -text
578
+ wise/586.png filter=lfs diff=lfs merge=lfs -text
579
+ wise/587.png filter=lfs diff=lfs merge=lfs -text
580
+ wise/588.png filter=lfs diff=lfs merge=lfs -text
581
+ wise/589.png filter=lfs diff=lfs merge=lfs -text
582
+ wise/59.png filter=lfs diff=lfs merge=lfs -text
583
+ wise/590.png filter=lfs diff=lfs merge=lfs -text
584
+ wise/591.png filter=lfs diff=lfs merge=lfs -text
585
+ wise/592.png filter=lfs diff=lfs merge=lfs -text
586
+ wise/593.png filter=lfs diff=lfs merge=lfs -text
587
+ wise/594.png filter=lfs diff=lfs merge=lfs -text
588
+ wise/595.png filter=lfs diff=lfs merge=lfs -text
589
+ wise/596.png filter=lfs diff=lfs merge=lfs -text
590
+ wise/597.png filter=lfs diff=lfs merge=lfs -text
591
+ wise/598.png filter=lfs diff=lfs merge=lfs -text
592
+ wise/599.png filter=lfs diff=lfs merge=lfs -text
593
+ wise/6.png filter=lfs diff=lfs merge=lfs -text
594
+ wise/60.png filter=lfs diff=lfs merge=lfs -text
595
+ wise/600.png filter=lfs diff=lfs merge=lfs -text
596
+ wise/601.png filter=lfs diff=lfs merge=lfs -text
597
+ wise/602.png filter=lfs diff=lfs merge=lfs -text
598
+ wise/603.png filter=lfs diff=lfs merge=lfs -text
599
+ wise/604.png filter=lfs diff=lfs merge=lfs -text
600
+ wise/605.png filter=lfs diff=lfs merge=lfs -text
601
+ wise/606.png filter=lfs diff=lfs merge=lfs -text
602
+ wise/607.png filter=lfs diff=lfs merge=lfs -text
603
+ wise/608.png filter=lfs diff=lfs merge=lfs -text
604
+ wise/609.png filter=lfs diff=lfs merge=lfs -text
605
+ wise/61.png filter=lfs diff=lfs merge=lfs -text
606
+ wise/610.png filter=lfs diff=lfs merge=lfs -text
607
+ wise/611.png filter=lfs diff=lfs merge=lfs -text
608
+ wise/612.png filter=lfs diff=lfs merge=lfs -text
609
+ wise/613.png filter=lfs diff=lfs merge=lfs -text
610
+ wise/614.png filter=lfs diff=lfs merge=lfs -text
611
+ wise/615.png filter=lfs diff=lfs merge=lfs -text
612
+ wise/616.png filter=lfs diff=lfs merge=lfs -text
613
+ wise/617.png filter=lfs diff=lfs merge=lfs -text
614
+ wise/618.png filter=lfs diff=lfs merge=lfs -text
615
+ wise/619.png filter=lfs diff=lfs merge=lfs -text
616
+ wise/62.png filter=lfs diff=lfs merge=lfs -text
617
+ wise/620.png filter=lfs diff=lfs merge=lfs -text
618
+ wise/621.png filter=lfs diff=lfs merge=lfs -text
619
+ wise/622.png filter=lfs diff=lfs merge=lfs -text
620
+ wise/623.png filter=lfs diff=lfs merge=lfs -text
621
+ wise/624.png filter=lfs diff=lfs merge=lfs -text
622
+ wise/625.png filter=lfs diff=lfs merge=lfs -text
623
+ wise/626.png filter=lfs diff=lfs merge=lfs -text
624
+ wise/627.png filter=lfs diff=lfs merge=lfs -text
625
+ wise/628.png filter=lfs diff=lfs merge=lfs -text
626
+ wise/629.png filter=lfs diff=lfs merge=lfs -text
627
+ wise/63.png filter=lfs diff=lfs merge=lfs -text
628
+ wise/630.png filter=lfs diff=lfs merge=lfs -text
629
+ wise/631.png filter=lfs diff=lfs merge=lfs -text
630
+ wise/632.png filter=lfs diff=lfs merge=lfs -text
631
+ wise/633.png filter=lfs diff=lfs merge=lfs -text
632
+ wise/634.png filter=lfs diff=lfs merge=lfs -text
633
+ wise/635.png filter=lfs diff=lfs merge=lfs -text
634
+ wise/636.png filter=lfs diff=lfs merge=lfs -text
635
+ wise/637.png filter=lfs diff=lfs merge=lfs -text
636
+ wise/638.png filter=lfs diff=lfs merge=lfs -text
637
+ wise/639.png filter=lfs diff=lfs merge=lfs -text
638
+ wise/64.png filter=lfs diff=lfs merge=lfs -text
639
+ wise/640.png filter=lfs diff=lfs merge=lfs -text
640
+ wise/641.png filter=lfs diff=lfs merge=lfs -text
641
+ wise/642.png filter=lfs diff=lfs merge=lfs -text
642
+ wise/643.png filter=lfs diff=lfs merge=lfs -text
643
+ wise/644.png filter=lfs diff=lfs merge=lfs -text
644
+ wise/645.png filter=lfs diff=lfs merge=lfs -text
645
+ wise/646.png filter=lfs diff=lfs merge=lfs -text
646
+ wise/647.png filter=lfs diff=lfs merge=lfs -text
647
+ wise/648.png filter=lfs diff=lfs merge=lfs -text
648
+ wise/649.png filter=lfs diff=lfs merge=lfs -text
649
+ wise/65.png filter=lfs diff=lfs merge=lfs -text
650
+ wise/650.png filter=lfs diff=lfs merge=lfs -text
651
+ wise/651.png filter=lfs diff=lfs merge=lfs -text
652
+ wise/652.png filter=lfs diff=lfs merge=lfs -text
653
+ wise/653.png filter=lfs diff=lfs merge=lfs -text
654
+ wise/654.png filter=lfs diff=lfs merge=lfs -text
655
+ wise/655.png filter=lfs diff=lfs merge=lfs -text
656
+ wise/656.png filter=lfs diff=lfs merge=lfs -text
657
+ wise/657.png filter=lfs diff=lfs merge=lfs -text
658
+ wise/658.png filter=lfs diff=lfs merge=lfs -text
659
+ wise/659.png filter=lfs diff=lfs merge=lfs -text
660
+ wise/66.png filter=lfs diff=lfs merge=lfs -text
661
+ wise/660.png filter=lfs diff=lfs merge=lfs -text
662
+ wise/661.png filter=lfs diff=lfs merge=lfs -text
663
+ wise/662.png filter=lfs diff=lfs merge=lfs -text
664
+ wise/663.png filter=lfs diff=lfs merge=lfs -text
665
+ wise/664.png filter=lfs diff=lfs merge=lfs -text
666
+ wise/665.png filter=lfs diff=lfs merge=lfs -text
667
+ wise/666.png filter=lfs diff=lfs merge=lfs -text
668
+ wise/667.png filter=lfs diff=lfs merge=lfs -text
669
+ wise/668.png filter=lfs diff=lfs merge=lfs -text
670
+ wise/669.png filter=lfs diff=lfs merge=lfs -text
671
+ wise/67.png filter=lfs diff=lfs merge=lfs -text
672
+ wise/670.png filter=lfs diff=lfs merge=lfs -text
673
+ wise/671.png filter=lfs diff=lfs merge=lfs -text
674
+ wise/672.png filter=lfs diff=lfs merge=lfs -text
675
+ wise/673.png filter=lfs diff=lfs merge=lfs -text
676
+ wise/674.png filter=lfs diff=lfs merge=lfs -text
677
+ wise/675.png filter=lfs diff=lfs merge=lfs -text
678
+ wise/676.png filter=lfs diff=lfs merge=lfs -text
679
+ wise/677.png filter=lfs diff=lfs merge=lfs -text
680
+ wise/678.png filter=lfs diff=lfs merge=lfs -text
681
+ wise/679.png filter=lfs diff=lfs merge=lfs -text
682
+ wise/68.png filter=lfs diff=lfs merge=lfs -text
683
+ wise/680.png filter=lfs diff=lfs merge=lfs -text
684
+ wise/681.png filter=lfs diff=lfs merge=lfs -text
685
+ wise/682.png filter=lfs diff=lfs merge=lfs -text
686
+ wise/683.png filter=lfs diff=lfs merge=lfs -text
687
+ wise/684.png filter=lfs diff=lfs merge=lfs -text
688
+ wise/685.png filter=lfs diff=lfs merge=lfs -text
689
+ wise/686.png filter=lfs diff=lfs merge=lfs -text
690
+ wise/687.png filter=lfs diff=lfs merge=lfs -text
691
+ wise/688.png filter=lfs diff=lfs merge=lfs -text
692
+ wise/689.png filter=lfs diff=lfs merge=lfs -text
693
+ wise/69.png filter=lfs diff=lfs merge=lfs -text
694
+ wise/690.png filter=lfs diff=lfs merge=lfs -text
695
+ wise/691.png filter=lfs diff=lfs merge=lfs -text
696
+ wise/692.png filter=lfs diff=lfs merge=lfs -text
697
+ wise/693.png filter=lfs diff=lfs merge=lfs -text
698
+ wise/694.png filter=lfs diff=lfs merge=lfs -text
699
+ wise/695.png filter=lfs diff=lfs merge=lfs -text
700
+ wise/696.png filter=lfs diff=lfs merge=lfs -text
701
+ wise/697.png filter=lfs diff=lfs merge=lfs -text
702
+ wise/698.png filter=lfs diff=lfs merge=lfs -text
703
+ wise/699.png filter=lfs diff=lfs merge=lfs -text
704
+ wise/7.png filter=lfs diff=lfs merge=lfs -text
705
+ wise/70.png filter=lfs diff=lfs merge=lfs -text
706
+ wise/700.png filter=lfs diff=lfs merge=lfs -text
707
+ wise/701.png filter=lfs diff=lfs merge=lfs -text
708
+ wise/702.png filter=lfs diff=lfs merge=lfs -text
709
+ wise/703.png filter=lfs diff=lfs merge=lfs -text
710
+ wise/704.png filter=lfs diff=lfs merge=lfs -text
711
+ wise/705.png filter=lfs diff=lfs merge=lfs -text
712
+ wise/706.png filter=lfs diff=lfs merge=lfs -text
713
+ wise/707.png filter=lfs diff=lfs merge=lfs -text
714
+ wise/708.png filter=lfs diff=lfs merge=lfs -text
715
+ wise/709.png filter=lfs diff=lfs merge=lfs -text
716
+ wise/71.png filter=lfs diff=lfs merge=lfs -text
717
+ wise/710.png filter=lfs diff=lfs merge=lfs -text
718
+ wise/711.png filter=lfs diff=lfs merge=lfs -text
719
+ wise/712.png filter=lfs diff=lfs merge=lfs -text
720
+ wise/713.png filter=lfs diff=lfs merge=lfs -text
721
+ wise/714.png filter=lfs diff=lfs merge=lfs -text
722
+ wise/715.png filter=lfs diff=lfs merge=lfs -text
723
+ wise/716.png filter=lfs diff=lfs merge=lfs -text
724
+ wise/717.png filter=lfs diff=lfs merge=lfs -text
725
+ wise/718.png filter=lfs diff=lfs merge=lfs -text
726
+ wise/719.png filter=lfs diff=lfs merge=lfs -text
727
+ wise/72.png filter=lfs diff=lfs merge=lfs -text
728
+ wise/720.png filter=lfs diff=lfs merge=lfs -text
729
+ wise/721.png filter=lfs diff=lfs merge=lfs -text
730
+ wise/722.png filter=lfs diff=lfs merge=lfs -text
731
+ wise/723.png filter=lfs diff=lfs merge=lfs -text
732
+ wise/724.png filter=lfs diff=lfs merge=lfs -text
733
+ wise/725.png filter=lfs diff=lfs merge=lfs -text
734
+ wise/726.png filter=lfs diff=lfs merge=lfs -text
735
+ wise/727.png filter=lfs diff=lfs merge=lfs -text
736
+ wise/728.png filter=lfs diff=lfs merge=lfs -text
737
+ wise/729.png filter=lfs diff=lfs merge=lfs -text
738
+ wise/73.png filter=lfs diff=lfs merge=lfs -text
739
+ wise/730.png filter=lfs diff=lfs merge=lfs -text
740
+ wise/731.png filter=lfs diff=lfs merge=lfs -text
741
+ wise/732.png filter=lfs diff=lfs merge=lfs -text
742
+ wise/733.png filter=lfs diff=lfs merge=lfs -text
743
+ wise/734.png filter=lfs diff=lfs merge=lfs -text
744
+ wise/735.png filter=lfs diff=lfs merge=lfs -text
745
+ wise/736.png filter=lfs diff=lfs merge=lfs -text
746
+ wise/737.png filter=lfs diff=lfs merge=lfs -text
747
+ wise/738.png filter=lfs diff=lfs merge=lfs -text
748
+ wise/739.png filter=lfs diff=lfs merge=lfs -text
749
+ wise/74.png filter=lfs diff=lfs merge=lfs -text
750
+ wise/740.png filter=lfs diff=lfs merge=lfs -text
751
+ wise/741.png filter=lfs diff=lfs merge=lfs -text
752
+ wise/742.png filter=lfs diff=lfs merge=lfs -text
753
+ wise/743.png filter=lfs diff=lfs merge=lfs -text
754
+ wise/744.png filter=lfs diff=lfs merge=lfs -text
755
+ wise/745.png filter=lfs diff=lfs merge=lfs -text
756
+ wise/746.png filter=lfs diff=lfs merge=lfs -text
757
+ wise/747.png filter=lfs diff=lfs merge=lfs -text
758
+ wise/748.png filter=lfs diff=lfs merge=lfs -text
759
+ wise/749.png filter=lfs diff=lfs merge=lfs -text
760
+ wise/75.png filter=lfs diff=lfs merge=lfs -text
761
+ wise/750.png filter=lfs diff=lfs merge=lfs -text
762
+ wise/751.png filter=lfs diff=lfs merge=lfs -text
763
+ wise/752.png filter=lfs diff=lfs merge=lfs -text
764
+ wise/753.png filter=lfs diff=lfs merge=lfs -text
765
+ wise/754.png filter=lfs diff=lfs merge=lfs -text
766
+ wise/755.png filter=lfs diff=lfs merge=lfs -text
767
+ wise/756.png filter=lfs diff=lfs merge=lfs -text
768
+ wise/757.png filter=lfs diff=lfs merge=lfs -text
769
+ wise/758.png filter=lfs diff=lfs merge=lfs -text
770
+ wise/759.png filter=lfs diff=lfs merge=lfs -text
771
+ wise/76.png filter=lfs diff=lfs merge=lfs -text
772
+ wise/760.png filter=lfs diff=lfs merge=lfs -text
773
+ wise/761.png filter=lfs diff=lfs merge=lfs -text
774
+ wise/762.png filter=lfs diff=lfs merge=lfs -text
775
+ wise/763.png filter=lfs diff=lfs merge=lfs -text
776
+ wise/764.png filter=lfs diff=lfs merge=lfs -text
777
+ wise/765.png filter=lfs diff=lfs merge=lfs -text
778
+ wise/766.png filter=lfs diff=lfs merge=lfs -text
779
+ wise/767.png filter=lfs diff=lfs merge=lfs -text
780
+ wise/768.png filter=lfs diff=lfs merge=lfs -text
781
+ wise/769.png filter=lfs diff=lfs merge=lfs -text
782
+ wise/77.png filter=lfs diff=lfs merge=lfs -text
783
+ wise/770.png filter=lfs diff=lfs merge=lfs -text
784
+ wise/771.png filter=lfs diff=lfs merge=lfs -text
785
+ wise/772.png filter=lfs diff=lfs merge=lfs -text
786
+ wise/773.png filter=lfs diff=lfs merge=lfs -text
787
+ wise/774.png filter=lfs diff=lfs merge=lfs -text
788
+ wise/775.png filter=lfs diff=lfs merge=lfs -text
789
+ wise/776.png filter=lfs diff=lfs merge=lfs -text
790
+ wise/777.png filter=lfs diff=lfs merge=lfs -text
791
+ wise/778.png filter=lfs diff=lfs merge=lfs -text
792
+ wise/779.png filter=lfs diff=lfs merge=lfs -text
793
+ wise/78.png filter=lfs diff=lfs merge=lfs -text
794
+ wise/780.png filter=lfs diff=lfs merge=lfs -text
795
+ wise/781.png filter=lfs diff=lfs merge=lfs -text
796
+ wise/782.png filter=lfs diff=lfs merge=lfs -text
797
+ wise/783.png filter=lfs diff=lfs merge=lfs -text
798
+ wise/784.png filter=lfs diff=lfs merge=lfs -text
799
+ wise/785.png filter=lfs diff=lfs merge=lfs -text
800
+ wise/786.png filter=lfs diff=lfs merge=lfs -text
801
+ wise/787.png filter=lfs diff=lfs merge=lfs -text
802
+ wise/788.png filter=lfs diff=lfs merge=lfs -text
803
+ wise/789.png filter=lfs diff=lfs merge=lfs -text
804
+ wise/79.png filter=lfs diff=lfs merge=lfs -text
805
+ wise/790.png filter=lfs diff=lfs merge=lfs -text
806
+ wise/791.png filter=lfs diff=lfs merge=lfs -text
807
+ wise/792.png filter=lfs diff=lfs merge=lfs -text
808
+ wise/793.png filter=lfs diff=lfs merge=lfs -text
809
+ wise/794.png filter=lfs diff=lfs merge=lfs -text
810
+ wise/795.png filter=lfs diff=lfs merge=lfs -text
811
+ wise/796.png filter=lfs diff=lfs merge=lfs -text
812
+ wise/797.png filter=lfs diff=lfs merge=lfs -text
813
+ wise/798.png filter=lfs diff=lfs merge=lfs -text
814
+ wise/799.png filter=lfs diff=lfs merge=lfs -text
815
+ wise/8.png filter=lfs diff=lfs merge=lfs -text
816
+ wise/80.png filter=lfs diff=lfs merge=lfs -text
817
+ wise/800.png filter=lfs diff=lfs merge=lfs -text
818
+ wise/801.png filter=lfs diff=lfs merge=lfs -text
819
+ wise/802.png filter=lfs diff=lfs merge=lfs -text
820
+ wise/803.png filter=lfs diff=lfs merge=lfs -text
821
+ wise/804.png filter=lfs diff=lfs merge=lfs -text
822
+ wise/805.png filter=lfs diff=lfs merge=lfs -text
823
+ wise/806.png filter=lfs diff=lfs merge=lfs -text
824
+ wise/807.png filter=lfs diff=lfs merge=lfs -text
825
+ wise/808.png filter=lfs diff=lfs merge=lfs -text
826
+ wise/809.png filter=lfs diff=lfs merge=lfs -text
827
+ wise/81.png filter=lfs diff=lfs merge=lfs -text
828
+ wise/810.png filter=lfs diff=lfs merge=lfs -text
829
+ wise/811.png filter=lfs diff=lfs merge=lfs -text
830
+ wise/812.png filter=lfs diff=lfs merge=lfs -text
831
+ wise/813.png filter=lfs diff=lfs merge=lfs -text
832
+ wise/814.png filter=lfs diff=lfs merge=lfs -text
833
+ wise/815.png filter=lfs diff=lfs merge=lfs -text
834
+ wise/816.png filter=lfs diff=lfs merge=lfs -text
835
+ wise/817.png filter=lfs diff=lfs merge=lfs -text
836
+ wise/818.png filter=lfs diff=lfs merge=lfs -text
837
+ wise/819.png filter=lfs diff=lfs merge=lfs -text
838
+ wise/82.png filter=lfs diff=lfs merge=lfs -text
839
+ wise/820.png filter=lfs diff=lfs merge=lfs -text
840
+ wise/821.png filter=lfs diff=lfs merge=lfs -text
841
+ wise/822.png filter=lfs diff=lfs merge=lfs -text
842
+ wise/823.png filter=lfs diff=lfs merge=lfs -text
843
+ wise/824.png filter=lfs diff=lfs merge=lfs -text
844
+ wise/825.png filter=lfs diff=lfs merge=lfs -text
845
+ wise/826.png filter=lfs diff=lfs merge=lfs -text
846
+ wise/827.png filter=lfs diff=lfs merge=lfs -text
847
+ wise/828.png filter=lfs diff=lfs merge=lfs -text
848
+ wise/829.png filter=lfs diff=lfs merge=lfs -text
849
+ wise/83.png filter=lfs diff=lfs merge=lfs -text
850
+ wise/830.png filter=lfs diff=lfs merge=lfs -text
851
+ wise/831.png filter=lfs diff=lfs merge=lfs -text
852
+ wise/832.png filter=lfs diff=lfs merge=lfs -text
853
+ wise/833.png filter=lfs diff=lfs merge=lfs -text
854
+ wise/834.png filter=lfs diff=lfs merge=lfs -text
855
+ wise/835.png filter=lfs diff=lfs merge=lfs -text
856
+ wise/836.png filter=lfs diff=lfs merge=lfs -text
857
+ wise/837.png filter=lfs diff=lfs merge=lfs -text
858
+ wise/838.png filter=lfs diff=lfs merge=lfs -text
859
+ wise/839.png filter=lfs diff=lfs merge=lfs -text
860
+ wise/84.png filter=lfs diff=lfs merge=lfs -text
861
+ wise/840.png filter=lfs diff=lfs merge=lfs -text
862
+ wise/841.png filter=lfs diff=lfs merge=lfs -text
863
+ wise/842.png filter=lfs diff=lfs merge=lfs -text
864
+ wise/843.png filter=lfs diff=lfs merge=lfs -text
865
+ wise/844.png filter=lfs diff=lfs merge=lfs -text
866
+ wise/845.png filter=lfs diff=lfs merge=lfs -text
867
+ wise/846.png filter=lfs diff=lfs merge=lfs -text
868
+ wise/847.png filter=lfs diff=lfs merge=lfs -text
869
+ wise/848.png filter=lfs diff=lfs merge=lfs -text
870
+ wise/849.png filter=lfs diff=lfs merge=lfs -text
871
+ wise/85.png filter=lfs diff=lfs merge=lfs -text
872
+ wise/850.png filter=lfs diff=lfs merge=lfs -text
873
+ wise/851.png filter=lfs diff=lfs merge=lfs -text
874
+ wise/852.png filter=lfs diff=lfs merge=lfs -text
875
+ wise/853.png filter=lfs diff=lfs merge=lfs -text
876
+ wise/854.png filter=lfs diff=lfs merge=lfs -text
877
+ wise/855.png filter=lfs diff=lfs merge=lfs -text
878
+ wise/856.png filter=lfs diff=lfs merge=lfs -text
879
+ wise/857.png filter=lfs diff=lfs merge=lfs -text
880
+ wise/858.png filter=lfs diff=lfs merge=lfs -text
881
+ wise/859.png filter=lfs diff=lfs merge=lfs -text
882
+ wise/86.png filter=lfs diff=lfs merge=lfs -text
883
+ wise/860.png filter=lfs diff=lfs merge=lfs -text
884
+ wise/861.png filter=lfs diff=lfs merge=lfs -text
885
+ wise/862.png filter=lfs diff=lfs merge=lfs -text
886
+ wise/863.png filter=lfs diff=lfs merge=lfs -text
887
+ wise/864.png filter=lfs diff=lfs merge=lfs -text
888
+ wise/865.png filter=lfs diff=lfs merge=lfs -text
889
+ wise/866.png filter=lfs diff=lfs merge=lfs -text
890
+ wise/867.png filter=lfs diff=lfs merge=lfs -text
891
+ wise/868.png filter=lfs diff=lfs merge=lfs -text
892
+ wise/869.png filter=lfs diff=lfs merge=lfs -text
893
+ wise/87.png filter=lfs diff=lfs merge=lfs -text
894
+ wise/870.png filter=lfs diff=lfs merge=lfs -text
895
+ wise/871.png filter=lfs diff=lfs merge=lfs -text
896
+ wise/872.png filter=lfs diff=lfs merge=lfs -text
897
+ wise/873.png filter=lfs diff=lfs merge=lfs -text
898
+ wise/874.png filter=lfs diff=lfs merge=lfs -text
899
+ wise/875.png filter=lfs diff=lfs merge=lfs -text
900
+ wise/876.png filter=lfs diff=lfs merge=lfs -text
901
+ wise/877.png filter=lfs diff=lfs merge=lfs -text
902
+ wise/878.png filter=lfs diff=lfs merge=lfs -text
903
+ wise/879.png filter=lfs diff=lfs merge=lfs -text
904
+ wise/88.png filter=lfs diff=lfs merge=lfs -text
905
+ wise/880.png filter=lfs diff=lfs merge=lfs -text
906
+ wise/881.png filter=lfs diff=lfs merge=lfs -text
907
+ wise/882.png filter=lfs diff=lfs merge=lfs -text
908
+ wise/883.png filter=lfs diff=lfs merge=lfs -text
909
+ wise/884.png filter=lfs diff=lfs merge=lfs -text
910
+ wise/885.png filter=lfs diff=lfs merge=lfs -text
911
+ wise/886.png filter=lfs diff=lfs merge=lfs -text
912
+ wise/887.png filter=lfs diff=lfs merge=lfs -text
913
+ wise/888.png filter=lfs diff=lfs merge=lfs -text
914
+ wise/889.png filter=lfs diff=lfs merge=lfs -text
915
+ wise/89.png filter=lfs diff=lfs merge=lfs -text
916
+ wise/890.png filter=lfs diff=lfs merge=lfs -text
917
+ wise/891.png filter=lfs diff=lfs merge=lfs -text
918
+ wise/892.png filter=lfs diff=lfs merge=lfs -text
919
+ wise/893.png filter=lfs diff=lfs merge=lfs -text
920
+ wise/894.png filter=lfs diff=lfs merge=lfs -text
921
+ wise/895.png filter=lfs diff=lfs merge=lfs -text
922
+ wise/896.png filter=lfs diff=lfs merge=lfs -text
923
+ wise/897.png filter=lfs diff=lfs merge=lfs -text
924
+ wise/898.png filter=lfs diff=lfs merge=lfs -text
925
+ wise/899.png filter=lfs diff=lfs merge=lfs -text
926
+ wise/9.png filter=lfs diff=lfs merge=lfs -text
927
+ wise/90.png filter=lfs diff=lfs merge=lfs -text
928
+ wise/900.png filter=lfs diff=lfs merge=lfs -text
929
+ wise/901.png filter=lfs diff=lfs merge=lfs -text
930
+ wise/902.png filter=lfs diff=lfs merge=lfs -text
931
+ wise/903.png filter=lfs diff=lfs merge=lfs -text
932
+ wise/904.png filter=lfs diff=lfs merge=lfs -text
933
+ wise/905.png filter=lfs diff=lfs merge=lfs -text
934
+ wise/906.png filter=lfs diff=lfs merge=lfs -text
935
+ wise/907.png filter=lfs diff=lfs merge=lfs -text
936
+ wise/908.png filter=lfs diff=lfs merge=lfs -text
937
+ wise/909.png filter=lfs diff=lfs merge=lfs -text
938
+ wise/91.png filter=lfs diff=lfs merge=lfs -text
939
+ wise/910.png filter=lfs diff=lfs merge=lfs -text
940
+ wise/911.png filter=lfs diff=lfs merge=lfs -text
941
+ wise/912.png filter=lfs diff=lfs merge=lfs -text
942
+ wise/913.png filter=lfs diff=lfs merge=lfs -text
943
+ wise/914.png filter=lfs diff=lfs merge=lfs -text
944
+ wise/915.png filter=lfs diff=lfs merge=lfs -text
945
+ wise/916.png filter=lfs diff=lfs merge=lfs -text
946
+ wise/917.png filter=lfs diff=lfs merge=lfs -text
947
+ wise/918.png filter=lfs diff=lfs merge=lfs -text
948
+ wise/919.png filter=lfs diff=lfs merge=lfs -text
949
+ wise/92.png filter=lfs diff=lfs merge=lfs -text
950
+ wise/920.png filter=lfs diff=lfs merge=lfs -text
951
+ wise/921.png filter=lfs diff=lfs merge=lfs -text
952
+ wise/922.png filter=lfs diff=lfs merge=lfs -text
953
+ wise/923.png filter=lfs diff=lfs merge=lfs -text
954
+ wise/924.png filter=lfs diff=lfs merge=lfs -text
955
+ wise/925.png filter=lfs diff=lfs merge=lfs -text
956
+ wise/926.png filter=lfs diff=lfs merge=lfs -text
957
+ wise/927.png filter=lfs diff=lfs merge=lfs -text
958
+ wise/928.png filter=lfs diff=lfs merge=lfs -text
959
+ wise/929.png filter=lfs diff=lfs merge=lfs -text
960
+ wise/93.png filter=lfs diff=lfs merge=lfs -text
961
+ wise/930.png filter=lfs diff=lfs merge=lfs -text
962
+ wise/931.png filter=lfs diff=lfs merge=lfs -text
963
+ wise/932.png filter=lfs diff=lfs merge=lfs -text
964
+ wise/933.png filter=lfs diff=lfs merge=lfs -text
965
+ wise/934.png filter=lfs diff=lfs merge=lfs -text
966
+ wise/935.png filter=lfs diff=lfs merge=lfs -text
967
+ wise/936.png filter=lfs diff=lfs merge=lfs -text
968
+ wise/937.png filter=lfs diff=lfs merge=lfs -text
969
+ wise/938.png filter=lfs diff=lfs merge=lfs -text
970
+ wise/939.png filter=lfs diff=lfs merge=lfs -text
971
+ wise/94.png filter=lfs diff=lfs merge=lfs -text
972
+ wise/940.png filter=lfs diff=lfs merge=lfs -text
973
+ wise/941.png filter=lfs diff=lfs merge=lfs -text
974
+ wise/942.png filter=lfs diff=lfs merge=lfs -text
975
+ wise/943.png filter=lfs diff=lfs merge=lfs -text
976
+ wise/944.png filter=lfs diff=lfs merge=lfs -text
977
+ wise/945.png filter=lfs diff=lfs merge=lfs -text
978
+ wise/946.png filter=lfs diff=lfs merge=lfs -text
979
+ wise/947.png filter=lfs diff=lfs merge=lfs -text
980
+ wise/948.png filter=lfs diff=lfs merge=lfs -text
981
+ wise/949.png filter=lfs diff=lfs merge=lfs -text
982
+ wise/95.png filter=lfs diff=lfs merge=lfs -text
983
+ wise/950.png filter=lfs diff=lfs merge=lfs -text
984
+ wise/951.png filter=lfs diff=lfs merge=lfs -text
985
+ wise/952.png filter=lfs diff=lfs merge=lfs -text
986
+ wise/953.png filter=lfs diff=lfs merge=lfs -text
987
+ wise/954.png filter=lfs diff=lfs merge=lfs -text
988
+ wise/955.png filter=lfs diff=lfs merge=lfs -text
989
+ wise/956.png filter=lfs diff=lfs merge=lfs -text
990
+ wise/957.png filter=lfs diff=lfs merge=lfs -text
991
+ wise/958.png filter=lfs diff=lfs merge=lfs -text
992
+ wise/959.png filter=lfs diff=lfs merge=lfs -text
993
+ wise/96.png filter=lfs diff=lfs merge=lfs -text
994
+ wise/960.png filter=lfs diff=lfs merge=lfs -text
995
+ wise/961.png filter=lfs diff=lfs merge=lfs -text
996
+ wise/962.png filter=lfs diff=lfs merge=lfs -text
997
+ wise/963.png filter=lfs diff=lfs merge=lfs -text
998
+ wise/964.png filter=lfs diff=lfs merge=lfs -text
999
+ wise/965.png filter=lfs diff=lfs merge=lfs -text
1000
+ wise/966.png filter=lfs diff=lfs merge=lfs -text
1001
+ wise/967.png filter=lfs diff=lfs merge=lfs -text
1002
+ wise/968.png filter=lfs diff=lfs merge=lfs -text
1003
+ wise/969.png filter=lfs diff=lfs merge=lfs -text
1004
+ wise/97.png filter=lfs diff=lfs merge=lfs -text
1005
+ wise/970.png filter=lfs diff=lfs merge=lfs -text
1006
+ wise/971.png filter=lfs diff=lfs merge=lfs -text
1007
+ wise/972.png filter=lfs diff=lfs merge=lfs -text
1008
+ wise/973.png filter=lfs diff=lfs merge=lfs -text
1009
+ wise/974.png filter=lfs diff=lfs merge=lfs -text
1010
+ wise/975.png filter=lfs diff=lfs merge=lfs -text
1011
+ wise/976.png filter=lfs diff=lfs merge=lfs -text
1012
+ wise/977.png filter=lfs diff=lfs merge=lfs -text
1013
+ wise/978.png filter=lfs diff=lfs merge=lfs -text
1014
+ wise/979.png filter=lfs diff=lfs merge=lfs -text
1015
+ wise/98.png filter=lfs diff=lfs merge=lfs -text
1016
+ wise/980.png filter=lfs diff=lfs merge=lfs -text
1017
+ wise/981.png filter=lfs diff=lfs merge=lfs -text
1018
+ wise/982.png filter=lfs diff=lfs merge=lfs -text
1019
+ wise/983.png filter=lfs diff=lfs merge=lfs -text
1020
+ wise/984.png filter=lfs diff=lfs merge=lfs -text
1021
+ wise/985.png filter=lfs diff=lfs merge=lfs -text
1022
+ wise/986.png filter=lfs diff=lfs merge=lfs -text
1023
+ wise/987.png filter=lfs diff=lfs merge=lfs -text
1024
+ wise/988.png filter=lfs diff=lfs merge=lfs -text
1025
+ wise/989.png filter=lfs diff=lfs merge=lfs -text
1026
+ wise/99.png filter=lfs diff=lfs merge=lfs -text
1027
+ wise/990.png filter=lfs diff=lfs merge=lfs -text
1028
+ wise/991.png filter=lfs diff=lfs merge=lfs -text
1029
+ wise/992.png filter=lfs diff=lfs merge=lfs -text
1030
+ wise/993.png filter=lfs diff=lfs merge=lfs -text
1031
+ wise/994.png filter=lfs diff=lfs merge=lfs -text
1032
+ wise/995.png filter=lfs diff=lfs merge=lfs -text
1033
+ wise/996.png filter=lfs diff=lfs merge=lfs -text
1034
+ wise/997.png filter=lfs diff=lfs merge=lfs -text
1035
+ wise/998.png filter=lfs diff=lfs merge=lfs -text
1036
+ wise/999.png filter=lfs diff=lfs merge=lfs -text
added_tokens.json ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "</tool_call>": 151658,
3
+ "<image>": 151667,
4
+ "<tool_call>": 151657,
5
+ "<|box_end|>": 151649,
6
+ "<|box_start|>": 151648,
7
+ "<|endoftext|>": 151643,
8
+ "<|file_sep|>": 151664,
9
+ "<|fim_middle|>": 151660,
10
+ "<|fim_pad|>": 151662,
11
+ "<|fim_prefix|>": 151659,
12
+ "<|fim_suffix|>": 151661,
13
+ "<|im_end|>": 151645,
14
+ "<|im_start|>": 151644,
15
+ "<|image_pad|>": 151655,
16
+ "<|object_ref_end|>": 151647,
17
+ "<|object_ref_start|>": 151646,
18
+ "<|quad_end|>": 151651,
19
+ "<|quad_start|>": 151650,
20
+ "<|repo_name|>": 151663,
21
+ "<|video_pad|>": 151656,
22
+ "<|vision_end|>": 151653,
23
+ "<|vision_pad|>": 151654,
24
+ "<|vision_start|>": 151652,
25
+ "[/IMG]": 151666,
26
+ "[IMG]": 151665
27
+ }
config.json ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "LlavaQwenForCausalLM"
4
+ ],
5
+ "attention_dropout": 0.0,
6
+ "bos_token_id": 151643,
7
+ "eos_token_id": 151645,
8
+ "freeze_mm_mlp_adapter": false,
9
+ "gen_hidden_size": 1792,
10
+ "gen_pooling": "early_pool2d_4",
11
+ "gen_vision_tower": "eva-clip-E-14-plus",
12
+ "hidden_act": "silu",
13
+ "hidden_size": 3584,
14
+ "image_aspect_ratio": "square",
15
+ "image_token_id": 151655,
16
+ "initializer_range": 0.02,
17
+ "intermediate_size": 18944,
18
+ "max_position_embeddings": 128000,
19
+ "max_window_layers": 28,
20
+ "mm_patch_merge_type": "flat",
21
+ "mm_projector_lr": null,
22
+ "mm_projector_type": "mlp2x_gelu",
23
+ "mm_use_im_patch_token": false,
24
+ "mm_use_im_start_end": false,
25
+ "mm_vision_select_feature": "patch",
26
+ "mm_vision_select_layer": -2,
27
+ "model_type": "llava_qwen",
28
+ "n_query": 64,
29
+ "num_attention_heads": 28,
30
+ "num_hidden_layers": 28,
31
+ "num_key_value_heads": 4,
32
+ "pad_token_id": 151643,
33
+ "rms_norm_eps": 1e-06,
34
+ "rope_scaling": {
35
+ "mrope_section": [
36
+ 16,
37
+ 24,
38
+ 24
39
+ ],
40
+ "rope_type": "default",
41
+ "type": "default"
42
+ },
43
+ "rope_theta": 1000000.0,
44
+ "sliding_window": 32768,
45
+ "tie_word_embeddings": false,
46
+ "tokenizer_model_max_length": 512,
47
+ "tokenizer_padding_side": "right",
48
+ "torch_dtype": "bfloat16",
49
+ "transformers_version": "4.51.3",
50
+ "tune_mm_mlp_adapter": false,
51
+ "use_cache": true,
52
+ "use_mm_proj": true,
53
+ "use_sliding_window": false,
54
+ "video_token_id": 151656,
55
+ "vision_config": {
56
+ "depth": 32,
57
+ "fullatt_block_indexes": [
58
+ 7,
59
+ 15,
60
+ 23,
61
+ 31
62
+ ],
63
+ "hidden_act": "silu",
64
+ "hidden_size": 1280,
65
+ "in_channels": 3,
66
+ "in_chans": 3,
67
+ "intermediate_size": 3420,
68
+ "model_type": "qwen2_5_vl",
69
+ "num_heads": 16,
70
+ "out_hidden_size": 3584,
71
+ "patch_size": 14,
72
+ "spatial_merge_size": 2,
73
+ "spatial_patch_size": 14,
74
+ "temporal_patch_size": 2,
75
+ "tokens_per_second": 2,
76
+ "torch_dtype": "bfloat16",
77
+ "window_size": 112
78
+ },
79
+ "vision_end_token_id": 151653,
80
+ "vision_start_token_id": 151652,
81
+ "vision_token_id": 151654,
82
+ "vision_tower_pretrained": null,
83
+ "vocab_size": 151668
84
+ }
diffusion-decoder/.gitattributes ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz 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
diffusion-decoder/README.md ADDED
@@ -0,0 +1,137 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language:
3
+ - en
4
+ ---
5
+
6
+
7
+ # Emu2-Gen
8
+
9
+ [Paper](https://arxiv.org/abs/2312.13286) | [🤗HF Demo](https://huggingface.co/spaces/BAAI/Emu2) | [Demo](https://emu.ssi.plus) | [Project Page](https://baaivision.github.io/emu2/) | [Github](https://github.com/baaivision/Emu)
10
+
11
+
12
+ ## Model Weights
13
+
14
+ | Model name | Weight |
15
+ | ------------------ | ------------------------------------------------------- |
16
+ | **Emu2** | [🤗 HF link](https://huggingface.co/BAAI/Emu2) |
17
+ | **Emu2-Chat** | [🤗 HF link](https://huggingface.co/BAAI/Emu2-Chat) |
18
+ | **Emu2-Gen** | [🤗 HF link](https://huggingface.co/BAAI/Emu2-Gen) |
19
+
20
+
21
+ ## Inference (Huggingface Version)
22
+
23
+ ### Emu2-Gen
24
+
25
+ ```python
26
+ import cv2
27
+ from diffusers import DiffusionPipeline
28
+ import numpy as np
29
+ from PIL import Image
30
+ import requests
31
+ from transformers import AutoModelForCausalLM, AutoTokenizer
32
+ import torch
33
+
34
+ # For the first time of using,
35
+ # you need to download the huggingface repo "BAAI/Emu2-GEN" to local first
36
+ path = "path to local BAAI/Emu2-GEN"
37
+
38
+ multimodal_encoder = AutoModelForCausalLM.from_pretrained(
39
+ f"{path}/multimodal_encoder",
40
+ trust_remote_code=True,
41
+ torch_dtype=torch.bfloat16,
42
+ use_safetensors=True,
43
+ variant="bf16"
44
+ )
45
+ tokenizer = AutoTokenizer.from_pretrained(f"{path}/tokenizer")
46
+
47
+ pipe = DiffusionPipeline.from_pretrained(
48
+ path,
49
+ custom_pipeline="pipeline_emu2_gen",
50
+ torch_dtype=torch.bfloat16,
51
+ use_safetensors=True,
52
+ variant="bf16",
53
+ multimodal_encoder=multimodal_encoder,
54
+ tokenizer=tokenizer,
55
+ )
56
+
57
+ # For the non-first time of using, you can init the pipeline directly
58
+ pipe = DiffusionPipeline.from_pretrained(
59
+ path,
60
+ custom_pipeline="pipeline_emu2_gen",
61
+ torch_dtype=torch.bfloat16,
62
+ use_safetensors=True,
63
+ variant="bf16",
64
+ )
65
+
66
+ pipe.to("cuda")
67
+
68
+ # text-to-image
69
+ prompt = "impressionist painting of an astronaut in a jungle"
70
+ ret = pipe(prompt)
71
+ ret.image.save("astronaut.png")
72
+
73
+ # image editing
74
+ image = Image.open(requests.get('https://github.com/baaivision/Emu/Emu2/examples/dog.jpg?raw=true',stream=True).raw).convert('RGB')
75
+ prompt = [image, "wearing a red hat on the beach."]
76
+ ret = pipe(prompt)
77
+ ret.image.save("dog_hat_beach.png")
78
+
79
+ # grounding generation
80
+ def draw_box(left, top, right, bottom):
81
+ mask = np.zeros((448, 448, 3), dtype=np.uint8)
82
+ mask = cv2.rectangle(mask, (left, top), (right, bottom), (255, 255, 255), 3)
83
+ mask = Image.fromarray(mask)
84
+ return mask
85
+
86
+ dog1 = Image.open(requests.get('https://github.com/baaivision/Emu/Emu2/examples/dog1.jpg?raw=true',stream=True).raw).convert('RGB')
87
+ dog2 = Image.open(requests.get('https://github.com/baaivision/Emu/Emu2/examples/dog2.jpg?raw=true',stream=True).raw).convert('RGB')
88
+ dog3 = Image.open(requests.get('https://github.com/baaivision/Emu/Emu2/examples/dog3.jpg?raw=true',stream=True).raw).convert('RGB')
89
+ dog1_mask = draw_box( 22, 14, 224, 224)
90
+ dog2_mask = draw_box(224, 10, 448, 224)
91
+ dog3_mask = draw_box(120, 264, 320, 438)
92
+
93
+ prompt = [
94
+ "<grounding>",
95
+ "An oil painting of three dogs,",
96
+ "<phrase>the first dog</phrase>"
97
+ "<object>",
98
+ dog1_mask,
99
+ "</object>",
100
+ dog1,
101
+ "<phrase>the second dog</phrase>"
102
+ "<object>",
103
+ dog2_mask,
104
+ "</object>",
105
+ dog2,
106
+ "<phrase>the third dog</phrase>"
107
+ "<object>",
108
+ dog3_mask,
109
+ "</object>",
110
+ dog3,
111
+ ]
112
+ ret = pipe(prompt)
113
+ ret.image.save("three_dogs.png")
114
+
115
+ # Autoencoding
116
+ # to enable the autoencoding mode, you can only input exactly one image as prompt
117
+ # if you want the model to generate an image,
118
+ # please input extra empty text "" besides the image, e.g.
119
+ # autoencoding mode: prompt = image or [image]
120
+ # generation mode: prompt = ["", image] or [image, ""]
121
+ prompt = Image.open("./examples/doodle.jpg").convert("RGB")
122
+ ret = pipe(prompt)
123
+ ret.image.save("doodle_ae.png")
124
+ ```
125
+
126
+ ## Citation
127
+
128
+ If you find Emu2 useful for your research and applications, please consider starring this repository and citing:
129
+
130
+ ```
131
+ @article{Emu2,
132
+ title={Generative Multimodal Models are In-Context Learners},
133
+ author={Quan Sun and Yufeng Cui and Xiaosong Zhang and Fan Zhang and Qiying Yu and Zhengxiong Luo and Yueze Wang and Yongming Rao and Jingjing Liu and Tiejun Huang and Xinlong Wang},
134
+ publisher={arXiv preprint arXiv:2312.13286},
135
+ year={2023},
136
+ }
137
+ ```
diffusion-decoder/feature_extractor/preprocessor_config.json ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "crop_size": {
3
+ "height": 224,
4
+ "width": 224
5
+ },
6
+ "do_center_crop": true,
7
+ "do_convert_rgb": true,
8
+ "do_normalize": true,
9
+ "do_rescale": true,
10
+ "do_resize": true,
11
+ "feature_extractor_type": "CLIPFeatureExtractor",
12
+ "image_mean": [
13
+ 0.48145466,
14
+ 0.4578275,
15
+ 0.40821073
16
+ ],
17
+ "image_processor_type": "CLIPImageProcessor",
18
+ "image_std": [
19
+ 0.26862954,
20
+ 0.26130258,
21
+ 0.27577711
22
+ ],
23
+ "resample": 3,
24
+ "rescale_factor": 0.00392156862745098,
25
+ "size": {
26
+ "shortest_edge": 224
27
+ }
28
+ }
diffusion-decoder/model_index.json ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_class_name": "EmuVisualGenerationPipeline",
3
+ "_diffusers_version": "0.21.2",
4
+ "feature_extractor": [
5
+ "transformers",
6
+ "CLIPImageProcessor"
7
+ ],
8
+ "multimodal_encoder": [
9
+ "transformers_modules.multimodal_encoder.modeling_emu",
10
+ "EmuForCausalLM"
11
+ ],
12
+ "safety_checker": [
13
+ "stable_diffusion",
14
+ "StableDiffusionSafetyChecker"
15
+ ],
16
+ "scheduler": [
17
+ "diffusers",
18
+ "EulerDiscreteScheduler"
19
+ ],
20
+ "tokenizer": [
21
+ "transformers",
22
+ "LlamaTokenizerFast"
23
+ ],
24
+ "unet": [
25
+ "diffusers",
26
+ "UNet2DConditionModel"
27
+ ],
28
+ "vae": [
29
+ "diffusers",
30
+ "AutoencoderKL"
31
+ ]
32
+ }
diffusion-decoder/pipeline_ar_gen.py ADDED
@@ -0,0 +1,292 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # -*- coding: utf-8 -*-
2
+
3
+
4
+ # ===========================================================================================
5
+ #
6
+ # Copyright (c) Beijing Academy of Artificial Intelligence (BAAI). All rights reserved.
7
+ #
8
+ # Author : Fan Zhang
9
+ # Email : [email protected]
10
+ # Institute : Beijing Academy of Artificial Intelligence (BAAI)
11
+ # Create On : 2023-12-19 10:45
12
+ # Last Modified : 2023-12-25 07:59
13
+ # File Name : pipeline_emu2_gen.py
14
+ # Description :
15
+ #
16
+ # ===========================================================================================
17
+
18
+
19
+ from dataclasses import dataclass
20
+ from typing import List, Optional
21
+
22
+
23
+ from PIL import Image
24
+ import numpy as np
25
+ import torch
26
+ from torchvision import transforms as TF
27
+ from tqdm import tqdm
28
+ import pdb
29
+
30
+
31
+ from diffusers import DiffusionPipeline
32
+ from diffusers.utils import BaseOutput
33
+
34
+
35
+ from diffusers import UNet2DConditionModel, EulerDiscreteScheduler, AutoencoderKL
36
+ from diffusers.pipelines.stable_diffusion.safety_checker import StableDiffusionSafetyChecker
37
+ from transformers import CLIPImageProcessor
38
+ from transformers import AutoModelForCausalLM, AutoTokenizer
39
+
40
+
41
+ EVA_IMAGE_SIZE = 448
42
+ OPENAI_DATASET_MEAN = (0.48145466, 0.4578275, 0.40821073)
43
+ OPENAI_DATASET_STD = (0.26862954, 0.26130258, 0.27577711)
44
+ DEFAULT_IMG_PLACEHOLDER = "<image>"
45
+
46
+
47
+ @dataclass
48
+ class EmuVisualGenerationPipelineOutput(BaseOutput):
49
+ image: Image.Image
50
+ nsfw_content_detected: Optional[bool]
51
+
52
+
53
+
54
+
55
+ class EmuVisualGenerationPipeline(DiffusionPipeline):
56
+
57
+
58
+ def __init__(
59
+ self,
60
+ tokenizer: AutoTokenizer,
61
+ multimodal_encoder: AutoModelForCausalLM,
62
+ scheduler: EulerDiscreteScheduler,
63
+ unet: UNet2DConditionModel,
64
+ vae: AutoencoderKL,
65
+ feature_extractor: CLIPImageProcessor,
66
+ safety_checker: StableDiffusionSafetyChecker,
67
+ eva_size=EVA_IMAGE_SIZE,
68
+ eva_mean=OPENAI_DATASET_MEAN,
69
+ eva_std=OPENAI_DATASET_STD,
70
+ ):
71
+ super().__init__()
72
+ self.register_modules(
73
+ tokenizer=tokenizer,
74
+ multimodal_encoder=multimodal_encoder,
75
+ scheduler=scheduler,
76
+ unet=unet,
77
+ vae=vae,
78
+ feature_extractor=feature_extractor,
79
+ safety_checker=safety_checker,
80
+ )
81
+
82
+
83
+ self.vae_scale_factor = 2 ** (len(self.vae.config.block_out_channels) - 1)
84
+
85
+
86
+ self.transform = TF.Compose([
87
+ TF.Resize((eva_size, eva_size), interpolation=TF.InterpolationMode.BICUBIC),
88
+ TF.ToTensor(),
89
+ TF.Normalize(mean=eva_mean, std=eva_std),
90
+ ])
91
+
92
+
93
+ self.negative_prompt = {}
94
+
95
+
96
+ def device(self, module):
97
+ return next(module.parameters()).device
98
+
99
+
100
+ def dtype(self, module):
101
+ return next(module.parameters()).dtype
102
+
103
+
104
+ @torch.no_grad()
105
+ def __call__(
106
+ self,
107
+ inputs: List[Image.Image | str] | str | Image.Image,
108
+ height: int = 1024,
109
+ width: int = 1024,
110
+ num_inference_steps: int = 50,
111
+ guidance_scale: float = 3.,
112
+ crop_info: List[int] = [0, 0],
113
+ original_size: List[int] = [1024, 1024],
114
+ ):
115
+ if not isinstance(inputs, list):
116
+ inputs = [inputs]
117
+
118
+
119
+ # 0. Default height and width to unet
120
+ height = height or self.unet.config.sample_size * self.vae_scale_factor
121
+ width = width or self.unet.config.sample_size * self.vae_scale_factor
122
+
123
+
124
+ device = self.device(self.unet)
125
+ dtype = self.dtype(self.unet)
126
+
127
+
128
+ do_classifier_free_guidance = guidance_scale > 1.0
129
+
130
+
131
+ # 1. Encode input prompt
132
+ prompt_embeds = self._prepare_and_encode_inputs(
133
+ inputs,
134
+ do_classifier_free_guidance,
135
+ ).to(dtype).to(device)
136
+ batch_size = prompt_embeds.shape[0] // 2 if do_classifier_free_guidance else prompt_embeds.shape[0]
137
+
138
+
139
+ unet_added_conditions = {}
140
+ time_ids = torch.LongTensor(original_size + crop_info + [height, width]).to(device)
141
+ if do_classifier_free_guidance:
142
+ unet_added_conditions["time_ids"] = torch.cat([time_ids, time_ids], dim=0)
143
+ else:
144
+ unet_added_conditions["time_ids"] = time_ids
145
+ unet_added_conditions["text_embeds"] = torch.mean(prompt_embeds, dim=1)
146
+
147
+
148
+ # 2. Prepare timesteps
149
+ self.scheduler.set_timesteps(num_inference_steps, device=device)
150
+ timesteps = self.scheduler.timesteps
151
+
152
+
153
+ # 3. Prepare latent variables
154
+ shape = (
155
+ batch_size,
156
+ self.unet.config.in_channels,
157
+ height // self.vae_scale_factor,
158
+ width // self.vae_scale_factor,
159
+ )
160
+ latents = torch.randn(shape, device=device, dtype=dtype)
161
+ latents = latents * self.scheduler.init_noise_sigma
162
+
163
+
164
+ # 4. Denoising loop
165
+ for t in tqdm(timesteps):
166
+ # expand the latents if we are doing classifier free guidance
167
+ # 2B x 4 x H x W
168
+ latent_model_input = torch.cat([latents] * 2) if do_classifier_free_guidance else latents
169
+ latent_model_input = self.scheduler.scale_model_input(latent_model_input, t)
170
+
171
+
172
+ noise_pred = self.unet(
173
+ latent_model_input,
174
+ t,
175
+ encoder_hidden_states=prompt_embeds,
176
+ added_cond_kwargs=unet_added_conditions,
177
+ ).sample
178
+
179
+
180
+ # perform guidance
181
+ if do_classifier_free_guidance:
182
+ noise_pred_cond, noise_pred_uncond = noise_pred.chunk(2)
183
+ noise_pred = noise_pred_uncond + guidance_scale * (noise_pred_cond - noise_pred_uncond)
184
+
185
+
186
+ # compute the previous noisy sample x_t -> x_t-1
187
+ latents = self.scheduler.step(noise_pred, t, latents).prev_sample
188
+
189
+
190
+ # 5. Post-processing
191
+ images = self.decode_latents(latents)
192
+
193
+
194
+ # 6. Run safety checker
195
+ images, has_nsfw_concept = self.run_safety_checker(images)
196
+
197
+
198
+ # 7. Convert to PIL
199
+ images = self.numpy_to_pil(images)
200
+ return EmuVisualGenerationPipelineOutput(
201
+ image=images[0],
202
+ nsfw_content_detected=None if has_nsfw_concept is None else has_nsfw_concept[0],
203
+ )
204
+
205
+
206
+ def _prepare_and_encode_inputs(
207
+ self,
208
+ inputs: List[str | Image.Image],
209
+ do_classifier_free_guidance: bool = False,
210
+ placeholder: str = DEFAULT_IMG_PLACEHOLDER,
211
+ ):
212
+ # pdb.set_trace()
213
+ device = self.device(self.multimodal_encoder.model)
214
+ dtype = self.dtype(self.multimodal_encoder.model)
215
+
216
+
217
+ has_image, has_text = False, False
218
+ text_prompt, image_prompt = "", []
219
+ for x in inputs:
220
+ if isinstance(x, str):
221
+ has_text = True
222
+ text_prompt += x
223
+ else:
224
+ has_image = True
225
+ text_prompt += placeholder
226
+ image_prompt.append(self.transform(x))
227
+
228
+
229
+ if len(image_prompt) == 0:
230
+ image_prompt = None
231
+ else:
232
+ image_prompt = torch.stack(image_prompt)
233
+ image_prompt = image_prompt.type(dtype).to(device)
234
+
235
+
236
+ if has_image and not has_text:
237
+ prompt = self.multimodal_encoder.model.encode_image(image=image_prompt)
238
+ if do_classifier_free_guidance:
239
+ key = "[NULL_IMAGE]"
240
+ if key not in self.negative_prompt:
241
+ negative_image = torch.zeros_like(image_prompt)
242
+ self.negative_prompt[key] = self.multimodal_encoder.model.encode_image(image=negative_image)
243
+ prompt = torch.cat([prompt, self.negative_prompt[key]], dim=0)
244
+ else:
245
+ prompt = self.multimodal_encoder.generate_image(text=[text_prompt], image=image_prompt, tokenizer=self.tokenizer)
246
+ if do_classifier_free_guidance:
247
+ key = ""
248
+ if key not in self.negative_prompt:
249
+ self.negative_prompt[key] = self.multimodal_encoder.generate_image(text=[""], tokenizer=self.tokenizer)
250
+ prompt = torch.cat([prompt, self.negative_prompt[key]], dim=0)
251
+
252
+
253
+ return prompt
254
+
255
+
256
+ def decode_latents(self, latents: torch.Tensor) -> np.ndarray:
257
+ latents = 1 / self.vae.config.scaling_factor * latents
258
+ image = self.vae.decode(latents).sample
259
+ image = (image / 2 + 0.5).clamp(0, 1)
260
+ image = image.cpu().permute(0, 2, 3, 1).float().numpy()
261
+ return image
262
+
263
+
264
+ def numpy_to_pil(self, images: np.ndarray) -> List[Image.Image]:
265
+ """
266
+ Convert a numpy image or a batch of images to a PIL image.
267
+ """
268
+ if images.ndim == 3:
269
+ images = images[None, ...]
270
+ images = (images * 255).round().astype("uint8")
271
+ if images.shape[-1] == 1:
272
+ # special case for grayscale (single channel) images
273
+ pil_images = [Image.fromarray(image.squeeze(), mode="L") for image in images]
274
+ else:
275
+ pil_images = [Image.fromarray(image) for image in images]
276
+
277
+
278
+ return pil_images
279
+
280
+
281
+ def run_safety_checker(self, images: np.ndarray):
282
+ if self.safety_checker is not None:
283
+ device = self.device(self.safety_checker)
284
+ dtype = self.dtype(self.safety_checker)
285
+ safety_checker_input = self.feature_extractor(self.numpy_to_pil(images), return_tensors="pt").to(device)
286
+ images, has_nsfw_concept = self.safety_checker(
287
+ images=images, clip_input=safety_checker_input.pixel_values.to(dtype)
288
+ )
289
+ else:
290
+ has_nsfw_concept = None
291
+ return images, has_nsfw_concept
292
+
diffusion-decoder/pipeline_emu2_gen.py ADDED
@@ -0,0 +1,250 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # -*- coding: utf-8 -*-
2
+
3
+ # ===========================================================================================
4
+ #
5
+ # Copyright (c) Beijing Academy of Artificial Intelligence (BAAI). All rights reserved.
6
+ #
7
+ # Author : Fan Zhang
8
+ # Email : [email protected]
9
+ # Institute : Beijing Academy of Artificial Intelligence (BAAI)
10
+ # Create On : 2023-12-19 10:45
11
+ # Last Modified : 2023-12-25 07:59
12
+ # File Name : pipeline_emu2_gen.py
13
+ # Description :
14
+ #
15
+ # ===========================================================================================
16
+
17
+ from dataclasses import dataclass
18
+ from typing import List, Optional
19
+
20
+ from PIL import Image
21
+ import numpy as np
22
+ import torch
23
+ from torchvision import transforms as TF
24
+ from tqdm import tqdm
25
+
26
+ from diffusers import DiffusionPipeline
27
+ from diffusers.utils import BaseOutput
28
+
29
+ from diffusers import UNet2DConditionModel, EulerDiscreteScheduler, AutoencoderKL
30
+ from diffusers.pipelines.stable_diffusion.safety_checker import StableDiffusionSafetyChecker
31
+ from transformers import CLIPImageProcessor
32
+ from transformers import AutoModelForCausalLM, AutoTokenizer
33
+
34
+ EVA_IMAGE_SIZE = 448
35
+ OPENAI_DATASET_MEAN = (0.48145466, 0.4578275, 0.40821073)
36
+ OPENAI_DATASET_STD = (0.26862954, 0.26130258, 0.27577711)
37
+ DEFAULT_IMG_PLACEHOLDER = "[<IMG_PLH>]"
38
+
39
+ @dataclass
40
+ class EmuVisualGenerationPipelineOutput(BaseOutput):
41
+ image: Image.Image
42
+ nsfw_content_detected: Optional[bool]
43
+
44
+
45
+ class EmuVisualGenerationPipeline(DiffusionPipeline):
46
+
47
+ def __init__(
48
+ self,
49
+ tokenizer: AutoTokenizer,
50
+ multimodal_encoder: AutoModelForCausalLM,
51
+ scheduler: EulerDiscreteScheduler,
52
+ unet: UNet2DConditionModel,
53
+ vae: AutoencoderKL,
54
+ feature_extractor: CLIPImageProcessor,
55
+ safety_checker: StableDiffusionSafetyChecker,
56
+ eva_size=EVA_IMAGE_SIZE,
57
+ eva_mean=OPENAI_DATASET_MEAN,
58
+ eva_std=OPENAI_DATASET_STD,
59
+ ):
60
+ super().__init__()
61
+ self.register_modules(
62
+ tokenizer=tokenizer,
63
+ multimodal_encoder=multimodal_encoder,
64
+ scheduler=scheduler,
65
+ unet=unet,
66
+ vae=vae,
67
+ feature_extractor=feature_extractor,
68
+ safety_checker=safety_checker,
69
+ )
70
+
71
+ self.vae_scale_factor = 2 ** (len(self.vae.config.block_out_channels) - 1)
72
+
73
+ self.transform = TF.Compose([
74
+ TF.Resize((eva_size, eva_size), interpolation=TF.InterpolationMode.BICUBIC),
75
+ TF.ToTensor(),
76
+ TF.Normalize(mean=eva_mean, std=eva_std),
77
+ ])
78
+
79
+ self.negative_prompt = {}
80
+
81
+ def device(self, module):
82
+ return next(module.parameters()).device
83
+
84
+ def dtype(self, module):
85
+ return next(module.parameters()).dtype
86
+
87
+ @torch.no_grad()
88
+ def __call__(
89
+ self,
90
+ inputs: List[Image.Image | str] | str | Image.Image,
91
+ height: int = 1024,
92
+ width: int = 1024,
93
+ num_inference_steps: int = 50,
94
+ guidance_scale: float = 3.,
95
+ crop_info: List[int] = [0, 0],
96
+ original_size: List[int] = [1024, 1024],
97
+ ):
98
+ if not isinstance(inputs, list):
99
+ inputs = [inputs]
100
+
101
+ # 0. Default height and width to unet
102
+ height = height or self.unet.config.sample_size * self.vae_scale_factor
103
+ width = width or self.unet.config.sample_size * self.vae_scale_factor
104
+
105
+ device = self.device(self.unet)
106
+ dtype = self.dtype(self.unet)
107
+
108
+ do_classifier_free_guidance = guidance_scale > 1.0
109
+
110
+ # 1. Encode input prompt
111
+ prompt_embeds = self._prepare_and_encode_inputs(
112
+ inputs,
113
+ do_classifier_free_guidance,
114
+ ).to(dtype).to(device)
115
+ batch_size = prompt_embeds.shape[0] // 2 if do_classifier_free_guidance else prompt_embeds.shape[0]
116
+
117
+ unet_added_conditions = {}
118
+ time_ids = torch.LongTensor(original_size + crop_info + [height, width]).to(device)
119
+ if do_classifier_free_guidance:
120
+ unet_added_conditions["time_ids"] = torch.cat([time_ids, time_ids], dim=0)
121
+ else:
122
+ unet_added_conditions["time_ids"] = time_ids
123
+ unet_added_conditions["text_embeds"] = torch.mean(prompt_embeds, dim=1)
124
+
125
+ # 2. Prepare timesteps
126
+ self.scheduler.set_timesteps(num_inference_steps, device=device)
127
+ timesteps = self.scheduler.timesteps
128
+
129
+ # 3. Prepare latent variables
130
+ shape = (
131
+ batch_size,
132
+ self.unet.config.in_channels,
133
+ height // self.vae_scale_factor,
134
+ width // self.vae_scale_factor,
135
+ )
136
+ latents = torch.randn(shape, device=device, dtype=dtype)
137
+ latents = latents * self.scheduler.init_noise_sigma
138
+
139
+ # 4. Denoising loop
140
+ for t in tqdm(timesteps):
141
+ # expand the latents if we are doing classifier free guidance
142
+ # 2B x 4 x H x W
143
+ latent_model_input = torch.cat([latents] * 2) if do_classifier_free_guidance else latents
144
+ latent_model_input = self.scheduler.scale_model_input(latent_model_input, t)
145
+
146
+ noise_pred = self.unet(
147
+ latent_model_input,
148
+ t,
149
+ encoder_hidden_states=prompt_embeds,
150
+ added_cond_kwargs=unet_added_conditions,
151
+ ).sample
152
+
153
+ # perform guidance
154
+ if do_classifier_free_guidance:
155
+ noise_pred_cond, noise_pred_uncond = noise_pred.chunk(2)
156
+ noise_pred = noise_pred_uncond + guidance_scale * (noise_pred_cond - noise_pred_uncond)
157
+
158
+ # compute the previous noisy sample x_t -> x_t-1
159
+ latents = self.scheduler.step(noise_pred, t, latents).prev_sample
160
+
161
+ # 5. Post-processing
162
+ images = self.decode_latents(latents)
163
+
164
+ # 6. Run safety checker
165
+ images, has_nsfw_concept = self.run_safety_checker(images)
166
+
167
+ # 7. Convert to PIL
168
+ images = self.numpy_to_pil(images)
169
+ return EmuVisualGenerationPipelineOutput(
170
+ image=images[0],
171
+ nsfw_content_detected=None if has_nsfw_concept is None else has_nsfw_concept[0],
172
+ )
173
+
174
+ def _prepare_and_encode_inputs(
175
+ self,
176
+ inputs: List[str | Image.Image],
177
+ do_classifier_free_guidance: bool = False,
178
+ placeholder: str = DEFAULT_IMG_PLACEHOLDER,
179
+ ):
180
+ device = self.device(self.multimodal_encoder.model.visual)
181
+ dtype = self.dtype(self.multimodal_encoder.model.visual)
182
+
183
+ has_image, has_text = False, False
184
+ text_prompt, image_prompt = "", []
185
+ for x in inputs:
186
+ if isinstance(x, str):
187
+ has_text = True
188
+ text_prompt += x
189
+ else:
190
+ has_image = True
191
+ text_prompt += placeholder
192
+ image_prompt.append(self.transform(x))
193
+
194
+ if len(image_prompt) == 0:
195
+ image_prompt = None
196
+ else:
197
+ image_prompt = torch.stack(image_prompt)
198
+ image_prompt = image_prompt.type(dtype).to(device)
199
+
200
+ if has_image and not has_text:
201
+ prompt = self.multimodal_encoder.model.encode_image(image=image_prompt)
202
+ if do_classifier_free_guidance:
203
+ key = "[NULL_IMAGE]"
204
+ if key not in self.negative_prompt:
205
+ negative_image = torch.zeros_like(image_prompt)
206
+ self.negative_prompt[key] = self.multimodal_encoder.model.encode_image(image=negative_image)
207
+ prompt = torch.cat([prompt, self.negative_prompt[key]], dim=0)
208
+ else:
209
+ prompt = self.multimodal_encoder.generate_image(text=[text_prompt], image=image_prompt, tokenizer=self.tokenizer)
210
+ if do_classifier_free_guidance:
211
+ key = ""
212
+ if key not in self.negative_prompt:
213
+ self.negative_prompt[key] = self.multimodal_encoder.generate_image(text=[""], tokenizer=self.tokenizer)
214
+ prompt = torch.cat([prompt, self.negative_prompt[key]], dim=0)
215
+
216
+ return prompt
217
+
218
+ def decode_latents(self, latents: torch.Tensor) -> np.ndarray:
219
+ latents = 1 / self.vae.config.scaling_factor * latents
220
+ image = self.vae.decode(latents).sample
221
+ image = (image / 2 + 0.5).clamp(0, 1)
222
+ image = image.cpu().permute(0, 2, 3, 1).float().numpy()
223
+ return image
224
+
225
+ def numpy_to_pil(self, images: np.ndarray) -> List[Image.Image]:
226
+ """
227
+ Convert a numpy image or a batch of images to a PIL image.
228
+ """
229
+ if images.ndim == 3:
230
+ images = images[None, ...]
231
+ images = (images * 255).round().astype("uint8")
232
+ if images.shape[-1] == 1:
233
+ # special case for grayscale (single channel) images
234
+ pil_images = [Image.fromarray(image.squeeze(), mode="L") for image in images]
235
+ else:
236
+ pil_images = [Image.fromarray(image) for image in images]
237
+
238
+ return pil_images
239
+
240
+ def run_safety_checker(self, images: np.ndarray):
241
+ if self.safety_checker is not None:
242
+ device = self.device(self.safety_checker)
243
+ dtype = self.dtype(self.safety_checker)
244
+ safety_checker_input = self.feature_extractor(self.numpy_to_pil(images), return_tensors="pt").to(device)
245
+ images, has_nsfw_concept = self.safety_checker(
246
+ images=images, clip_input=safety_checker_input.pixel_values.to(dtype)
247
+ )
248
+ else:
249
+ has_nsfw_concept = None
250
+ return images, has_nsfw_concept
diffusion-decoder/pipeline_llava_gen.py ADDED
@@ -0,0 +1,287 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # -*- coding: utf-8 -*-
2
+ # ===========================================================================================
3
+ #
4
+ # Copyright (c) Beijing Academy of Artificial Intelligence (BAAI). All rights reserved.
5
+ #
6
+ # Author : Fan Zhang
7
+ # Email : [email protected]
8
+ # Institute : Beijing Academy of Artificial Intelligence (BAAI)
9
+ # Create On : 2023-12-19 10:45
10
+ # Last Modified : 2023-12-25 07:59
11
+ # File Name : pipeline_emu2_gen.py
12
+ # Description :
13
+ #
14
+ # ===========================================================================================
15
+
16
+ from dataclasses import dataclass
17
+ from typing import List, Optional
18
+
19
+ from PIL import Image
20
+ import numpy as np
21
+ import torch
22
+ from torchvision import transforms as TF
23
+ from tqdm import tqdm
24
+ import pdb
25
+
26
+ from diffusers import DiffusionPipeline
27
+ from diffusers.utils import BaseOutput
28
+
29
+ from diffusers import UNet2DConditionModel, EulerDiscreteScheduler, AutoencoderKL
30
+ from diffusers.pipelines.stable_diffusion.safety_checker import StableDiffusionSafetyChecker
31
+ from transformers import CLIPImageProcessor
32
+ from transformers import AutoModelForCausalLM, AutoTokenizer
33
+
34
+ EVA_IMAGE_SIZE = 448
35
+ OPENAI_DATASET_MEAN = (0.48145466, 0.4578275, 0.40821073)
36
+ OPENAI_DATASET_STD = (0.26862954, 0.26130258, 0.27577711)
37
+ DEFAULT_IMG_PLACEHOLDER = "<image>"
38
+
39
+ from transformers import AutoProcessor
40
+ image_processor = AutoProcessor.from_pretrained("Qwen/Qwen2.5-VL-3B-Instruct").image_processor
41
+
42
+
43
+ @dataclass
44
+ class EmuVisualGenerationPipelineOutput(BaseOutput):
45
+ image: Image.Image
46
+ nsfw_content_detected: Optional[bool]
47
+
48
+
49
+ class EmuVisualGenerationPipeline(DiffusionPipeline):
50
+
51
+ def __init__(
52
+ self,
53
+ tokenizer: AutoTokenizer,
54
+ multimodal_encoder: AutoModelForCausalLM,
55
+ scheduler: EulerDiscreteScheduler,
56
+ unet: UNet2DConditionModel,
57
+ vae: AutoencoderKL,
58
+ feature_extractor: CLIPImageProcessor,
59
+ safety_checker: StableDiffusionSafetyChecker,
60
+ eva_size=EVA_IMAGE_SIZE,
61
+ eva_mean=OPENAI_DATASET_MEAN,
62
+ eva_std=OPENAI_DATASET_STD,
63
+ ):
64
+ super().__init__()
65
+ self.register_modules(
66
+ tokenizer=tokenizer,
67
+ multimodal_encoder=multimodal_encoder,
68
+ scheduler=scheduler,
69
+ unet=unet,
70
+ vae=vae,
71
+ feature_extractor=feature_extractor,
72
+ safety_checker=None,
73
+ )
74
+
75
+ self.vae_scale_factor = 2 ** (len(self.vae.config.block_out_channels) - 1)
76
+
77
+ self.transform = TF.Compose([
78
+ TF.Resize((eva_size, eva_size), interpolation=TF.InterpolationMode.BICUBIC),
79
+ TF.ToTensor(),
80
+ TF.Normalize(mean=eva_mean, std=eva_std),
81
+ ])
82
+
83
+ self.negative_prompt = {}
84
+
85
+ def device(self, module):
86
+ return next(module.parameters()).device
87
+
88
+ def dtype(self, module):
89
+ return next(module.parameters()).dtype
90
+
91
+ @torch.no_grad()
92
+ def __call__(
93
+ self,
94
+ inputs: List[Image.Image | str] | str | Image.Image,
95
+ height: int = 1024,
96
+ width: int = 1024,
97
+ num_inference_steps: int = 50,
98
+ guidance_scale: float = 3.0,
99
+ crop_info: List[int] = [0, 0],
100
+ original_size: List[int] = [1024, 1024],
101
+ ):
102
+ if not isinstance(inputs, list):
103
+ inputs = [inputs]
104
+
105
+ # 0. Default height and width to unet
106
+ height = height or self.unet.config.sample_size * self.vae_scale_factor
107
+ width = width or self.unet.config.sample_size * self.vae_scale_factor
108
+
109
+ device = self.device(self.unet)
110
+ dtype = self.dtype(self.unet)
111
+
112
+ do_classifier_free_guidance = guidance_scale > 1.0
113
+
114
+ # 1. Encode input prompt
115
+ prompt_embeds = self._prepare_and_encode_inputs(
116
+ inputs,
117
+ do_classifier_free_guidance,
118
+ ).to(dtype).to(device)
119
+ batch_size = prompt_embeds.shape[0] // 2 if do_classifier_free_guidance else prompt_embeds.shape[0]
120
+
121
+ unet_added_conditions = {}
122
+ time_ids = torch.LongTensor(original_size + crop_info + [height, width]).to(device)
123
+ if do_classifier_free_guidance:
124
+ unet_added_conditions["time_ids"] = torch.cat([time_ids, time_ids], dim=0)
125
+ else:
126
+ unet_added_conditions["time_ids"] = time_ids
127
+ unet_added_conditions["text_embeds"] = torch.mean(prompt_embeds, dim=1)
128
+
129
+ # 2. Prepare timesteps
130
+ self.scheduler.set_timesteps(num_inference_steps, device=device)
131
+ timesteps = self.scheduler.timesteps
132
+
133
+ # 3. Prepare latent variables
134
+ shape = (
135
+ batch_size,
136
+ self.unet.config.in_channels,
137
+ height // self.vae_scale_factor,
138
+ width // self.vae_scale_factor,
139
+ )
140
+ latents = torch.randn(shape, device=device, dtype=dtype)
141
+ latents = latents * self.scheduler.init_noise_sigma
142
+
143
+ # 4. Denoising loop
144
+ for t in tqdm(timesteps):
145
+ # Expand the latents if doing classifier free guidance: 2B x 4 x H x W
146
+ latent_model_input = torch.cat([latents] * 2) if do_classifier_free_guidance else latents
147
+ latent_model_input = self.scheduler.scale_model_input(latent_model_input, t)
148
+
149
+ noise_pred = self.unet(
150
+ latent_model_input,
151
+ t,
152
+ encoder_hidden_states=prompt_embeds,
153
+ added_cond_kwargs=unet_added_conditions,
154
+ ).sample
155
+
156
+ # Perform guidance
157
+ if do_classifier_free_guidance:
158
+ noise_pred_cond, noise_pred_uncond = noise_pred.chunk(2)
159
+ noise_pred = noise_pred_uncond + guidance_scale * (noise_pred_cond - noise_pred_uncond)
160
+
161
+ # Compute the previous noisy sample x_t -> x_t-1
162
+ latents = self.scheduler.step(noise_pred, t, latents).prev_sample
163
+
164
+ # 5. Post-processing
165
+ images = self.decode_latents(latents)
166
+ # 6. Run safety checker
167
+ # images, has_nsfw_concept = self.run_safety_checker(images)
168
+
169
+ # 7. Convert to PIL
170
+ images = self.numpy_to_pil(images)
171
+
172
+ # return EmuVisualGenerationPipelineOutput(
173
+ # image=images[0],
174
+ # nsfw_content_detected=None if has_nsfw_concept is None else has_nsfw_concept[0],
175
+ # )
176
+
177
+ return EmuVisualGenerationPipelineOutput(
178
+ image=images[0],
179
+ nsfw_content_detected=None
180
+ )
181
+
182
+ def _prepare_and_encode_inputs(
183
+ self,
184
+ inputs: List[str | Image.Image],
185
+ do_classifier_free_guidance: bool = False,
186
+ placeholder: str = DEFAULT_IMG_PLACEHOLDER,
187
+ ):
188
+ # pdb.set_trace()
189
+ device = self.device(self.multimodal_encoder.model)
190
+ dtype = self.dtype(self.multimodal_encoder.model)
191
+
192
+ has_image, has_text = False, False
193
+ text_prompt, image_prompt, image_grid_thw = "", [], []
194
+ for x in inputs:
195
+ if isinstance(x, str):
196
+ has_text = True
197
+ text_prompt += x
198
+ else:
199
+ has_image = True
200
+ text_prompt = text_prompt.replace(
201
+ "<image>",
202
+ "<|vision_start|>" + "<|image_pad|>" * 256 + "<|vision_end|>"
203
+ )
204
+ resized_images = x.resize((448, 448))
205
+ image_inputs = image_processor(resized_images, return_tensors="pt")
206
+ image_prompt.append(image_inputs.pixel_values)
207
+ image_grid_thw.append(image_inputs.image_grid_thw)
208
+
209
+ if len(image_prompt) == 0:
210
+ image_prompt = None
211
+ image_grid_thw = None
212
+ else:
213
+ image_prompt = torch.cat(image_prompt, dim=0)
214
+ image_grid_thw = torch.cat(image_grid_thw, dim=0)
215
+ # breakpoint()
216
+ if has_image and not has_text:
217
+ prompt = self.multimodal_encoder.model.encode_image(image=image_prompt)
218
+ if do_classifier_free_guidance:
219
+ key = "[NULL_IMAGE]"
220
+ if key not in self.negative_prompt:
221
+ negative_image = torch.zeros_like(image_prompt)
222
+ self.negative_prompt[key] = self.multimodal_encoder.model.encode_image(image=negative_image)
223
+ prompt = torch.cat([prompt, self.negative_prompt[key]], dim=0)
224
+ elif has_text and not has_image:
225
+
226
+ prompt = self.multimodal_encoder.generate_image(
227
+ text=[text_prompt], tokenizer=self.tokenizer
228
+ )
229
+ if do_classifier_free_guidance:
230
+ key = ""
231
+ if key not in self.negative_prompt:
232
+ self.negative_prompt[key] = self.multimodal_encoder.generate_image(
233
+ text=[" "],
234
+ tokenizer=self.tokenizer
235
+ )
236
+ prompt = torch.cat([prompt, self.negative_prompt[key]], dim=0)
237
+ elif has_text and has_image:
238
+ prompt = self.multimodal_encoder.generate_image(
239
+ text=[text_prompt],
240
+ pixel_values=image_prompt.cuda(),
241
+ image_grid_thw=image_grid_thw.cuda(),
242
+ tokenizer=self.tokenizer
243
+ )
244
+ if do_classifier_free_guidance:
245
+ key = ""
246
+ if key not in self.negative_prompt:
247
+ self.negative_prompt[key] = self.multimodal_encoder.generate_image(
248
+ text=[" "],
249
+ tokenizer=self.tokenizer
250
+ )
251
+ prompt = torch.cat([prompt, self.negative_prompt[key]], dim=0)
252
+ return prompt
253
+
254
+ def decode_latents(self, latents: torch.Tensor) -> np.ndarray:
255
+ latents = 1 / self.vae.config.scaling_factor * latents
256
+ image = self.vae.decode(latents).sample
257
+ image = (image / 2 + 0.5).clamp(0, 1)
258
+ image = image.cpu().permute(0, 2, 3, 1).float().numpy()
259
+ return image
260
+
261
+ def numpy_to_pil(self, images: np.ndarray) -> List[Image.Image]:
262
+ """
263
+ Convert a numpy image or a batch of images to a PIL image.
264
+ """
265
+ if images.ndim == 3:
266
+ images = images[None, ...]
267
+ images = (images * 255).round().astype("uint8")
268
+ if images.shape[-1] == 1:
269
+ # Special case for grayscale (single channel) images.
270
+ pil_images = [Image.fromarray(image.squeeze(), mode="L") for image in images]
271
+ else:
272
+ pil_images = [Image.fromarray(image) for image in images]
273
+ return pil_images
274
+
275
+ def run_safety_checker(self, images: np.ndarray):
276
+ if self.safety_checker is not None:
277
+ device = self.device(self.safety_checker)
278
+ dtype = self.dtype(self.safety_checker)
279
+ safety_checker_input = self.feature_extractor(
280
+ self.numpy_to_pil(images), return_tensors="pt"
281
+ ).to(device)
282
+ images, has_nsfw_concept = self.safety_checker(
283
+ images=images, clip_input=safety_checker_input.pixel_values.to(dtype)
284
+ )
285
+ else:
286
+ has_nsfw_concept = None
287
+ return images, has_nsfw_concept
diffusion-decoder/safety_checker_none/config.json ADDED
@@ -0,0 +1,168 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_commit_hash": null,
3
+ "_name_or_path": "/share/project/quansun/release_hf/Emu2-VisualGeneration/safety_checker",
4
+ "architectures": [
5
+ "StableDiffusionSafetyChecker"
6
+ ],
7
+ "initializer_factor": 1.0,
8
+ "logit_scale_init_value": 2.6592,
9
+ "model_type": "clip",
10
+ "projection_dim": 768,
11
+ "text_config": {
12
+ "_name_or_path": "",
13
+ "add_cross_attention": false,
14
+ "architectures": null,
15
+ "attention_dropout": 0.0,
16
+ "bad_words_ids": null,
17
+ "begin_suppress_tokens": null,
18
+ "bos_token_id": 49406,
19
+ "chunk_size_feed_forward": 0,
20
+ "cross_attention_hidden_size": null,
21
+ "decoder_start_token_id": null,
22
+ "diversity_penalty": 0.0,
23
+ "do_sample": false,
24
+ "dropout": 0.0,
25
+ "early_stopping": false,
26
+ "encoder_no_repeat_ngram_size": 0,
27
+ "eos_token_id": 49407,
28
+ "exponential_decay_length_penalty": null,
29
+ "finetuning_task": null,
30
+ "forced_bos_token_id": null,
31
+ "forced_eos_token_id": null,
32
+ "hidden_act": "quick_gelu",
33
+ "hidden_size": 768,
34
+ "id2label": {
35
+ "0": "LABEL_0",
36
+ "1": "LABEL_1"
37
+ },
38
+ "initializer_factor": 1.0,
39
+ "initializer_range": 0.02,
40
+ "intermediate_size": 3072,
41
+ "is_decoder": false,
42
+ "is_encoder_decoder": false,
43
+ "label2id": {
44
+ "LABEL_0": 0,
45
+ "LABEL_1": 1
46
+ },
47
+ "layer_norm_eps": 1e-05,
48
+ "length_penalty": 1.0,
49
+ "max_length": 20,
50
+ "max_position_embeddings": 77,
51
+ "min_length": 0,
52
+ "model_type": "clip_text_model",
53
+ "no_repeat_ngram_size": 0,
54
+ "num_attention_heads": 12,
55
+ "num_beam_groups": 1,
56
+ "num_beams": 1,
57
+ "num_hidden_layers": 12,
58
+ "num_return_sequences": 1,
59
+ "output_attentions": false,
60
+ "output_hidden_states": false,
61
+ "output_scores": false,
62
+ "pad_token_id": 1,
63
+ "prefix": null,
64
+ "problem_type": null,
65
+ "projection_dim": 512,
66
+ "pruned_heads": {},
67
+ "remove_invalid_values": false,
68
+ "repetition_penalty": 1.0,
69
+ "return_dict": true,
70
+ "return_dict_in_generate": false,
71
+ "sep_token_id": null,
72
+ "suppress_tokens": null,
73
+ "task_specific_params": null,
74
+ "temperature": 1.0,
75
+ "tf_legacy_loss": false,
76
+ "tie_encoder_decoder": false,
77
+ "tie_word_embeddings": true,
78
+ "tokenizer_class": null,
79
+ "top_k": 50,
80
+ "top_p": 1.0,
81
+ "torch_dtype": null,
82
+ "torchscript": false,
83
+ "transformers_version": "4.31.0",
84
+ "typical_p": 1.0,
85
+ "use_bfloat16": false,
86
+ "vocab_size": 49408
87
+ },
88
+ "torch_dtype": "bfloat16",
89
+ "transformers_version": null,
90
+ "vision_config": {
91
+ "_name_or_path": "",
92
+ "add_cross_attention": false,
93
+ "architectures": null,
94
+ "attention_dropout": 0.0,
95
+ "bad_words_ids": null,
96
+ "begin_suppress_tokens": null,
97
+ "bos_token_id": null,
98
+ "chunk_size_feed_forward": 0,
99
+ "cross_attention_hidden_size": null,
100
+ "decoder_start_token_id": null,
101
+ "diversity_penalty": 0.0,
102
+ "do_sample": false,
103
+ "dropout": 0.0,
104
+ "early_stopping": false,
105
+ "encoder_no_repeat_ngram_size": 0,
106
+ "eos_token_id": null,
107
+ "exponential_decay_length_penalty": null,
108
+ "finetuning_task": null,
109
+ "forced_bos_token_id": null,
110
+ "forced_eos_token_id": null,
111
+ "hidden_act": "quick_gelu",
112
+ "hidden_size": 1024,
113
+ "id2label": {
114
+ "0": "LABEL_0",
115
+ "1": "LABEL_1"
116
+ },
117
+ "image_size": 224,
118
+ "initializer_factor": 1.0,
119
+ "initializer_range": 0.02,
120
+ "intermediate_size": 4096,
121
+ "is_decoder": false,
122
+ "is_encoder_decoder": false,
123
+ "label2id": {
124
+ "LABEL_0": 0,
125
+ "LABEL_1": 1
126
+ },
127
+ "layer_norm_eps": 1e-05,
128
+ "length_penalty": 1.0,
129
+ "max_length": 20,
130
+ "min_length": 0,
131
+ "model_type": "clip_vision_model",
132
+ "no_repeat_ngram_size": 0,
133
+ "num_attention_heads": 16,
134
+ "num_beam_groups": 1,
135
+ "num_beams": 1,
136
+ "num_channels": 3,
137
+ "num_hidden_layers": 24,
138
+ "num_return_sequences": 1,
139
+ "output_attentions": false,
140
+ "output_hidden_states": false,
141
+ "output_scores": false,
142
+ "pad_token_id": null,
143
+ "patch_size": 14,
144
+ "prefix": null,
145
+ "problem_type": null,
146
+ "projection_dim": 512,
147
+ "pruned_heads": {},
148
+ "remove_invalid_values": false,
149
+ "repetition_penalty": 1.0,
150
+ "return_dict": true,
151
+ "return_dict_in_generate": false,
152
+ "sep_token_id": null,
153
+ "suppress_tokens": null,
154
+ "task_specific_params": null,
155
+ "temperature": 1.0,
156
+ "tf_legacy_loss": false,
157
+ "tie_encoder_decoder": false,
158
+ "tie_word_embeddings": true,
159
+ "tokenizer_class": null,
160
+ "top_k": 50,
161
+ "top_p": 1.0,
162
+ "torch_dtype": null,
163
+ "torchscript": false,
164
+ "transformers_version": "4.31.0",
165
+ "typical_p": 1.0,
166
+ "use_bfloat16": false
167
+ }
168
+ }
diffusion-decoder/safety_checker_none/model.bf16.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:013ddb2eb3e3ddb6b91fd739de8abbc8281de91f2ae9f5067ac8586d6aa29cf6
3
+ size 608016672
diffusion-decoder/scheduler/scheduler_config.json ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_class_name": "EulerDiscreteScheduler",
3
+ "_diffusers_version": "0.21.2",
4
+ "beta_end": 0.012,
5
+ "beta_schedule": "scaled_linear",
6
+ "beta_start": 0.00085,
7
+ "clip_sample": false,
8
+ "interpolation_type": "linear",
9
+ "num_train_timesteps": 1000,
10
+ "prediction_type": "epsilon",
11
+ "sample_max_value": 1.0,
12
+ "set_alpha_to_one": false,
13
+ "skip_prk_steps": true,
14
+ "steps_offset": 1,
15
+ "timestep_spacing": "leading",
16
+ "trained_betas": null,
17
+ "use_karras_sigmas": false
18
+ }
diffusion-decoder/tokenizer/added_tokens.json ADDED
@@ -0,0 +1,274 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "</delimiter_of_multi_objects/>": 32013,
3
+ "</object>": 32012,
4
+ "</phrase>": 32010,
5
+ "<REC>": 32014,
6
+ "<grounding>": 32008,
7
+ "<image>": 32003,
8
+ "<object>": 32011,
9
+ "<patch_index_0000>": 32015,
10
+ "<patch_index_0001>": 32016,
11
+ "<patch_index_0002>": 32017,
12
+ "<patch_index_0003>": 32018,
13
+ "<patch_index_0004>": 32019,
14
+ "<patch_index_0005>": 32020,
15
+ "<patch_index_0006>": 32021,
16
+ "<patch_index_0007>": 32022,
17
+ "<patch_index_0008>": 32023,
18
+ "<patch_index_0009>": 32024,
19
+ "<patch_index_0010>": 32025,
20
+ "<patch_index_0011>": 32026,
21
+ "<patch_index_0012>": 32027,
22
+ "<patch_index_0013>": 32028,
23
+ "<patch_index_0014>": 32029,
24
+ "<patch_index_0015>": 32030,
25
+ "<patch_index_0016>": 32031,
26
+ "<patch_index_0017>": 32032,
27
+ "<patch_index_0018>": 32033,
28
+ "<patch_index_0019>": 32034,
29
+ "<patch_index_0020>": 32035,
30
+ "<patch_index_0021>": 32036,
31
+ "<patch_index_0022>": 32037,
32
+ "<patch_index_0023>": 32038,
33
+ "<patch_index_0024>": 32039,
34
+ "<patch_index_0025>": 32040,
35
+ "<patch_index_0026>": 32041,
36
+ "<patch_index_0027>": 32042,
37
+ "<patch_index_0028>": 32043,
38
+ "<patch_index_0029>": 32044,
39
+ "<patch_index_0030>": 32045,
40
+ "<patch_index_0031>": 32046,
41
+ "<patch_index_0032>": 32047,
42
+ "<patch_index_0033>": 32048,
43
+ "<patch_index_0034>": 32049,
44
+ "<patch_index_0035>": 32050,
45
+ "<patch_index_0036>": 32051,
46
+ "<patch_index_0037>": 32052,
47
+ "<patch_index_0038>": 32053,
48
+ "<patch_index_0039>": 32054,
49
+ "<patch_index_0040>": 32055,
50
+ "<patch_index_0041>": 32056,
51
+ "<patch_index_0042>": 32057,
52
+ "<patch_index_0043>": 32058,
53
+ "<patch_index_0044>": 32059,
54
+ "<patch_index_0045>": 32060,
55
+ "<patch_index_0046>": 32061,
56
+ "<patch_index_0047>": 32062,
57
+ "<patch_index_0048>": 32063,
58
+ "<patch_index_0049>": 32064,
59
+ "<patch_index_0050>": 32065,
60
+ "<patch_index_0051>": 32066,
61
+ "<patch_index_0052>": 32067,
62
+ "<patch_index_0053>": 32068,
63
+ "<patch_index_0054>": 32069,
64
+ "<patch_index_0055>": 32070,
65
+ "<patch_index_0056>": 32071,
66
+ "<patch_index_0057>": 32072,
67
+ "<patch_index_0058>": 32073,
68
+ "<patch_index_0059>": 32074,
69
+ "<patch_index_0060>": 32075,
70
+ "<patch_index_0061>": 32076,
71
+ "<patch_index_0062>": 32077,
72
+ "<patch_index_0063>": 32078,
73
+ "<patch_index_0064>": 32079,
74
+ "<patch_index_0065>": 32080,
75
+ "<patch_index_0066>": 32081,
76
+ "<patch_index_0067>": 32082,
77
+ "<patch_index_0068>": 32083,
78
+ "<patch_index_0069>": 32084,
79
+ "<patch_index_0070>": 32085,
80
+ "<patch_index_0071>": 32086,
81
+ "<patch_index_0072>": 32087,
82
+ "<patch_index_0073>": 32088,
83
+ "<patch_index_0074>": 32089,
84
+ "<patch_index_0075>": 32090,
85
+ "<patch_index_0076>": 32091,
86
+ "<patch_index_0077>": 32092,
87
+ "<patch_index_0078>": 32093,
88
+ "<patch_index_0079>": 32094,
89
+ "<patch_index_0080>": 32095,
90
+ "<patch_index_0081>": 32096,
91
+ "<patch_index_0082>": 32097,
92
+ "<patch_index_0083>": 32098,
93
+ "<patch_index_0084>": 32099,
94
+ "<patch_index_0085>": 32100,
95
+ "<patch_index_0086>": 32101,
96
+ "<patch_index_0087>": 32102,
97
+ "<patch_index_0088>": 32103,
98
+ "<patch_index_0089>": 32104,
99
+ "<patch_index_0090>": 32105,
100
+ "<patch_index_0091>": 32106,
101
+ "<patch_index_0092>": 32107,
102
+ "<patch_index_0093>": 32108,
103
+ "<patch_index_0094>": 32109,
104
+ "<patch_index_0095>": 32110,
105
+ "<patch_index_0096>": 32111,
106
+ "<patch_index_0097>": 32112,
107
+ "<patch_index_0098>": 32113,
108
+ "<patch_index_0099>": 32114,
109
+ "<patch_index_0100>": 32115,
110
+ "<patch_index_0101>": 32116,
111
+ "<patch_index_0102>": 32117,
112
+ "<patch_index_0103>": 32118,
113
+ "<patch_index_0104>": 32119,
114
+ "<patch_index_0105>": 32120,
115
+ "<patch_index_0106>": 32121,
116
+ "<patch_index_0107>": 32122,
117
+ "<patch_index_0108>": 32123,
118
+ "<patch_index_0109>": 32124,
119
+ "<patch_index_0110>": 32125,
120
+ "<patch_index_0111>": 32126,
121
+ "<patch_index_0112>": 32127,
122
+ "<patch_index_0113>": 32128,
123
+ "<patch_index_0114>": 32129,
124
+ "<patch_index_0115>": 32130,
125
+ "<patch_index_0116>": 32131,
126
+ "<patch_index_0117>": 32132,
127
+ "<patch_index_0118>": 32133,
128
+ "<patch_index_0119>": 32134,
129
+ "<patch_index_0120>": 32135,
130
+ "<patch_index_0121>": 32136,
131
+ "<patch_index_0122>": 32137,
132
+ "<patch_index_0123>": 32138,
133
+ "<patch_index_0124>": 32139,
134
+ "<patch_index_0125>": 32140,
135
+ "<patch_index_0126>": 32141,
136
+ "<patch_index_0127>": 32142,
137
+ "<patch_index_0128>": 32143,
138
+ "<patch_index_0129>": 32144,
139
+ "<patch_index_0130>": 32145,
140
+ "<patch_index_0131>": 32146,
141
+ "<patch_index_0132>": 32147,
142
+ "<patch_index_0133>": 32148,
143
+ "<patch_index_0134>": 32149,
144
+ "<patch_index_0135>": 32150,
145
+ "<patch_index_0136>": 32151,
146
+ "<patch_index_0137>": 32152,
147
+ "<patch_index_0138>": 32153,
148
+ "<patch_index_0139>": 32154,
149
+ "<patch_index_0140>": 32155,
150
+ "<patch_index_0141>": 32156,
151
+ "<patch_index_0142>": 32157,
152
+ "<patch_index_0143>": 32158,
153
+ "<patch_index_0144>": 32159,
154
+ "<patch_index_0145>": 32160,
155
+ "<patch_index_0146>": 32161,
156
+ "<patch_index_0147>": 32162,
157
+ "<patch_index_0148>": 32163,
158
+ "<patch_index_0149>": 32164,
159
+ "<patch_index_0150>": 32165,
160
+ "<patch_index_0151>": 32166,
161
+ "<patch_index_0152>": 32167,
162
+ "<patch_index_0153>": 32168,
163
+ "<patch_index_0154>": 32169,
164
+ "<patch_index_0155>": 32170,
165
+ "<patch_index_0156>": 32171,
166
+ "<patch_index_0157>": 32172,
167
+ "<patch_index_0158>": 32173,
168
+ "<patch_index_0159>": 32174,
169
+ "<patch_index_0160>": 32175,
170
+ "<patch_index_0161>": 32176,
171
+ "<patch_index_0162>": 32177,
172
+ "<patch_index_0163>": 32178,
173
+ "<patch_index_0164>": 32179,
174
+ "<patch_index_0165>": 32180,
175
+ "<patch_index_0166>": 32181,
176
+ "<patch_index_0167>": 32182,
177
+ "<patch_index_0168>": 32183,
178
+ "<patch_index_0169>": 32184,
179
+ "<patch_index_0170>": 32185,
180
+ "<patch_index_0171>": 32186,
181
+ "<patch_index_0172>": 32187,
182
+ "<patch_index_0173>": 32188,
183
+ "<patch_index_0174>": 32189,
184
+ "<patch_index_0175>": 32190,
185
+ "<patch_index_0176>": 32191,
186
+ "<patch_index_0177>": 32192,
187
+ "<patch_index_0178>": 32193,
188
+ "<patch_index_0179>": 32194,
189
+ "<patch_index_0180>": 32195,
190
+ "<patch_index_0181>": 32196,
191
+ "<patch_index_0182>": 32197,
192
+ "<patch_index_0183>": 32198,
193
+ "<patch_index_0184>": 32199,
194
+ "<patch_index_0185>": 32200,
195
+ "<patch_index_0186>": 32201,
196
+ "<patch_index_0187>": 32202,
197
+ "<patch_index_0188>": 32203,
198
+ "<patch_index_0189>": 32204,
199
+ "<patch_index_0190>": 32205,
200
+ "<patch_index_0191>": 32206,
201
+ "<patch_index_0192>": 32207,
202
+ "<patch_index_0193>": 32208,
203
+ "<patch_index_0194>": 32209,
204
+ "<patch_index_0195>": 32210,
205
+ "<patch_index_0196>": 32211,
206
+ "<patch_index_0197>": 32212,
207
+ "<patch_index_0198>": 32213,
208
+ "<patch_index_0199>": 32214,
209
+ "<patch_index_0200>": 32215,
210
+ "<patch_index_0201>": 32216,
211
+ "<patch_index_0202>": 32217,
212
+ "<patch_index_0203>": 32218,
213
+ "<patch_index_0204>": 32219,
214
+ "<patch_index_0205>": 32220,
215
+ "<patch_index_0206>": 32221,
216
+ "<patch_index_0207>": 32222,
217
+ "<patch_index_0208>": 32223,
218
+ "<patch_index_0209>": 32224,
219
+ "<patch_index_0210>": 32225,
220
+ "<patch_index_0211>": 32226,
221
+ "<patch_index_0212>": 32227,
222
+ "<patch_index_0213>": 32228,
223
+ "<patch_index_0214>": 32229,
224
+ "<patch_index_0215>": 32230,
225
+ "<patch_index_0216>": 32231,
226
+ "<patch_index_0217>": 32232,
227
+ "<patch_index_0218>": 32233,
228
+ "<patch_index_0219>": 32234,
229
+ "<patch_index_0220>": 32235,
230
+ "<patch_index_0221>": 32236,
231
+ "<patch_index_0222>": 32237,
232
+ "<patch_index_0223>": 32238,
233
+ "<patch_index_0224>": 32239,
234
+ "<patch_index_0225>": 32240,
235
+ "<patch_index_0226>": 32241,
236
+ "<patch_index_0227>": 32242,
237
+ "<patch_index_0228>": 32243,
238
+ "<patch_index_0229>": 32244,
239
+ "<patch_index_0230>": 32245,
240
+ "<patch_index_0231>": 32246,
241
+ "<patch_index_0232>": 32247,
242
+ "<patch_index_0233>": 32248,
243
+ "<patch_index_0234>": 32249,
244
+ "<patch_index_0235>": 32250,
245
+ "<patch_index_0236>": 32251,
246
+ "<patch_index_0237>": 32252,
247
+ "<patch_index_0238>": 32253,
248
+ "<patch_index_0239>": 32254,
249
+ "<patch_index_0240>": 32255,
250
+ "<patch_index_0241>": 32256,
251
+ "<patch_index_0242>": 32257,
252
+ "<patch_index_0243>": 32258,
253
+ "<patch_index_0244>": 32259,
254
+ "<patch_index_0245>": 32260,
255
+ "<patch_index_0246>": 32261,
256
+ "<patch_index_0247>": 32262,
257
+ "<patch_index_0248>": 32263,
258
+ "<patch_index_0249>": 32264,
259
+ "<patch_index_0250>": 32265,
260
+ "<patch_index_0251>": 32266,
261
+ "<patch_index_0252>": 32267,
262
+ "<patch_index_0253>": 32268,
263
+ "<patch_index_0254>": 32269,
264
+ "<patch_index_0255>": 32270,
265
+ "<patch_index_0256>": 32271,
266
+ "<phrase>": 32009,
267
+ "[/IMG]": 32002,
268
+ "[/gIMG]": 32005,
269
+ "[EOC]": 32006,
270
+ "[IMG]": 32001,
271
+ "[PAD]": 32000,
272
+ "[VIDEO]": 32007,
273
+ "[gIMG]": 32004
274
+ }
diffusion-decoder/tokenizer/special_tokens_map.json ADDED
@@ -0,0 +1,285 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "additional_special_tokens": [
3
+ "[IMG]",
4
+ "[/IMG]",
5
+ "<image>",
6
+ "[gIMG]",
7
+ "[/gIMG]",
8
+ "[EOC]",
9
+ "[VIDEO]",
10
+ "<grounding>",
11
+ "<phrase>",
12
+ "</phrase>",
13
+ "<object>",
14
+ "</object>",
15
+ "</delimiter_of_multi_objects/>",
16
+ "<REC>",
17
+ "<patch_index_0000>",
18
+ "<patch_index_0001>",
19
+ "<patch_index_0002>",
20
+ "<patch_index_0003>",
21
+ "<patch_index_0004>",
22
+ "<patch_index_0005>",
23
+ "<patch_index_0006>",
24
+ "<patch_index_0007>",
25
+ "<patch_index_0008>",
26
+ "<patch_index_0009>",
27
+ "<patch_index_0010>",
28
+ "<patch_index_0011>",
29
+ "<patch_index_0012>",
30
+ "<patch_index_0013>",
31
+ "<patch_index_0014>",
32
+ "<patch_index_0015>",
33
+ "<patch_index_0016>",
34
+ "<patch_index_0017>",
35
+ "<patch_index_0018>",
36
+ "<patch_index_0019>",
37
+ "<patch_index_0020>",
38
+ "<patch_index_0021>",
39
+ "<patch_index_0022>",
40
+ "<patch_index_0023>",
41
+ "<patch_index_0024>",
42
+ "<patch_index_0025>",
43
+ "<patch_index_0026>",
44
+ "<patch_index_0027>",
45
+ "<patch_index_0028>",
46
+ "<patch_index_0029>",
47
+ "<patch_index_0030>",
48
+ "<patch_index_0031>",
49
+ "<patch_index_0032>",
50
+ "<patch_index_0033>",
51
+ "<patch_index_0034>",
52
+ "<patch_index_0035>",
53
+ "<patch_index_0036>",
54
+ "<patch_index_0037>",
55
+ "<patch_index_0038>",
56
+ "<patch_index_0039>",
57
+ "<patch_index_0040>",
58
+ "<patch_index_0041>",
59
+ "<patch_index_0042>",
60
+ "<patch_index_0043>",
61
+ "<patch_index_0044>",
62
+ "<patch_index_0045>",
63
+ "<patch_index_0046>",
64
+ "<patch_index_0047>",
65
+ "<patch_index_0048>",
66
+ "<patch_index_0049>",
67
+ "<patch_index_0050>",
68
+ "<patch_index_0051>",
69
+ "<patch_index_0052>",
70
+ "<patch_index_0053>",
71
+ "<patch_index_0054>",
72
+ "<patch_index_0055>",
73
+ "<patch_index_0056>",
74
+ "<patch_index_0057>",
75
+ "<patch_index_0058>",
76
+ "<patch_index_0059>",
77
+ "<patch_index_0060>",
78
+ "<patch_index_0061>",
79
+ "<patch_index_0062>",
80
+ "<patch_index_0063>",
81
+ "<patch_index_0064>",
82
+ "<patch_index_0065>",
83
+ "<patch_index_0066>",
84
+ "<patch_index_0067>",
85
+ "<patch_index_0068>",
86
+ "<patch_index_0069>",
87
+ "<patch_index_0070>",
88
+ "<patch_index_0071>",
89
+ "<patch_index_0072>",
90
+ "<patch_index_0073>",
91
+ "<patch_index_0074>",
92
+ "<patch_index_0075>",
93
+ "<patch_index_0076>",
94
+ "<patch_index_0077>",
95
+ "<patch_index_0078>",
96
+ "<patch_index_0079>",
97
+ "<patch_index_0080>",
98
+ "<patch_index_0081>",
99
+ "<patch_index_0082>",
100
+ "<patch_index_0083>",
101
+ "<patch_index_0084>",
102
+ "<patch_index_0085>",
103
+ "<patch_index_0086>",
104
+ "<patch_index_0087>",
105
+ "<patch_index_0088>",
106
+ "<patch_index_0089>",
107
+ "<patch_index_0090>",
108
+ "<patch_index_0091>",
109
+ "<patch_index_0092>",
110
+ "<patch_index_0093>",
111
+ "<patch_index_0094>",
112
+ "<patch_index_0095>",
113
+ "<patch_index_0096>",
114
+ "<patch_index_0097>",
115
+ "<patch_index_0098>",
116
+ "<patch_index_0099>",
117
+ "<patch_index_0100>",
118
+ "<patch_index_0101>",
119
+ "<patch_index_0102>",
120
+ "<patch_index_0103>",
121
+ "<patch_index_0104>",
122
+ "<patch_index_0105>",
123
+ "<patch_index_0106>",
124
+ "<patch_index_0107>",
125
+ "<patch_index_0108>",
126
+ "<patch_index_0109>",
127
+ "<patch_index_0110>",
128
+ "<patch_index_0111>",
129
+ "<patch_index_0112>",
130
+ "<patch_index_0113>",
131
+ "<patch_index_0114>",
132
+ "<patch_index_0115>",
133
+ "<patch_index_0116>",
134
+ "<patch_index_0117>",
135
+ "<patch_index_0118>",
136
+ "<patch_index_0119>",
137
+ "<patch_index_0120>",
138
+ "<patch_index_0121>",
139
+ "<patch_index_0122>",
140
+ "<patch_index_0123>",
141
+ "<patch_index_0124>",
142
+ "<patch_index_0125>",
143
+ "<patch_index_0126>",
144
+ "<patch_index_0127>",
145
+ "<patch_index_0128>",
146
+ "<patch_index_0129>",
147
+ "<patch_index_0130>",
148
+ "<patch_index_0131>",
149
+ "<patch_index_0132>",
150
+ "<patch_index_0133>",
151
+ "<patch_index_0134>",
152
+ "<patch_index_0135>",
153
+ "<patch_index_0136>",
154
+ "<patch_index_0137>",
155
+ "<patch_index_0138>",
156
+ "<patch_index_0139>",
157
+ "<patch_index_0140>",
158
+ "<patch_index_0141>",
159
+ "<patch_index_0142>",
160
+ "<patch_index_0143>",
161
+ "<patch_index_0144>",
162
+ "<patch_index_0145>",
163
+ "<patch_index_0146>",
164
+ "<patch_index_0147>",
165
+ "<patch_index_0148>",
166
+ "<patch_index_0149>",
167
+ "<patch_index_0150>",
168
+ "<patch_index_0151>",
169
+ "<patch_index_0152>",
170
+ "<patch_index_0153>",
171
+ "<patch_index_0154>",
172
+ "<patch_index_0155>",
173
+ "<patch_index_0156>",
174
+ "<patch_index_0157>",
175
+ "<patch_index_0158>",
176
+ "<patch_index_0159>",
177
+ "<patch_index_0160>",
178
+ "<patch_index_0161>",
179
+ "<patch_index_0162>",
180
+ "<patch_index_0163>",
181
+ "<patch_index_0164>",
182
+ "<patch_index_0165>",
183
+ "<patch_index_0166>",
184
+ "<patch_index_0167>",
185
+ "<patch_index_0168>",
186
+ "<patch_index_0169>",
187
+ "<patch_index_0170>",
188
+ "<patch_index_0171>",
189
+ "<patch_index_0172>",
190
+ "<patch_index_0173>",
191
+ "<patch_index_0174>",
192
+ "<patch_index_0175>",
193
+ "<patch_index_0176>",
194
+ "<patch_index_0177>",
195
+ "<patch_index_0178>",
196
+ "<patch_index_0179>",
197
+ "<patch_index_0180>",
198
+ "<patch_index_0181>",
199
+ "<patch_index_0182>",
200
+ "<patch_index_0183>",
201
+ "<patch_index_0184>",
202
+ "<patch_index_0185>",
203
+ "<patch_index_0186>",
204
+ "<patch_index_0187>",
205
+ "<patch_index_0188>",
206
+ "<patch_index_0189>",
207
+ "<patch_index_0190>",
208
+ "<patch_index_0191>",
209
+ "<patch_index_0192>",
210
+ "<patch_index_0193>",
211
+ "<patch_index_0194>",
212
+ "<patch_index_0195>",
213
+ "<patch_index_0196>",
214
+ "<patch_index_0197>",
215
+ "<patch_index_0198>",
216
+ "<patch_index_0199>",
217
+ "<patch_index_0200>",
218
+ "<patch_index_0201>",
219
+ "<patch_index_0202>",
220
+ "<patch_index_0203>",
221
+ "<patch_index_0204>",
222
+ "<patch_index_0205>",
223
+ "<patch_index_0206>",
224
+ "<patch_index_0207>",
225
+ "<patch_index_0208>",
226
+ "<patch_index_0209>",
227
+ "<patch_index_0210>",
228
+ "<patch_index_0211>",
229
+ "<patch_index_0212>",
230
+ "<patch_index_0213>",
231
+ "<patch_index_0214>",
232
+ "<patch_index_0215>",
233
+ "<patch_index_0216>",
234
+ "<patch_index_0217>",
235
+ "<patch_index_0218>",
236
+ "<patch_index_0219>",
237
+ "<patch_index_0220>",
238
+ "<patch_index_0221>",
239
+ "<patch_index_0222>",
240
+ "<patch_index_0223>",
241
+ "<patch_index_0224>",
242
+ "<patch_index_0225>",
243
+ "<patch_index_0226>",
244
+ "<patch_index_0227>",
245
+ "<patch_index_0228>",
246
+ "<patch_index_0229>",
247
+ "<patch_index_0230>",
248
+ "<patch_index_0231>",
249
+ "<patch_index_0232>",
250
+ "<patch_index_0233>",
251
+ "<patch_index_0234>",
252
+ "<patch_index_0235>",
253
+ "<patch_index_0236>",
254
+ "<patch_index_0237>",
255
+ "<patch_index_0238>",
256
+ "<patch_index_0239>",
257
+ "<patch_index_0240>",
258
+ "<patch_index_0241>",
259
+ "<patch_index_0242>",
260
+ "<patch_index_0243>",
261
+ "<patch_index_0244>",
262
+ "<patch_index_0245>",
263
+ "<patch_index_0246>",
264
+ "<patch_index_0247>",
265
+ "<patch_index_0248>",
266
+ "<patch_index_0249>",
267
+ "<patch_index_0250>",
268
+ "<patch_index_0251>",
269
+ "<patch_index_0252>",
270
+ "<patch_index_0253>",
271
+ "<patch_index_0254>",
272
+ "<patch_index_0255>",
273
+ "<patch_index_0256>"
274
+ ],
275
+ "bos_token": "<s>",
276
+ "eos_token": "</s>",
277
+ "pad_token": "[PAD]",
278
+ "unk_token": {
279
+ "content": "<unk>",
280
+ "lstrip": false,
281
+ "normalized": true,
282
+ "rstrip": false,
283
+ "single_word": false
284
+ }
285
+ }
diffusion-decoder/tokenizer/tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
diffusion-decoder/tokenizer/tokenizer.model ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9e556afd44213b6bd1be2b850ebbbd98f5481437a8021afaf58ee7fb1818d347
3
+ size 499723
diffusion-decoder/tokenizer/tokenizer_config.json ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_bos_token": true,
3
+ "add_eos_token": false,
4
+ "bos_token": {
5
+ "__type": "AddedToken",
6
+ "content": "<s>",
7
+ "lstrip": false,
8
+ "normalized": true,
9
+ "rstrip": false,
10
+ "single_word": false
11
+ },
12
+ "clean_up_tokenization_spaces": false,
13
+ "eos_token": {
14
+ "__type": "AddedToken",
15
+ "content": "</s>",
16
+ "lstrip": false,
17
+ "normalized": true,
18
+ "rstrip": false,
19
+ "single_word": false
20
+ },
21
+ "legacy": true,
22
+ "model_max_length": 1000000000000000019884624838656,
23
+ "pad_token": null,
24
+ "sp_model_kwargs": {},
25
+ "tokenizer_class": "LlamaTokenizer",
26
+ "unk_token": {
27
+ "__type": "AddedToken",
28
+ "content": "<unk>",
29
+ "lstrip": false,
30
+ "normalized": true,
31
+ "rstrip": false,
32
+ "single_word": false
33
+ }
34
+ }
diffusion-decoder/unet/config.json ADDED
@@ -0,0 +1,72 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_class_name": "UNet2DConditionModel",
3
+ "_diffusers_version": "0.21.2",
4
+ "_name_or_path": "/share/project/quansun/release_hf/Emu2-VisualGeneration/unet",
5
+ "act_fn": "silu",
6
+ "addition_embed_type": "text_time",
7
+ "addition_embed_type_num_heads": 64,
8
+ "addition_time_embed_dim": 256,
9
+ "attention_head_dim": [
10
+ 5,
11
+ 10,
12
+ 20
13
+ ],
14
+ "attention_type": "default",
15
+ "block_out_channels": [
16
+ 320,
17
+ 640,
18
+ 1280
19
+ ],
20
+ "center_input_sample": false,
21
+ "class_embed_type": null,
22
+ "class_embeddings_concat": false,
23
+ "conv_in_kernel": 3,
24
+ "conv_out_kernel": 3,
25
+ "cross_attention_dim": 1792,
26
+ "cross_attention_norm": null,
27
+ "down_block_types": [
28
+ "DownBlock2D",
29
+ "CrossAttnDownBlock2D",
30
+ "CrossAttnDownBlock2D"
31
+ ],
32
+ "downsample_padding": 1,
33
+ "dropout": 0.0,
34
+ "dual_cross_attention": false,
35
+ "encoder_hid_dim": null,
36
+ "encoder_hid_dim_type": null,
37
+ "flip_sin_to_cos": true,
38
+ "freq_shift": 0,
39
+ "in_channels": 4,
40
+ "layers_per_block": 2,
41
+ "mid_block_only_cross_attention": null,
42
+ "mid_block_scale_factor": 1,
43
+ "mid_block_type": "UNetMidBlock2DCrossAttn",
44
+ "norm_eps": 1e-05,
45
+ "norm_num_groups": 32,
46
+ "num_attention_heads": null,
47
+ "num_class_embeds": null,
48
+ "only_cross_attention": false,
49
+ "out_channels": 4,
50
+ "projection_class_embeddings_input_dim": 3328,
51
+ "resnet_out_scale_factor": 1.0,
52
+ "resnet_skip_time_act": false,
53
+ "resnet_time_scale_shift": "default",
54
+ "sample_size": 128,
55
+ "time_cond_proj_dim": null,
56
+ "time_embedding_act_fn": null,
57
+ "time_embedding_dim": null,
58
+ "time_embedding_type": "positional",
59
+ "timestep_post_act": null,
60
+ "transformer_layers_per_block": [
61
+ 1,
62
+ 2,
63
+ 10
64
+ ],
65
+ "up_block_types": [
66
+ "CrossAttnUpBlock2D",
67
+ "CrossAttnUpBlock2D",
68
+ "UpBlock2D"
69
+ ],
70
+ "upcast_attention": null,
71
+ "use_linear_projection": true
72
+ }
diffusion-decoder/unet/diffusion_pytorch_model.bf16.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:67215fe9e8e24202651fce2ff72203d21bdb7986a88ec062f72cc94f6040a314
3
+ size 5051265352
diffusion-decoder/vae/config.json ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_class_name": "AutoencoderKL",
3
+ "_diffusers_version": "0.21.2",
4
+ "_name_or_path": "/share/project/quansun/release_hf/Emu2-VisualGeneration/vae",
5
+ "act_fn": "silu",
6
+ "block_out_channels": [
7
+ 128,
8
+ 256,
9
+ 512,
10
+ 512
11
+ ],
12
+ "down_block_types": [
13
+ "DownEncoderBlock2D",
14
+ "DownEncoderBlock2D",
15
+ "DownEncoderBlock2D",
16
+ "DownEncoderBlock2D"
17
+ ],
18
+ "force_upcast": true,
19
+ "in_channels": 3,
20
+ "latent_channels": 4,
21
+ "layers_per_block": 2,
22
+ "norm_num_groups": 32,
23
+ "out_channels": 3,
24
+ "sample_size": 1024,
25
+ "scaling_factor": 0.13025,
26
+ "up_block_types": [
27
+ "UpDecoderBlock2D",
28
+ "UpDecoderBlock2D",
29
+ "UpDecoderBlock2D",
30
+ "UpDecoderBlock2D"
31
+ ]
32
+ }
diffusion-decoder/vae/diffusion_pytorch_model.bf16.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2741af7e84fe3b0a7aee02f89fa34c0858ed55f5782aab5931b94938983652da
3
+ size 167335590
gen_projector.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8d7bf359cbb7138122aa5806ccbe833e84aae0afb5819800ec61eff6335937cb
3
+ size 888
generation_config.json ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "attn_implementation": "flash_attention_2",
3
+ "bos_token_id": 151643,
4
+ "do_sample": true,
5
+ "eos_token_id": [
6
+ 151645,
7
+ 151643
8
+ ],
9
+ "pad_token_id": 151643,
10
+ "repetition_penalty": 1.05,
11
+ "temperature": 0.1,
12
+ "top_k": 1,
13
+ "top_p": 0.001,
14
+ "transformers_version": "4.51.3"
15
+ }
merges.txt ADDED
The diff for this file is too large to render. See raw diff
 
mm_projector.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4dbaf2a09476ea319c963f13ad7a70bbe28df899a5c534573e25296866f71bb3
3
+ size 884
model-00001-of-00006.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5e4f16665bb1fb4986994686548ff424ff388dbd4c6905a2006dbc0b7127a221
3
+ size 4965863624
model-00002-of-00006.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b1830db6908dcc76df3a71492acbcf2b8cac130114cf1f3c2d9edae8de8c6de3
3
+ size 4991495816
model-00003-of-00006.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:09c1807c6d00d7cab94f7db39d4c02ebb8537225ccde383861ac48db97945aa6
3
+ size 4932751040
model-00004-of-00006.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:295c05b26a888026ee2cbb7bc4f166b5da96418ea852fe5b8d62325a8229b132
3
+ size 4980806040
model-00005-of-00006.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c36d8fbf8aec0a05db5daa591506af49d7404ed65f78e8586163f24991650639
3
+ size 4993507000
model-00006-of-00006.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:badcd6caa7afb4814ad340ade75512362f47fd84443d0d52fe29ea9cf193d107
3
+ size 3313065166
model.safetensors.index.json ADDED
The diff for this file is too large to render. See raw diff
 
results.jsonl ADDED
The diff for this file is too large to render. See raw diff
 
special_tokens_map.json ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "additional_special_tokens": [
3
+ "[IMG]",
4
+ "[/IMG]",
5
+ "<image>"
6
+ ],
7
+ "eos_token": {
8
+ "content": "<|im_end|>",
9
+ "lstrip": false,
10
+ "normalized": false,
11
+ "rstrip": false,
12
+ "single_word": false
13
+ },
14
+ "pad_token": {
15
+ "content": "<|endoftext|>",
16
+ "lstrip": false,
17
+ "normalized": false,
18
+ "rstrip": false,
19
+ "single_word": false
20
+ }
21
+ }
tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:14f9ab052ece9afe1180aba8c156a452edb1b6610b4128668707c700acd43674
3
+ size 11422445
tokenizer_config.json ADDED
@@ -0,0 +1,222 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_bos_token": false,
3
+ "add_prefix_space": false,
4
+ "added_tokens_decoder": {
5
+ "151643": {
6
+ "content": "<|endoftext|>",
7
+ "lstrip": false,
8
+ "normalized": false,
9
+ "rstrip": false,
10
+ "single_word": false,
11
+ "special": true
12
+ },
13
+ "151644": {
14
+ "content": "<|im_start|>",
15
+ "lstrip": false,
16
+ "normalized": false,
17
+ "rstrip": false,
18
+ "single_word": false,
19
+ "special": true
20
+ },
21
+ "151645": {
22
+ "content": "<|im_end|>",
23
+ "lstrip": false,
24
+ "normalized": false,
25
+ "rstrip": false,
26
+ "single_word": false,
27
+ "special": true
28
+ },
29
+ "151646": {
30
+ "content": "<|object_ref_start|>",
31
+ "lstrip": false,
32
+ "normalized": false,
33
+ "rstrip": false,
34
+ "single_word": false,
35
+ "special": true
36
+ },
37
+ "151647": {
38
+ "content": "<|object_ref_end|>",
39
+ "lstrip": false,
40
+ "normalized": false,
41
+ "rstrip": false,
42
+ "single_word": false,
43
+ "special": true
44
+ },
45
+ "151648": {
46
+ "content": "<|box_start|>",
47
+ "lstrip": false,
48
+ "normalized": false,
49
+ "rstrip": false,
50
+ "single_word": false,
51
+ "special": true
52
+ },
53
+ "151649": {
54
+ "content": "<|box_end|>",
55
+ "lstrip": false,
56
+ "normalized": false,
57
+ "rstrip": false,
58
+ "single_word": false,
59
+ "special": true
60
+ },
61
+ "151650": {
62
+ "content": "<|quad_start|>",
63
+ "lstrip": false,
64
+ "normalized": false,
65
+ "rstrip": false,
66
+ "single_word": false,
67
+ "special": true
68
+ },
69
+ "151651": {
70
+ "content": "<|quad_end|>",
71
+ "lstrip": false,
72
+ "normalized": false,
73
+ "rstrip": false,
74
+ "single_word": false,
75
+ "special": true
76
+ },
77
+ "151652": {
78
+ "content": "<|vision_start|>",
79
+ "lstrip": false,
80
+ "normalized": false,
81
+ "rstrip": false,
82
+ "single_word": false,
83
+ "special": true
84
+ },
85
+ "151653": {
86
+ "content": "<|vision_end|>",
87
+ "lstrip": false,
88
+ "normalized": false,
89
+ "rstrip": false,
90
+ "single_word": false,
91
+ "special": true
92
+ },
93
+ "151654": {
94
+ "content": "<|vision_pad|>",
95
+ "lstrip": false,
96
+ "normalized": false,
97
+ "rstrip": false,
98
+ "single_word": false,
99
+ "special": true
100
+ },
101
+ "151655": {
102
+ "content": "<|image_pad|>",
103
+ "lstrip": false,
104
+ "normalized": false,
105
+ "rstrip": false,
106
+ "single_word": false,
107
+ "special": true
108
+ },
109
+ "151656": {
110
+ "content": "<|video_pad|>",
111
+ "lstrip": false,
112
+ "normalized": false,
113
+ "rstrip": false,
114
+ "single_word": false,
115
+ "special": true
116
+ },
117
+ "151657": {
118
+ "content": "<tool_call>",
119
+ "lstrip": false,
120
+ "normalized": false,
121
+ "rstrip": false,
122
+ "single_word": false,
123
+ "special": false
124
+ },
125
+ "151658": {
126
+ "content": "</tool_call>",
127
+ "lstrip": false,
128
+ "normalized": false,
129
+ "rstrip": false,
130
+ "single_word": false,
131
+ "special": false
132
+ },
133
+ "151659": {
134
+ "content": "<|fim_prefix|>",
135
+ "lstrip": false,
136
+ "normalized": false,
137
+ "rstrip": false,
138
+ "single_word": false,
139
+ "special": false
140
+ },
141
+ "151660": {
142
+ "content": "<|fim_middle|>",
143
+ "lstrip": false,
144
+ "normalized": false,
145
+ "rstrip": false,
146
+ "single_word": false,
147
+ "special": false
148
+ },
149
+ "151661": {
150
+ "content": "<|fim_suffix|>",
151
+ "lstrip": false,
152
+ "normalized": false,
153
+ "rstrip": false,
154
+ "single_word": false,
155
+ "special": false
156
+ },
157
+ "151662": {
158
+ "content": "<|fim_pad|>",
159
+ "lstrip": false,
160
+ "normalized": false,
161
+ "rstrip": false,
162
+ "single_word": false,
163
+ "special": false
164
+ },
165
+ "151663": {
166
+ "content": "<|repo_name|>",
167
+ "lstrip": false,
168
+ "normalized": false,
169
+ "rstrip": false,
170
+ "single_word": false,
171
+ "special": false
172
+ },
173
+ "151664": {
174
+ "content": "<|file_sep|>",
175
+ "lstrip": false,
176
+ "normalized": false,
177
+ "rstrip": false,
178
+ "single_word": false,
179
+ "special": false
180
+ },
181
+ "151665": {
182
+ "content": "[IMG]",
183
+ "lstrip": false,
184
+ "normalized": false,
185
+ "rstrip": false,
186
+ "single_word": false,
187
+ "special": true
188
+ },
189
+ "151666": {
190
+ "content": "[/IMG]",
191
+ "lstrip": false,
192
+ "normalized": false,
193
+ "rstrip": false,
194
+ "single_word": false,
195
+ "special": true
196
+ },
197
+ "151667": {
198
+ "content": "<image>",
199
+ "lstrip": false,
200
+ "normalized": false,
201
+ "rstrip": false,
202
+ "single_word": false,
203
+ "special": true
204
+ }
205
+ },
206
+ "additional_special_tokens": [
207
+ "[IMG]",
208
+ "[/IMG]",
209
+ "<image>"
210
+ ],
211
+ "bos_token": null,
212
+ "chat_template": "{%- if tools %}\n {{- '<|im_start|>system\\n' }}\n {%- if messages[0]['role'] == 'system' %}\n {{- messages[0]['content'] }}\n {%- else %}\n {{- 'You are a helpful assistant.' }}\n {%- endif %}\n {{- \"\\n\\n# Tools\\n\\nYou may call one or more functions to assist with the user query.\\n\\nYou are provided with function signatures within <tools></tools> XML tags:\\n<tools>\" }}\n {%- for tool in tools %}\n {{- \"\\n\" }}\n {{- tool | tojson }}\n {%- endfor %}\n {{- \"\\n</tools>\\n\\nFor each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:\\n<tool_call>\\n{\\\"name\\\": <function-name>, \\\"arguments\\\": <args-json-object>}\\n</tool_call><|im_end|>\\n\" }}\n{%- else %}\n {%- if messages[0]['role'] == 'system' %}\n {{- '<|im_start|>system\\n' + messages[0]['content'] + '<|im_end|>\\n' }}\n {%- else %}\n {{- '<|im_start|>system\\nYou are a helpful assistant.<|im_end|>\\n' }}\n {%- endif %}\n{%- endif %}\n{%- for message in messages %}\n {%- if (message.role == \"user\") or (message.role == \"system\" and not loop.first) or (message.role == \"assistant\" and not message.tool_calls) %}\n {{- '<|im_start|>' + message.role + '\\n' + message.content + '<|im_end|>' + '\\n' }}\n {%- elif message.role == \"assistant\" %}\n {{- '<|im_start|>' + message.role }}\n {%- if message.content %}\n {{- '\\n' + message.content }}\n {%- endif %}\n {%- for tool_call in message.tool_calls %}\n {%- if tool_call.function is defined %}\n {%- set tool_call = tool_call.function %}\n {%- endif %}\n {{- '\\n<tool_call>\\n{\"name\": \"' }}\n {{- tool_call.name }}\n {{- '\", \"arguments\": ' }}\n {{- tool_call.arguments | tojson }}\n {{- '}\\n</tool_call>' }}\n {%- endfor %}\n {{- '<|im_end|>\\n' }}\n {%- elif message.role == \"tool\" %}\n {%- if (loop.index0 == 0) or (messages[loop.index0 - 1].role != \"tool\") %}\n {{- '<|im_start|>user' }}\n {%- endif %}\n {{- '\\n<tool_response>\\n' }}\n {{- message.content }}\n {{- '\\n</tool_response>' }}\n {%- if loop.last or (messages[loop.index0 + 1].role != \"tool\") %}\n {{- '<|im_end|>\\n' }}\n {%- endif %}\n {%- endif %}\n{%- endfor %}\n{%- if add_generation_prompt %}\n {{- '<|im_start|>assistant\\n' }}\n{%- endif %}\n",
213
+ "clean_up_tokenization_spaces": false,
214
+ "eos_token": "<|im_end|>",
215
+ "errors": "replace",
216
+ "extra_special_tokens": {},
217
+ "model_max_length": 512,
218
+ "pad_token": "<|endoftext|>",
219
+ "split_special_tokens": false,
220
+ "tokenizer_class": "Qwen2Tokenizer",
221
+ "unk_token": null
222
+ }
trainer_state.json ADDED
The diff for this file is too large to render. See raw diff
 
training_args.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0c23d9d84e1fa554f76ecbadd643d84a84a89aa5a6c6b2514ae8e46bfa091c4b
3
+ size 7352
vocab.json ADDED
The diff for this file is too large to render. See raw diff
 
wise/1.png ADDED

Git LFS Details

  • SHA256: 367e5e2ede8bf50d565a74bea5ff2af9f1e4ddb5348f7c22ae824626f69b09da
  • Pointer size: 132 Bytes
  • Size of remote file: 1.32 MB
wise/10.png ADDED

Git LFS Details

  • SHA256: f664c5a07c44d53e27c4f8d67ae9479f0618550df0aa18dc910b3e48e8362a1d
  • Pointer size: 132 Bytes
  • Size of remote file: 1.4 MB
wise/100.png ADDED

Git LFS Details

  • SHA256: 14db6ddc9d332888566800a6d13ec21b004ae8804df51704b31727358a7686ce
  • Pointer size: 132 Bytes
  • Size of remote file: 1.72 MB
wise/1000.png ADDED

Git LFS Details

  • SHA256: 4d1c3a012889d241b1a7091dfe7c2c8e13aa13b97bef7e88386e5009dd006a31
  • Pointer size: 131 Bytes
  • Size of remote file: 924 kB
wise/101.png ADDED

Git LFS Details

  • SHA256: a7d861cb9e2c2615ec89a8ca9ef0fc5bd0357895ddc0b0dedd7ff76b65be3357
  • Pointer size: 132 Bytes
  • Size of remote file: 1.6 MB
wise/102.png ADDED

Git LFS Details

  • SHA256: 59d34df09fa4a6930cc2d544a65d992f584317f2e525299e358a7b9663fc7019
  • Pointer size: 132 Bytes
  • Size of remote file: 1.22 MB
wise/103.png ADDED

Git LFS Details

  • SHA256: acadf179fa2904cefe912962466666f5d75ad11a42905d93d680a7d179d4a5f7
  • Pointer size: 132 Bytes
  • Size of remote file: 1.68 MB
wise/104.png ADDED

Git LFS Details

  • SHA256: 17c8a1fb1d1d395ccc69d89f436d1f5d665475ffd3040eb8b81acf1fb3bd7657
  • Pointer size: 132 Bytes
  • Size of remote file: 1.13 MB
wise/105.png ADDED

Git LFS Details

  • SHA256: 64452cb80f3ecd06c87ace728c4d4496fe2a52f6abe494ed177f97e6c0c84ad0
  • Pointer size: 132 Bytes
  • Size of remote file: 1.1 MB
wise/106.png ADDED

Git LFS Details

  • SHA256: ae189679fda6f57dc09b1c740e7d6c092f2e503fdfd6597d3707b0e6a8390b46
  • Pointer size: 132 Bytes
  • Size of remote file: 1.79 MB