Natthaphon commited on
Commit
e9ca5bf
1 Parent(s): a53cb58
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ tokenizer.json filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ tags:
3
+ - image-to-text
4
+ - image-captioning
5
+ language:
6
+ - th
7
+ ---
8
+ # Thai Image Captioning
9
+ Encoder-decoder style image captioning model using [CLIP encoder](https://huggingface.co/openai/clip-vit-base-patch32) and [PhayathaiBert](https://huggingface.co/clicknext/phayathaibert). Trained on Thai language MSCOCO and IPU24 dataset.
10
+
11
+ # Usage
12
+
13
+ Use `AutoModel` to load it. Requires `trust_remote_code=True`.
14
+ ```python
15
+ from transformers import AutoModel, AutoImageProcessor, AutoTokenizer
16
+ device = 'cuda'
17
+ gen_kwargs = {"max_length": 120, "num_beams": 4}
18
+ model_path = 'Natthaphon/thaicapgen-clip-gpt2'
19
+ feature_extractor = AutoImageProcessor.from_pretrained(model_path)
20
+ tokenizer = AutoTokenizer.from_pretrained(model_path)
21
+ model = AutoModel.from_pretrained(model_path, trust_remote_code=True).to(device)
22
+ pixel_values = feature_extractor(images=[Image.open(image_path)], return_tensors="pt").pixel_values
23
+ pixel_values = pixel_values.to(device)
24
+ output_ids = model.generate(pixel_values, **gen_kwargs)
25
+ preds = tokenizer.batch_decode(output_ids, skip_special_tokens=True)
26
+ ```
27
+
28
+ # Acknowledgement
29
+ This work is partially supported by the Program Management Unit for Human Resources & Institutional Development, Research and Innovation (PMU-B) [Grant number B04G640107]
added_tokens.json ADDED
@@ -0,0 +1,837 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "‼": 248733,
3
+ "⁉": 248850,
4
+ "⌛": 248707,
5
+ "⌨": 248450,
6
+ "⏏": 248572,
7
+ "⏫": 248890,
8
+ "⏭": 249212,
9
+ "⏮": 248920,
10
+ "⏯": 248576,
11
+ "⏲": 248922,
12
+ "⏸": 249193,
13
+ "⏹": 249213,
14
+ "Ⓜ": 248957,
15
+ "♉": 248638,
16
+ "♊": 248741,
17
+ "♌": 249062,
18
+ "♍": 248609,
19
+ "♎": 248611,
20
+ "♏": 249129,
21
+ "♑": 248994,
22
+ "♓": 248790,
23
+ "♾": 248725,
24
+ "♿": 248454,
25
+ "⚒": 248845,
26
+ "⚖": 248534,
27
+ "⚗": 248943,
28
+ "⚙": 248676,
29
+ "⚛": 248761,
30
+ "⚧": 248971,
31
+ "⚰": 248930,
32
+ "⚱": 249010,
33
+ "⛈": 249232,
34
+ "⛎": 248516,
35
+ "⛏": 248490,
36
+ "⛑": 248575,
37
+ "⛩": 248953,
38
+ "⛪": 249120,
39
+ "⛲": 249141,
40
+ "⛴": 248779,
41
+ "⛷": 248649,
42
+ "⛸": 248693,
43
+ "⛹": 249260,
44
+ "⛽": 249248,
45
+ "✝": 248664,
46
+ "➗": 248803,
47
+ "➰": 248665,
48
+ "➿": 248458,
49
+ "⬛": 249000,
50
+ "⬜": 248821,
51
+ "〽": 248791,
52
+ "㊗": 248521,
53
+ "㊙": 249060,
54
+ "🀄": 248929,
55
+ "🃏": 248468,
56
+ "🅿": 248755,
57
+ "🆎": 248619,
58
+ "🆒": 248798,
59
+ "🆕": 248655,
60
+ "🆖": 248837,
61
+ "🆗": 248917,
62
+ "🆙": 248978,
63
+ "🆚": 248972,
64
+ "🈁": 248495,
65
+ "🈂": 248844,
66
+ "🈚": 249053,
67
+ "🈯": 248568,
68
+ "🈲": 248512,
69
+ "🈳": 248785,
70
+ "🈴": 249003,
71
+ "🈵": 248752,
72
+ "🈶": 248502,
73
+ "🈷": 249153,
74
+ "🈸": 249079,
75
+ "🈹": 248690,
76
+ "🈺": 248472,
77
+ "🉐": 249070,
78
+ "🉑": 249224,
79
+ "🌁": 248694,
80
+ "🌂": 248584,
81
+ "🌃": 248739,
82
+ "🌇": 248528,
83
+ "🌉": 248964,
84
+ "🌌": 248587,
85
+ "🌑": 249069,
86
+ "🌒": 249187,
87
+ "🌓": 248598,
88
+ "🌔": 248514,
89
+ "🌕": 248452,
90
+ "🌖": 249242,
91
+ "🌗": 248478,
92
+ "🌘": 248782,
93
+ "🌚": 249190,
94
+ "🌛": 248984,
95
+ "🌜": 248635,
96
+ "🌠": 248623,
97
+ "🌡": 248904,
98
+ "🌤": 248812,
99
+ "🌥": 248881,
100
+ "🌦": 249172,
101
+ "🌧": 248666,
102
+ "🌨": 248730,
103
+ "🌩": 248795,
104
+ "🌪": 249022,
105
+ "🌫": 248734,
106
+ "🌬": 248530,
107
+ "🌭": 248868,
108
+ "🌮": 248976,
109
+ "🌯": 248716,
110
+ "🌰": 248872,
111
+ "🌵": 249081,
112
+ "🍈": 249173,
113
+ "🍐": 248933,
114
+ "🍖": 248742,
115
+ "🍗": 248433,
116
+ "🍘": 248647,
117
+ "🍙": 249057,
118
+ "🍛": 248869,
119
+ "🍜": 248979,
120
+ "🍝": 249087,
121
+ "🍞": 248697,
122
+ "🍟": 248748,
123
+ "🍠": 248735,
124
+ "🍡": 248591,
125
+ "🍢": 248833,
126
+ "🍣": 248744,
127
+ "🍤": 248777,
128
+ "🍥": 248722,
129
+ "🍧": 248692,
130
+ "🍩": 248935,
131
+ "🍭": 248923,
132
+ "🍮": 249067,
133
+ "🍱": 248715,
134
+ "🍵": 248873,
135
+ "🍶": 248814,
136
+ "🍸": 249251,
137
+ "🍼": 248650,
138
+ "🎃": 248736,
139
+ "🎆": 248678,
140
+ "🎇": 248589,
141
+ "🎌": 248805,
142
+ "🎍": 248892,
143
+ "🎎": 249231,
144
+ "🎏": 248670,
145
+ "🎐": 249014,
146
+ "🎑": 248954,
147
+ "🎒": 249072,
148
+ "🎚": 249103,
149
+ "🎛": 248704,
150
+ "🎟": 248802,
151
+ "🎠": 249005,
152
+ "🎡": 248932,
153
+ "🎣": 249137,
154
+ "🎦": 248858,
155
+ "🎪": 249086,
156
+ "🎫": 249258,
157
+ "🎰": 248683,
158
+ "🎱": 248961,
159
+ "🎲": 248455,
160
+ "🎳": 249073,
161
+ "🎴": 248769,
162
+ "🎷": 248451,
163
+ "🎹": 248503,
164
+ "🎺": 248586,
165
+ "🎻": 249148,
166
+ "🎽": 248577,
167
+ "🎾": 249108,
168
+ "🎿": 248915,
169
+ "🏁": 249031,
170
+ "🏂": 248792,
171
+ "🏅": 249063,
172
+ "🏇": 248612,
173
+ "🏈": 248891,
174
+ "🏉": 248434,
175
+ "🏊": 249052,
176
+ "🏍": 248525,
177
+ "🏎": 248992,
178
+ "🏏": 248515,
179
+ "🏐": 248660,
180
+ "🏑": 249144,
181
+ "🏒": 248866,
182
+ "🏓": 248459,
183
+ "🏔": 248588,
184
+ "🏕": 248916,
185
+ "🏗": 249098,
186
+ "🏘": 249199,
187
+ "🏙": 248567,
188
+ "🏚": 248888,
189
+ "🏛": 248914,
190
+ "🏜": 248685,
191
+ "🏞": 249200,
192
+ "🏟": 248815,
193
+ "🏣": 248828,
194
+ "🏤": 248773,
195
+ "🏥": 248835,
196
+ "🏦": 248553,
197
+ "🏧": 248642,
198
+ "🏨": 248561,
199
+ "🏩": 249182,
200
+ "🏪": 248999,
201
+ "🏬": 248996,
202
+ "🏭": 248934,
203
+ "🏮": 248644,
204
+ "🏯": 249175,
205
+ "🏰": 248774,
206
+ "🏴": 248501,
207
+ "🏷": 248427,
208
+ "🏸": 248804,
209
+ "🏹": 249130,
210
+ "🏺": 249250,
211
+ "🐀": 249257,
212
+ "🐁": 249252,
213
+ "🐂": 248621,
214
+ "🐃": 248695,
215
+ "🐄": 249194,
216
+ "🐅": 249117,
217
+ "🐆": 249026,
218
+ "🐇": 249015,
219
+ "🐈": 248527,
220
+ "🐉": 248462,
221
+ "🐊": 248574,
222
+ "🐋": 249208,
223
+ "🐌": 248880,
224
+ "🐎": 248479,
225
+ "🐏": 248865,
226
+ "🐐": 249198,
227
+ "🐑": 249122,
228
+ "🐓": 248680,
229
+ "🐔": 249068,
230
+ "🐕": 248756,
231
+ "🐖": 248603,
232
+ "🐗": 248750,
233
+ "🐙": 248701,
234
+ "🐚": 248886,
235
+ "🐛": 248540,
236
+ "🐜": 249249,
237
+ "🐟": 248912,
238
+ "🐠": 249253,
239
+ "🐡": 248480,
240
+ "🐢": 249210,
241
+ "🐧": 249254,
242
+ "🐨": 249019,
243
+ "🐩": 248580,
244
+ "🐪": 248775,
245
+ "🐫": 248505,
246
+ "🐬": 249002,
247
+ "🐭": 248615,
248
+ "🐮": 249074,
249
+ "🐵": 248533,
250
+ "🐹": 248441,
251
+ "🐺": 249055,
252
+ "🐽": 248602,
253
+ "🐿": 248823,
254
+ "👂": 249140,
255
+ "👓": 249170,
256
+ "👘": 248542,
257
+ "👛": 249217,
258
+ "👝": 248709,
259
+ "👞": 248728,
260
+ "👡": 248549,
261
+ "👢": 248910,
262
+ "👲": 249001,
263
+ "👴": 248820,
264
+ "👵": 248960,
265
+ "👷": 249146,
266
+ "👹": 249099,
267
+ "👺": 249106,
268
+ "👽": 248883,
269
+ "👾": 249059,
270
+ "💂": 248778,
271
+ "💈": 248554,
272
+ "💒": 248594,
273
+ "💤": 248466,
274
+ "💨": 248913,
275
+ "💩": 248508,
276
+ "💱": 249100,
277
+ "💴": 248931,
278
+ "💷": 248711,
279
+ "💹": 249158,
280
+ "💺": 248831,
281
+ "💽": 249021,
282
+ "💾": 249215,
283
+ "💿": 248604,
284
+ "📀": 248518,
285
+ "📁": 248444,
286
+ "📂": 248496,
287
+ "📄": 248801,
288
+ "📆": 248487,
289
+ "📇": 249007,
290
+ "📈": 248438,
291
+ "📉": 248617,
292
+ "📊": 248473,
293
+ "📏": 248556,
294
+ "📐": 248679,
295
+ "📑": 249256,
296
+ "📒": 248710,
297
+ "📓": 248632,
298
+ "📔": 248909,
299
+ "📗": 248807,
300
+ "📘": 248708,
301
+ "📙": 249160,
302
+ "📛": 248484,
303
+ "📟": 248727,
304
+ "📠": 249065,
305
+ "📡": 248532,
306
+ "📤": 248718,
307
+ "📨": 249196,
308
+ "📪": 248565,
309
+ "📫": 248469,
310
+ "📭": 248998,
311
+ "📯": 249220,
312
+ "📳": 248471,
313
+ "📴": 249004,
314
+ "📵": 249013,
315
+ "📶": 248969,
316
+ "📻": 249084,
317
+ "📼": 249230,
318
+ "📿": 249181,
319
+ "🔀": 248946,
320
+ "🔂": 248863,
321
+ "🔃": 249050,
322
+ "🔄": 248995,
323
+ "🔆": 249046,
324
+ "🔇": 249009,
325
+ "🔈": 248559,
326
+ "🔉": 248590,
327
+ "🔋": 248907,
328
+ "🔌": 248842,
329
+ "🔏": 248622,
330
+ "🔐": 248546,
331
+ "🔑": 248937,
332
+ "🔒": 248498,
333
+ "🔓": 249058,
334
+ "🔕": 248780,
335
+ "🔙": 249206,
336
+ "🔚": 248903,
337
+ "🔛": 248671,
338
+ "🔟": 249189,
339
+ "🔠": 249075,
340
+ "🔡": 248600,
341
+ "🔢": 249142,
342
+ "🔣": 248579,
343
+ "🔤": 248997,
344
+ "🔦": 248813,
345
+ "🔧": 248618,
346
+ "🔨": 248849,
347
+ "🔩": 248781,
348
+ "🔪": 248906,
349
+ "🔭": 249261,
350
+ "🔯": 248674,
351
+ "🔲": 248988,
352
+ "🔳": 248985,
353
+ "🔼": 248754,
354
+ "🔽": 248581,
355
+ "🕋": 249027,
356
+ "🕌": 249241,
357
+ "🕍": 248719,
358
+ "🕎": 248626,
359
+ "🕐": 248855,
360
+ "🕑": 248818,
361
+ "🕒": 248485,
362
+ "🕓": 248465,
363
+ "🕕": 248494,
364
+ "🕖": 248847,
365
+ "🕗": 249221,
366
+ "🕘": 248552,
367
+ "🕙": 248539,
368
+ "🕚": 248607,
369
+ "🕛": 248889,
370
+ "🕜": 248513,
371
+ "🕝": 248763,
372
+ "🕞": 248601,
373
+ "🕟": 248884,
374
+ "🕠": 249109,
375
+ "🕡": 248982,
376
+ "🕢": 248896,
377
+ "🕣": 248854,
378
+ "🕤": 248682,
379
+ "🕥": 248627,
380
+ "🕦": 248938,
381
+ "🕧": 248482,
382
+ "🕰": 248810,
383
+ "🕳": 248700,
384
+ "🕴": 248483,
385
+ "🕶": 248688,
386
+ "🕷": 248437,
387
+ "🕸": 248749,
388
+ "🕹": 248871,
389
+ "🖇": 248563,
390
+ "🖊": 248760,
391
+ "🖌": 249209,
392
+ "🖍": 248560,
393
+ "🖕": 249105,
394
+ "🖖": 248864,
395
+ "🖨": 248947,
396
+ "🖱": 248784,
397
+ "🖲": 248766,
398
+ "🖼": 248506,
399
+ "🗂": 248631,
400
+ "🗃": 248497,
401
+ "🗄": 248980,
402
+ "🗑": 249088,
403
+ "🗒": 249048,
404
+ "🗜": 248764,
405
+ "🗝": 248629,
406
+ "🗞": 248867,
407
+ "🗡": 249134,
408
+ "🗨": 249150,
409
+ "🗯": 248585,
410
+ "🗳": 248461,
411
+ "🗺": 248493,
412
+ "🗻": 249133,
413
+ "🗾": 248464,
414
+ "🗿": 249135,
415
+ "😧": 249227,
416
+ "😸": 248908,
417
+ "😺": 248851,
418
+ "😼": 248614,
419
+ "😽": 249121,
420
+ "😾": 248675,
421
+ "😿": 248796,
422
+ "🙉": 248633,
423
+ "🙍": 249066,
424
+ "🙎": 248808,
425
+ "🚁": 248677,
426
+ "🚂": 248504,
427
+ "🚃": 249184,
428
+ "🚄": 248648,
429
+ "🚅": 249102,
430
+ "🚆": 248974,
431
+ "🚈": 248901,
432
+ "🚉": 248856,
433
+ "🚊": 249178,
434
+ "🚋": 248878,
435
+ "🚍": 249016,
436
+ "🚎": 249163,
437
+ "🚏": 249119,
438
+ "🚐": 248731,
439
+ "🚑": 249188,
440
+ "🚒": 249225,
441
+ "🚓": 248817,
442
+ "🚔": 249259,
443
+ "🚕": 248608,
444
+ "🚖": 248667,
445
+ "🚜": 249076,
446
+ "🚝": 248882,
447
+ "🚞": 248596,
448
+ "🚟": 249154,
449
+ "🚠": 248640,
450
+ "🚡": 249020,
451
+ "🚢": 248547,
452
+ "🚣": 249186,
453
+ "🚤": 249204,
454
+ "🚥": 249164,
455
+ "🚦": 248717,
456
+ "🚧": 249143,
457
+ "🚪": 248861,
458
+ "🚬": 248918,
459
+ "🚭": 248836,
460
+ "🚮": 248583,
461
+ "🚯": 248659,
462
+ "🚰": 249202,
463
+ "🚱": 248786,
464
+ "🚳": 248758,
465
+ "🚷": 249149,
466
+ "🚸": 248550,
467
+ "🚹": 249024,
468
+ "🚺": 249044,
469
+ "🚻": 248636,
470
+ "🚼": 249214,
471
+ "🚽": 248726,
472
+ "🚾": 249205,
473
+ "🚿": 248941,
474
+ "🛀": 249097,
475
+ "🛁": 248430,
476
+ "🛂": 248770,
477
+ "🛃": 248732,
478
+ "🛄": 248879,
479
+ "🛅": 249041,
480
+ "🛋": 249203,
481
+ "🛎": 249113,
482
+ "🛏": 249078,
483
+ "🛐": 248830,
484
+ "🛕": 248859,
485
+ "🛖": 248435,
486
+ "🛗": 248551,
487
+ "🛜": 248519,
488
+ "🛝": 248510,
489
+ "🛞": 248897,
490
+ "🛟": 248981,
491
+ "🛠": 248966,
492
+ "🛡": 248811,
493
+ "🛢": 249240,
494
+ "🛣": 249040,
495
+ "🛤": 248973,
496
+ "🛥": 248436,
497
+ "🛩": 249156,
498
+ "🛬": 248951,
499
+ "🛰": 248656,
500
+ "🛳": 249123,
501
+ "🛴": 249111,
502
+ "🛵": 248857,
503
+ "🛶": 248940,
504
+ "🛷": 248824,
505
+ "🛸": 248562,
506
+ "🛹": 248669,
507
+ "🛺": 248569,
508
+ "🛻": 249017,
509
+ "🛼": 248991,
510
+ "🟠": 249195,
511
+ "🟡": 248460,
512
+ "🟢": 248489,
513
+ "🟣": 248737,
514
+ "🟤": 248936,
515
+ "🟥": 249239,
516
+ "🟦": 248491,
517
+ "🟧": 249166,
518
+ "🟨": 248765,
519
+ "🟩": 248439,
520
+ "🟪": 248787,
521
+ "🟫": 249255,
522
+ "🟰": 248874,
523
+ "🤌": 248620,
524
+ "🤍": 248967,
525
+ "🤎": 249116,
526
+ "🤏": 248699,
527
+ "🤐": 248806,
528
+ "🤒": 248610,
529
+ "🤕": 248475,
530
+ "🤚": 249011,
531
+ "🤛": 249107,
532
+ "🤜": 249152,
533
+ "🤠": 248862,
534
+ "🤢": 249023,
535
+ "🤥": 248628,
536
+ "🤧": 249064,
537
+ "🤫": 248706,
538
+ "🤬": 249219,
539
+ "🤮": 248819,
540
+ "🤯": 249096,
541
+ "🤰": 249207,
542
+ "🤱": 248925,
543
+ "🤳": 248541,
544
+ "🤴": 248573,
545
+ "🤶": 249094,
546
+ "🤸": 248809,
547
+ "🤹": 248570,
548
+ "🤺": 248443,
549
+ "🤼": 249115,
550
+ "🤽": 248794,
551
+ "🤾": 248721,
552
+ "🤿": 249191,
553
+ "🥁": 249118,
554
+ "🥃": 248788,
555
+ "🥄": 248944,
556
+ "🥅": 249101,
557
+ "🥈": 248899,
558
+ "🥉": 248762,
559
+ "🥊": 248768,
560
+ "🥋": 248772,
561
+ "🥌": 249177,
562
+ "🥍": 249051,
563
+ "🥎": 248645,
564
+ "🥏": 248557,
565
+ "🥐": 249131,
566
+ "🥑": 248511,
567
+ "🥒": 249229,
568
+ "🥓": 248751,
569
+ "🥔": 248905,
570
+ "🥕": 248838,
571
+ "🥖": 248470,
572
+ "🥗": 248745,
573
+ "🥘": 248445,
574
+ "🥙": 248463,
575
+ "🥚": 248520,
576
+ "🥛": 248582,
577
+ "🥜": 249083,
578
+ "🥝": 248848,
579
+ "🥞": 248453,
580
+ "🥟": 249033,
581
+ "🥠": 248942,
582
+ "🥡": 248720,
583
+ "🥢": 249168,
584
+ "🥤": 248949,
585
+ "🥥": 248956,
586
+ "🥦": 248432,
587
+ "🥧": 248595,
588
+ "🥨": 248799,
589
+ "🥩": 248928,
590
+ "🥪": 248963,
591
+ "🥫": 248509,
592
+ "🥬": 249237,
593
+ "🥭": 248634,
594
+ "🥮": 248446,
595
+ "🥯": 248757,
596
+ "🥱": 249244,
597
+ "🥲": 248429,
598
+ "🥳": 249128,
599
+ "🥴": 248860,
600
+ "🥵": 249029,
601
+ "🥶": 249147,
602
+ "🥷": 248702,
603
+ "🥸": 248486,
604
+ "🥹": 248431,
605
+ "🥻": 249039,
606
+ "🥼": 248832,
607
+ "🥽": 248875,
608
+ "🥾": 249056,
609
+ "🥿": 249138,
610
+ "🦀": 249201,
611
+ "🦂": 249034,
612
+ "🦃": 248834,
613
+ "🦆": 249042,
614
+ "🦇": 248543,
615
+ "🦈": 249139,
616
+ "🦉": 249008,
617
+ "🦌": 248625,
618
+ "🦍": 248713,
619
+ "🦎": 248911,
620
+ "🦏": 248555,
621
+ "🦐": 248950,
622
+ "🦑": 248746,
623
+ "🦒": 248843,
624
+ "🦓": 248789,
625
+ "🦔": 248641,
626
+ "🦕": 248654,
627
+ "🦖": 248686,
628
+ "🦗": 249235,
629
+ "🦘": 248825,
630
+ "🦙": 248523,
631
+ "🦚": 248797,
632
+ "🦛": 249080,
633
+ "🦜": 248816,
634
+ "🦝": 248661,
635
+ "🦞": 249045,
636
+ "🦟": 248753,
637
+ "🦠": 249085,
638
+ "🦡": 249246,
639
+ "🦢": 248965,
640
+ "🦣": 248578,
641
+ "🦤": 248662,
642
+ "🦥": 248939,
643
+ "🦦": 249161,
644
+ "🦧": 249030,
645
+ "🦨": 248776,
646
+ "🦩": 248624,
647
+ "🦪": 248738,
648
+ "🦫": 248566,
649
+ "🦬": 249245,
650
+ "🦭": 249159,
651
+ "🦮": 248517,
652
+ "🦯": 249089,
653
+ "🦰": 249132,
654
+ "🦱": 248613,
655
+ "🦲": 249047,
656
+ "🦳": 248927,
657
+ "🦴": 248691,
658
+ "🦵": 248885,
659
+ "🦶": 248876,
660
+ "🦷": 248771,
661
+ "🦸": 248538,
662
+ "🦹": 248958,
663
+ "🦺": 248948,
664
+ "🦻": 248729,
665
+ "🦼": 248639,
666
+ "🦽": 248959,
667
+ "🦾": 248507,
668
+ "🦿": 249222,
669
+ "🧀": 248712,
670
+ "🧁": 248840,
671
+ "🧂": 249018,
672
+ "🧃": 249125,
673
+ "🧄": 248723,
674
+ "🧅": 248895,
675
+ "🧆": 248571,
676
+ "🧇": 248767,
677
+ "🧈": 249211,
678
+ "🧉": 248684,
679
+ "🧊": 249092,
680
+ "🧋": 248696,
681
+ "🧌": 249061,
682
+ "🧍": 249218,
683
+ "🧎": 248537,
684
+ "🧏": 248544,
685
+ "🧐": 249095,
686
+ "🧑": 248672,
687
+ "🧒": 248536,
688
+ "🧓": 249145,
689
+ "🧔": 249110,
690
+ "🧕": 249176,
691
+ "🧖": 249025,
692
+ "🧗": 248853,
693
+ "🧘": 248663,
694
+ "🧙": 248605,
695
+ "🧛": 248887,
696
+ "🧝": 248524,
697
+ "🧞": 248558,
698
+ "🧟": 249197,
699
+ "🧠": 248893,
700
+ "🧢": 249035,
701
+ "🧣": 249155,
702
+ "🧤": 248740,
703
+ "🧥": 248657,
704
+ "🧦": 248900,
705
+ "🧧": 248428,
706
+ "🧨": 248793,
707
+ "🧩": 249234,
708
+ "🧪": 249192,
709
+ "🧫": 248975,
710
+ "🧬": 248681,
711
+ "🧭": 249180,
712
+ "🧮": 249049,
713
+ "🧯": 249167,
714
+ "🧰": 248593,
715
+ "🧱": 249112,
716
+ "🧲": 249082,
717
+ "🧳": 249179,
718
+ "🧴": 249104,
719
+ "🧵": 249169,
720
+ "🧶": 248651,
721
+ "🧷": 248977,
722
+ "🧸": 248488,
723
+ "🧹": 249233,
724
+ "🧺": 248921,
725
+ "🧻": 249236,
726
+ "🧼": 248993,
727
+ "🧽": 248545,
728
+ "🧾": 248827,
729
+ "🧿": 249114,
730
+ "🩰": 248852,
731
+ "🩱": 248529,
732
+ "🩲": 249171,
733
+ "🩳": 248970,
734
+ "🩴": 248705,
735
+ "🩵": 248989,
736
+ "🩶": 249243,
737
+ "🩷": 248945,
738
+ "🩸": 248839,
739
+ "🩹": 248477,
740
+ "🩺": 248983,
741
+ "🩻": 248474,
742
+ "🩼": 249127,
743
+ "🪀": 249216,
744
+ "🪁": 249183,
745
+ "🪂": 248448,
746
+ "🪃": 248689,
747
+ "🪄": 248653,
748
+ "🪅": 248440,
749
+ "🪆": 248616,
750
+ "🪇": 249238,
751
+ "🪈": 249038,
752
+ "🪐": 249032,
753
+ "🪑": 249185,
754
+ "🪒": 248467,
755
+ "🪓": 249028,
756
+ "🪔": 248919,
757
+ "🪕": 248759,
758
+ "🪖": 248447,
759
+ "🪗": 249006,
760
+ "🪘": 248643,
761
+ "🪙": 248476,
762
+ "🪚": 249165,
763
+ "🪛": 249077,
764
+ "🪜": 248597,
765
+ "🪝": 248714,
766
+ "🪞": 248687,
767
+ "🪟": 249226,
768
+ "🪠": 248499,
769
+ "🪡": 248841,
770
+ "🪢": 249124,
771
+ "🪣": 248955,
772
+ "🪤": 248668,
773
+ "🪥": 248599,
774
+ "🪦": 248902,
775
+ "🪧": 248535,
776
+ "🪨": 248673,
777
+ "🪩": 248962,
778
+ "🪪": 249223,
779
+ "🪫": 248990,
780
+ "🪬": 248564,
781
+ "🪭": 248926,
782
+ "🪮": 248630,
783
+ "🪯": 248822,
784
+ "🪰": 248829,
785
+ "🪱": 249162,
786
+ "🪲": 248522,
787
+ "🪳": 249037,
788
+ "🪴": 248457,
789
+ "🪵": 248877,
790
+ "🪶": 249151,
791
+ "🪷": 249036,
792
+ "🪸": 248492,
793
+ "🪹": 248592,
794
+ "🪺": 248646,
795
+ "🪻": 248898,
796
+ "🪼": 248952,
797
+ "🪽": 249136,
798
+ "🪿": 249071,
799
+ "🫀": 248442,
800
+ "🫁": 248449,
801
+ "🫂": 248606,
802
+ "🫃": 248637,
803
+ "🫄": 248658,
804
+ "🫅": 248846,
805
+ "🫎": 248894,
806
+ "🫏": 248826,
807
+ "🫐": 248500,
808
+ "🫑": 248456,
809
+ "🫒": 248703,
810
+ "🫓": 248743,
811
+ "🫔": 249126,
812
+ "🫕": 249174,
813
+ "🫖": 248724,
814
+ "🫗": 248652,
815
+ "🫘": 249093,
816
+ "🫙": 249054,
817
+ "🫚": 248800,
818
+ "🫛": 248698,
819
+ "🫠": 249247,
820
+ "🫡": 248968,
821
+ "🫢": 248783,
822
+ "🫣": 248481,
823
+ "🫤": 248986,
824
+ "🫥": 249043,
825
+ "🫦": 248526,
826
+ "🫧": 248548,
827
+ "🫨": 248747,
828
+ "🫰": 249012,
829
+ "🫱": 249090,
830
+ "🫲": 248924,
831
+ "🫳": 249228,
832
+ "🫴": 248987,
833
+ "🫵": 248531,
834
+ "🫶": 249157,
835
+ "🫷": 249091,
836
+ "🫸": 248870
837
+ }
config.json ADDED
@@ -0,0 +1,2058 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_name_or_path": "/media/palm/BiggerData/capgen/hub/pth/phayathai_clip_1e-05_encoder_freeze",
3
+ "architectures": [
4
+ "CLIPEncoderDecoderModel"
5
+ ],
6
+ "auto_map": {
7
+ "AutoConfig": "configuration_clipcap.CLIPEncoderDecoderConfig",
8
+ "AutoModel": "modeling_clipcap.CLIPEncoderDecoderModel"
9
+ },
10
+ "decoder": {
11
+ "_name_or_path": "clicknext/phayathaibert",
12
+ "add_cross_attention": true,
13
+ "architectures": [
14
+ "CamembertForMaskedLM"
15
+ ],
16
+ "is_decoder": true,
17
+ "model_type": "camembert",
18
+ "torch_dtype": "float32",
19
+ "type_vocab_size": 1,
20
+ "vocab_size": 249262
21
+ },
22
+ "decoder_start_token_id": 5,
23
+ "encoder": {
24
+ "_name_or_path": "microsoft/swinv2-large-patch4-window12to16-192to256-22kto1k-ft",
25
+ "architectures": [
26
+ "Swinv2ForImageClassification"
27
+ ],
28
+ "depths": [
29
+ 2,
30
+ 2,
31
+ 18,
32
+ 2
33
+ ],
34
+ "embed_dim": 192,
35
+ "hidden_size": 1536,
36
+ "id2label": {
37
+ "0": "tench, Tinca tinca",
38
+ "1": "goldfish, Carassius auratus",
39
+ "2": "great white shark, white shark, man-eater, man-eating shark, Carcharodon carcharias",
40
+ "3": "tiger shark, Galeocerdo cuvieri",
41
+ "4": "hammerhead, hammerhead shark",
42
+ "5": "electric ray, crampfish, numbfish, torpedo",
43
+ "6": "stingray",
44
+ "7": "cock",
45
+ "8": "hen",
46
+ "9": "ostrich, Struthio camelus",
47
+ "10": "brambling, Fringilla montifringilla",
48
+ "11": "goldfinch, Carduelis carduelis",
49
+ "12": "house finch, linnet, Carpodacus mexicanus",
50
+ "13": "junco, snowbird",
51
+ "14": "indigo bunting, indigo finch, indigo bird, Passerina cyanea",
52
+ "15": "robin, American robin, Turdus migratorius",
53
+ "16": "bulbul",
54
+ "17": "jay",
55
+ "18": "magpie",
56
+ "19": "chickadee",
57
+ "20": "water ouzel, dipper",
58
+ "21": "kite",
59
+ "22": "bald eagle, American eagle, Haliaeetus leucocephalus",
60
+ "23": "vulture",
61
+ "24": "great grey owl, great gray owl, Strix nebulosa",
62
+ "25": "European fire salamander, Salamandra salamandra",
63
+ "26": "common newt, Triturus vulgaris",
64
+ "27": "eft",
65
+ "28": "spotted salamander, Ambystoma maculatum",
66
+ "29": "axolotl, mud puppy, Ambystoma mexicanum",
67
+ "30": "bullfrog, Rana catesbeiana",
68
+ "31": "tree frog, tree-frog",
69
+ "32": "tailed frog, bell toad, ribbed toad, tailed toad, Ascaphus trui",
70
+ "33": "loggerhead, loggerhead turtle, Caretta caretta",
71
+ "34": "leatherback turtle, leatherback, leathery turtle, Dermochelys coriacea",
72
+ "35": "mud turtle",
73
+ "36": "terrapin",
74
+ "37": "box turtle, box tortoise",
75
+ "38": "banded gecko",
76
+ "39": "common iguana, iguana, Iguana iguana",
77
+ "40": "American chameleon, anole, Anolis carolinensis",
78
+ "41": "whiptail, whiptail lizard",
79
+ "42": "agama",
80
+ "43": "frilled lizard, Chlamydosaurus kingi",
81
+ "44": "alligator lizard",
82
+ "45": "Gila monster, Heloderma suspectum",
83
+ "46": "green lizard, Lacerta viridis",
84
+ "47": "African chameleon, Chamaeleo chamaeleon",
85
+ "48": "Komodo dragon, Komodo lizard, dragon lizard, giant lizard, Varanus komodoensis",
86
+ "49": "African crocodile, Nile crocodile, Crocodylus niloticus",
87
+ "50": "American alligator, Alligator mississipiensis",
88
+ "51": "triceratops",
89
+ "52": "thunder snake, worm snake, Carphophis amoenus",
90
+ "53": "ringneck snake, ring-necked snake, ring snake",
91
+ "54": "hognose snake, puff adder, sand viper",
92
+ "55": "green snake, grass snake",
93
+ "56": "king snake, kingsnake",
94
+ "57": "garter snake, grass snake",
95
+ "58": "water snake",
96
+ "59": "vine snake",
97
+ "60": "night snake, Hypsiglena torquata",
98
+ "61": "boa constrictor, Constrictor constrictor",
99
+ "62": "rock python, rock snake, Python sebae",
100
+ "63": "Indian cobra, Naja naja",
101
+ "64": "green mamba",
102
+ "65": "sea snake",
103
+ "66": "horned viper, cerastes, sand viper, horned asp, Cerastes cornutus",
104
+ "67": "diamondback, diamondback rattlesnake, Crotalus adamanteus",
105
+ "68": "sidewinder, horned rattlesnake, Crotalus cerastes",
106
+ "69": "trilobite",
107
+ "70": "harvestman, daddy longlegs, Phalangium opilio",
108
+ "71": "scorpion",
109
+ "72": "black and gold garden spider, Argiope aurantia",
110
+ "73": "barn spider, Araneus cavaticus",
111
+ "74": "garden spider, Aranea diademata",
112
+ "75": "black widow, Latrodectus mactans",
113
+ "76": "tarantula",
114
+ "77": "wolf spider, hunting spider",
115
+ "78": "tick",
116
+ "79": "centipede",
117
+ "80": "black grouse",
118
+ "81": "ptarmigan",
119
+ "82": "ruffed grouse, partridge, Bonasa umbellus",
120
+ "83": "prairie chicken, prairie grouse, prairie fowl",
121
+ "84": "peacock",
122
+ "85": "quail",
123
+ "86": "partridge",
124
+ "87": "African grey, African gray, Psittacus erithacus",
125
+ "88": "macaw",
126
+ "89": "sulphur-crested cockatoo, Kakatoe galerita, Cacatua galerita",
127
+ "90": "lorikeet",
128
+ "91": "coucal",
129
+ "92": "bee eater",
130
+ "93": "hornbill",
131
+ "94": "hummingbird",
132
+ "95": "jacamar",
133
+ "96": "toucan",
134
+ "97": "drake",
135
+ "98": "red-breasted merganser, Mergus serrator",
136
+ "99": "goose",
137
+ "100": "black swan, Cygnus atratus",
138
+ "101": "tusker",
139
+ "102": "echidna, spiny anteater, anteater",
140
+ "103": "platypus, duckbill, duckbilled platypus, duck-billed platypus, Ornithorhynchus anatinus",
141
+ "104": "wallaby, brush kangaroo",
142
+ "105": "koala, koala bear, kangaroo bear, native bear, Phascolarctos cinereus",
143
+ "106": "wombat",
144
+ "107": "jellyfish",
145
+ "108": "sea anemone, anemone",
146
+ "109": "brain coral",
147
+ "110": "flatworm, platyhelminth",
148
+ "111": "nematode, nematode worm, roundworm",
149
+ "112": "conch",
150
+ "113": "snail",
151
+ "114": "slug",
152
+ "115": "sea slug, nudibranch",
153
+ "116": "chiton, coat-of-mail shell, sea cradle, polyplacophore",
154
+ "117": "chambered nautilus, pearly nautilus, nautilus",
155
+ "118": "Dungeness crab, Cancer magister",
156
+ "119": "rock crab, Cancer irroratus",
157
+ "120": "fiddler crab",
158
+ "121": "king crab, Alaska crab, Alaskan king crab, Alaska king crab, Paralithodes camtschatica",
159
+ "122": "American lobster, Northern lobster, Maine lobster, Homarus americanus",
160
+ "123": "spiny lobster, langouste, rock lobster, crawfish, crayfish, sea crawfish",
161
+ "124": "crayfish, crawfish, crawdad, crawdaddy",
162
+ "125": "hermit crab",
163
+ "126": "isopod",
164
+ "127": "white stork, Ciconia ciconia",
165
+ "128": "black stork, Ciconia nigra",
166
+ "129": "spoonbill",
167
+ "130": "flamingo",
168
+ "131": "little blue heron, Egretta caerulea",
169
+ "132": "American egret, great white heron, Egretta albus",
170
+ "133": "bittern",
171
+ "134": "crane",
172
+ "135": "limpkin, Aramus pictus",
173
+ "136": "European gallinule, Porphyrio porphyrio",
174
+ "137": "American coot, marsh hen, mud hen, water hen, Fulica americana",
175
+ "138": "bustard",
176
+ "139": "ruddy turnstone, Arenaria interpres",
177
+ "140": "red-backed sandpiper, dunlin, Erolia alpina",
178
+ "141": "redshank, Tringa totanus",
179
+ "142": "dowitcher",
180
+ "143": "oystercatcher, oyster catcher",
181
+ "144": "pelican",
182
+ "145": "king penguin, Aptenodytes patagonica",
183
+ "146": "albatross, mollymawk",
184
+ "147": "grey whale, gray whale, devilfish, Eschrichtius gibbosus, Eschrichtius robustus",
185
+ "148": "killer whale, killer, orca, grampus, sea wolf, Orcinus orca",
186
+ "149": "dugong, Dugong dugon",
187
+ "150": "sea lion",
188
+ "151": "Chihuahua",
189
+ "152": "Japanese spaniel",
190
+ "153": "Maltese dog, Maltese terrier, Maltese",
191
+ "154": "Pekinese, Pekingese, Peke",
192
+ "155": "Shih-Tzu",
193
+ "156": "Blenheim spaniel",
194
+ "157": "papillon",
195
+ "158": "toy terrier",
196
+ "159": "Rhodesian ridgeback",
197
+ "160": "Afghan hound, Afghan",
198
+ "161": "basset, basset hound",
199
+ "162": "beagle",
200
+ "163": "bloodhound, sleuthhound",
201
+ "164": "bluetick",
202
+ "165": "black-and-tan coonhound",
203
+ "166": "Walker hound, Walker foxhound",
204
+ "167": "English foxhound",
205
+ "168": "redbone",
206
+ "169": "borzoi, Russian wolfhound",
207
+ "170": "Irish wolfhound",
208
+ "171": "Italian greyhound",
209
+ "172": "whippet",
210
+ "173": "Ibizan hound, Ibizan Podenco",
211
+ "174": "Norwegian elkhound, elkhound",
212
+ "175": "otterhound, otter hound",
213
+ "176": "Saluki, gazelle hound",
214
+ "177": "Scottish deerhound, deerhound",
215
+ "178": "Weimaraner",
216
+ "179": "Staffordshire bullterrier, Staffordshire bull terrier",
217
+ "180": "American Staffordshire terrier, Staffordshire terrier, American pit bull terrier, pit bull terrier",
218
+ "181": "Bedlington terrier",
219
+ "182": "Border terrier",
220
+ "183": "Kerry blue terrier",
221
+ "184": "Irish terrier",
222
+ "185": "Norfolk terrier",
223
+ "186": "Norwich terrier",
224
+ "187": "Yorkshire terrier",
225
+ "188": "wire-haired fox terrier",
226
+ "189": "Lakeland terrier",
227
+ "190": "Sealyham terrier, Sealyham",
228
+ "191": "Airedale, Airedale terrier",
229
+ "192": "cairn, cairn terrier",
230
+ "193": "Australian terrier",
231
+ "194": "Dandie Dinmont, Dandie Dinmont terrier",
232
+ "195": "Boston bull, Boston terrier",
233
+ "196": "miniature schnauzer",
234
+ "197": "giant schnauzer",
235
+ "198": "standard schnauzer",
236
+ "199": "Scotch terrier, Scottish terrier, Scottie",
237
+ "200": "Tibetan terrier, chrysanthemum dog",
238
+ "201": "silky terrier, Sydney silky",
239
+ "202": "soft-coated wheaten terrier",
240
+ "203": "West Highland white terrier",
241
+ "204": "Lhasa, Lhasa apso",
242
+ "205": "flat-coated retriever",
243
+ "206": "curly-coated retriever",
244
+ "207": "golden retriever",
245
+ "208": "Labrador retriever",
246
+ "209": "Chesapeake Bay retriever",
247
+ "210": "German short-haired pointer",
248
+ "211": "vizsla, Hungarian pointer",
249
+ "212": "English setter",
250
+ "213": "Irish setter, red setter",
251
+ "214": "Gordon setter",
252
+ "215": "Brittany spaniel",
253
+ "216": "clumber, clumber spaniel",
254
+ "217": "English springer, English springer spaniel",
255
+ "218": "Welsh springer spaniel",
256
+ "219": "cocker spaniel, English cocker spaniel, cocker",
257
+ "220": "Sussex spaniel",
258
+ "221": "Irish water spaniel",
259
+ "222": "kuvasz",
260
+ "223": "schipperke",
261
+ "224": "groenendael",
262
+ "225": "malinois",
263
+ "226": "briard",
264
+ "227": "kelpie",
265
+ "228": "komondor",
266
+ "229": "Old English sheepdog, bobtail",
267
+ "230": "Shetland sheepdog, Shetland sheep dog, Shetland",
268
+ "231": "collie",
269
+ "232": "Border collie",
270
+ "233": "Bouvier des Flandres, Bouviers des Flandres",
271
+ "234": "Rottweiler",
272
+ "235": "German shepherd, German shepherd dog, German police dog, alsatian",
273
+ "236": "Doberman, Doberman pinscher",
274
+ "237": "miniature pinscher",
275
+ "238": "Greater Swiss Mountain dog",
276
+ "239": "Bernese mountain dog",
277
+ "240": "Appenzeller",
278
+ "241": "EntleBucher",
279
+ "242": "boxer",
280
+ "243": "bull mastiff",
281
+ "244": "Tibetan mastiff",
282
+ "245": "French bulldog",
283
+ "246": "Great Dane",
284
+ "247": "Saint Bernard, St Bernard",
285
+ "248": "Eskimo dog, husky",
286
+ "249": "malamute, malemute, Alaskan malamute",
287
+ "250": "Siberian husky",
288
+ "251": "dalmatian, coach dog, carriage dog",
289
+ "252": "affenpinscher, monkey pinscher, monkey dog",
290
+ "253": "basenji",
291
+ "254": "pug, pug-dog",
292
+ "255": "Leonberg",
293
+ "256": "Newfoundland, Newfoundland dog",
294
+ "257": "Great Pyrenees",
295
+ "258": "Samoyed, Samoyede",
296
+ "259": "Pomeranian",
297
+ "260": "chow, chow chow",
298
+ "261": "keeshond",
299
+ "262": "Brabancon griffon",
300
+ "263": "Pembroke, Pembroke Welsh corgi",
301
+ "264": "Cardigan, Cardigan Welsh corgi",
302
+ "265": "toy poodle",
303
+ "266": "miniature poodle",
304
+ "267": "standard poodle",
305
+ "268": "Mexican hairless",
306
+ "269": "timber wolf, grey wolf, gray wolf, Canis lupus",
307
+ "270": "white wolf, Arctic wolf, Canis lupus tundrarum",
308
+ "271": "red wolf, maned wolf, Canis rufus, Canis niger",
309
+ "272": "coyote, prairie wolf, brush wolf, Canis latrans",
310
+ "273": "dingo, warrigal, warragal, Canis dingo",
311
+ "274": "dhole, Cuon alpinus",
312
+ "275": "African hunting dog, hyena dog, Cape hunting dog, Lycaon pictus",
313
+ "276": "hyena, hyaena",
314
+ "277": "red fox, Vulpes vulpes",
315
+ "278": "kit fox, Vulpes macrotis",
316
+ "279": "Arctic fox, white fox, Alopex lagopus",
317
+ "280": "grey fox, gray fox, Urocyon cinereoargenteus",
318
+ "281": "tabby, tabby cat",
319
+ "282": "tiger cat",
320
+ "283": "Persian cat",
321
+ "284": "Siamese cat, Siamese",
322
+ "285": "Egyptian cat",
323
+ "286": "cougar, puma, catamount, mountain lion, painter, panther, Felis concolor",
324
+ "287": "lynx, catamount",
325
+ "288": "leopard, Panthera pardus",
326
+ "289": "snow leopard, ounce, Panthera uncia",
327
+ "290": "jaguar, panther, Panthera onca, Felis onca",
328
+ "291": "lion, king of beasts, Panthera leo",
329
+ "292": "tiger, Panthera tigris",
330
+ "293": "cheetah, chetah, Acinonyx jubatus",
331
+ "294": "brown bear, bruin, Ursus arctos",
332
+ "295": "American black bear, black bear, Ursus americanus, Euarctos americanus",
333
+ "296": "ice bear, polar bear, Ursus Maritimus, Thalarctos maritimus",
334
+ "297": "sloth bear, Melursus ursinus, Ursus ursinus",
335
+ "298": "mongoose",
336
+ "299": "meerkat, mierkat",
337
+ "300": "tiger beetle",
338
+ "301": "ladybug, ladybeetle, lady beetle, ladybird, ladybird beetle",
339
+ "302": "ground beetle, carabid beetle",
340
+ "303": "long-horned beetle, longicorn, longicorn beetle",
341
+ "304": "leaf beetle, chrysomelid",
342
+ "305": "dung beetle",
343
+ "306": "rhinoceros beetle",
344
+ "307": "weevil",
345
+ "308": "fly",
346
+ "309": "bee",
347
+ "310": "ant, emmet, pismire",
348
+ "311": "grasshopper, hopper",
349
+ "312": "cricket",
350
+ "313": "walking stick, walkingstick, stick insect",
351
+ "314": "cockroach, roach",
352
+ "315": "mantis, mantid",
353
+ "316": "cicada, cicala",
354
+ "317": "leafhopper",
355
+ "318": "lacewing, lacewing fly",
356
+ "319": "dragonfly, darning needle, devil's darning needle, sewing needle, snake feeder, snake doctor, mosquito hawk, skeeter hawk",
357
+ "320": "damselfly",
358
+ "321": "admiral",
359
+ "322": "ringlet, ringlet butterfly",
360
+ "323": "monarch, monarch butterfly, milkweed butterfly, Danaus plexippus",
361
+ "324": "cabbage butterfly",
362
+ "325": "sulphur butterfly, sulfur butterfly",
363
+ "326": "lycaenid, lycaenid butterfly",
364
+ "327": "starfish, sea star",
365
+ "328": "sea urchin",
366
+ "329": "sea cucumber, holothurian",
367
+ "330": "wood rabbit, cottontail, cottontail rabbit",
368
+ "331": "hare",
369
+ "332": "Angora, Angora rabbit",
370
+ "333": "hamster",
371
+ "334": "porcupine, hedgehog",
372
+ "335": "fox squirrel, eastern fox squirrel, Sciurus niger",
373
+ "336": "marmot",
374
+ "337": "beaver",
375
+ "338": "guinea pig, Cavia cobaya",
376
+ "339": "sorrel",
377
+ "340": "zebra",
378
+ "341": "hog, pig, grunter, squealer, Sus scrofa",
379
+ "342": "wild boar, boar, Sus scrofa",
380
+ "343": "warthog",
381
+ "344": "hippopotamus, hippo, river horse, Hippopotamus amphibius",
382
+ "345": "ox",
383
+ "346": "water buffalo, water ox, Asiatic buffalo, Bubalus bubalis",
384
+ "347": "bison",
385
+ "348": "ram, tup",
386
+ "349": "bighorn, bighorn sheep, cimarron, Rocky Mountain bighorn, Rocky Mountain sheep, Ovis canadensis",
387
+ "350": "ibex, Capra ibex",
388
+ "351": "hartebeest",
389
+ "352": "impala, Aepyceros melampus",
390
+ "353": "gazelle",
391
+ "354": "Arabian camel, dromedary, Camelus dromedarius",
392
+ "355": "llama",
393
+ "356": "weasel",
394
+ "357": "mink",
395
+ "358": "polecat, fitch, foulmart, foumart, Mustela putorius",
396
+ "359": "black-footed ferret, ferret, Mustela nigripes",
397
+ "360": "otter",
398
+ "361": "skunk, polecat, wood pussy",
399
+ "362": "badger",
400
+ "363": "armadillo",
401
+ "364": "three-toed sloth, ai, Bradypus tridactylus",
402
+ "365": "orangutan, orang, orangutang, Pongo pygmaeus",
403
+ "366": "gorilla, Gorilla gorilla",
404
+ "367": "chimpanzee, chimp, Pan troglodytes",
405
+ "368": "gibbon, Hylobates lar",
406
+ "369": "siamang, Hylobates syndactylus, Symphalangus syndactylus",
407
+ "370": "guenon, guenon monkey",
408
+ "371": "patas, hussar monkey, Erythrocebus patas",
409
+ "372": "baboon",
410
+ "373": "macaque",
411
+ "374": "langur",
412
+ "375": "colobus, colobus monkey",
413
+ "376": "proboscis monkey, Nasalis larvatus",
414
+ "377": "marmoset",
415
+ "378": "capuchin, ringtail, Cebus capucinus",
416
+ "379": "howler monkey, howler",
417
+ "380": "titi, titi monkey",
418
+ "381": "spider monkey, Ateles geoffroyi",
419
+ "382": "squirrel monkey, Saimiri sciureus",
420
+ "383": "Madagascar cat, ring-tailed lemur, Lemur catta",
421
+ "384": "indri, indris, Indri indri, Indri brevicaudatus",
422
+ "385": "Indian elephant, Elephas maximus",
423
+ "386": "African elephant, Loxodonta africana",
424
+ "387": "lesser panda, red panda, panda, bear cat, cat bear, Ailurus fulgens",
425
+ "388": "giant panda, panda, panda bear, coon bear, Ailuropoda melanoleuca",
426
+ "389": "barracouta, snoek",
427
+ "390": "eel",
428
+ "391": "coho, cohoe, coho salmon, blue jack, silver salmon, Oncorhynchus kisutch",
429
+ "392": "rock beauty, Holocanthus tricolor",
430
+ "393": "anemone fish",
431
+ "394": "sturgeon",
432
+ "395": "gar, garfish, garpike, billfish, Lepisosteus osseus",
433
+ "396": "lionfish",
434
+ "397": "puffer, pufferfish, blowfish, globefish",
435
+ "398": "abacus",
436
+ "399": "abaya",
437
+ "400": "academic gown, academic robe, judge's robe",
438
+ "401": "accordion, piano accordion, squeeze box",
439
+ "402": "acoustic guitar",
440
+ "403": "aircraft carrier, carrier, flattop, attack aircraft carrier",
441
+ "404": "airliner",
442
+ "405": "airship, dirigible",
443
+ "406": "altar",
444
+ "407": "ambulance",
445
+ "408": "amphibian, amphibious vehicle",
446
+ "409": "analog clock",
447
+ "410": "apiary, bee house",
448
+ "411": "apron",
449
+ "412": "ashcan, trash can, garbage can, wastebin, ash bin, ash-bin, ashbin, dustbin, trash barrel, trash bin",
450
+ "413": "assault rifle, assault gun",
451
+ "414": "backpack, back pack, knapsack, packsack, rucksack, haversack",
452
+ "415": "bakery, bakeshop, bakehouse",
453
+ "416": "balance beam, beam",
454
+ "417": "balloon",
455
+ "418": "ballpoint, ballpoint pen, ballpen, Biro",
456
+ "419": "Band Aid",
457
+ "420": "banjo",
458
+ "421": "bannister, banister, balustrade, balusters, handrail",
459
+ "422": "barbell",
460
+ "423": "barber chair",
461
+ "424": "barbershop",
462
+ "425": "barn",
463
+ "426": "barometer",
464
+ "427": "barrel, cask",
465
+ "428": "barrow, garden cart, lawn cart, wheelbarrow",
466
+ "429": "baseball",
467
+ "430": "basketball",
468
+ "431": "bassinet",
469
+ "432": "bassoon",
470
+ "433": "bathing cap, swimming cap",
471
+ "434": "bath towel",
472
+ "435": "bathtub, bathing tub, bath, tub",
473
+ "436": "beach wagon, station wagon, wagon, estate car, beach waggon, station waggon, waggon",
474
+ "437": "beacon, lighthouse, beacon light, pharos",
475
+ "438": "beaker",
476
+ "439": "bearskin, busby, shako",
477
+ "440": "beer bottle",
478
+ "441": "beer glass",
479
+ "442": "bell cote, bell cot",
480
+ "443": "bib",
481
+ "444": "bicycle-built-for-two, tandem bicycle, tandem",
482
+ "445": "bikini, two-piece",
483
+ "446": "binder, ring-binder",
484
+ "447": "binoculars, field glasses, opera glasses",
485
+ "448": "birdhouse",
486
+ "449": "boathouse",
487
+ "450": "bobsled, bobsleigh, bob",
488
+ "451": "bolo tie, bolo, bola tie, bola",
489
+ "452": "bonnet, poke bonnet",
490
+ "453": "bookcase",
491
+ "454": "bookshop, bookstore, bookstall",
492
+ "455": "bottlecap",
493
+ "456": "bow",
494
+ "457": "bow tie, bow-tie, bowtie",
495
+ "458": "brass, memorial tablet, plaque",
496
+ "459": "brassiere, bra, bandeau",
497
+ "460": "breakwater, groin, groyne, mole, bulwark, seawall, jetty",
498
+ "461": "breastplate, aegis, egis",
499
+ "462": "broom",
500
+ "463": "bucket, pail",
501
+ "464": "buckle",
502
+ "465": "bulletproof vest",
503
+ "466": "bullet train, bullet",
504
+ "467": "butcher shop, meat market",
505
+ "468": "cab, hack, taxi, taxicab",
506
+ "469": "caldron, cauldron",
507
+ "470": "candle, taper, wax light",
508
+ "471": "cannon",
509
+ "472": "canoe",
510
+ "473": "can opener, tin opener",
511
+ "474": "cardigan",
512
+ "475": "car mirror",
513
+ "476": "carousel, carrousel, merry-go-round, roundabout, whirligig",
514
+ "477": "carpenter's kit, tool kit",
515
+ "478": "carton",
516
+ "479": "car wheel",
517
+ "480": "cash machine, cash dispenser, automated teller machine, automatic teller machine, automated teller, automatic teller, ATM",
518
+ "481": "cassette",
519
+ "482": "cassette player",
520
+ "483": "castle",
521
+ "484": "catamaran",
522
+ "485": "CD player",
523
+ "486": "cello, violoncello",
524
+ "487": "cellular telephone, cellular phone, cellphone, cell, mobile phone",
525
+ "488": "chain",
526
+ "489": "chainlink fence",
527
+ "490": "chain mail, ring mail, mail, chain armor, chain armour, ring armor, ring armour",
528
+ "491": "chain saw, chainsaw",
529
+ "492": "chest",
530
+ "493": "chiffonier, commode",
531
+ "494": "chime, bell, gong",
532
+ "495": "china cabinet, china closet",
533
+ "496": "Christmas stocking",
534
+ "497": "church, church building",
535
+ "498": "cinema, movie theater, movie theatre, movie house, picture palace",
536
+ "499": "cleaver, meat cleaver, chopper",
537
+ "500": "cliff dwelling",
538
+ "501": "cloak",
539
+ "502": "clog, geta, patten, sabot",
540
+ "503": "cocktail shaker",
541
+ "504": "coffee mug",
542
+ "505": "coffeepot",
543
+ "506": "coil, spiral, volute, whorl, helix",
544
+ "507": "combination lock",
545
+ "508": "computer keyboard, keypad",
546
+ "509": "confectionery, confectionary, candy store",
547
+ "510": "container ship, containership, container vessel",
548
+ "511": "convertible",
549
+ "512": "corkscrew, bottle screw",
550
+ "513": "cornet, horn, trumpet, trump",
551
+ "514": "cowboy boot",
552
+ "515": "cowboy hat, ten-gallon hat",
553
+ "516": "cradle",
554
+ "517": "crane",
555
+ "518": "crash helmet",
556
+ "519": "crate",
557
+ "520": "crib, cot",
558
+ "521": "Crock Pot",
559
+ "522": "croquet ball",
560
+ "523": "crutch",
561
+ "524": "cuirass",
562
+ "525": "dam, dike, dyke",
563
+ "526": "desk",
564
+ "527": "desktop computer",
565
+ "528": "dial telephone, dial phone",
566
+ "529": "diaper, nappy, napkin",
567
+ "530": "digital clock",
568
+ "531": "digital watch",
569
+ "532": "dining table, board",
570
+ "533": "dishrag, dishcloth",
571
+ "534": "dishwasher, dish washer, dishwashing machine",
572
+ "535": "disk brake, disc brake",
573
+ "536": "dock, dockage, docking facility",
574
+ "537": "dogsled, dog sled, dog sleigh",
575
+ "538": "dome",
576
+ "539": "doormat, welcome mat",
577
+ "540": "drilling platform, offshore rig",
578
+ "541": "drum, membranophone, tympan",
579
+ "542": "drumstick",
580
+ "543": "dumbbell",
581
+ "544": "Dutch oven",
582
+ "545": "electric fan, blower",
583
+ "546": "electric guitar",
584
+ "547": "electric locomotive",
585
+ "548": "entertainment center",
586
+ "549": "envelope",
587
+ "550": "espresso maker",
588
+ "551": "face powder",
589
+ "552": "feather boa, boa",
590
+ "553": "file, file cabinet, filing cabinet",
591
+ "554": "fireboat",
592
+ "555": "fire engine, fire truck",
593
+ "556": "fire screen, fireguard",
594
+ "557": "flagpole, flagstaff",
595
+ "558": "flute, transverse flute",
596
+ "559": "folding chair",
597
+ "560": "football helmet",
598
+ "561": "forklift",
599
+ "562": "fountain",
600
+ "563": "fountain pen",
601
+ "564": "four-poster",
602
+ "565": "freight car",
603
+ "566": "French horn, horn",
604
+ "567": "frying pan, frypan, skillet",
605
+ "568": "fur coat",
606
+ "569": "garbage truck, dustcart",
607
+ "570": "gasmask, respirator, gas helmet",
608
+ "571": "gas pump, gasoline pump, petrol pump, island dispenser",
609
+ "572": "goblet",
610
+ "573": "go-kart",
611
+ "574": "golf ball",
612
+ "575": "golfcart, golf cart",
613
+ "576": "gondola",
614
+ "577": "gong, tam-tam",
615
+ "578": "gown",
616
+ "579": "grand piano, grand",
617
+ "580": "greenhouse, nursery, glasshouse",
618
+ "581": "grille, radiator grille",
619
+ "582": "grocery store, grocery, food market, market",
620
+ "583": "guillotine",
621
+ "584": "hair slide",
622
+ "585": "hair spray",
623
+ "586": "half track",
624
+ "587": "hammer",
625
+ "588": "hamper",
626
+ "589": "hand blower, blow dryer, blow drier, hair dryer, hair drier",
627
+ "590": "hand-held computer, hand-held microcomputer",
628
+ "591": "handkerchief, hankie, hanky, hankey",
629
+ "592": "hard disc, hard disk, fixed disk",
630
+ "593": "harmonica, mouth organ, harp, mouth harp",
631
+ "594": "harp",
632
+ "595": "harvester, reaper",
633
+ "596": "hatchet",
634
+ "597": "holster",
635
+ "598": "home theater, home theatre",
636
+ "599": "honeycomb",
637
+ "600": "hook, claw",
638
+ "601": "hoopskirt, crinoline",
639
+ "602": "horizontal bar, high bar",
640
+ "603": "horse cart, horse-cart",
641
+ "604": "hourglass",
642
+ "605": "iPod",
643
+ "606": "iron, smoothing iron",
644
+ "607": "jack-o'-lantern",
645
+ "608": "jean, blue jean, denim",
646
+ "609": "jeep, landrover",
647
+ "610": "jersey, T-shirt, tee shirt",
648
+ "611": "jigsaw puzzle",
649
+ "612": "jinrikisha, ricksha, rickshaw",
650
+ "613": "joystick",
651
+ "614": "kimono",
652
+ "615": "knee pad",
653
+ "616": "knot",
654
+ "617": "lab coat, laboratory coat",
655
+ "618": "ladle",
656
+ "619": "lampshade, lamp shade",
657
+ "620": "laptop, laptop computer",
658
+ "621": "lawn mower, mower",
659
+ "622": "lens cap, lens cover",
660
+ "623": "letter opener, paper knife, paperknife",
661
+ "624": "library",
662
+ "625": "lifeboat",
663
+ "626": "lighter, light, igniter, ignitor",
664
+ "627": "limousine, limo",
665
+ "628": "liner, ocean liner",
666
+ "629": "lipstick, lip rouge",
667
+ "630": "Loafer",
668
+ "631": "lotion",
669
+ "632": "loudspeaker, speaker, speaker unit, loudspeaker system, speaker system",
670
+ "633": "loupe, jeweler's loupe",
671
+ "634": "lumbermill, sawmill",
672
+ "635": "magnetic compass",
673
+ "636": "mailbag, postbag",
674
+ "637": "mailbox, letter box",
675
+ "638": "maillot",
676
+ "639": "maillot, tank suit",
677
+ "640": "manhole cover",
678
+ "641": "maraca",
679
+ "642": "marimba, xylophone",
680
+ "643": "mask",
681
+ "644": "matchstick",
682
+ "645": "maypole",
683
+ "646": "maze, labyrinth",
684
+ "647": "measuring cup",
685
+ "648": "medicine chest, medicine cabinet",
686
+ "649": "megalith, megalithic structure",
687
+ "650": "microphone, mike",
688
+ "651": "microwave, microwave oven",
689
+ "652": "military uniform",
690
+ "653": "milk can",
691
+ "654": "minibus",
692
+ "655": "miniskirt, mini",
693
+ "656": "minivan",
694
+ "657": "missile",
695
+ "658": "mitten",
696
+ "659": "mixing bowl",
697
+ "660": "mobile home, manufactured home",
698
+ "661": "Model T",
699
+ "662": "modem",
700
+ "663": "monastery",
701
+ "664": "monitor",
702
+ "665": "moped",
703
+ "666": "mortar",
704
+ "667": "mortarboard",
705
+ "668": "mosque",
706
+ "669": "mosquito net",
707
+ "670": "motor scooter, scooter",
708
+ "671": "mountain bike, all-terrain bike, off-roader",
709
+ "672": "mountain tent",
710
+ "673": "mouse, computer mouse",
711
+ "674": "mousetrap",
712
+ "675": "moving van",
713
+ "676": "muzzle",
714
+ "677": "nail",
715
+ "678": "neck brace",
716
+ "679": "necklace",
717
+ "680": "nipple",
718
+ "681": "notebook, notebook computer",
719
+ "682": "obelisk",
720
+ "683": "oboe, hautboy, hautbois",
721
+ "684": "ocarina, sweet potato",
722
+ "685": "odometer, hodometer, mileometer, milometer",
723
+ "686": "oil filter",
724
+ "687": "organ, pipe organ",
725
+ "688": "oscilloscope, scope, cathode-ray oscilloscope, CRO",
726
+ "689": "overskirt",
727
+ "690": "oxcart",
728
+ "691": "oxygen mask",
729
+ "692": "packet",
730
+ "693": "paddle, boat paddle",
731
+ "694": "paddlewheel, paddle wheel",
732
+ "695": "padlock",
733
+ "696": "paintbrush",
734
+ "697": "pajama, pyjama, pj's, jammies",
735
+ "698": "palace",
736
+ "699": "panpipe, pandean pipe, syrinx",
737
+ "700": "paper towel",
738
+ "701": "parachute, chute",
739
+ "702": "parallel bars, bars",
740
+ "703": "park bench",
741
+ "704": "parking meter",
742
+ "705": "passenger car, coach, carriage",
743
+ "706": "patio, terrace",
744
+ "707": "pay-phone, pay-station",
745
+ "708": "pedestal, plinth, footstall",
746
+ "709": "pencil box, pencil case",
747
+ "710": "pencil sharpener",
748
+ "711": "perfume, essence",
749
+ "712": "Petri dish",
750
+ "713": "photocopier",
751
+ "714": "pick, plectrum, plectron",
752
+ "715": "pickelhaube",
753
+ "716": "picket fence, paling",
754
+ "717": "pickup, pickup truck",
755
+ "718": "pier",
756
+ "719": "piggy bank, penny bank",
757
+ "720": "pill bottle",
758
+ "721": "pillow",
759
+ "722": "ping-pong ball",
760
+ "723": "pinwheel",
761
+ "724": "pirate, pirate ship",
762
+ "725": "pitcher, ewer",
763
+ "726": "plane, carpenter's plane, woodworking plane",
764
+ "727": "planetarium",
765
+ "728": "plastic bag",
766
+ "729": "plate rack",
767
+ "730": "plow, plough",
768
+ "731": "plunger, plumber's helper",
769
+ "732": "Polaroid camera, Polaroid Land camera",
770
+ "733": "pole",
771
+ "734": "police van, police wagon, paddy wagon, patrol wagon, wagon, black Maria",
772
+ "735": "poncho",
773
+ "736": "pool table, billiard table, snooker table",
774
+ "737": "pop bottle, soda bottle",
775
+ "738": "pot, flowerpot",
776
+ "739": "potter's wheel",
777
+ "740": "power drill",
778
+ "741": "prayer rug, prayer mat",
779
+ "742": "printer",
780
+ "743": "prison, prison house",
781
+ "744": "projectile, missile",
782
+ "745": "projector",
783
+ "746": "puck, hockey puck",
784
+ "747": "punching bag, punch bag, punching ball, punchball",
785
+ "748": "purse",
786
+ "749": "quill, quill pen",
787
+ "750": "quilt, comforter, comfort, puff",
788
+ "751": "racer, race car, racing car",
789
+ "752": "racket, racquet",
790
+ "753": "radiator",
791
+ "754": "radio, wireless",
792
+ "755": "radio telescope, radio reflector",
793
+ "756": "rain barrel",
794
+ "757": "recreational vehicle, RV, R.V.",
795
+ "758": "reel",
796
+ "759": "reflex camera",
797
+ "760": "refrigerator, icebox",
798
+ "761": "remote control, remote",
799
+ "762": "restaurant, eating house, eating place, eatery",
800
+ "763": "revolver, six-gun, six-shooter",
801
+ "764": "rifle",
802
+ "765": "rocking chair, rocker",
803
+ "766": "rotisserie",
804
+ "767": "rubber eraser, rubber, pencil eraser",
805
+ "768": "rugby ball",
806
+ "769": "rule, ruler",
807
+ "770": "running shoe",
808
+ "771": "safe",
809
+ "772": "safety pin",
810
+ "773": "saltshaker, salt shaker",
811
+ "774": "sandal",
812
+ "775": "sarong",
813
+ "776": "sax, saxophone",
814
+ "777": "scabbard",
815
+ "778": "scale, weighing machine",
816
+ "779": "school bus",
817
+ "780": "schooner",
818
+ "781": "scoreboard",
819
+ "782": "screen, CRT screen",
820
+ "783": "screw",
821
+ "784": "screwdriver",
822
+ "785": "seat belt, seatbelt",
823
+ "786": "sewing machine",
824
+ "787": "shield, buckler",
825
+ "788": "shoe shop, shoe-shop, shoe store",
826
+ "789": "shoji",
827
+ "790": "shopping basket",
828
+ "791": "shopping cart",
829
+ "792": "shovel",
830
+ "793": "shower cap",
831
+ "794": "shower curtain",
832
+ "795": "ski",
833
+ "796": "ski mask",
834
+ "797": "sleeping bag",
835
+ "798": "slide rule, slipstick",
836
+ "799": "sliding door",
837
+ "800": "slot, one-armed bandit",
838
+ "801": "snorkel",
839
+ "802": "snowmobile",
840
+ "803": "snowplow, snowplough",
841
+ "804": "soap dispenser",
842
+ "805": "soccer ball",
843
+ "806": "sock",
844
+ "807": "solar dish, solar collector, solar furnace",
845
+ "808": "sombrero",
846
+ "809": "soup bowl",
847
+ "810": "space bar",
848
+ "811": "space heater",
849
+ "812": "space shuttle",
850
+ "813": "spatula",
851
+ "814": "speedboat",
852
+ "815": "spider web, spider's web",
853
+ "816": "spindle",
854
+ "817": "sports car, sport car",
855
+ "818": "spotlight, spot",
856
+ "819": "stage",
857
+ "820": "steam locomotive",
858
+ "821": "steel arch bridge",
859
+ "822": "steel drum",
860
+ "823": "stethoscope",
861
+ "824": "stole",
862
+ "825": "stone wall",
863
+ "826": "stopwatch, stop watch",
864
+ "827": "stove",
865
+ "828": "strainer",
866
+ "829": "streetcar, tram, tramcar, trolley, trolley car",
867
+ "830": "stretcher",
868
+ "831": "studio couch, day bed",
869
+ "832": "stupa, tope",
870
+ "833": "submarine, pigboat, sub, U-boat",
871
+ "834": "suit, suit of clothes",
872
+ "835": "sundial",
873
+ "836": "sunglass",
874
+ "837": "sunglasses, dark glasses, shades",
875
+ "838": "sunscreen, sunblock, sun blocker",
876
+ "839": "suspension bridge",
877
+ "840": "swab, swob, mop",
878
+ "841": "sweatshirt",
879
+ "842": "swimming trunks, bathing trunks",
880
+ "843": "swing",
881
+ "844": "switch, electric switch, electrical switch",
882
+ "845": "syringe",
883
+ "846": "table lamp",
884
+ "847": "tank, army tank, armored combat vehicle, armoured combat vehicle",
885
+ "848": "tape player",
886
+ "849": "teapot",
887
+ "850": "teddy, teddy bear",
888
+ "851": "television, television system",
889
+ "852": "tennis ball",
890
+ "853": "thatch, thatched roof",
891
+ "854": "theater curtain, theatre curtain",
892
+ "855": "thimble",
893
+ "856": "thresher, thrasher, threshing machine",
894
+ "857": "throne",
895
+ "858": "tile roof",
896
+ "859": "toaster",
897
+ "860": "tobacco shop, tobacconist shop, tobacconist",
898
+ "861": "toilet seat",
899
+ "862": "torch",
900
+ "863": "totem pole",
901
+ "864": "tow truck, tow car, wrecker",
902
+ "865": "toyshop",
903
+ "866": "tractor",
904
+ "867": "trailer truck, tractor trailer, trucking rig, rig, articulated lorry, semi",
905
+ "868": "tray",
906
+ "869": "trench coat",
907
+ "870": "tricycle, trike, velocipede",
908
+ "871": "trimaran",
909
+ "872": "tripod",
910
+ "873": "triumphal arch",
911
+ "874": "trolleybus, trolley coach, trackless trolley",
912
+ "875": "trombone",
913
+ "876": "tub, vat",
914
+ "877": "turnstile",
915
+ "878": "typewriter keyboard",
916
+ "879": "umbrella",
917
+ "880": "unicycle, monocycle",
918
+ "881": "upright, upright piano",
919
+ "882": "vacuum, vacuum cleaner",
920
+ "883": "vase",
921
+ "884": "vault",
922
+ "885": "velvet",
923
+ "886": "vending machine",
924
+ "887": "vestment",
925
+ "888": "viaduct",
926
+ "889": "violin, fiddle",
927
+ "890": "volleyball",
928
+ "891": "waffle iron",
929
+ "892": "wall clock",
930
+ "893": "wallet, billfold, notecase, pocketbook",
931
+ "894": "wardrobe, closet, press",
932
+ "895": "warplane, military plane",
933
+ "896": "washbasin, handbasin, washbowl, lavabo, wash-hand basin",
934
+ "897": "washer, automatic washer, washing machine",
935
+ "898": "water bottle",
936
+ "899": "water jug",
937
+ "900": "water tower",
938
+ "901": "whiskey jug",
939
+ "902": "whistle",
940
+ "903": "wig",
941
+ "904": "window screen",
942
+ "905": "window shade",
943
+ "906": "Windsor tie",
944
+ "907": "wine bottle",
945
+ "908": "wing",
946
+ "909": "wok",
947
+ "910": "wooden spoon",
948
+ "911": "wool, woolen, woollen",
949
+ "912": "worm fence, snake fence, snake-rail fence, Virginia fence",
950
+ "913": "wreck",
951
+ "914": "yawl",
952
+ "915": "yurt",
953
+ "916": "web site, website, internet site, site",
954
+ "917": "comic book",
955
+ "918": "crossword puzzle, crossword",
956
+ "919": "street sign",
957
+ "920": "traffic light, traffic signal, stoplight",
958
+ "921": "book jacket, dust cover, dust jacket, dust wrapper",
959
+ "922": "menu",
960
+ "923": "plate",
961
+ "924": "guacamole",
962
+ "925": "consomme",
963
+ "926": "hot pot, hotpot",
964
+ "927": "trifle",
965
+ "928": "ice cream, icecream",
966
+ "929": "ice lolly, lolly, lollipop, popsicle",
967
+ "930": "French loaf",
968
+ "931": "bagel, beigel",
969
+ "932": "pretzel",
970
+ "933": "cheeseburger",
971
+ "934": "hotdog, hot dog, red hot",
972
+ "935": "mashed potato",
973
+ "936": "head cabbage",
974
+ "937": "broccoli",
975
+ "938": "cauliflower",
976
+ "939": "zucchini, courgette",
977
+ "940": "spaghetti squash",
978
+ "941": "acorn squash",
979
+ "942": "butternut squash",
980
+ "943": "cucumber, cuke",
981
+ "944": "artichoke, globe artichoke",
982
+ "945": "bell pepper",
983
+ "946": "cardoon",
984
+ "947": "mushroom",
985
+ "948": "Granny Smith",
986
+ "949": "strawberry",
987
+ "950": "orange",
988
+ "951": "lemon",
989
+ "952": "fig",
990
+ "953": "pineapple, ananas",
991
+ "954": "banana",
992
+ "955": "jackfruit, jak, jack",
993
+ "956": "custard apple",
994
+ "957": "pomegranate",
995
+ "958": "hay",
996
+ "959": "carbonara",
997
+ "960": "chocolate sauce, chocolate syrup",
998
+ "961": "dough",
999
+ "962": "meat loaf, meatloaf",
1000
+ "963": "pizza, pizza pie",
1001
+ "964": "potpie",
1002
+ "965": "burrito",
1003
+ "966": "red wine",
1004
+ "967": "espresso",
1005
+ "968": "cup",
1006
+ "969": "eggnog",
1007
+ "970": "alp",
1008
+ "971": "bubble",
1009
+ "972": "cliff, drop, drop-off",
1010
+ "973": "coral reef",
1011
+ "974": "geyser",
1012
+ "975": "lakeside, lakeshore",
1013
+ "976": "promontory, headland, head, foreland",
1014
+ "977": "sandbar, sand bar",
1015
+ "978": "seashore, coast, seacoast, sea-coast",
1016
+ "979": "valley, vale",
1017
+ "980": "volcano",
1018
+ "981": "ballplayer, baseball player",
1019
+ "982": "groom, bridegroom",
1020
+ "983": "scuba diver",
1021
+ "984": "rapeseed",
1022
+ "985": "daisy",
1023
+ "986": "yellow lady's slipper, yellow lady-slipper, Cypripedium calceolus, Cypripedium parviflorum",
1024
+ "987": "corn",
1025
+ "988": "acorn",
1026
+ "989": "hip, rose hip, rosehip",
1027
+ "990": "buckeye, horse chestnut, conker",
1028
+ "991": "coral fungus",
1029
+ "992": "agaric",
1030
+ "993": "gyromitra",
1031
+ "994": "stinkhorn, carrion fungus",
1032
+ "995": "earthstar",
1033
+ "996": "hen-of-the-woods, hen of the woods, Polyporus frondosus, Grifola frondosa",
1034
+ "997": "bolete",
1035
+ "998": "ear, spike, capitulum",
1036
+ "999": "toilet tissue, toilet paper, bathroom tissue"
1037
+ },
1038
+ "image_size": 256,
1039
+ "label2id": {
1040
+ "Afghan hound, Afghan": 160,
1041
+ "African chameleon, Chamaeleo chamaeleon": 47,
1042
+ "African crocodile, Nile crocodile, Crocodylus niloticus": 49,
1043
+ "African elephant, Loxodonta africana": 386,
1044
+ "African grey, African gray, Psittacus erithacus": 87,
1045
+ "African hunting dog, hyena dog, Cape hunting dog, Lycaon pictus": 275,
1046
+ "Airedale, Airedale terrier": 191,
1047
+ "American Staffordshire terrier, Staffordshire terrier, American pit bull terrier, pit bull terrier": 180,
1048
+ "American alligator, Alligator mississipiensis": 50,
1049
+ "American black bear, black bear, Ursus americanus, Euarctos americanus": 295,
1050
+ "American chameleon, anole, Anolis carolinensis": 40,
1051
+ "American coot, marsh hen, mud hen, water hen, Fulica americana": 137,
1052
+ "American egret, great white heron, Egretta albus": 132,
1053
+ "American lobster, Northern lobster, Maine lobster, Homarus americanus": 122,
1054
+ "Angora, Angora rabbit": 332,
1055
+ "Appenzeller": 240,
1056
+ "Arabian camel, dromedary, Camelus dromedarius": 354,
1057
+ "Arctic fox, white fox, Alopex lagopus": 279,
1058
+ "Australian terrier": 193,
1059
+ "Band Aid": 419,
1060
+ "Bedlington terrier": 181,
1061
+ "Bernese mountain dog": 239,
1062
+ "Blenheim spaniel": 156,
1063
+ "Border collie": 232,
1064
+ "Border terrier": 182,
1065
+ "Boston bull, Boston terrier": 195,
1066
+ "Bouvier des Flandres, Bouviers des Flandres": 233,
1067
+ "Brabancon griffon": 262,
1068
+ "Brittany spaniel": 215,
1069
+ "CD player": 485,
1070
+ "Cardigan, Cardigan Welsh corgi": 264,
1071
+ "Chesapeake Bay retriever": 209,
1072
+ "Chihuahua": 151,
1073
+ "Christmas stocking": 496,
1074
+ "Crock Pot": 521,
1075
+ "Dandie Dinmont, Dandie Dinmont terrier": 194,
1076
+ "Doberman, Doberman pinscher": 236,
1077
+ "Dungeness crab, Cancer magister": 118,
1078
+ "Dutch oven": 544,
1079
+ "Egyptian cat": 285,
1080
+ "English foxhound": 167,
1081
+ "English setter": 212,
1082
+ "English springer, English springer spaniel": 217,
1083
+ "EntleBucher": 241,
1084
+ "Eskimo dog, husky": 248,
1085
+ "European fire salamander, Salamandra salamandra": 25,
1086
+ "European gallinule, Porphyrio porphyrio": 136,
1087
+ "French bulldog": 245,
1088
+ "French horn, horn": 566,
1089
+ "French loaf": 930,
1090
+ "German shepherd, German shepherd dog, German police dog, alsatian": 235,
1091
+ "German short-haired pointer": 210,
1092
+ "Gila monster, Heloderma suspectum": 45,
1093
+ "Gordon setter": 214,
1094
+ "Granny Smith": 948,
1095
+ "Great Dane": 246,
1096
+ "Great Pyrenees": 257,
1097
+ "Greater Swiss Mountain dog": 238,
1098
+ "Ibizan hound, Ibizan Podenco": 173,
1099
+ "Indian cobra, Naja naja": 63,
1100
+ "Indian elephant, Elephas maximus": 385,
1101
+ "Irish setter, red setter": 213,
1102
+ "Irish terrier": 184,
1103
+ "Irish water spaniel": 221,
1104
+ "Irish wolfhound": 170,
1105
+ "Italian greyhound": 171,
1106
+ "Japanese spaniel": 152,
1107
+ "Kerry blue terrier": 183,
1108
+ "Komodo dragon, Komodo lizard, dragon lizard, giant lizard, Varanus komodoensis": 48,
1109
+ "Labrador retriever": 208,
1110
+ "Lakeland terrier": 189,
1111
+ "Leonberg": 255,
1112
+ "Lhasa, Lhasa apso": 204,
1113
+ "Loafer": 630,
1114
+ "Madagascar cat, ring-tailed lemur, Lemur catta": 383,
1115
+ "Maltese dog, Maltese terrier, Maltese": 153,
1116
+ "Mexican hairless": 268,
1117
+ "Model T": 661,
1118
+ "Newfoundland, Newfoundland dog": 256,
1119
+ "Norfolk terrier": 185,
1120
+ "Norwegian elkhound, elkhound": 174,
1121
+ "Norwich terrier": 186,
1122
+ "Old English sheepdog, bobtail": 229,
1123
+ "Pekinese, Pekingese, Peke": 154,
1124
+ "Pembroke, Pembroke Welsh corgi": 263,
1125
+ "Persian cat": 283,
1126
+ "Petri dish": 712,
1127
+ "Polaroid camera, Polaroid Land camera": 732,
1128
+ "Pomeranian": 259,
1129
+ "Rhodesian ridgeback": 159,
1130
+ "Rottweiler": 234,
1131
+ "Saint Bernard, St Bernard": 247,
1132
+ "Saluki, gazelle hound": 176,
1133
+ "Samoyed, Samoyede": 258,
1134
+ "Scotch terrier, Scottish terrier, Scottie": 199,
1135
+ "Scottish deerhound, deerhound": 177,
1136
+ "Sealyham terrier, Sealyham": 190,
1137
+ "Shetland sheepdog, Shetland sheep dog, Shetland": 230,
1138
+ "Shih-Tzu": 155,
1139
+ "Siamese cat, Siamese": 284,
1140
+ "Siberian husky": 250,
1141
+ "Staffordshire bullterrier, Staffordshire bull terrier": 179,
1142
+ "Sussex spaniel": 220,
1143
+ "Tibetan mastiff": 244,
1144
+ "Tibetan terrier, chrysanthemum dog": 200,
1145
+ "Walker hound, Walker foxhound": 166,
1146
+ "Weimaraner": 178,
1147
+ "Welsh springer spaniel": 218,
1148
+ "West Highland white terrier": 203,
1149
+ "Windsor tie": 906,
1150
+ "Yorkshire terrier": 187,
1151
+ "abacus": 398,
1152
+ "abaya": 399,
1153
+ "academic gown, academic robe, judge's robe": 400,
1154
+ "accordion, piano accordion, squeeze box": 401,
1155
+ "acorn": 988,
1156
+ "acorn squash": 941,
1157
+ "acoustic guitar": 402,
1158
+ "admiral": 321,
1159
+ "affenpinscher, monkey pinscher, monkey dog": 252,
1160
+ "agama": 42,
1161
+ "agaric": 992,
1162
+ "aircraft carrier, carrier, flattop, attack aircraft carrier": 403,
1163
+ "airliner": 404,
1164
+ "airship, dirigible": 405,
1165
+ "albatross, mollymawk": 146,
1166
+ "alligator lizard": 44,
1167
+ "alp": 970,
1168
+ "altar": 406,
1169
+ "ambulance": 407,
1170
+ "amphibian, amphibious vehicle": 408,
1171
+ "analog clock": 409,
1172
+ "anemone fish": 393,
1173
+ "ant, emmet, pismire": 310,
1174
+ "apiary, bee house": 410,
1175
+ "apron": 411,
1176
+ "armadillo": 363,
1177
+ "artichoke, globe artichoke": 944,
1178
+ "ashcan, trash can, garbage can, wastebin, ash bin, ash-bin, ashbin, dustbin, trash barrel, trash bin": 412,
1179
+ "assault rifle, assault gun": 413,
1180
+ "axolotl, mud puppy, Ambystoma mexicanum": 29,
1181
+ "baboon": 372,
1182
+ "backpack, back pack, knapsack, packsack, rucksack, haversack": 414,
1183
+ "badger": 362,
1184
+ "bagel, beigel": 931,
1185
+ "bakery, bakeshop, bakehouse": 415,
1186
+ "balance beam, beam": 416,
1187
+ "bald eagle, American eagle, Haliaeetus leucocephalus": 22,
1188
+ "balloon": 417,
1189
+ "ballplayer, baseball player": 981,
1190
+ "ballpoint, ballpoint pen, ballpen, Biro": 418,
1191
+ "banana": 954,
1192
+ "banded gecko": 38,
1193
+ "banjo": 420,
1194
+ "bannister, banister, balustrade, balusters, handrail": 421,
1195
+ "barbell": 422,
1196
+ "barber chair": 423,
1197
+ "barbershop": 424,
1198
+ "barn": 425,
1199
+ "barn spider, Araneus cavaticus": 73,
1200
+ "barometer": 426,
1201
+ "barracouta, snoek": 389,
1202
+ "barrel, cask": 427,
1203
+ "barrow, garden cart, lawn cart, wheelbarrow": 428,
1204
+ "baseball": 429,
1205
+ "basenji": 253,
1206
+ "basketball": 430,
1207
+ "basset, basset hound": 161,
1208
+ "bassinet": 431,
1209
+ "bassoon": 432,
1210
+ "bath towel": 434,
1211
+ "bathing cap, swimming cap": 433,
1212
+ "bathtub, bathing tub, bath, tub": 435,
1213
+ "beach wagon, station wagon, wagon, estate car, beach waggon, station waggon, waggon": 436,
1214
+ "beacon, lighthouse, beacon light, pharos": 437,
1215
+ "beagle": 162,
1216
+ "beaker": 438,
1217
+ "bearskin, busby, shako": 439,
1218
+ "beaver": 337,
1219
+ "bee": 309,
1220
+ "bee eater": 92,
1221
+ "beer bottle": 440,
1222
+ "beer glass": 441,
1223
+ "bell cote, bell cot": 442,
1224
+ "bell pepper": 945,
1225
+ "bib": 443,
1226
+ "bicycle-built-for-two, tandem bicycle, tandem": 444,
1227
+ "bighorn, bighorn sheep, cimarron, Rocky Mountain bighorn, Rocky Mountain sheep, Ovis canadensis": 349,
1228
+ "bikini, two-piece": 445,
1229
+ "binder, ring-binder": 446,
1230
+ "binoculars, field glasses, opera glasses": 447,
1231
+ "birdhouse": 448,
1232
+ "bison": 347,
1233
+ "bittern": 133,
1234
+ "black and gold garden spider, Argiope aurantia": 72,
1235
+ "black grouse": 80,
1236
+ "black stork, Ciconia nigra": 128,
1237
+ "black swan, Cygnus atratus": 100,
1238
+ "black widow, Latrodectus mactans": 75,
1239
+ "black-and-tan coonhound": 165,
1240
+ "black-footed ferret, ferret, Mustela nigripes": 359,
1241
+ "bloodhound, sleuthhound": 163,
1242
+ "bluetick": 164,
1243
+ "boa constrictor, Constrictor constrictor": 61,
1244
+ "boathouse": 449,
1245
+ "bobsled, bobsleigh, bob": 450,
1246
+ "bolete": 997,
1247
+ "bolo tie, bolo, bola tie, bola": 451,
1248
+ "bonnet, poke bonnet": 452,
1249
+ "book jacket, dust cover, dust jacket, dust wrapper": 921,
1250
+ "bookcase": 453,
1251
+ "bookshop, bookstore, bookstall": 454,
1252
+ "borzoi, Russian wolfhound": 169,
1253
+ "bottlecap": 455,
1254
+ "bow": 456,
1255
+ "bow tie, bow-tie, bowtie": 457,
1256
+ "box turtle, box tortoise": 37,
1257
+ "boxer": 242,
1258
+ "brain coral": 109,
1259
+ "brambling, Fringilla montifringilla": 10,
1260
+ "brass, memorial tablet, plaque": 458,
1261
+ "brassiere, bra, bandeau": 459,
1262
+ "breakwater, groin, groyne, mole, bulwark, seawall, jetty": 460,
1263
+ "breastplate, aegis, egis": 461,
1264
+ "briard": 226,
1265
+ "broccoli": 937,
1266
+ "broom": 462,
1267
+ "brown bear, bruin, Ursus arctos": 294,
1268
+ "bubble": 971,
1269
+ "bucket, pail": 463,
1270
+ "buckeye, horse chestnut, conker": 990,
1271
+ "buckle": 464,
1272
+ "bulbul": 16,
1273
+ "bull mastiff": 243,
1274
+ "bullet train, bullet": 466,
1275
+ "bulletproof vest": 465,
1276
+ "bullfrog, Rana catesbeiana": 30,
1277
+ "burrito": 965,
1278
+ "bustard": 138,
1279
+ "butcher shop, meat market": 467,
1280
+ "butternut squash": 942,
1281
+ "cab, hack, taxi, taxicab": 468,
1282
+ "cabbage butterfly": 324,
1283
+ "cairn, cairn terrier": 192,
1284
+ "caldron, cauldron": 469,
1285
+ "can opener, tin opener": 473,
1286
+ "candle, taper, wax light": 470,
1287
+ "cannon": 471,
1288
+ "canoe": 472,
1289
+ "capuchin, ringtail, Cebus capucinus": 378,
1290
+ "car mirror": 475,
1291
+ "car wheel": 479,
1292
+ "carbonara": 959,
1293
+ "cardigan": 474,
1294
+ "cardoon": 946,
1295
+ "carousel, carrousel, merry-go-round, roundabout, whirligig": 476,
1296
+ "carpenter's kit, tool kit": 477,
1297
+ "carton": 478,
1298
+ "cash machine, cash dispenser, automated teller machine, automatic teller machine, automated teller, automatic teller, ATM": 480,
1299
+ "cassette": 481,
1300
+ "cassette player": 482,
1301
+ "castle": 483,
1302
+ "catamaran": 484,
1303
+ "cauliflower": 938,
1304
+ "cello, violoncello": 486,
1305
+ "cellular telephone, cellular phone, cellphone, cell, mobile phone": 487,
1306
+ "centipede": 79,
1307
+ "chain": 488,
1308
+ "chain mail, ring mail, mail, chain armor, chain armour, ring armor, ring armour": 490,
1309
+ "chain saw, chainsaw": 491,
1310
+ "chainlink fence": 489,
1311
+ "chambered nautilus, pearly nautilus, nautilus": 117,
1312
+ "cheeseburger": 933,
1313
+ "cheetah, chetah, Acinonyx jubatus": 293,
1314
+ "chest": 492,
1315
+ "chickadee": 19,
1316
+ "chiffonier, commode": 493,
1317
+ "chime, bell, gong": 494,
1318
+ "chimpanzee, chimp, Pan troglodytes": 367,
1319
+ "china cabinet, china closet": 495,
1320
+ "chiton, coat-of-mail shell, sea cradle, polyplacophore": 116,
1321
+ "chocolate sauce, chocolate syrup": 960,
1322
+ "chow, chow chow": 260,
1323
+ "church, church building": 497,
1324
+ "cicada, cicala": 316,
1325
+ "cinema, movie theater, movie theatre, movie house, picture palace": 498,
1326
+ "cleaver, meat cleaver, chopper": 499,
1327
+ "cliff dwelling": 500,
1328
+ "cliff, drop, drop-off": 972,
1329
+ "cloak": 501,
1330
+ "clog, geta, patten, sabot": 502,
1331
+ "clumber, clumber spaniel": 216,
1332
+ "cock": 7,
1333
+ "cocker spaniel, English cocker spaniel, cocker": 219,
1334
+ "cockroach, roach": 314,
1335
+ "cocktail shaker": 503,
1336
+ "coffee mug": 504,
1337
+ "coffeepot": 505,
1338
+ "coho, cohoe, coho salmon, blue jack, silver salmon, Oncorhynchus kisutch": 391,
1339
+ "coil, spiral, volute, whorl, helix": 506,
1340
+ "collie": 231,
1341
+ "colobus, colobus monkey": 375,
1342
+ "combination lock": 507,
1343
+ "comic book": 917,
1344
+ "common iguana, iguana, Iguana iguana": 39,
1345
+ "common newt, Triturus vulgaris": 26,
1346
+ "computer keyboard, keypad": 508,
1347
+ "conch": 112,
1348
+ "confectionery, confectionary, candy store": 509,
1349
+ "consomme": 925,
1350
+ "container ship, containership, container vessel": 510,
1351
+ "convertible": 511,
1352
+ "coral fungus": 991,
1353
+ "coral reef": 973,
1354
+ "corkscrew, bottle screw": 512,
1355
+ "corn": 987,
1356
+ "cornet, horn, trumpet, trump": 513,
1357
+ "coucal": 91,
1358
+ "cougar, puma, catamount, mountain lion, painter, panther, Felis concolor": 286,
1359
+ "cowboy boot": 514,
1360
+ "cowboy hat, ten-gallon hat": 515,
1361
+ "coyote, prairie wolf, brush wolf, Canis latrans": 272,
1362
+ "cradle": 516,
1363
+ "crane": 517,
1364
+ "crash helmet": 518,
1365
+ "crate": 519,
1366
+ "crayfish, crawfish, crawdad, crawdaddy": 124,
1367
+ "crib, cot": 520,
1368
+ "cricket": 312,
1369
+ "croquet ball": 522,
1370
+ "crossword puzzle, crossword": 918,
1371
+ "crutch": 523,
1372
+ "cucumber, cuke": 943,
1373
+ "cuirass": 524,
1374
+ "cup": 968,
1375
+ "curly-coated retriever": 206,
1376
+ "custard apple": 956,
1377
+ "daisy": 985,
1378
+ "dalmatian, coach dog, carriage dog": 251,
1379
+ "dam, dike, dyke": 525,
1380
+ "damselfly": 320,
1381
+ "desk": 526,
1382
+ "desktop computer": 527,
1383
+ "dhole, Cuon alpinus": 274,
1384
+ "dial telephone, dial phone": 528,
1385
+ "diamondback, diamondback rattlesnake, Crotalus adamanteus": 67,
1386
+ "diaper, nappy, napkin": 529,
1387
+ "digital clock": 530,
1388
+ "digital watch": 531,
1389
+ "dingo, warrigal, warragal, Canis dingo": 273,
1390
+ "dining table, board": 532,
1391
+ "dishrag, dishcloth": 533,
1392
+ "dishwasher, dish washer, dishwashing machine": 534,
1393
+ "disk brake, disc brake": 535,
1394
+ "dock, dockage, docking facility": 536,
1395
+ "dogsled, dog sled, dog sleigh": 537,
1396
+ "dome": 538,
1397
+ "doormat, welcome mat": 539,
1398
+ "dough": 961,
1399
+ "dowitcher": 142,
1400
+ "dragonfly, darning needle, devil's darning needle, sewing needle, snake feeder, snake doctor, mosquito hawk, skeeter hawk": 319,
1401
+ "drake": 97,
1402
+ "drilling platform, offshore rig": 540,
1403
+ "drum, membranophone, tympan": 541,
1404
+ "drumstick": 542,
1405
+ "dugong, Dugong dugon": 149,
1406
+ "dumbbell": 543,
1407
+ "dung beetle": 305,
1408
+ "ear, spike, capitulum": 998,
1409
+ "earthstar": 995,
1410
+ "echidna, spiny anteater, anteater": 102,
1411
+ "eel": 390,
1412
+ "eft": 27,
1413
+ "eggnog": 969,
1414
+ "electric fan, blower": 545,
1415
+ "electric guitar": 546,
1416
+ "electric locomotive": 547,
1417
+ "electric ray, crampfish, numbfish, torpedo": 5,
1418
+ "entertainment center": 548,
1419
+ "envelope": 549,
1420
+ "espresso": 967,
1421
+ "espresso maker": 550,
1422
+ "face powder": 551,
1423
+ "feather boa, boa": 552,
1424
+ "fiddler crab": 120,
1425
+ "fig": 952,
1426
+ "file, file cabinet, filing cabinet": 553,
1427
+ "fire engine, fire truck": 555,
1428
+ "fire screen, fireguard": 556,
1429
+ "fireboat": 554,
1430
+ "flagpole, flagstaff": 557,
1431
+ "flamingo": 130,
1432
+ "flat-coated retriever": 205,
1433
+ "flatworm, platyhelminth": 110,
1434
+ "flute, transverse flute": 558,
1435
+ "fly": 308,
1436
+ "folding chair": 559,
1437
+ "football helmet": 560,
1438
+ "forklift": 561,
1439
+ "fountain": 562,
1440
+ "fountain pen": 563,
1441
+ "four-poster": 564,
1442
+ "fox squirrel, eastern fox squirrel, Sciurus niger": 335,
1443
+ "freight car": 565,
1444
+ "frilled lizard, Chlamydosaurus kingi": 43,
1445
+ "frying pan, frypan, skillet": 567,
1446
+ "fur coat": 568,
1447
+ "gar, garfish, garpike, billfish, Lepisosteus osseus": 395,
1448
+ "garbage truck, dustcart": 569,
1449
+ "garden spider, Aranea diademata": 74,
1450
+ "garter snake, grass snake": 57,
1451
+ "gas pump, gasoline pump, petrol pump, island dispenser": 571,
1452
+ "gasmask, respirator, gas helmet": 570,
1453
+ "gazelle": 353,
1454
+ "geyser": 974,
1455
+ "giant panda, panda, panda bear, coon bear, Ailuropoda melanoleuca": 388,
1456
+ "giant schnauzer": 197,
1457
+ "gibbon, Hylobates lar": 368,
1458
+ "go-kart": 573,
1459
+ "goblet": 572,
1460
+ "golden retriever": 207,
1461
+ "goldfinch, Carduelis carduelis": 11,
1462
+ "goldfish, Carassius auratus": 1,
1463
+ "golf ball": 574,
1464
+ "golfcart, golf cart": 575,
1465
+ "gondola": 576,
1466
+ "gong, tam-tam": 577,
1467
+ "goose": 99,
1468
+ "gorilla, Gorilla gorilla": 366,
1469
+ "gown": 578,
1470
+ "grand piano, grand": 579,
1471
+ "grasshopper, hopper": 311,
1472
+ "great grey owl, great gray owl, Strix nebulosa": 24,
1473
+ "great white shark, white shark, man-eater, man-eating shark, Carcharodon carcharias": 2,
1474
+ "green lizard, Lacerta viridis": 46,
1475
+ "green mamba": 64,
1476
+ "green snake, grass snake": 55,
1477
+ "greenhouse, nursery, glasshouse": 580,
1478
+ "grey fox, gray fox, Urocyon cinereoargenteus": 280,
1479
+ "grey whale, gray whale, devilfish, Eschrichtius gibbosus, Eschrichtius robustus": 147,
1480
+ "grille, radiator grille": 581,
1481
+ "grocery store, grocery, food market, market": 582,
1482
+ "groenendael": 224,
1483
+ "groom, bridegroom": 982,
1484
+ "ground beetle, carabid beetle": 302,
1485
+ "guacamole": 924,
1486
+ "guenon, guenon monkey": 370,
1487
+ "guillotine": 583,
1488
+ "guinea pig, Cavia cobaya": 338,
1489
+ "gyromitra": 993,
1490
+ "hair slide": 584,
1491
+ "hair spray": 585,
1492
+ "half track": 586,
1493
+ "hammer": 587,
1494
+ "hammerhead, hammerhead shark": 4,
1495
+ "hamper": 588,
1496
+ "hamster": 333,
1497
+ "hand blower, blow dryer, blow drier, hair dryer, hair drier": 589,
1498
+ "hand-held computer, hand-held microcomputer": 590,
1499
+ "handkerchief, hankie, hanky, hankey": 591,
1500
+ "hard disc, hard disk, fixed disk": 592,
1501
+ "hare": 331,
1502
+ "harmonica, mouth organ, harp, mouth harp": 593,
1503
+ "harp": 594,
1504
+ "hartebeest": 351,
1505
+ "harvester, reaper": 595,
1506
+ "harvestman, daddy longlegs, Phalangium opilio": 70,
1507
+ "hatchet": 596,
1508
+ "hay": 958,
1509
+ "head cabbage": 936,
1510
+ "hen": 8,
1511
+ "hen-of-the-woods, hen of the woods, Polyporus frondosus, Grifola frondosa": 996,
1512
+ "hermit crab": 125,
1513
+ "hip, rose hip, rosehip": 989,
1514
+ "hippopotamus, hippo, river horse, Hippopotamus amphibius": 344,
1515
+ "hog, pig, grunter, squealer, Sus scrofa": 341,
1516
+ "hognose snake, puff adder, sand viper": 54,
1517
+ "holster": 597,
1518
+ "home theater, home theatre": 598,
1519
+ "honeycomb": 599,
1520
+ "hook, claw": 600,
1521
+ "hoopskirt, crinoline": 601,
1522
+ "horizontal bar, high bar": 602,
1523
+ "hornbill": 93,
1524
+ "horned viper, cerastes, sand viper, horned asp, Cerastes cornutus": 66,
1525
+ "horse cart, horse-cart": 603,
1526
+ "hot pot, hotpot": 926,
1527
+ "hotdog, hot dog, red hot": 934,
1528
+ "hourglass": 604,
1529
+ "house finch, linnet, Carpodacus mexicanus": 12,
1530
+ "howler monkey, howler": 379,
1531
+ "hummingbird": 94,
1532
+ "hyena, hyaena": 276,
1533
+ "iPod": 605,
1534
+ "ibex, Capra ibex": 350,
1535
+ "ice bear, polar bear, Ursus Maritimus, Thalarctos maritimus": 296,
1536
+ "ice cream, icecream": 928,
1537
+ "ice lolly, lolly, lollipop, popsicle": 929,
1538
+ "impala, Aepyceros melampus": 352,
1539
+ "indigo bunting, indigo finch, indigo bird, Passerina cyanea": 14,
1540
+ "indri, indris, Indri indri, Indri brevicaudatus": 384,
1541
+ "iron, smoothing iron": 606,
1542
+ "isopod": 126,
1543
+ "jacamar": 95,
1544
+ "jack-o'-lantern": 607,
1545
+ "jackfruit, jak, jack": 955,
1546
+ "jaguar, panther, Panthera onca, Felis onca": 290,
1547
+ "jay": 17,
1548
+ "jean, blue jean, denim": 608,
1549
+ "jeep, landrover": 609,
1550
+ "jellyfish": 107,
1551
+ "jersey, T-shirt, tee shirt": 610,
1552
+ "jigsaw puzzle": 611,
1553
+ "jinrikisha, ricksha, rickshaw": 612,
1554
+ "joystick": 613,
1555
+ "junco, snowbird": 13,
1556
+ "keeshond": 261,
1557
+ "kelpie": 227,
1558
+ "killer whale, killer, orca, grampus, sea wolf, Orcinus orca": 148,
1559
+ "kimono": 614,
1560
+ "king crab, Alaska crab, Alaskan king crab, Alaska king crab, Paralithodes camtschatica": 121,
1561
+ "king penguin, Aptenodytes patagonica": 145,
1562
+ "king snake, kingsnake": 56,
1563
+ "kit fox, Vulpes macrotis": 278,
1564
+ "kite": 21,
1565
+ "knee pad": 615,
1566
+ "knot": 616,
1567
+ "koala, koala bear, kangaroo bear, native bear, Phascolarctos cinereus": 105,
1568
+ "komondor": 228,
1569
+ "kuvasz": 222,
1570
+ "lab coat, laboratory coat": 617,
1571
+ "lacewing, lacewing fly": 318,
1572
+ "ladle": 618,
1573
+ "ladybug, ladybeetle, lady beetle, ladybird, ladybird beetle": 301,
1574
+ "lakeside, lakeshore": 975,
1575
+ "lampshade, lamp shade": 619,
1576
+ "langur": 374,
1577
+ "laptop, laptop computer": 620,
1578
+ "lawn mower, mower": 621,
1579
+ "leaf beetle, chrysomelid": 304,
1580
+ "leafhopper": 317,
1581
+ "leatherback turtle, leatherback, leathery turtle, Dermochelys coriacea": 34,
1582
+ "lemon": 951,
1583
+ "lens cap, lens cover": 622,
1584
+ "leopard, Panthera pardus": 288,
1585
+ "lesser panda, red panda, panda, bear cat, cat bear, Ailurus fulgens": 387,
1586
+ "letter opener, paper knife, paperknife": 623,
1587
+ "library": 624,
1588
+ "lifeboat": 625,
1589
+ "lighter, light, igniter, ignitor": 626,
1590
+ "limousine, limo": 627,
1591
+ "limpkin, Aramus pictus": 135,
1592
+ "liner, ocean liner": 628,
1593
+ "lion, king of beasts, Panthera leo": 291,
1594
+ "lionfish": 396,
1595
+ "lipstick, lip rouge": 629,
1596
+ "little blue heron, Egretta caerulea": 131,
1597
+ "llama": 355,
1598
+ "loggerhead, loggerhead turtle, Caretta caretta": 33,
1599
+ "long-horned beetle, longicorn, longicorn beetle": 303,
1600
+ "lorikeet": 90,
1601
+ "lotion": 631,
1602
+ "loudspeaker, speaker, speaker unit, loudspeaker system, speaker system": 632,
1603
+ "loupe, jeweler's loupe": 633,
1604
+ "lumbermill, sawmill": 634,
1605
+ "lycaenid, lycaenid butterfly": 326,
1606
+ "lynx, catamount": 287,
1607
+ "macaque": 373,
1608
+ "macaw": 88,
1609
+ "magnetic compass": 635,
1610
+ "magpie": 18,
1611
+ "mailbag, postbag": 636,
1612
+ "mailbox, letter box": 637,
1613
+ "maillot": 638,
1614
+ "maillot, tank suit": 639,
1615
+ "malamute, malemute, Alaskan malamute": 249,
1616
+ "malinois": 225,
1617
+ "manhole cover": 640,
1618
+ "mantis, mantid": 315,
1619
+ "maraca": 641,
1620
+ "marimba, xylophone": 642,
1621
+ "marmoset": 377,
1622
+ "marmot": 336,
1623
+ "mashed potato": 935,
1624
+ "mask": 643,
1625
+ "matchstick": 644,
1626
+ "maypole": 645,
1627
+ "maze, labyrinth": 646,
1628
+ "measuring cup": 647,
1629
+ "meat loaf, meatloaf": 962,
1630
+ "medicine chest, medicine cabinet": 648,
1631
+ "meerkat, mierkat": 299,
1632
+ "megalith, megalithic structure": 649,
1633
+ "menu": 922,
1634
+ "microphone, mike": 650,
1635
+ "microwave, microwave oven": 651,
1636
+ "military uniform": 652,
1637
+ "milk can": 653,
1638
+ "miniature pinscher": 237,
1639
+ "miniature poodle": 266,
1640
+ "miniature schnauzer": 196,
1641
+ "minibus": 654,
1642
+ "miniskirt, mini": 655,
1643
+ "minivan": 656,
1644
+ "mink": 357,
1645
+ "missile": 657,
1646
+ "mitten": 658,
1647
+ "mixing bowl": 659,
1648
+ "mobile home, manufactured home": 660,
1649
+ "modem": 662,
1650
+ "monarch, monarch butterfly, milkweed butterfly, Danaus plexippus": 323,
1651
+ "monastery": 663,
1652
+ "mongoose": 298,
1653
+ "monitor": 664,
1654
+ "moped": 665,
1655
+ "mortar": 666,
1656
+ "mortarboard": 667,
1657
+ "mosque": 668,
1658
+ "mosquito net": 669,
1659
+ "motor scooter, scooter": 670,
1660
+ "mountain bike, all-terrain bike, off-roader": 671,
1661
+ "mountain tent": 672,
1662
+ "mouse, computer mouse": 673,
1663
+ "mousetrap": 674,
1664
+ "moving van": 675,
1665
+ "mud turtle": 35,
1666
+ "mushroom": 947,
1667
+ "muzzle": 676,
1668
+ "nail": 677,
1669
+ "neck brace": 678,
1670
+ "necklace": 679,
1671
+ "nematode, nematode worm, roundworm": 111,
1672
+ "night snake, Hypsiglena torquata": 60,
1673
+ "nipple": 680,
1674
+ "notebook, notebook computer": 681,
1675
+ "obelisk": 682,
1676
+ "oboe, hautboy, hautbois": 683,
1677
+ "ocarina, sweet potato": 684,
1678
+ "odometer, hodometer, mileometer, milometer": 685,
1679
+ "oil filter": 686,
1680
+ "orange": 950,
1681
+ "orangutan, orang, orangutang, Pongo pygmaeus": 365,
1682
+ "organ, pipe organ": 687,
1683
+ "oscilloscope, scope, cathode-ray oscilloscope, CRO": 688,
1684
+ "ostrich, Struthio camelus": 9,
1685
+ "otter": 360,
1686
+ "otterhound, otter hound": 175,
1687
+ "overskirt": 689,
1688
+ "ox": 345,
1689
+ "oxcart": 690,
1690
+ "oxygen mask": 691,
1691
+ "oystercatcher, oyster catcher": 143,
1692
+ "packet": 692,
1693
+ "paddle, boat paddle": 693,
1694
+ "paddlewheel, paddle wheel": 694,
1695
+ "padlock": 695,
1696
+ "paintbrush": 696,
1697
+ "pajama, pyjama, pj's, jammies": 697,
1698
+ "palace": 698,
1699
+ "panpipe, pandean pipe, syrinx": 699,
1700
+ "paper towel": 700,
1701
+ "papillon": 157,
1702
+ "parachute, chute": 701,
1703
+ "parallel bars, bars": 702,
1704
+ "park bench": 703,
1705
+ "parking meter": 704,
1706
+ "partridge": 86,
1707
+ "passenger car, coach, carriage": 705,
1708
+ "patas, hussar monkey, Erythrocebus patas": 371,
1709
+ "patio, terrace": 706,
1710
+ "pay-phone, pay-station": 707,
1711
+ "peacock": 84,
1712
+ "pedestal, plinth, footstall": 708,
1713
+ "pelican": 144,
1714
+ "pencil box, pencil case": 709,
1715
+ "pencil sharpener": 710,
1716
+ "perfume, essence": 711,
1717
+ "photocopier": 713,
1718
+ "pick, plectrum, plectron": 714,
1719
+ "pickelhaube": 715,
1720
+ "picket fence, paling": 716,
1721
+ "pickup, pickup truck": 717,
1722
+ "pier": 718,
1723
+ "piggy bank, penny bank": 719,
1724
+ "pill bottle": 720,
1725
+ "pillow": 721,
1726
+ "pineapple, ananas": 953,
1727
+ "ping-pong ball": 722,
1728
+ "pinwheel": 723,
1729
+ "pirate, pirate ship": 724,
1730
+ "pitcher, ewer": 725,
1731
+ "pizza, pizza pie": 963,
1732
+ "plane, carpenter's plane, woodworking plane": 726,
1733
+ "planetarium": 727,
1734
+ "plastic bag": 728,
1735
+ "plate": 923,
1736
+ "plate rack": 729,
1737
+ "platypus, duckbill, duckbilled platypus, duck-billed platypus, Ornithorhynchus anatinus": 103,
1738
+ "plow, plough": 730,
1739
+ "plunger, plumber's helper": 731,
1740
+ "pole": 733,
1741
+ "polecat, fitch, foulmart, foumart, Mustela putorius": 358,
1742
+ "police van, police wagon, paddy wagon, patrol wagon, wagon, black Maria": 734,
1743
+ "pomegranate": 957,
1744
+ "poncho": 735,
1745
+ "pool table, billiard table, snooker table": 736,
1746
+ "pop bottle, soda bottle": 737,
1747
+ "porcupine, hedgehog": 334,
1748
+ "pot, flowerpot": 738,
1749
+ "potpie": 964,
1750
+ "potter's wheel": 739,
1751
+ "power drill": 740,
1752
+ "prairie chicken, prairie grouse, prairie fowl": 83,
1753
+ "prayer rug, prayer mat": 741,
1754
+ "pretzel": 932,
1755
+ "printer": 742,
1756
+ "prison, prison house": 743,
1757
+ "proboscis monkey, Nasalis larvatus": 376,
1758
+ "projectile, missile": 744,
1759
+ "projector": 745,
1760
+ "promontory, headland, head, foreland": 976,
1761
+ "ptarmigan": 81,
1762
+ "puck, hockey puck": 746,
1763
+ "puffer, pufferfish, blowfish, globefish": 397,
1764
+ "pug, pug-dog": 254,
1765
+ "punching bag, punch bag, punching ball, punchball": 747,
1766
+ "purse": 748,
1767
+ "quail": 85,
1768
+ "quill, quill pen": 749,
1769
+ "quilt, comforter, comfort, puff": 750,
1770
+ "racer, race car, racing car": 751,
1771
+ "racket, racquet": 752,
1772
+ "radiator": 753,
1773
+ "radio telescope, radio reflector": 755,
1774
+ "radio, wireless": 754,
1775
+ "rain barrel": 756,
1776
+ "ram, tup": 348,
1777
+ "rapeseed": 984,
1778
+ "recreational vehicle, RV, R.V.": 757,
1779
+ "red fox, Vulpes vulpes": 277,
1780
+ "red wine": 966,
1781
+ "red wolf, maned wolf, Canis rufus, Canis niger": 271,
1782
+ "red-backed sandpiper, dunlin, Erolia alpina": 140,
1783
+ "red-breasted merganser, Mergus serrator": 98,
1784
+ "redbone": 168,
1785
+ "redshank, Tringa totanus": 141,
1786
+ "reel": 758,
1787
+ "reflex camera": 759,
1788
+ "refrigerator, icebox": 760,
1789
+ "remote control, remote": 761,
1790
+ "restaurant, eating house, eating place, eatery": 762,
1791
+ "revolver, six-gun, six-shooter": 763,
1792
+ "rhinoceros beetle": 306,
1793
+ "rifle": 764,
1794
+ "ringlet, ringlet butterfly": 322,
1795
+ "ringneck snake, ring-necked snake, ring snake": 53,
1796
+ "robin, American robin, Turdus migratorius": 15,
1797
+ "rock beauty, Holocanthus tricolor": 392,
1798
+ "rock crab, Cancer irroratus": 119,
1799
+ "rock python, rock snake, Python sebae": 62,
1800
+ "rocking chair, rocker": 765,
1801
+ "rotisserie": 766,
1802
+ "rubber eraser, rubber, pencil eraser": 767,
1803
+ "ruddy turnstone, Arenaria interpres": 139,
1804
+ "ruffed grouse, partridge, Bonasa umbellus": 82,
1805
+ "rugby ball": 768,
1806
+ "rule, ruler": 769,
1807
+ "running shoe": 770,
1808
+ "safe": 771,
1809
+ "safety pin": 772,
1810
+ "saltshaker, salt shaker": 773,
1811
+ "sandal": 774,
1812
+ "sandbar, sand bar": 977,
1813
+ "sarong": 775,
1814
+ "sax, saxophone": 776,
1815
+ "scabbard": 777,
1816
+ "scale, weighing machine": 778,
1817
+ "schipperke": 223,
1818
+ "school bus": 779,
1819
+ "schooner": 780,
1820
+ "scoreboard": 781,
1821
+ "scorpion": 71,
1822
+ "screen, CRT screen": 782,
1823
+ "screw": 783,
1824
+ "screwdriver": 784,
1825
+ "scuba diver": 983,
1826
+ "sea anemone, anemone": 108,
1827
+ "sea cucumber, holothurian": 329,
1828
+ "sea lion": 150,
1829
+ "sea slug, nudibranch": 115,
1830
+ "sea snake": 65,
1831
+ "sea urchin": 328,
1832
+ "seashore, coast, seacoast, sea-coast": 978,
1833
+ "seat belt, seatbelt": 785,
1834
+ "sewing machine": 786,
1835
+ "shield, buckler": 787,
1836
+ "shoe shop, shoe-shop, shoe store": 788,
1837
+ "shoji": 789,
1838
+ "shopping basket": 790,
1839
+ "shopping cart": 791,
1840
+ "shovel": 792,
1841
+ "shower cap": 793,
1842
+ "shower curtain": 794,
1843
+ "siamang, Hylobates syndactylus, Symphalangus syndactylus": 369,
1844
+ "sidewinder, horned rattlesnake, Crotalus cerastes": 68,
1845
+ "silky terrier, Sydney silky": 201,
1846
+ "ski": 795,
1847
+ "ski mask": 796,
1848
+ "skunk, polecat, wood pussy": 361,
1849
+ "sleeping bag": 797,
1850
+ "slide rule, slipstick": 798,
1851
+ "sliding door": 799,
1852
+ "slot, one-armed bandit": 800,
1853
+ "sloth bear, Melursus ursinus, Ursus ursinus": 297,
1854
+ "slug": 114,
1855
+ "snail": 113,
1856
+ "snorkel": 801,
1857
+ "snow leopard, ounce, Panthera uncia": 289,
1858
+ "snowmobile": 802,
1859
+ "snowplow, snowplough": 803,
1860
+ "soap dispenser": 804,
1861
+ "soccer ball": 805,
1862
+ "sock": 806,
1863
+ "soft-coated wheaten terrier": 202,
1864
+ "solar dish, solar collector, solar furnace": 807,
1865
+ "sombrero": 808,
1866
+ "sorrel": 339,
1867
+ "soup bowl": 809,
1868
+ "space bar": 810,
1869
+ "space heater": 811,
1870
+ "space shuttle": 812,
1871
+ "spaghetti squash": 940,
1872
+ "spatula": 813,
1873
+ "speedboat": 814,
1874
+ "spider monkey, Ateles geoffroyi": 381,
1875
+ "spider web, spider's web": 815,
1876
+ "spindle": 816,
1877
+ "spiny lobster, langouste, rock lobster, crawfish, crayfish, sea crawfish": 123,
1878
+ "spoonbill": 129,
1879
+ "sports car, sport car": 817,
1880
+ "spotlight, spot": 818,
1881
+ "spotted salamander, Ambystoma maculatum": 28,
1882
+ "squirrel monkey, Saimiri sciureus": 382,
1883
+ "stage": 819,
1884
+ "standard poodle": 267,
1885
+ "standard schnauzer": 198,
1886
+ "starfish, sea star": 327,
1887
+ "steam locomotive": 820,
1888
+ "steel arch bridge": 821,
1889
+ "steel drum": 822,
1890
+ "stethoscope": 823,
1891
+ "stingray": 6,
1892
+ "stinkhorn, carrion fungus": 994,
1893
+ "stole": 824,
1894
+ "stone wall": 825,
1895
+ "stopwatch, stop watch": 826,
1896
+ "stove": 827,
1897
+ "strainer": 828,
1898
+ "strawberry": 949,
1899
+ "street sign": 919,
1900
+ "streetcar, tram, tramcar, trolley, trolley car": 829,
1901
+ "stretcher": 830,
1902
+ "studio couch, day bed": 831,
1903
+ "stupa, tope": 832,
1904
+ "sturgeon": 394,
1905
+ "submarine, pigboat, sub, U-boat": 833,
1906
+ "suit, suit of clothes": 834,
1907
+ "sulphur butterfly, sulfur butterfly": 325,
1908
+ "sulphur-crested cockatoo, Kakatoe galerita, Cacatua galerita": 89,
1909
+ "sundial": 835,
1910
+ "sunglass": 836,
1911
+ "sunglasses, dark glasses, shades": 837,
1912
+ "sunscreen, sunblock, sun blocker": 838,
1913
+ "suspension bridge": 839,
1914
+ "swab, swob, mop": 840,
1915
+ "sweatshirt": 841,
1916
+ "swimming trunks, bathing trunks": 842,
1917
+ "swing": 843,
1918
+ "switch, electric switch, electrical switch": 844,
1919
+ "syringe": 845,
1920
+ "tabby, tabby cat": 281,
1921
+ "table lamp": 846,
1922
+ "tailed frog, bell toad, ribbed toad, tailed toad, Ascaphus trui": 32,
1923
+ "tank, army tank, armored combat vehicle, armoured combat vehicle": 847,
1924
+ "tape player": 848,
1925
+ "tarantula": 76,
1926
+ "teapot": 849,
1927
+ "teddy, teddy bear": 850,
1928
+ "television, television system": 851,
1929
+ "tench, Tinca tinca": 0,
1930
+ "tennis ball": 852,
1931
+ "terrapin": 36,
1932
+ "thatch, thatched roof": 853,
1933
+ "theater curtain, theatre curtain": 854,
1934
+ "thimble": 855,
1935
+ "three-toed sloth, ai, Bradypus tridactylus": 364,
1936
+ "thresher, thrasher, threshing machine": 856,
1937
+ "throne": 857,
1938
+ "thunder snake, worm snake, Carphophis amoenus": 52,
1939
+ "tick": 78,
1940
+ "tiger beetle": 300,
1941
+ "tiger cat": 282,
1942
+ "tiger shark, Galeocerdo cuvieri": 3,
1943
+ "tiger, Panthera tigris": 292,
1944
+ "tile roof": 858,
1945
+ "timber wolf, grey wolf, gray wolf, Canis lupus": 269,
1946
+ "titi, titi monkey": 380,
1947
+ "toaster": 859,
1948
+ "tobacco shop, tobacconist shop, tobacconist": 860,
1949
+ "toilet seat": 861,
1950
+ "toilet tissue, toilet paper, bathroom tissue": 999,
1951
+ "torch": 862,
1952
+ "totem pole": 863,
1953
+ "toucan": 96,
1954
+ "tow truck, tow car, wrecker": 864,
1955
+ "toy poodle": 265,
1956
+ "toy terrier": 158,
1957
+ "toyshop": 865,
1958
+ "tractor": 866,
1959
+ "traffic light, traffic signal, stoplight": 920,
1960
+ "trailer truck, tractor trailer, trucking rig, rig, articulated lorry, semi": 867,
1961
+ "tray": 868,
1962
+ "tree frog, tree-frog": 31,
1963
+ "trench coat": 869,
1964
+ "triceratops": 51,
1965
+ "tricycle, trike, velocipede": 870,
1966
+ "trifle": 927,
1967
+ "trilobite": 69,
1968
+ "trimaran": 871,
1969
+ "tripod": 872,
1970
+ "triumphal arch": 873,
1971
+ "trolleybus, trolley coach, trackless trolley": 874,
1972
+ "trombone": 875,
1973
+ "tub, vat": 876,
1974
+ "turnstile": 877,
1975
+ "tusker": 101,
1976
+ "typewriter keyboard": 878,
1977
+ "umbrella": 879,
1978
+ "unicycle, monocycle": 880,
1979
+ "upright, upright piano": 881,
1980
+ "vacuum, vacuum cleaner": 882,
1981
+ "valley, vale": 979,
1982
+ "vase": 883,
1983
+ "vault": 884,
1984
+ "velvet": 885,
1985
+ "vending machine": 886,
1986
+ "vestment": 887,
1987
+ "viaduct": 888,
1988
+ "vine snake": 59,
1989
+ "violin, fiddle": 889,
1990
+ "vizsla, Hungarian pointer": 211,
1991
+ "volcano": 980,
1992
+ "volleyball": 890,
1993
+ "vulture": 23,
1994
+ "waffle iron": 891,
1995
+ "walking stick, walkingstick, stick insect": 313,
1996
+ "wall clock": 892,
1997
+ "wallaby, brush kangaroo": 104,
1998
+ "wallet, billfold, notecase, pocketbook": 893,
1999
+ "wardrobe, closet, press": 894,
2000
+ "warplane, military plane": 895,
2001
+ "warthog": 343,
2002
+ "washbasin, handbasin, washbowl, lavabo, wash-hand basin": 896,
2003
+ "washer, automatic washer, washing machine": 897,
2004
+ "water bottle": 898,
2005
+ "water buffalo, water ox, Asiatic buffalo, Bubalus bubalis": 346,
2006
+ "water jug": 899,
2007
+ "water ouzel, dipper": 20,
2008
+ "water snake": 58,
2009
+ "water tower": 900,
2010
+ "weasel": 356,
2011
+ "web site, website, internet site, site": 916,
2012
+ "weevil": 307,
2013
+ "whippet": 172,
2014
+ "whiptail, whiptail lizard": 41,
2015
+ "whiskey jug": 901,
2016
+ "whistle": 902,
2017
+ "white stork, Ciconia ciconia": 127,
2018
+ "white wolf, Arctic wolf, Canis lupus tundrarum": 270,
2019
+ "wig": 903,
2020
+ "wild boar, boar, Sus scrofa": 342,
2021
+ "window screen": 904,
2022
+ "window shade": 905,
2023
+ "wine bottle": 907,
2024
+ "wing": 908,
2025
+ "wire-haired fox terrier": 188,
2026
+ "wok": 909,
2027
+ "wolf spider, hunting spider": 77,
2028
+ "wombat": 106,
2029
+ "wood rabbit, cottontail, cottontail rabbit": 330,
2030
+ "wooden spoon": 910,
2031
+ "wool, woolen, woollen": 911,
2032
+ "worm fence, snake fence, snake-rail fence, Virginia fence": 912,
2033
+ "wreck": 913,
2034
+ "yawl": 914,
2035
+ "yellow lady's slipper, yellow lady-slipper, Cypripedium calceolus, Cypripedium parviflorum": 986,
2036
+ "yurt": 915,
2037
+ "zebra": 340,
2038
+ "zucchini, courgette": 939
2039
+ },
2040
+ "model_type": "swinv2",
2041
+ "num_heads": [
2042
+ 6,
2043
+ 12,
2044
+ 24,
2045
+ 48
2046
+ ],
2047
+ "path_norm": true,
2048
+ "torch_dtype": "float32",
2049
+ "window_size": 16
2050
+ },
2051
+ "eos_token_id": 6,
2052
+ "is_encoder_decoder": true,
2053
+ "model_type": "clip-encoder-decoder",
2054
+ "pad_token_id": 6,
2055
+ "tie_word_embeddings": false,
2056
+ "torch_dtype": "float32",
2057
+ "transformers_version": "4.36.2"
2058
+ }
configuration_clipcap.py ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from transformers import PretrainedConfig, AutoConfig
2
+
3
+
4
+ class CLIPEncoderDecoderConfig(PretrainedConfig):
5
+ model_type = "clip-encoder-decoder"
6
+
7
+ def __init__(
8
+ self,
9
+ **kwargs):
10
+ super().__init__(**kwargs)
11
+
12
+ self.encoder = AutoConfig.from_pretrained('microsoft/swinv2-large-patch4-window12to16-192to256-22kto1k-ft')
13
+ self.decoder = AutoConfig.from_pretrained('clicknext/phayathaibert')
14
+ self.is_encoder_decoder = True
15
+
16
+ @classmethod
17
+ def from_encoder_decoder_configs(
18
+ cls, encoder_config: PretrainedConfig, decoder_config: PretrainedConfig, **kwargs
19
+ ) -> PretrainedConfig:
20
+ r"""
21
+ Instantiate a [`VisionEncoderDecoderConfig`] (or a derived class) from a pre-trained encoder model
22
+ configuration and decoder model configuration.
23
+
24
+ Returns:
25
+ [`VisionEncoderDecoderConfig`]: An instance of a configuration object
26
+ """
27
+ decoder_config.is_decoder = True
28
+ decoder_config.add_cross_attention = True
29
+
30
+ return cls(encoder=encoder_config.to_dict(), decoder=decoder_config.to_dict(), **kwargs)
generation_config.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "_from_model_config": true,
3
+ "bos_token_id": 0,
4
+ "eos_token_id": 2,
5
+ "pad_token_id": 1,
6
+ "transformers_version": "4.36.2"
7
+ }
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b5bddb5d7ef31dde5d5e6ffd953f58da7bcc4c2d6f2e6c15575ce588523995df
3
+ size 2343140536
modeling_clipcap.py ADDED
@@ -0,0 +1,292 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from transformers import (
2
+ PreTrainedModel,
3
+ VisionEncoderDecoderModel,
4
+ VisionEncoderDecoderConfig,
5
+ AutoModel,
6
+ AutoModelForCausalLM,
7
+ AutoConfig
8
+ )
9
+ from transformers.modeling_outputs import BaseModelOutput, Seq2SeqLMOutput
10
+ from torch import nn
11
+ from .configuration_clipcap import CLIPEncoderDecoderConfig
12
+ from typing import Optional, Tuple, Union
13
+ import torch
14
+ import gc
15
+ import os
16
+ import tempfile
17
+
18
+
19
+ def shift_tokens_right(input_ids: torch.Tensor, pad_token_id: int, decoder_start_token_id: int):
20
+ """
21
+ Shift input ids one token to the right.
22
+ """
23
+ shifted_input_ids = input_ids.new_zeros(input_ids.shape)
24
+ shifted_input_ids[:, 1:] = input_ids[:, :-1].clone()
25
+ if decoder_start_token_id is None:
26
+ raise ValueError("Make sure to set the decoder_start_token_id attribute of the model's configuration.")
27
+ shifted_input_ids[:, 0] = decoder_start_token_id
28
+
29
+ if pad_token_id is None:
30
+ raise ValueError("Make sure to set the pad_token_id attribute of the model's configuration.")
31
+ # replace possible -100 values in labels by `pad_token_id`
32
+ shifted_input_ids.masked_fill_(shifted_input_ids == -100, pad_token_id)
33
+
34
+ return shifted_input_ids
35
+
36
+
37
+ class Encoder(nn.Module):
38
+ main_input_name = 'pixel_values'
39
+ def __init__(self):
40
+ super().__init__()
41
+ clip = AutoModel.from_pretrained('openai/clip-vit-base-patch32')
42
+ self.vision_model = clip.vision_model
43
+ self.visual_projection = clip.visual_projection
44
+ self.config = clip.vision_model.config
45
+ self.config.hidden_size = clip.config.projection_dim
46
+
47
+ def forward(self, pixel_values, output_attentions=None, output_hidden_states=None, return_dict=False, **kwargs):
48
+ vision_outputs = self.vision_model(
49
+ pixel_values=pixel_values,
50
+ output_attentions=output_attentions,
51
+ output_hidden_states=output_hidden_states,
52
+ return_dict=return_dict,
53
+ )
54
+
55
+ pooled_output = vision_outputs[1] # pooled_output
56
+ image_features = self.visual_projection(pooled_output).view(pooled_output.size(0), 1, -1)
57
+ return BaseModelOutput(last_hidden_state=image_features)
58
+ def get_output_embeddings(self):
59
+ pass
60
+
61
+ class CLIPEncoderDecoderModel(PreTrainedModel):
62
+ config_class = CLIPEncoderDecoderConfig
63
+ base_model_prefix = "clip_encoder_decoder"
64
+ main_input_name = "pixel_values"
65
+ supports_gradient_checkpointing = True
66
+ def __init__(
67
+ self,
68
+ config = None,
69
+ encoder = None,
70
+ decoder = None,
71
+ ):
72
+ config.tie_word_embeddings = False
73
+ super().__init__(config)
74
+
75
+ encoder = Encoder()
76
+ encoder_hidden_size = encoder.config.hidden_size
77
+
78
+ if decoder is None:
79
+ config.decoder.is_decoder = True
80
+ config.decoder.add_cross_attention = True
81
+ decoder = AutoModelForCausalLM.from_config(config.decoder)
82
+
83
+ self.encoder = encoder
84
+ self.decoder = decoder
85
+
86
+ self.encoder.config = self.config.encoder
87
+ self.decoder.config = self.config.decoder
88
+
89
+ self.enc_to_dec_proj = nn.Linear(encoder_hidden_size, self.decoder.config.hidden_size)
90
+
91
+ def get_encoder(self):
92
+ return self.encoder
93
+
94
+ def get_decoder(self):
95
+ return self.decoder
96
+
97
+ def get_output_embeddings(self):
98
+ return self.decoder.get_output_embeddings()
99
+
100
+ def set_output_embeddings(self, new_embeddings):
101
+ return self.decoder.set_output_embeddings(new_embeddings)
102
+
103
+ @classmethod
104
+ def from_encoder_decoder_pretrained(
105
+ cls,
106
+ encoder_pretrained_model_name_or_path: str = None,
107
+ decoder_pretrained_model_name_or_path: str = None,
108
+ *model_args,
109
+ **kwargs,
110
+ ) -> PreTrainedModel:
111
+ kwargs_encoder = {
112
+ argument[len("encoder_") :]: value for argument, value in kwargs.items() if argument.startswith("encoder_")
113
+ }
114
+
115
+ kwargs_decoder = {
116
+ argument[len("decoder_") :]: value for argument, value in kwargs.items() if argument.startswith("decoder_")
117
+ }
118
+
119
+ # remove encoder, decoder kwargs from kwargs
120
+ for key in kwargs_encoder.keys():
121
+ del kwargs["encoder_" + key]
122
+ for key in kwargs_decoder.keys():
123
+ del kwargs["decoder_" + key]
124
+
125
+ # Load and initialize the encoder and decoder
126
+ # The distinction between encoder and decoder at the model level is made
127
+ # by the value of the flag `is_decoder` that we need to set correctly.
128
+ encoder = kwargs_encoder.pop("model", None)
129
+ if encoder is None:
130
+ if encoder_pretrained_model_name_or_path is None:
131
+ raise ValueError(
132
+ "If `encoder_model` is not defined as an argument, a `encoder_pretrained_model_name_or_path` has "
133
+ "to be defined."
134
+ )
135
+
136
+ if "config" not in kwargs_encoder:
137
+ encoder_config, kwargs_encoder = AutoConfig.from_pretrained(
138
+ encoder_pretrained_model_name_or_path, **kwargs_encoder, return_unused_kwargs=True
139
+ )
140
+
141
+ if encoder_config.is_decoder is True or encoder_config.add_cross_attention is True:
142
+ encoder_config.is_decoder = False
143
+ encoder_config.add_cross_attention = False
144
+
145
+ kwargs_encoder["config"] = encoder_config
146
+
147
+ encoder = AutoModel.from_pretrained(encoder_pretrained_model_name_or_path, *model_args, **kwargs_encoder)
148
+
149
+ decoder = kwargs_decoder.pop("model", None)
150
+ if decoder is None:
151
+ if decoder_pretrained_model_name_or_path is None:
152
+ raise ValueError(
153
+ "If `decoder_model` is not defined as an argument, a `decoder_pretrained_model_name_or_path` has "
154
+ "to be defined."
155
+ )
156
+
157
+ if "config" not in kwargs_decoder:
158
+ decoder_config, kwargs_decoder = AutoConfig.from_pretrained(
159
+ decoder_pretrained_model_name_or_path, **kwargs_decoder, return_unused_kwargs=True
160
+ )
161
+
162
+ if decoder_config.is_decoder is False or decoder_config.add_cross_attention is False:
163
+ decoder_config.is_decoder = True
164
+ decoder_config.add_cross_attention = True
165
+
166
+ kwargs_decoder["config"] = decoder_config
167
+
168
+ decoder = AutoModelForCausalLM.from_pretrained(decoder_pretrained_model_name_or_path, **kwargs_decoder)
169
+
170
+ # instantiate config with corresponding kwargs
171
+ config = VisionEncoderDecoderConfig.from_encoder_decoder_configs(encoder.config, decoder.config, **kwargs)
172
+
173
+ # make sure input & output embeddings is not tied
174
+ config.tie_word_embeddings = False
175
+ return cls(encoder=encoder, decoder=decoder, config=config)
176
+
177
+ def forward(
178
+ self,
179
+ pixel_values: Optional[torch.FloatTensor] = None,
180
+ decoder_input_ids: Optional[torch.LongTensor] = None,
181
+ decoder_attention_mask: Optional[torch.BoolTensor] = None,
182
+ encoder_outputs: Optional[Tuple[torch.FloatTensor]] = None,
183
+ past_key_values: Optional[Tuple[Tuple[torch.FloatTensor]]] = None,
184
+ decoder_inputs_embeds: Optional[torch.FloatTensor] = None,
185
+ labels: Optional[torch.LongTensor] = None,
186
+ use_cache: Optional[bool] = None,
187
+ output_attentions: Optional[bool] = None,
188
+ output_hidden_states: Optional[bool] = None,
189
+ return_dict: Optional[bool] = None,
190
+ **kwargs,
191
+ ) -> Union[Tuple[torch.FloatTensor], Seq2SeqLMOutput]:
192
+ return_dict = return_dict if return_dict is not None else self.config.use_return_dict
193
+
194
+ kwargs_encoder = {argument: value for argument, value in kwargs.items() if not argument.startswith("decoder_")}
195
+
196
+ kwargs_decoder = {
197
+ argument[len("decoder_") :]: value for argument, value in kwargs.items() if argument.startswith("decoder_")
198
+ }
199
+
200
+ if encoder_outputs is None:
201
+ if pixel_values is None:
202
+ raise ValueError("You have to specify pixel_values")
203
+
204
+ encoder_outputs = self.encoder(
205
+ pixel_values,
206
+ output_attentions=output_attentions,
207
+ output_hidden_states=output_hidden_states,
208
+ return_dict=return_dict,
209
+ **kwargs_encoder,
210
+ )
211
+ elif isinstance(encoder_outputs, tuple):
212
+ encoder_outputs = BaseModelOutput(*encoder_outputs)
213
+
214
+ encoder_hidden_states = encoder_outputs[0]
215
+
216
+ encoder_hidden_states = self.enc_to_dec_proj(encoder_hidden_states)
217
+
218
+ # else:
219
+ encoder_attention_mask = None
220
+
221
+ if (labels is not None) and (decoder_input_ids is None and decoder_inputs_embeds is None):
222
+ decoder_input_ids = shift_tokens_right(
223
+ labels, self.config.pad_token_id, self.config.decoder_start_token_id
224
+ )
225
+
226
+ # Decode
227
+ decoder_outputs = self.decoder(
228
+ input_ids=decoder_input_ids,
229
+ attention_mask=decoder_attention_mask,
230
+ encoder_hidden_states=encoder_hidden_states,
231
+ encoder_attention_mask=encoder_attention_mask,
232
+ inputs_embeds=decoder_inputs_embeds,
233
+ output_attentions=output_attentions,
234
+ output_hidden_states=output_hidden_states,
235
+ use_cache=use_cache,
236
+ past_key_values=past_key_values,
237
+ return_dict=return_dict,
238
+ **kwargs_decoder,
239
+ )
240
+
241
+ # Compute loss independent from decoder (as some shift the logits inside them)
242
+ loss = None
243
+ if labels is not None:
244
+ logits = decoder_outputs.logits if return_dict else decoder_outputs[0]
245
+ loss_fct = nn.CrossEntropyLoss()
246
+ loss = loss_fct(logits.reshape(-1, self.decoder.config.vocab_size), labels.reshape(-1))
247
+
248
+ if not return_dict:
249
+ if loss is not None:
250
+ return (loss,) + decoder_outputs + encoder_outputs
251
+ else:
252
+ return decoder_outputs + encoder_outputs
253
+
254
+ return Seq2SeqLMOutput(
255
+ loss=loss,
256
+ logits=decoder_outputs.logits,
257
+ past_key_values=decoder_outputs.past_key_values,
258
+ decoder_hidden_states=decoder_outputs.hidden_states,
259
+ decoder_attentions=decoder_outputs.attentions,
260
+ cross_attentions=decoder_outputs.cross_attentions,
261
+ encoder_last_hidden_state=encoder_outputs.last_hidden_state,
262
+ encoder_hidden_states=encoder_outputs.hidden_states,
263
+ encoder_attentions=encoder_outputs.attentions,
264
+ )
265
+
266
+ def prepare_decoder_input_ids_from_labels(self, labels: torch.Tensor):
267
+ return shift_tokens_right(labels, self.config.pad_token_id, self.config.decoder_start_token_id)
268
+
269
+ def prepare_inputs_for_generation(
270
+ self, input_ids, past_key_values=None, attention_mask=None, use_cache=None, encoder_outputs=None, **kwargs
271
+ ):
272
+ decoder_inputs = self.decoder.prepare_inputs_for_generation(input_ids, past_key_values=past_key_values)
273
+ decoder_attention_mask = decoder_inputs["attention_mask"] if "attention_mask" in decoder_inputs else None
274
+ input_dict = {
275
+ "attention_mask": attention_mask,
276
+ "decoder_attention_mask": decoder_attention_mask,
277
+ "decoder_input_ids": decoder_inputs["input_ids"],
278
+ "encoder_outputs": encoder_outputs,
279
+ "past_key_values": decoder_inputs["past_key_values"],
280
+ "use_cache": use_cache,
281
+ }
282
+ return input_dict
283
+
284
+ def resize_token_embeddings(self, *args, **kwargs):
285
+ raise NotImplementedError(
286
+ "Resizing the embedding layers via the VisionEncoderDecoderModel directly is not supported.Please use the"
287
+ " respective methods of the wrapped decoder object (model.decoder.resize_token_embeddings(...))"
288
+ )
289
+
290
+ def _reorder_cache(self, past_key_values, beam_idx):
291
+ # apply decoder cache reordering here
292
+ return self.decoder._reorder_cache(past_key_values, beam_idx)
preprocessor_config.json ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ "image_mean": [
12
+ 0.48145466,
13
+ 0.4578275,
14
+ 0.40821073
15
+ ],
16
+ "image_processor_type": "CLIPImageProcessor",
17
+ "image_std": [
18
+ 0.26862954,
19
+ 0.26130258,
20
+ 0.27577711
21
+ ],
22
+ "resample": 3,
23
+ "rescale_factor": 0.00392156862745098,
24
+ "size": {
25
+ "shortest_edge": 224
26
+ }
27
+ }
sentencepiece.bpe.model ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e295c936bc0d8b6669ae769a2f8a0363e6d3abcfd8d0869134aa1e903a447d26
3
+ size 5261686
special_tokens_map.json ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "additional_special_tokens": [
3
+ "<s>NOTUSED",
4
+ "</s>NOTUSED",
5
+ "<_>"
6
+ ],
7
+ "bos_token": {
8
+ "content": "<s>",
9
+ "lstrip": false,
10
+ "normalized": false,
11
+ "rstrip": false,
12
+ "single_word": false
13
+ },
14
+ "cls_token": {
15
+ "content": "<s>",
16
+ "lstrip": false,
17
+ "normalized": false,
18
+ "rstrip": false,
19
+ "single_word": false
20
+ },
21
+ "eos_token": {
22
+ "content": "</s>",
23
+ "lstrip": false,
24
+ "normalized": false,
25
+ "rstrip": false,
26
+ "single_word": false
27
+ },
28
+ "mask_token": {
29
+ "content": "<mask>",
30
+ "lstrip": true,
31
+ "normalized": true,
32
+ "rstrip": false,
33
+ "single_word": false
34
+ },
35
+ "pad_token": {
36
+ "content": "</s>",
37
+ "lstrip": false,
38
+ "normalized": false,
39
+ "rstrip": false,
40
+ "single_word": false
41
+ },
42
+ "sep_token": {
43
+ "content": "</s>",
44
+ "lstrip": false,
45
+ "normalized": false,
46
+ "rstrip": false,
47
+ "single_word": false
48
+ },
49
+ "unk_token": {
50
+ "content": "<unk>",
51
+ "lstrip": false,
52
+ "normalized": false,
53
+ "rstrip": false,
54
+ "single_word": false
55
+ }
56
+ }
tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6d0ddf722adac420a806df4a078fa6b5dcf20a10382f9ca1e1127011328ce3a7
3
+ size 17349559
tokenizer_config.json ADDED
The diff for this file is too large to render. See raw diff