fusion-bench 0.2.9__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (727) hide show
  1. fusion_bench/__init__.py +20 -0
  2. fusion_bench/__main__.py +4 -0
  3. fusion_bench/compat/__init__.py +0 -0
  4. fusion_bench/compat/method/__init__.py +109 -0
  5. fusion_bench/compat/method/base_algorithm.py +58 -0
  6. fusion_bench/compat/modelpool/AutoModelForSeq2SeqLM.py +34 -0
  7. fusion_bench/compat/modelpool/__init__.py +116 -0
  8. fusion_bench/compat/modelpool/base_pool.py +328 -0
  9. fusion_bench/compat/modelpool/huggingface_clip_vision.py +178 -0
  10. fusion_bench/compat/taskpool/__init__.py +95 -0
  11. fusion_bench/compat/taskpool/base_pool.py +111 -0
  12. fusion_bench/compat/taskpool/clip_image_classification.py +210 -0
  13. fusion_bench/compat/taskpool/flan_t5_glue_text_generation.py +175 -0
  14. fusion_bench/constants/__init__.py +2 -0
  15. fusion_bench/constants/paths.py +18 -0
  16. fusion_bench/dataset/__init__.py +29 -0
  17. fusion_bench/dataset/arc_agi/__init__.py +6 -0
  18. fusion_bench/dataset/arc_agi/arc.py +308 -0
  19. fusion_bench/dataset/arc_agi/arc_agi.py +365 -0
  20. fusion_bench/dataset/arc_agi/augmenters.py +1036 -0
  21. fusion_bench/dataset/arc_agi/messagers.py +1355 -0
  22. fusion_bench/dataset/arc_agi/np_cache.py +168 -0
  23. fusion_bench/dataset/arc_agi/preprocess.py +298 -0
  24. fusion_bench/dataset/arc_agi/representers.py +1019 -0
  25. fusion_bench/dataset/clip_dataset.py +71 -0
  26. fusion_bench/dataset/fer2013.py +12 -0
  27. fusion_bench/dataset/gpt2_glue.py +300 -0
  28. fusion_bench/dataset/gsm8k.py +60 -0
  29. fusion_bench/dataset/image_dataset.py +55 -0
  30. fusion_bench/dataset/imdb.py +11 -0
  31. fusion_bench/dataset/llama/__init__.py +1 -0
  32. fusion_bench/dataset/llama/alpaca.py +232 -0
  33. fusion_bench/dataset/llama/collate.py +120 -0
  34. fusion_bench/dataset/llama/metamathqa.py +50 -0
  35. fusion_bench/dataset/llama/openai.py +160 -0
  36. fusion_bench/dataset/llama/preference_700k.py +70 -0
  37. fusion_bench/dataset/llama/sharegpt.py +141 -0
  38. fusion_bench/dataset/llama/squad.py +125 -0
  39. fusion_bench/dataset/llama/stanford_shp.py +90 -0
  40. fusion_bench/dataset/llama/ultrachat.py +58 -0
  41. fusion_bench/dataset/llama/utils/__init__.py +0 -0
  42. fusion_bench/dataset/llama/wikitext.py +89 -0
  43. fusion_bench/dataset/nyuv2.py +119 -0
  44. fusion_bench/method/__init__.py +177 -0
  45. fusion_bench/method/ada_svd/__init__.py +2 -0
  46. fusion_bench/method/ada_svd/clip_vision.py +319 -0
  47. fusion_bench/method/adamerging/__init__.py +6 -0
  48. fusion_bench/method/adamerging/clip_layer_wise_adamerging.py +46 -0
  49. fusion_bench/method/adamerging/clip_task_wise_adamerging.py +187 -0
  50. fusion_bench/method/adamerging/entropy_loss.py +25 -0
  51. fusion_bench/method/adamerging/flan_t5_layer_wise_adamerging.py +332 -0
  52. fusion_bench/method/adamerging/gpt2_layer_wise_adamerging.py +351 -0
  53. fusion_bench/method/adamerging/layer_wise_adamerging.py +252 -0
  54. fusion_bench/method/adamerging/llama_adamerging.py +335 -0
  55. fusion_bench/method/adamerging/min_norm_solvers.py +227 -0
  56. fusion_bench/method/adamerging/task_wise_adamerging.py +174 -0
  57. fusion_bench/method/adamerging/utils.py +15 -0
  58. fusion_bench/method/analysis/__init__.py +2 -0
  59. fusion_bench/method/analysis/task_vector_cos_similarity.py +172 -0
  60. fusion_bench/method/analysis/task_vector_violin_plot.py +205 -0
  61. fusion_bench/method/base_algorithm.py +44 -0
  62. fusion_bench/method/classification/__init__.py +3 -0
  63. fusion_bench/method/classification/clip_finetune.py +444 -0
  64. fusion_bench/method/classification/continual_clip_finetune.py +297 -0
  65. fusion_bench/method/concrete_subspace/__init__.py +6 -0
  66. fusion_bench/method/concrete_subspace/clip_concrete_adamerging.py +595 -0
  67. fusion_bench/method/concrete_subspace/clip_concrete_task_arithmetic.py +263 -0
  68. fusion_bench/method/dare/__init__.py +4 -0
  69. fusion_bench/method/dare/simple_average.py +31 -0
  70. fusion_bench/method/dare/task_arithmetic.py +82 -0
  71. fusion_bench/method/dare/ties_merging.py +100 -0
  72. fusion_bench/method/dare/utils.py +87 -0
  73. fusion_bench/method/dawe/__init__.py +2 -0
  74. fusion_bench/method/dawe/dawe_for_clip.py +274 -0
  75. fusion_bench/method/dawe/warppers/__init__.py +13 -0
  76. fusion_bench/method/dawe/warppers/dawe_model.py +256 -0
  77. fusion_bench/method/depth_upscaling/__init__.py +3 -0
  78. fusion_bench/method/depth_upscaling/depth_upscaling.py +89 -0
  79. fusion_bench/method/depth_upscaling/depth_upscaling_for_llama.py +57 -0
  80. fusion_bench/method/dummy.py +35 -0
  81. fusion_bench/method/ensemble.py +98 -0
  82. fusion_bench/method/fisher_merging/__init__.py +4 -0
  83. fusion_bench/method/fisher_merging/clip_fisher_merging.py +191 -0
  84. fusion_bench/method/fisher_merging/fisher_merging.py +484 -0
  85. fusion_bench/method/fisher_merging/gpt2_fisher_merging.py +193 -0
  86. fusion_bench/method/linear/__init__.py +6 -0
  87. fusion_bench/method/linear/expo.py +118 -0
  88. fusion_bench/method/linear/linear_interpolation.py +60 -0
  89. fusion_bench/method/linear/llama_expo.py +229 -0
  90. fusion_bench/method/linear/simple_average_for_llama.py +54 -0
  91. fusion_bench/method/linear/task_arithmetic_for_llama.py +57 -0
  92. fusion_bench/method/lm_finetune/__init__.py +3 -0
  93. fusion_bench/method/lm_finetune/bradley_terry_rm.py +432 -0
  94. fusion_bench/method/lm_finetune/causal_lm_pretrain.py +7 -0
  95. fusion_bench/method/lm_finetune/fullfinetune_sft.py +375 -0
  96. fusion_bench/method/lm_finetune/peftfinetune_sft.py +370 -0
  97. fusion_bench/method/mixture_of_experts/__init__.py +7 -0
  98. fusion_bench/method/mixture_of_experts/mixtral_merging.py +112 -0
  99. fusion_bench/method/mixture_of_experts/mixtral_upcycling.py +329 -0
  100. fusion_bench/method/model_recombination.py +121 -0
  101. fusion_bench/method/opcm/__init__.py +4 -0
  102. fusion_bench/method/opcm/opcm.py +277 -0
  103. fusion_bench/method/opcm/task_arithmetic.py +115 -0
  104. fusion_bench/method/opcm/ties_merging.py +156 -0
  105. fusion_bench/method/opcm/utils.py +73 -0
  106. fusion_bench/method/opcm/weight_average.py +120 -0
  107. fusion_bench/method/pruning/__init__.py +5 -0
  108. fusion_bench/method/pruning/llama_magnitude_prune.py +202 -0
  109. fusion_bench/method/pruning/llama_random_prune.py +143 -0
  110. fusion_bench/method/pruning/llama_wanda_prune.py +359 -0
  111. fusion_bench/method/pruning/magnitude_diff_pruning.py +180 -0
  112. fusion_bench/method/pruning/prune_utils.py +165 -0
  113. fusion_bench/method/pruning/wanda_utils/__init__.py +7 -0
  114. fusion_bench/method/pruning/wanda_utils/ablate.py +188 -0
  115. fusion_bench/method/pruning/wanda_utils/data.py +135 -0
  116. fusion_bench/method/pruning/wanda_utils/eval.py +245 -0
  117. fusion_bench/method/pruning/wanda_utils/layerwrapper.py +61 -0
  118. fusion_bench/method/pruning/wanda_utils/prune.py +581 -0
  119. fusion_bench/method/pruning/wanda_utils/prune_opt.py +539 -0
  120. fusion_bench/method/pruning/wanda_utils/sparsegpt.py +165 -0
  121. fusion_bench/method/pwe_moe/__init__.py +5 -0
  122. fusion_bench/method/pwe_moe/clip_pwe_moe.py +315 -0
  123. fusion_bench/method/pwe_moe/module.py +316 -0
  124. fusion_bench/method/pwe_moe/phn/__init__.py +2 -0
  125. fusion_bench/method/pwe_moe/phn/solvers.py +195 -0
  126. fusion_bench/method/pwe_moe/utils.py +43 -0
  127. fusion_bench/method/rankone_moe/__init__.py +3 -0
  128. fusion_bench/method/rankone_moe/clip_rankone_moe.py +160 -0
  129. fusion_bench/method/rankone_moe/rankone_moe.py +249 -0
  130. fusion_bench/method/regmean/__init__.py +4 -0
  131. fusion_bench/method/regmean/clip_regmean.py +131 -0
  132. fusion_bench/method/regmean/gpt2_regmean.py +147 -0
  133. fusion_bench/method/regmean/regmean.py +375 -0
  134. fusion_bench/method/simple_average.py +112 -0
  135. fusion_bench/method/slerp/__init__.py +2 -0
  136. fusion_bench/method/slerp/slerp.py +101 -0
  137. fusion_bench/method/slerp/slerp_utils.py +107 -0
  138. fusion_bench/method/smile_upscaling/__init__.py +3 -0
  139. fusion_bench/method/smile_upscaling/singular_projection_merging.py +198 -0
  140. fusion_bench/method/smile_upscaling/smile_mistral_upscaling.py +331 -0
  141. fusion_bench/method/smile_upscaling/smile_upscaling.py +573 -0
  142. fusion_bench/method/sparse_we_moe/__init__.py +2 -0
  143. fusion_bench/method/sparse_we_moe/sparse_clip_we_moe.py +248 -0
  144. fusion_bench/method/sparse_we_moe/sparse_we_moe.py +301 -0
  145. fusion_bench/method/sparselo/__init__.py +2 -0
  146. fusion_bench/method/sparselo/sparselo.py +955 -0
  147. fusion_bench/method/surgery/__init__.py +1 -0
  148. fusion_bench/method/surgery/clip_layer_wise_adamerging_surgery.py +157 -0
  149. fusion_bench/method/tall_mask/__init__.py +0 -0
  150. fusion_bench/method/tall_mask/utils.py +234 -0
  151. fusion_bench/method/task_arithmetic/__init__.py +2 -0
  152. fusion_bench/method/task_arithmetic/task_arithmetic.py +151 -0
  153. fusion_bench/method/task_singular_vector/TSVC.py +16 -0
  154. fusion_bench/method/task_singular_vector/TSVM.py +63 -0
  155. fusion_bench/method/task_singular_vector/__init__.py +9 -0
  156. fusion_bench/method/task_singular_vector/utils/TSVC_utils.py +50 -0
  157. fusion_bench/method/task_singular_vector/utils/TSVM_utils.py +640 -0
  158. fusion_bench/method/task_singular_vector/utils/__init__.py +7 -0
  159. fusion_bench/method/ties_merging/__init__.py +2 -0
  160. fusion_bench/method/ties_merging/ties_merging.py +117 -0
  161. fusion_bench/method/ties_merging/ties_merging_utils.py +331 -0
  162. fusion_bench/method/trust_region/__init__.py +2 -0
  163. fusion_bench/method/trust_region/clip_task_arithmetic.py +205 -0
  164. fusion_bench/method/trust_region/utils.py +58 -0
  165. fusion_bench/method/we_moe/__init__.py +2 -0
  166. fusion_bench/method/we_moe/clip_we_moe.py +161 -0
  167. fusion_bench/method/we_moe/we_moe.py +247 -0
  168. fusion_bench/method/weighted_average/__init__.py +3 -0
  169. fusion_bench/method/weighted_average/llama.py +113 -0
  170. fusion_bench/method/weighted_average/weighted_average.py +102 -0
  171. fusion_bench/metrics/__init__.py +0 -0
  172. fusion_bench/metrics/continual_learning/backward_transfer.py +22 -0
  173. fusion_bench/metrics/nyuv2/__init__.py +11 -0
  174. fusion_bench/metrics/nyuv2/depth.py +45 -0
  175. fusion_bench/metrics/nyuv2/loss.py +31 -0
  176. fusion_bench/metrics/nyuv2/noise.py +16 -0
  177. fusion_bench/metrics/nyuv2/normal.py +48 -0
  178. fusion_bench/metrics/nyuv2/segmentation.py +43 -0
  179. fusion_bench/metrics/text_to_image_generation/__init__.py +9 -0
  180. fusion_bench/metrics/text_to_image_generation/aesthetic_scorer.py +123 -0
  181. fusion_bench/metrics/text_to_image_generation/compressibility.py +49 -0
  182. fusion_bench/metrics/text_to_image_generation/pickscore_scorer.py +95 -0
  183. fusion_bench/mixins/__init__.py +28 -0
  184. fusion_bench/mixins/clip_classification.py +252 -0
  185. fusion_bench/mixins/fabric_training.py +320 -0
  186. fusion_bench/mixins/lightning_fabric.py +174 -0
  187. fusion_bench/mixins/optim/__init__.py +0 -0
  188. fusion_bench/mixins/optim/adamw_with_warmup.py +42 -0
  189. fusion_bench/mixins/rich_live.py +21 -0
  190. fusion_bench/mixins/serialization.py +132 -0
  191. fusion_bench/mixins/simple_profiler.py +79 -0
  192. fusion_bench/modelpool/PeftModelForSeq2SeqLM.py +49 -0
  193. fusion_bench/modelpool/__init__.py +42 -0
  194. fusion_bench/modelpool/base_pool.py +268 -0
  195. fusion_bench/modelpool/causal_lm/__init__.py +2 -0
  196. fusion_bench/modelpool/causal_lm/causal_lm.py +139 -0
  197. fusion_bench/modelpool/clip_vision/__init__.py +1 -0
  198. fusion_bench/modelpool/clip_vision/modelpool.py +145 -0
  199. fusion_bench/modelpool/huggingface_automodel.py +20 -0
  200. fusion_bench/modelpool/huggingface_gpt2_classification.py +63 -0
  201. fusion_bench/modelpool/nyuv2_modelpool.py +40 -0
  202. fusion_bench/modelpool/seq2seq_lm/__init__.py +2 -0
  203. fusion_bench/modelpool/seq2seq_lm/modelpool.py +65 -0
  204. fusion_bench/modelpool/seq_classification_lm/__init__.py +2 -0
  205. fusion_bench/modelpool/seq_classification_lm/reward_model.py +15 -0
  206. fusion_bench/modelpool/seq_classification_lm/seq_classification_lm.py +98 -0
  207. fusion_bench/models/__init__.py +3 -0
  208. fusion_bench/models/chat_templates/__init__.py +1 -0
  209. fusion_bench/models/chat_templates/llama_3_Instruct.py +1 -0
  210. fusion_bench/models/chat_templates/load_tokenizer.py +43 -0
  211. fusion_bench/models/hf_clip.py +199 -0
  212. fusion_bench/models/linearized/__init__.py +0 -0
  213. fusion_bench/models/linearized/linearized_model_utils.py +91 -0
  214. fusion_bench/models/linearized/vision_model.py +122 -0
  215. fusion_bench/models/llama/__init__.py +16 -0
  216. fusion_bench/models/llama/model_utils/__init__.py +0 -0
  217. fusion_bench/models/llama/model_utils/embedding.py +87 -0
  218. fusion_bench/models/llama/model_utils/liger_kernel.py +86 -0
  219. fusion_bench/models/llama/model_utils/misc.py +112 -0
  220. fusion_bench/models/llama/model_utils/mod.py +52 -0
  221. fusion_bench/models/llama/model_utils/visual.py +241 -0
  222. fusion_bench/models/llama/patcher.py +78 -0
  223. fusion_bench/models/llama/tokenizer_loader.py +153 -0
  224. fusion_bench/models/masks/__init__.py +2 -0
  225. fusion_bench/models/masks/mask_model.py +160 -0
  226. fusion_bench/models/modeling_losparse_llama/__init__.py +4 -0
  227. fusion_bench/models/modeling_losparse_llama/configuration_losparse_llama.py +205 -0
  228. fusion_bench/models/modeling_losparse_llama/losparse_linear.py +67 -0
  229. fusion_bench/models/modeling_losparse_llama/modeling_losparse_llama.py +1825 -0
  230. fusion_bench/models/modeling_losparse_llama/register.py +8 -0
  231. fusion_bench/models/modeling_losparse_llama/utils.py +60 -0
  232. fusion_bench/models/modeling_smile_mistral/__init__.py +48 -0
  233. fusion_bench/models/modeling_smile_mistral/configuration_smile_mistral.py +21 -0
  234. fusion_bench/models/modeling_smile_mistral/modeling_smile_mistral.py +1034 -0
  235. fusion_bench/models/modeling_smile_mistral/register.py +8 -0
  236. fusion_bench/models/nyuv2/__init__.py +0 -0
  237. fusion_bench/models/nyuv2/aspp.py +82 -0
  238. fusion_bench/models/nyuv2/lightning_module.py +176 -0
  239. fusion_bench/models/nyuv2/resnet.py +405 -0
  240. fusion_bench/models/nyuv2/resnet_dilated.py +99 -0
  241. fusion_bench/models/parameter_dict.py +75 -0
  242. fusion_bench/models/rankone_moe.py +410 -0
  243. fusion_bench/models/separate_io.py +105 -0
  244. fusion_bench/models/smile_moe/__init__.py +0 -0
  245. fusion_bench/models/smile_moe/linear.py +256 -0
  246. fusion_bench/models/sparse_we_moe.py +459 -0
  247. fusion_bench/models/surgery/__init__.py +1 -0
  248. fusion_bench/models/surgery/surgerymodelwrapper.py +158 -0
  249. fusion_bench/models/utils.py +80 -0
  250. fusion_bench/models/we_moe.py +247 -0
  251. fusion_bench/models/wrappers/__init__.py +0 -0
  252. fusion_bench/models/wrappers/ensemble.py +183 -0
  253. fusion_bench/models/wrappers/layer_wise_fusion.py +336 -0
  254. fusion_bench/models/wrappers/task_wise_fusion.py +249 -0
  255. fusion_bench/optim/__init__.py +2 -0
  256. fusion_bench/optim/exception.py +47 -0
  257. fusion_bench/optim/lr_scheduler/__init__.py +1 -0
  258. fusion_bench/optim/lr_scheduler/linear_warmup.py +222 -0
  259. fusion_bench/optim/lr_scheduler/utils/__init__.py +1 -0
  260. fusion_bench/optim/lr_scheduler/utils/visualization.py +119 -0
  261. fusion_bench/optim/mezo.py +118 -0
  262. fusion_bench/programs/__init__.py +20 -0
  263. fusion_bench/programs/base_program.py +9 -0
  264. fusion_bench/programs/fabric_fusion_program.py +299 -0
  265. fusion_bench/scripts/__init__.py +0 -0
  266. fusion_bench/scripts/cli.py +43 -0
  267. fusion_bench/scripts/clip/__init__.py +0 -0
  268. fusion_bench/scripts/clip/convert_checkpoint.py +39 -0
  269. fusion_bench/scripts/imgui.py +218 -0
  270. fusion_bench/scripts/nyuv2_mtl_train.py +137 -0
  271. fusion_bench/scripts/webui.py +405 -0
  272. fusion_bench/taskpool/__init__.py +39 -0
  273. fusion_bench/taskpool/base_pool.py +35 -0
  274. fusion_bench/taskpool/clip_vision/__init__.py +4 -0
  275. fusion_bench/taskpool/clip_vision/clip_rankone_moe_taskpool.py +112 -0
  276. fusion_bench/taskpool/clip_vision/clip_sparse_wemoe_taskpool.py +120 -0
  277. fusion_bench/taskpool/clip_vision/taskpool.py +392 -0
  278. fusion_bench/taskpool/dummy.py +58 -0
  279. fusion_bench/taskpool/gpt2_text_classification.py +149 -0
  280. fusion_bench/taskpool/llama/__init__.py +1 -0
  281. fusion_bench/taskpool/llama/reward_model.py +157 -0
  282. fusion_bench/taskpool/llama/test_generation.py +185 -0
  283. fusion_bench/taskpool/nyuv2_taskpool.py +65 -0
  284. fusion_bench/tasks/__init__.py +2 -0
  285. fusion_bench/tasks/base_task.py +18 -0
  286. fusion_bench/tasks/classification.py +75 -0
  287. fusion_bench/tasks/clip_classification/__init__.py +183 -0
  288. fusion_bench/tasks/clip_classification/cifar10.py +33 -0
  289. fusion_bench/tasks/clip_classification/cifar100.py +146 -0
  290. fusion_bench/tasks/clip_classification/clip_dataset.py +1 -0
  291. fusion_bench/tasks/clip_classification/cub_200_2011.py +208 -0
  292. fusion_bench/tasks/clip_classification/dtd.py +60 -0
  293. fusion_bench/tasks/clip_classification/emnist_letters.py +31 -0
  294. fusion_bench/tasks/clip_classification/emnist_mnist.py +5 -0
  295. fusion_bench/tasks/clip_classification/eurosat.py +18 -0
  296. fusion_bench/tasks/clip_classification/fashion_mnist.py +18 -0
  297. fusion_bench/tasks/clip_classification/fer2013.py +18 -0
  298. fusion_bench/tasks/clip_classification/flower102.py +106 -0
  299. fusion_bench/tasks/clip_classification/food101.py +105 -0
  300. fusion_bench/tasks/clip_classification/gtsrb.py +51 -0
  301. fusion_bench/tasks/clip_classification/imagenet.py +2103 -0
  302. fusion_bench/tasks/clip_classification/kmnist.py +17 -0
  303. fusion_bench/tasks/clip_classification/mnist.py +5 -0
  304. fusion_bench/tasks/clip_classification/mongo_leaf_disease.py +19 -0
  305. fusion_bench/tasks/clip_classification/oxford_iiit_pet.py +41 -0
  306. fusion_bench/tasks/clip_classification/pcam.py +5 -0
  307. fusion_bench/tasks/clip_classification/rendered_sst2.py +3 -0
  308. fusion_bench/tasks/clip_classification/resisc45.py +68 -0
  309. fusion_bench/tasks/clip_classification/stanford_cars.py +209 -0
  310. fusion_bench/tasks/clip_classification/stl10.py +17 -0
  311. fusion_bench/tasks/clip_classification/sun397.py +404 -0
  312. fusion_bench/tasks/clip_classification/svhn.py +5 -0
  313. fusion_bench/tasks/clip_classification/tiny_imagenet.py +208 -0
  314. fusion_bench/tasks/flan_t5_text_generation/__init__.py +0 -0
  315. fusion_bench/tasks/flan_t5_text_generation/datasets_preprocess.py +71 -0
  316. fusion_bench/tasks/flan_t5_text_generation/glue_evaluation.py +132 -0
  317. fusion_bench/tasks/flan_t5_text_generation/glue_load_dataset.py +64 -0
  318. fusion_bench/tasks/flan_t5_text_generation/glue_preprocessors.py +379 -0
  319. fusion_bench/tasks/flan_t5_text_generation/glue_prompt_templates.py +52 -0
  320. fusion_bench/utils/__init__.py +14 -0
  321. fusion_bench/utils/auto.py +31 -0
  322. fusion_bench/utils/cache_utils.py +58 -0
  323. fusion_bench/utils/data.py +165 -0
  324. fusion_bench/utils/devices.py +231 -0
  325. fusion_bench/utils/dict.py +43 -0
  326. fusion_bench/utils/dtype.py +146 -0
  327. fusion_bench/utils/expr.py +90 -0
  328. fusion_bench/utils/fabric.py +17 -0
  329. fusion_bench/utils/functools.py +37 -0
  330. fusion_bench/utils/hydra_utils.py +28 -0
  331. fusion_bench/utils/instantiate.py +450 -0
  332. fusion_bench/utils/json.py +93 -0
  333. fusion_bench/utils/lazy_imports.py +74 -0
  334. fusion_bench/utils/misc.py +18 -0
  335. fusion_bench/utils/packages.py +84 -0
  336. fusion_bench/utils/parameters.py +323 -0
  337. fusion_bench/utils/path.py +22 -0
  338. fusion_bench/utils/plot/__init__.py +0 -0
  339. fusion_bench/utils/plot/color_data.py +1726 -0
  340. fusion_bench/utils/plot/token.py +52 -0
  341. fusion_bench/utils/plot/token_notebook.py +127 -0
  342. fusion_bench/utils/pylogger.py +55 -0
  343. fusion_bench/utils/rich_utils.py +201 -0
  344. fusion_bench/utils/set.py +8 -0
  345. fusion_bench/utils/state_dict_arithmetic.py +297 -0
  346. fusion_bench/utils/strenum/__init__.py +326 -0
  347. fusion_bench/utils/strenum/_name_mangler.py +127 -0
  348. fusion_bench/utils/strenum/_version.py +556 -0
  349. fusion_bench/utils/tensorboard.py +51 -0
  350. fusion_bench/utils/timer.py +49 -0
  351. fusion_bench/utils/type.py +34 -0
  352. fusion_bench-0.2.9.dist-info/LICENSE +21 -0
  353. fusion_bench-0.2.9.dist-info/METADATA +258 -0
  354. fusion_bench-0.2.9.dist-info/RECORD +727 -0
  355. fusion_bench-0.2.9.dist-info/WHEEL +5 -0
  356. fusion_bench-0.2.9.dist-info/entry_points.txt +3 -0
  357. fusion_bench-0.2.9.dist-info/top_level.txt +1 -0
  358. fusion_bench_config/README.md +12 -0
  359. fusion_bench_config/clip-vit-base-patch32_robustness_corrupted.yaml +23 -0
  360. fusion_bench_config/dataset/image_classification/README.md +6 -0
  361. fusion_bench_config/dataset/image_classification/test/TALL14.yaml +20 -0
  362. fusion_bench_config/dataset/image_classification/test/TALL20.yaml +28 -0
  363. fusion_bench_config/dataset/image_classification/test/cifar10.yaml +4 -0
  364. fusion_bench_config/dataset/image_classification/test/cifar100.yaml +4 -0
  365. fusion_bench_config/dataset/image_classification/test/cub-200-2011.yaml +4 -0
  366. fusion_bench_config/dataset/image_classification/test/dtd.yaml +4 -0
  367. fusion_bench_config/dataset/image_classification/test/emnist_letters.yaml +5 -0
  368. fusion_bench_config/dataset/image_classification/test/emnist_mnist.yaml +4 -0
  369. fusion_bench_config/dataset/image_classification/test/eurosat.yaml +4 -0
  370. fusion_bench_config/dataset/image_classification/test/fashion_mnist.yaml +4 -0
  371. fusion_bench_config/dataset/image_classification/test/fer2013.yaml +3 -0
  372. fusion_bench_config/dataset/image_classification/test/food101.yaml +4 -0
  373. fusion_bench_config/dataset/image_classification/test/gtsrb.yaml +4 -0
  374. fusion_bench_config/dataset/image_classification/test/kmnist.yaml +4 -0
  375. fusion_bench_config/dataset/image_classification/test/mango-leaf-disease.yaml +4 -0
  376. fusion_bench_config/dataset/image_classification/test/mnist.yaml +4 -0
  377. fusion_bench_config/dataset/image_classification/test/oxford-iiit-pet.yaml +4 -0
  378. fusion_bench_config/dataset/image_classification/test/oxford_flowers102.yaml +4 -0
  379. fusion_bench_config/dataset/image_classification/test/pcam.yaml +4 -0
  380. fusion_bench_config/dataset/image_classification/test/rendered-sst2.yaml +4 -0
  381. fusion_bench_config/dataset/image_classification/test/resisc45.yaml +4 -0
  382. fusion_bench_config/dataset/image_classification/test/stanford-cars.yaml +4 -0
  383. fusion_bench_config/dataset/image_classification/test/stl10.yaml +4 -0
  384. fusion_bench_config/dataset/image_classification/test/sun397.yaml +4 -0
  385. fusion_bench_config/dataset/image_classification/test/svhn.yaml +6 -0
  386. fusion_bench_config/dataset/image_classification/test/the_eight_tasks.yaml +9 -0
  387. fusion_bench_config/dataset/image_classification/test/tiny-imagenet.yaml +4 -0
  388. fusion_bench_config/dataset/image_classification/train/TALL14.yaml +20 -0
  389. fusion_bench_config/dataset/image_classification/train/TALL20.yaml +28 -0
  390. fusion_bench_config/dataset/image_classification/train/cifar10.yaml +4 -0
  391. fusion_bench_config/dataset/image_classification/train/cifar100.yaml +4 -0
  392. fusion_bench_config/dataset/image_classification/train/cub-200-2011.yaml +4 -0
  393. fusion_bench_config/dataset/image_classification/train/dtd.yaml +4 -0
  394. fusion_bench_config/dataset/image_classification/train/emnist_letters.yaml +4 -0
  395. fusion_bench_config/dataset/image_classification/train/emnist_mnist.yaml +4 -0
  396. fusion_bench_config/dataset/image_classification/train/eurosat.yaml +4 -0
  397. fusion_bench_config/dataset/image_classification/train/fashion_mnist.yaml +4 -0
  398. fusion_bench_config/dataset/image_classification/train/fer2013.yaml +3 -0
  399. fusion_bench_config/dataset/image_classification/train/food101.yaml +4 -0
  400. fusion_bench_config/dataset/image_classification/train/gtsrb.yaml +4 -0
  401. fusion_bench_config/dataset/image_classification/train/kmnist.yaml +4 -0
  402. fusion_bench_config/dataset/image_classification/train/mango-leaf-disease.yaml +4 -0
  403. fusion_bench_config/dataset/image_classification/train/mnist.yaml +4 -0
  404. fusion_bench_config/dataset/image_classification/train/oxford-iiit-pet.yaml +4 -0
  405. fusion_bench_config/dataset/image_classification/train/oxford_flowers102.yaml +4 -0
  406. fusion_bench_config/dataset/image_classification/train/pcam.yaml +4 -0
  407. fusion_bench_config/dataset/image_classification/train/rendered-sst2.yaml +4 -0
  408. fusion_bench_config/dataset/image_classification/train/resisc45.yaml +4 -0
  409. fusion_bench_config/dataset/image_classification/train/stanford-cars.yaml +4 -0
  410. fusion_bench_config/dataset/image_classification/train/stl10.yaml +4 -0
  411. fusion_bench_config/dataset/image_classification/train/sun397.yaml +4 -0
  412. fusion_bench_config/dataset/image_classification/train/svhn.yaml +6 -0
  413. fusion_bench_config/dataset/image_classification/train/the_eight_tasks.yaml +9 -0
  414. fusion_bench_config/dataset/image_classification/train/tiny-imagenet.yaml +4 -0
  415. fusion_bench_config/dataset/image_classification/val/dtd.yaml +10 -0
  416. fusion_bench_config/dataset/image_classification/val/eurosat.yaml +10 -0
  417. fusion_bench_config/dataset/image_classification/val/gtsrb.yaml +10 -0
  418. fusion_bench_config/dataset/image_classification/val/mnist.yaml +10 -0
  419. fusion_bench_config/dataset/image_classification/val/resisc45.yaml +10 -0
  420. fusion_bench_config/dataset/image_classification/val/stanford-cars.yaml +10 -0
  421. fusion_bench_config/dataset/image_classification/val/sun397.yaml +10 -0
  422. fusion_bench_config/dataset/image_classification/val/svhn.yaml +12 -0
  423. fusion_bench_config/dataset/image_classification/val/the_eight_tasks.yaml +9 -0
  424. fusion_bench_config/dataset/llm_sft/alpaca_cleaned.yaml +6 -0
  425. fusion_bench_config/dataset/llm_sft/ultrachat_200k.yaml +3 -0
  426. fusion_bench_config/dataset/question_answering/search_qa.yaml +6 -0
  427. fusion_bench_config/dataset/question_answering/test/search_qa.yaml +7 -0
  428. fusion_bench_config/dataset/question_answering/train/MetaMathQA.yaml +4 -0
  429. fusion_bench_config/dataset/question_answering/train/search_qa.yaml +7 -0
  430. fusion_bench_config/dataset/question_answering/val/search_qa.yaml +7 -0
  431. fusion_bench_config/dataset/summarization/test/xsum.yaml +4 -0
  432. fusion_bench_config/dataset/summarization/train/xsum.yaml +4 -0
  433. fusion_bench_config/dataset/summarization/val/xsum.yaml +4 -0
  434. fusion_bench_config/dataset/summarization/xsum.yaml +3 -0
  435. fusion_bench_config/dataset/text_generation/test/gsm-hard.yaml +4 -0
  436. fusion_bench_config/dataset/text_generation/test/gsm8k.yaml +5 -0
  437. fusion_bench_config/dataset/text_generation/test/gsm8k_question_label.yaml +3 -0
  438. fusion_bench_config/dataset/text_generation/train/CodeAlpaca-20k.yaml +4 -0
  439. fusion_bench_config/dataset/text_generation/train/gsm8k.yaml +5 -0
  440. fusion_bench_config/dataset/text_generation/train/gsm8k_question_label.yaml +3 -0
  441. fusion_bench_config/fabric/auto.yaml +16 -0
  442. fusion_bench_config/fabric/llama_ddp.yaml +18 -0
  443. fusion_bench_config/fabric/llama_fsdp.yaml +16 -0
  444. fusion_bench_config/fabric/llama_peft_fsdp.yaml +16 -0
  445. fusion_bench_config/fabric/loggers/csv_logger.yaml +11 -0
  446. fusion_bench_config/fabric/loggers/tensorboard_logger.yaml +11 -0
  447. fusion_bench_config/fabric/loggers/wandb_logger.yaml +2 -0
  448. fusion_bench_config/fabric/strategy/deepspeed.yaml +10 -0
  449. fusion_bench_config/fabric/strategy/llama_fsdp.yaml +8 -0
  450. fusion_bench_config/fabric/strategy/llama_peft_fsdp.yaml +9 -0
  451. fusion_bench_config/fabric_model_fusion.yaml +20 -0
  452. fusion_bench_config/hydra/default.yaml +8 -0
  453. fusion_bench_config/hydra/help/fusion_bench_help.yaml +47 -0
  454. fusion_bench_config/hydra/job_logging/rich_logging.yaml +20 -0
  455. fusion_bench_config/llama_full_finetune.yaml +19 -0
  456. fusion_bench_config/llama_magnitude_pruning.yaml +16 -0
  457. fusion_bench_config/llama_model_fusion.yaml +17 -0
  458. fusion_bench_config/method/ada_svd/clip_vision.yaml +9 -0
  459. fusion_bench_config/method/adamerging/clip.yaml +23 -0
  460. fusion_bench_config/method/adamerging/layer_wise_flan_t5.yaml +23 -0
  461. fusion_bench_config/method/adamerging/layer_wise_gpt2.yaml +23 -0
  462. fusion_bench_config/method/adamerging/llama_sft.yaml +33 -0
  463. fusion_bench_config/method/adamerging.yaml +23 -0
  464. fusion_bench_config/method/analysis/task_vector_cos_similarity.yaml +6 -0
  465. fusion_bench_config/method/analysis/task_vector_violin_plot.yaml +6 -0
  466. fusion_bench_config/method/classification/clip_continual_finetune.yaml +28 -0
  467. fusion_bench_config/method/classification/clip_finetune.yaml +26 -0
  468. fusion_bench_config/method/clip_finetune.yaml +26 -0
  469. fusion_bench_config/method/concrete_subspace/clip_concrete_layer_wise_adamerging.yaml +27 -0
  470. fusion_bench_config/method/concrete_subspace/clip_concrete_task_arithmetic.yaml +25 -0
  471. fusion_bench_config/method/concrete_subspace/clip_concrete_task_wise_adamerging.yaml +27 -0
  472. fusion_bench_config/method/dare/simple_average.yaml +5 -0
  473. fusion_bench_config/method/dare/task_arithmetic.yaml +6 -0
  474. fusion_bench_config/method/dare/ties_merging.yaml +15 -0
  475. fusion_bench_config/method/dawe/dawe_for_clip.yaml +32 -0
  476. fusion_bench_config/method/depth_upscaling.yaml +5 -0
  477. fusion_bench_config/method/dummy.yaml +1 -0
  478. fusion_bench_config/method/ensemble/max_model_predictor.yaml +1 -0
  479. fusion_bench_config/method/ensemble/simple_ensemble.yaml +2 -0
  480. fusion_bench_config/method/ensemble/weighted_ensemble.yaml +6 -0
  481. fusion_bench_config/method/fisher_merging/clip_fisher_merging.yaml +13 -0
  482. fusion_bench_config/method/fisher_merging/fisher_merging.yaml +9 -0
  483. fusion_bench_config/method/fisher_merging/gpt2_fisher_merging.yaml +12 -0
  484. fusion_bench_config/method/linear/expo.yaml +8 -0
  485. fusion_bench_config/method/linear/linear_interpolation.yaml +3 -0
  486. fusion_bench_config/method/linear/llama_expo.yaml +19 -0
  487. fusion_bench_config/method/linear/llama_expo_with_dare.yaml +19 -0
  488. fusion_bench_config/method/linear/simple_average_for_llama.yaml +5 -0
  489. fusion_bench_config/method/linear/task_arithmetic_for_llama.yaml +4 -0
  490. fusion_bench_config/method/linear/weighted_average.yaml +6 -0
  491. fusion_bench_config/method/linear/weighted_average_for_llama.yaml +12 -0
  492. fusion_bench_config/method/lm_finetune/bradley_terry_rm.yaml +47 -0
  493. fusion_bench_config/method/lm_finetune/fullfinetune_sft.yaml +47 -0
  494. fusion_bench_config/method/lm_finetune/peftfinetune_sft.yaml +63 -0
  495. fusion_bench_config/method/mixtral_moe_merging.yaml +4 -0
  496. fusion_bench_config/method/mixtral_moe_upscaling.yaml +7 -0
  497. fusion_bench_config/method/model_recombination.yaml +4 -0
  498. fusion_bench_config/method/opcm/opcm.yaml +12 -0
  499. fusion_bench_config/method/opcm/task_arithmetic.yaml +12 -0
  500. fusion_bench_config/method/opcm/ties_merging.yaml +18 -0
  501. fusion_bench_config/method/opcm/weight_average.yaml +10 -0
  502. fusion_bench_config/method/pruning/llama_magnitude_pruning.yaml +14 -0
  503. fusion_bench_config/method/pruning/llama_random_pruning.yaml +9 -0
  504. fusion_bench_config/method/pruning/llama_wanda_pruning.yaml +16 -0
  505. fusion_bench_config/method/pruning/magnitude_diff_pruning.yaml +5 -0
  506. fusion_bench_config/method/pwe_moe_ls_for_clip.yaml +22 -0
  507. fusion_bench_config/method/rankone_moe/rankone_moe.yaml +26 -0
  508. fusion_bench_config/method/regmean/clip_regmean.yaml +11 -0
  509. fusion_bench_config/method/regmean/gpt2_regmean.yaml +12 -0
  510. fusion_bench_config/method/regmean/regmean.yaml +4 -0
  511. fusion_bench_config/method/simple_average.yaml +1 -0
  512. fusion_bench_config/method/slerp/slerp.yaml +6 -0
  513. fusion_bench_config/method/smile_upscaling/singular_projection_merging.yaml +8 -0
  514. fusion_bench_config/method/smile_upscaling/smile_mistral_upscaling.yaml +10 -0
  515. fusion_bench_config/method/smile_upscaling/smile_upscaling.yaml +14 -0
  516. fusion_bench_config/method/sparselo_pruning/llama_iterative_sparselo.yaml +20 -0
  517. fusion_bench_config/method/sparselo_pruning/llama_pcp_sparselo.yaml +20 -0
  518. fusion_bench_config/method/sparselo_pruning/llama_sparselo.yaml +19 -0
  519. fusion_bench_config/method/surgery/adamerging_surgery.yaml +27 -0
  520. fusion_bench_config/method/task_arithmetic.yaml +2 -0
  521. fusion_bench_config/method/task_singular_vector/TaskSingularVectorMerging.yaml +2 -0
  522. fusion_bench_config/method/ties_merging.yaml +8 -0
  523. fusion_bench_config/method/trust_region/clip_task_arithmetic.yaml +7 -0
  524. fusion_bench_config/method/wemoe/sparse_weight_ensembling_moe.yaml +39 -0
  525. fusion_bench_config/method/wemoe/weight_ensembling_moe.yaml +20 -0
  526. fusion_bench_config/model/clip-vit/README.md +38 -0
  527. fusion_bench_config/model/clip-vit/clip-vit-base-patch16.yaml +1 -0
  528. fusion_bench_config/model/clip-vit/clip-vit-base-patch16_TALL14.yaml +22 -0
  529. fusion_bench_config/model/clip-vit/clip-vit-base-patch16_TALL20.yaml +29 -0
  530. fusion_bench_config/model/clip-vit/clip-vit-base-patch16_cifar10.yaml +1 -0
  531. fusion_bench_config/model/clip-vit/clip-vit-base-patch16_cifar100.yaml +1 -0
  532. fusion_bench_config/model/clip-vit/clip-vit-base-patch16_dtd.yaml +1 -0
  533. fusion_bench_config/model/clip-vit/clip-vit-base-patch16_eight_tasks.yaml +10 -0
  534. fusion_bench_config/model/clip-vit/clip-vit-base-patch16_emnist_letters.yaml +1 -0
  535. fusion_bench_config/model/clip-vit/clip-vit-base-patch16_eurosat.yaml +1 -0
  536. fusion_bench_config/model/clip-vit/clip-vit-base-patch16_fashion_mnist.yaml +1 -0
  537. fusion_bench_config/model/clip-vit/clip-vit-base-patch16_fer2013.yaml +1 -0
  538. fusion_bench_config/model/clip-vit/clip-vit-base-patch16_food101.yaml +1 -0
  539. fusion_bench_config/model/clip-vit/clip-vit-base-patch16_gtsrb.yaml +1 -0
  540. fusion_bench_config/model/clip-vit/clip-vit-base-patch16_kmnist.yaml +1 -0
  541. fusion_bench_config/model/clip-vit/clip-vit-base-patch16_mnist.yaml +1 -0
  542. fusion_bench_config/model/clip-vit/clip-vit-base-patch16_oxford-iiit-pet.yaml +1 -0
  543. fusion_bench_config/model/clip-vit/clip-vit-base-patch16_oxford_flowers102.yaml +1 -0
  544. fusion_bench_config/model/clip-vit/clip-vit-base-patch16_pcam.yaml +1 -0
  545. fusion_bench_config/model/clip-vit/clip-vit-base-patch16_rendered-sst2.yaml +1 -0
  546. fusion_bench_config/model/clip-vit/clip-vit-base-patch16_resisc45.yaml +1 -0
  547. fusion_bench_config/model/clip-vit/clip-vit-base-patch16_stanford-cars.yaml +1 -0
  548. fusion_bench_config/model/clip-vit/clip-vit-base-patch16_stl10.yaml +1 -0
  549. fusion_bench_config/model/clip-vit/clip-vit-base-patch16_sun397.yaml +1 -0
  550. fusion_bench_config/model/clip-vit/clip-vit-base-patch16_svhn.yaml +1 -0
  551. fusion_bench_config/model/clip-vit/clip-vit-base-patch32.yaml +1 -0
  552. fusion_bench_config/model/clip-vit/clip-vit-base-patch32_TALL14.yaml +22 -0
  553. fusion_bench_config/model/clip-vit/clip-vit-base-patch32_TALL20.yaml +29 -0
  554. fusion_bench_config/model/clip-vit/clip-vit-base-patch32_cifar10.yaml +1 -0
  555. fusion_bench_config/model/clip-vit/clip-vit-base-patch32_cifar100.yaml +1 -0
  556. fusion_bench_config/model/clip-vit/clip-vit-base-patch32_dtd.yaml +1 -0
  557. fusion_bench_config/model/clip-vit/clip-vit-base-patch32_eight_tasks.yaml +11 -0
  558. fusion_bench_config/model/clip-vit/clip-vit-base-patch32_emnist_letters.yaml +1 -0
  559. fusion_bench_config/model/clip-vit/clip-vit-base-patch32_eurosat.yaml +1 -0
  560. fusion_bench_config/model/clip-vit/clip-vit-base-patch32_fashion_mnist.yaml +1 -0
  561. fusion_bench_config/model/clip-vit/clip-vit-base-patch32_fer2013.yaml +1 -0
  562. fusion_bench_config/model/clip-vit/clip-vit-base-patch32_food101.yaml +1 -0
  563. fusion_bench_config/model/clip-vit/clip-vit-base-patch32_gtsrb.yaml +1 -0
  564. fusion_bench_config/model/clip-vit/clip-vit-base-patch32_kmnist.yaml +1 -0
  565. fusion_bench_config/model/clip-vit/clip-vit-base-patch32_mnist.yaml +1 -0
  566. fusion_bench_config/model/clip-vit/clip-vit-base-patch32_oxford-iiit-pet.yaml +1 -0
  567. fusion_bench_config/model/clip-vit/clip-vit-base-patch32_oxford_flowers102.yaml +1 -0
  568. fusion_bench_config/model/clip-vit/clip-vit-base-patch32_pcam.yaml +1 -0
  569. fusion_bench_config/model/clip-vit/clip-vit-base-patch32_rendered-sst2.yaml +1 -0
  570. fusion_bench_config/model/clip-vit/clip-vit-base-patch32_resisc45.yaml +1 -0
  571. fusion_bench_config/model/clip-vit/clip-vit-base-patch32_stanford-cars.yaml +1 -0
  572. fusion_bench_config/model/clip-vit/clip-vit-base-patch32_stl10.yaml +1 -0
  573. fusion_bench_config/model/clip-vit/clip-vit-base-patch32_sun397.yaml +1 -0
  574. fusion_bench_config/model/clip-vit/clip-vit-base-patch32_svhn.yaml +1 -0
  575. fusion_bench_config/model/clip-vit/clip-vit-large-patch14.yaml +1 -0
  576. fusion_bench_config/model/clip-vit/clip-vit-large-patch14_TALL14.yaml +22 -0
  577. fusion_bench_config/model/clip-vit/clip-vit-large-patch14_TALL20.yaml +29 -0
  578. fusion_bench_config/model/clip-vit/clip-vit-large-patch14_cifar10.yaml +1 -0
  579. fusion_bench_config/model/clip-vit/clip-vit-large-patch14_cifar100.yaml +1 -0
  580. fusion_bench_config/model/clip-vit/clip-vit-large-patch14_dtd.yaml +1 -0
  581. fusion_bench_config/model/clip-vit/clip-vit-large-patch14_eight_tasks.yaml +10 -0
  582. fusion_bench_config/model/clip-vit/clip-vit-large-patch14_emnist_letters.yaml +1 -0
  583. fusion_bench_config/model/clip-vit/clip-vit-large-patch14_eurosat.yaml +1 -0
  584. fusion_bench_config/model/clip-vit/clip-vit-large-patch14_fashion_mnist.yaml +1 -0
  585. fusion_bench_config/model/clip-vit/clip-vit-large-patch14_fer2013.yaml +1 -0
  586. fusion_bench_config/model/clip-vit/clip-vit-large-patch14_food101.yaml +1 -0
  587. fusion_bench_config/model/clip-vit/clip-vit-large-patch14_gtsrb.yaml +1 -0
  588. fusion_bench_config/model/clip-vit/clip-vit-large-patch14_kmnist.yaml +1 -0
  589. fusion_bench_config/model/clip-vit/clip-vit-large-patch14_mnist.yaml +1 -0
  590. fusion_bench_config/model/clip-vit/clip-vit-large-patch14_oxford-iiit-pet.yaml +1 -0
  591. fusion_bench_config/model/clip-vit/clip-vit-large-patch14_oxford_flowers102.yaml +1 -0
  592. fusion_bench_config/model/clip-vit/clip-vit-large-patch14_pcam.yaml +1 -0
  593. fusion_bench_config/model/clip-vit/clip-vit-large-patch14_rendered-sst2.yaml +1 -0
  594. fusion_bench_config/model/clip-vit/clip-vit-large-patch14_resisc45.yaml +1 -0
  595. fusion_bench_config/model/clip-vit/clip-vit-large-patch14_stanford-cars.yaml +1 -0
  596. fusion_bench_config/model/clip-vit/clip-vit-large-patch14_stl10.yaml +1 -0
  597. fusion_bench_config/model/clip-vit/clip-vit-large-patch14_sun397.yaml +1 -0
  598. fusion_bench_config/model/clip-vit/clip-vit-large-patch14_svhn.yaml +1 -0
  599. fusion_bench_config/model/clip-vit/download_TALL20_models.sh +6 -0
  600. fusion_bench_config/model/clip-vit/generate_vit_model_config.sh +23 -0
  601. fusion_bench_config/model/flan-t5/flan-t5-base.yaml +3 -0
  602. fusion_bench_config/model/flan-t5/flan-t5-base_glue-cola.yaml +3 -0
  603. fusion_bench_config/model/flan-t5/flan-t5-base_glue-cola_lora-16.yaml +4 -0
  604. fusion_bench_config/model/flan-t5/flan-t5-base_glue-mnli.yaml +3 -0
  605. fusion_bench_config/model/flan-t5/flan-t5-base_glue-mnli_lora-16.yaml +4 -0
  606. fusion_bench_config/model/flan-t5/flan-t5-base_glue-mrpc.yaml +3 -0
  607. fusion_bench_config/model/flan-t5/flan-t5-base_glue-mrpc_lora-16.yaml +4 -0
  608. fusion_bench_config/model/flan-t5/flan-t5-base_glue-qnli.yaml +3 -0
  609. fusion_bench_config/model/flan-t5/flan-t5-base_glue-qnli_lora-16.yaml +4 -0
  610. fusion_bench_config/model/flan-t5/flan-t5-base_glue-qqp.yaml +3 -0
  611. fusion_bench_config/model/flan-t5/flan-t5-base_glue-qqp_lora-16.yaml +4 -0
  612. fusion_bench_config/model/flan-t5/flan-t5-base_glue-rte.yaml +3 -0
  613. fusion_bench_config/model/flan-t5/flan-t5-base_glue-rte_lora-16.yaml +4 -0
  614. fusion_bench_config/model/flan-t5/flan-t5-base_glue-sst2.yaml +3 -0
  615. fusion_bench_config/model/flan-t5/flan-t5-base_glue-sst2_lora-16.yaml +4 -0
  616. fusion_bench_config/model/flan-t5/flan-t5-base_glue-stsb.yaml +3 -0
  617. fusion_bench_config/model/flan-t5/flan-t5-base_glue-stsb_lora-16.yaml +4 -0
  618. fusion_bench_config/model/flan-t5/flan-t5-large.yaml +3 -0
  619. fusion_bench_config/model/flan-t5/flan-t5-large_glue-cola_lora-16.yaml +4 -0
  620. fusion_bench_config/model/flan-t5/flan-t5-large_glue-mnli_lora-16.yaml +4 -0
  621. fusion_bench_config/model/flan-t5/flan-t5-large_glue-mrpc_lora-16.yaml +4 -0
  622. fusion_bench_config/model/flan-t5/flan-t5-large_glue-qnli_lora-16.yaml +4 -0
  623. fusion_bench_config/model/flan-t5/flan-t5-large_glue-qqp_lora-16.yaml +4 -0
  624. fusion_bench_config/model/flan-t5/flan-t5-large_glue-rte_lora-16.yaml +4 -0
  625. fusion_bench_config/model/flan-t5/flan-t5-large_glue-sst2_lora-16.yaml +4 -0
  626. fusion_bench_config/model/flan-t5/flan-t5-large_glue-stsb_lora-16.yaml +4 -0
  627. fusion_bench_config/model/flan-t5/generate_flan-t5.sh +38 -0
  628. fusion_bench_config/modelpool/CLIPVisionModelPool/_template.yaml +12 -0
  629. fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TA8.yaml +8 -0
  630. fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TA8_lora.yaml +53 -0
  631. fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TA8_model_only.yaml +6 -0
  632. fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TALL14.yaml +11 -0
  633. fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TALL14_model_only.yaml +9 -0
  634. fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TALL20.yaml +11 -0
  635. fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TALL20_model_only.yaml +9 -0
  636. fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_individual.yaml +19 -0
  637. fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_individual_lora.yaml +14 -0
  638. fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TA8.yaml +5 -0
  639. fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TA8_control_task.yaml +24 -0
  640. fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TA8_model_only.yaml +3 -0
  641. fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TALL14.yaml +8 -0
  642. fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TALL14_model_only.yaml +6 -0
  643. fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TALL20.yaml +8 -0
  644. fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TALL20_model_only.yaml +6 -0
  645. fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_generalization_exp1.yaml +24 -0
  646. fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_generalization_exp2.yaml +24 -0
  647. fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_individual.yaml +13 -0
  648. fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_mtl.yaml +5 -0
  649. fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_robustness_clean.yaml +18 -0
  650. fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_robustness_corrupted.yaml +29 -0
  651. fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_single_finetuned.yaml +5 -0
  652. fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_single_task_projection.yaml +15 -0
  653. fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_svhn_and_mnist.yaml +6 -0
  654. fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_two_tasks_control_task.yaml +18 -0
  655. fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TA8.yaml +8 -0
  656. fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TA8_model_only.yaml +6 -0
  657. fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TALL14.yaml +11 -0
  658. fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TALL14_model_only.yaml +9 -0
  659. fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TALL20.yaml +11 -0
  660. fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TALL20_model_only.yaml +9 -0
  661. fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_individual.yaml +19 -0
  662. fusion_bench_config/modelpool/CausalLMPool/llama_alpaca_cleaned.yaml +21 -0
  663. fusion_bench_config/modelpool/CausalLMPool/llama_codealpaca.yaml +21 -0
  664. fusion_bench_config/modelpool/CausalLMPool/llama_for_causallm.yaml +20 -0
  665. fusion_bench_config/modelpool/CausalLMPool/llama_metamathqa.yaml +19 -0
  666. fusion_bench_config/modelpool/CausalLMPool/llama_ultrachat.yaml +18 -0
  667. fusion_bench_config/modelpool/CausalLMPool/simle_mixtral_exp_v4.yaml +21 -0
  668. fusion_bench_config/modelpool/CausalLMPool/single_llama_model.yaml +17 -0
  669. fusion_bench_config/modelpool/Seq2SeqLMPool/_template.yaml +8 -0
  670. fusion_bench_config/modelpool/Seq2SeqLMPool/flan-t5-base_glue.yaml +13 -0
  671. fusion_bench_config/modelpool/Seq2SeqLMPool/flan-t5-base_glue_lora16.yaml +41 -0
  672. fusion_bench_config/modelpool/Seq2SeqLMPool/flan-t5-base_glue_lora16_tta.yaml +68 -0
  673. fusion_bench_config/modelpool/Seq2SeqLMPool/flan-t5-base_individual.yaml +7 -0
  674. fusion_bench_config/modelpool/Seq2SeqLMPool/flan-t5-large_glue_lora16.yaml +45 -0
  675. fusion_bench_config/modelpool/SeqenceClassificationModelPool/llama_preference700k.yaml +23 -0
  676. fusion_bench_config/modelpool/SeqenceClassificationModelPool/single_reward_model.yaml +14 -0
  677. fusion_bench_config/modelpool/automodelpool.yaml +12 -0
  678. fusion_bench_config/modelpool/gpt-2_glue.yaml +64 -0
  679. fusion_bench_config/modelpool/mixtral_moe_merging.yaml +14 -0
  680. fusion_bench_config/modelpool/mixtral_moe_upscaling.yaml +6 -0
  681. fusion_bench_config/modelpool/nyuv2_modelpool.yaml +26 -0
  682. fusion_bench_config/modelpool/smile_mistral_exp_v1.yaml +9 -0
  683. fusion_bench_config/modelpool/smile_mistral_exp_v2.yaml +9 -0
  684. fusion_bench_config/modelpool/smile_mistral_exp_v3.yaml +9 -0
  685. fusion_bench_config/modelpool/smile_mistral_exp_v4.yaml +13 -0
  686. fusion_bench_config/nyuv2_config.yaml +17 -0
  687. fusion_bench_config/nyuv2_mtl_train.yaml +32 -0
  688. fusion_bench_config/taskpool/CLIPVisionModelTaskPool/_template.yaml +31 -0
  689. fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-base-patch32_robustness_corrupted.yaml +27 -0
  690. fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TA8.yaml +11 -0
  691. fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TA8_B16.yaml +31 -0
  692. fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TA8_L14.yaml +12 -0
  693. fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TA8_val.yaml +12 -0
  694. fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TA8_with_control_task.yaml +12 -0
  695. fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TALL14.yaml +19 -0
  696. fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TALL20.yaml +26 -0
  697. fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_cifar10.yaml +3 -0
  698. fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_cifar100.yaml +3 -0
  699. fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_dtd.yaml +3 -0
  700. fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_emnist_letters.yaml +3 -0
  701. fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_eurosat.yaml +3 -0
  702. fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_fashion_mnist.yaml +3 -0
  703. fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_fer2013.yaml +3 -0
  704. fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_food101.yaml +3 -0
  705. fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_gtsrb.yaml +3 -0
  706. fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_kmnist.yaml +3 -0
  707. fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_mnist.yaml +3 -0
  708. fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_oxford-iiit-pet.yaml +3 -0
  709. fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_oxford_flowers102.yaml +3 -0
  710. fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_oxford_flowers102_val.yaml +3 -0
  711. fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_pcam.yaml +3 -0
  712. fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_rendered-sst2.yaml +3 -0
  713. fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_resisc45.yaml +3 -0
  714. fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_stanford-cars.yaml +3 -0
  715. fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_stl10.yaml +3 -0
  716. fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_sun397.yaml +3 -0
  717. fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_svhn.yaml +3 -0
  718. fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip_rankone_wemoe_clip-vit-classification_TA8.yaml +18 -0
  719. fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip_sparse_wemoe_clip-vit-classification_TA8.yaml +18 -0
  720. fusion_bench_config/taskpool/clip-vit-base-patch32_robustness_clean.yaml +24 -0
  721. fusion_bench_config/taskpool/clip-vit-base-patch32_robustness_corrupted.yaml +27 -0
  722. fusion_bench_config/taskpool/clip-vit-base-patch32_svhn_and_mnist.yaml +22 -0
  723. fusion_bench_config/taskpool/dummy.yaml +2 -0
  724. fusion_bench_config/taskpool/flan-t5_glue_text_generation.yaml +44 -0
  725. fusion_bench_config/taskpool/gpt-2_glue.yaml +39 -0
  726. fusion_bench_config/taskpool/nyuv2_taskpool.yaml +9 -0
  727. fusion_bench_config/taskpool/reward_model_evaluation.yaml +18 -0
@@ -0,0 +1,2103 @@
1
+ """
2
+ A full dictionary of ImageNet classes and their corresponding ImageNet IDs can be found at https://image-net.org/data/words.txt and https://huggingface.co/datasets/zh-plus/tiny-imagenet/raw/main/classes.py
3
+ """
4
+
5
+ imagenet_ids = [
6
+ "n01440764",
7
+ "n01443537",
8
+ "n01484850",
9
+ "n01491361",
10
+ "n01494475",
11
+ "n01496331",
12
+ "n01498041",
13
+ "n01514668",
14
+ "n01514859",
15
+ "n01518878",
16
+ "n01530575",
17
+ "n01531178",
18
+ "n01532829",
19
+ "n01534433",
20
+ "n01537544",
21
+ "n01558993",
22
+ "n01560419",
23
+ "n01580077",
24
+ "n01582220",
25
+ "n01592084",
26
+ "n01601694",
27
+ "n01608432",
28
+ "n01614925",
29
+ "n01616318",
30
+ "n01622779",
31
+ "n01629819",
32
+ "n01630670",
33
+ "n01631663",
34
+ "n01632458",
35
+ "n01632777",
36
+ "n01641577",
37
+ "n01644373",
38
+ "n01644900",
39
+ "n01664065",
40
+ "n01665541",
41
+ "n01667114",
42
+ "n01667778",
43
+ "n01669191",
44
+ "n01675722",
45
+ "n01677366",
46
+ "n01682714",
47
+ "n01685808",
48
+ "n01687978",
49
+ "n01688243",
50
+ "n01689811",
51
+ "n01692333",
52
+ "n01693334",
53
+ "n01694178",
54
+ "n01695060",
55
+ "n01697457",
56
+ "n01698640",
57
+ "n01704323",
58
+ "n01728572",
59
+ "n01728920",
60
+ "n01729322",
61
+ "n01729977",
62
+ "n01734418",
63
+ "n01735189",
64
+ "n01737021",
65
+ "n01739381",
66
+ "n01740131",
67
+ "n01742172",
68
+ "n01744401",
69
+ "n01748264",
70
+ "n01749939",
71
+ "n01751748",
72
+ "n01753488",
73
+ "n01755581",
74
+ "n01756291",
75
+ "n01768244",
76
+ "n01770081",
77
+ "n01770393",
78
+ "n01773157",
79
+ "n01773549",
80
+ "n01773797",
81
+ "n01774384",
82
+ "n01774750",
83
+ "n01775062",
84
+ "n01776313",
85
+ "n01784675",
86
+ "n01795545",
87
+ "n01796340",
88
+ "n01797886",
89
+ "n01798484",
90
+ "n01806143",
91
+ "n01806567",
92
+ "n01807496",
93
+ "n01817953",
94
+ "n01818515",
95
+ "n01819313",
96
+ "n01820546",
97
+ "n01824575",
98
+ "n01828970",
99
+ "n01829413",
100
+ "n01833805",
101
+ "n01843065",
102
+ "n01843383",
103
+ "n01847000",
104
+ "n01855032",
105
+ "n01855672",
106
+ "n01860187",
107
+ "n01871265",
108
+ "n01872401",
109
+ "n01873310",
110
+ "n01877812",
111
+ "n01882714",
112
+ "n01883070",
113
+ "n01910747",
114
+ "n01914609",
115
+ "n01917289",
116
+ "n01924916",
117
+ "n01930112",
118
+ "n01943899",
119
+ "n01944390",
120
+ "n01945685",
121
+ "n01950731",
122
+ "n01955084",
123
+ "n01968897",
124
+ "n01978287",
125
+ "n01978455",
126
+ "n01980166",
127
+ "n01981276",
128
+ "n01983481",
129
+ "n01984695",
130
+ "n01985128",
131
+ "n01986214",
132
+ "n01990800",
133
+ "n02002556",
134
+ "n02002724",
135
+ "n02006656",
136
+ "n02007558",
137
+ "n02009229",
138
+ "n02009912",
139
+ "n02011460",
140
+ "n02012849",
141
+ "n02013706",
142
+ "n02017213",
143
+ "n02018207",
144
+ "n02018795",
145
+ "n02025239",
146
+ "n02027492",
147
+ "n02028035",
148
+ "n02033041",
149
+ "n02037110",
150
+ "n02051845",
151
+ "n02056570",
152
+ "n02058221",
153
+ "n02066245",
154
+ "n02071294",
155
+ "n02074367",
156
+ "n02077923",
157
+ "n02085620",
158
+ "n02085782",
159
+ "n02085936",
160
+ "n02086079",
161
+ "n02086240",
162
+ "n02086646",
163
+ "n02086910",
164
+ "n02087046",
165
+ "n02087394",
166
+ "n02088094",
167
+ "n02088238",
168
+ "n02088364",
169
+ "n02088466",
170
+ "n02088632",
171
+ "n02089078",
172
+ "n02089867",
173
+ "n02089973",
174
+ "n02090379",
175
+ "n02090622",
176
+ "n02090721",
177
+ "n02091032",
178
+ "n02091134",
179
+ "n02091244",
180
+ "n02091467",
181
+ "n02091635",
182
+ "n02091831",
183
+ "n02092002",
184
+ "n02092339",
185
+ "n02093256",
186
+ "n02093428",
187
+ "n02093647",
188
+ "n02093754",
189
+ "n02093859",
190
+ "n02093991",
191
+ "n02094114",
192
+ "n02094258",
193
+ "n02094433",
194
+ "n02095314",
195
+ "n02095570",
196
+ "n02095889",
197
+ "n02096051",
198
+ "n02096177",
199
+ "n02096294",
200
+ "n02096437",
201
+ "n02096585",
202
+ "n02097047",
203
+ "n02097130",
204
+ "n02097209",
205
+ "n02097298",
206
+ "n02097474",
207
+ "n02097658",
208
+ "n02098105",
209
+ "n02098286",
210
+ "n02098413",
211
+ "n02099267",
212
+ "n02099429",
213
+ "n02099601",
214
+ "n02099712",
215
+ "n02099849",
216
+ "n02100236",
217
+ "n02100583",
218
+ "n02100735",
219
+ "n02100877",
220
+ "n02101006",
221
+ "n02101388",
222
+ "n02101556",
223
+ "n02102040",
224
+ "n02102177",
225
+ "n02102318",
226
+ "n02102480",
227
+ "n02102973",
228
+ "n02104029",
229
+ "n02104365",
230
+ "n02105056",
231
+ "n02105162",
232
+ "n02105251",
233
+ "n02105412",
234
+ "n02105505",
235
+ "n02105641",
236
+ "n02105855",
237
+ "n02106030",
238
+ "n02106166",
239
+ "n02106382",
240
+ "n02106550",
241
+ "n02106662",
242
+ "n02107142",
243
+ "n02107312",
244
+ "n02107574",
245
+ "n02107683",
246
+ "n02107908",
247
+ "n02108000",
248
+ "n02108089",
249
+ "n02108422",
250
+ "n02108551",
251
+ "n02108915",
252
+ "n02109047",
253
+ "n02109525",
254
+ "n02109961",
255
+ "n02110063",
256
+ "n02110185",
257
+ "n02110341",
258
+ "n02110627",
259
+ "n02110806",
260
+ "n02110958",
261
+ "n02111129",
262
+ "n02111277",
263
+ "n02111500",
264
+ "n02111889",
265
+ "n02112018",
266
+ "n02112137",
267
+ "n02112350",
268
+ "n02112706",
269
+ "n02113023",
270
+ "n02113186",
271
+ "n02113624",
272
+ "n02113712",
273
+ "n02113799",
274
+ "n02113978",
275
+ "n02114367",
276
+ "n02114548",
277
+ "n02114712",
278
+ "n02114855",
279
+ "n02115641",
280
+ "n02115913",
281
+ "n02116738",
282
+ "n02117135",
283
+ "n02119022",
284
+ "n02119789",
285
+ "n02120079",
286
+ "n02120505",
287
+ "n02123045",
288
+ "n02123159",
289
+ "n02123394",
290
+ "n02123597",
291
+ "n02124075",
292
+ "n02125311",
293
+ "n02127052",
294
+ "n02128385",
295
+ "n02128757",
296
+ "n02128925",
297
+ "n02129165",
298
+ "n02129604",
299
+ "n02130308",
300
+ "n02132136",
301
+ "n02133161",
302
+ "n02134084",
303
+ "n02134418",
304
+ "n02137549",
305
+ "n02138441",
306
+ "n02165105",
307
+ "n02165456",
308
+ "n02167151",
309
+ "n02168699",
310
+ "n02169497",
311
+ "n02172182",
312
+ "n02174001",
313
+ "n02177972",
314
+ "n02190166",
315
+ "n02206856",
316
+ "n02219486",
317
+ "n02226429",
318
+ "n02229544",
319
+ "n02231487",
320
+ "n02233338",
321
+ "n02236044",
322
+ "n02256656",
323
+ "n02259212",
324
+ "n02264363",
325
+ "n02268443",
326
+ "n02268853",
327
+ "n02276258",
328
+ "n02277742",
329
+ "n02279972",
330
+ "n02280649",
331
+ "n02281406",
332
+ "n02281787",
333
+ "n02317335",
334
+ "n02319095",
335
+ "n02321529",
336
+ "n02325366",
337
+ "n02326432",
338
+ "n02328150",
339
+ "n02342885",
340
+ "n02346627",
341
+ "n02356798",
342
+ "n02361337",
343
+ "n02363005",
344
+ "n02364673",
345
+ "n02389026",
346
+ "n02391049",
347
+ "n02395406",
348
+ "n02396427",
349
+ "n02397096",
350
+ "n02398521",
351
+ "n02403003",
352
+ "n02408429",
353
+ "n02410509",
354
+ "n02412080",
355
+ "n02415577",
356
+ "n02417914",
357
+ "n02422106",
358
+ "n02422699",
359
+ "n02423022",
360
+ "n02437312",
361
+ "n02437616",
362
+ "n02441942",
363
+ "n02442845",
364
+ "n02443114",
365
+ "n02443484",
366
+ "n02444819",
367
+ "n02445715",
368
+ "n02447366",
369
+ "n02454379",
370
+ "n02457408",
371
+ "n02480495",
372
+ "n02480855",
373
+ "n02481823",
374
+ "n02483362",
375
+ "n02483708",
376
+ "n02484975",
377
+ "n02486261",
378
+ "n02486410",
379
+ "n02487347",
380
+ "n02488291",
381
+ "n02488702",
382
+ "n02489166",
383
+ "n02490219",
384
+ "n02492035",
385
+ "n02492660",
386
+ "n02493509",
387
+ "n02493793",
388
+ "n02494079",
389
+ "n02497673",
390
+ "n02500267",
391
+ "n02504013",
392
+ "n02504458",
393
+ "n02509815",
394
+ "n02510455",
395
+ "n02514041",
396
+ "n02526121",
397
+ "n02536864",
398
+ "n02606052",
399
+ "n02607072",
400
+ "n02640242",
401
+ "n02641379",
402
+ "n02643566",
403
+ "n02655020",
404
+ "n02666196",
405
+ "n02667093",
406
+ "n02669723",
407
+ "n02672831",
408
+ "n02676566",
409
+ "n02687172",
410
+ "n02690373",
411
+ "n02692877",
412
+ "n02699494",
413
+ "n02701002",
414
+ "n02704792",
415
+ "n02708093",
416
+ "n02727426",
417
+ "n02730930",
418
+ "n02747177",
419
+ "n02749479",
420
+ "n02769748",
421
+ "n02776631",
422
+ "n02777292",
423
+ "n02782093",
424
+ "n02783161",
425
+ "n02786058",
426
+ "n02787622",
427
+ "n02788148",
428
+ "n02790996",
429
+ "n02791124",
430
+ "n02791270",
431
+ "n02793495",
432
+ "n02794156",
433
+ "n02795169",
434
+ "n02797295",
435
+ "n02799071",
436
+ "n02802426",
437
+ "n02804414",
438
+ "n02804610",
439
+ "n02807133",
440
+ "n02808304",
441
+ "n02808440",
442
+ "n02814533",
443
+ "n02814860",
444
+ "n02815834",
445
+ "n02817516",
446
+ "n02823428",
447
+ "n02823750",
448
+ "n02825657",
449
+ "n02834397",
450
+ "n02835271",
451
+ "n02837789",
452
+ "n02840245",
453
+ "n02841315",
454
+ "n02843684",
455
+ "n02859443",
456
+ "n02860847",
457
+ "n02865351",
458
+ "n02869837",
459
+ "n02870880",
460
+ "n02871525",
461
+ "n02877765",
462
+ "n02879718",
463
+ "n02883205",
464
+ "n02892201",
465
+ "n02892767",
466
+ "n02894605",
467
+ "n02895154",
468
+ "n02906734",
469
+ "n02909870",
470
+ "n02910353",
471
+ "n02916936",
472
+ "n02917067",
473
+ "n02927161",
474
+ "n02930766",
475
+ "n02939185",
476
+ "n02948072",
477
+ "n02950826",
478
+ "n02951358",
479
+ "n02951585",
480
+ "n02963159",
481
+ "n02965783",
482
+ "n02966193",
483
+ "n02966687",
484
+ "n02971356",
485
+ "n02974003",
486
+ "n02977058",
487
+ "n02978881",
488
+ "n02979186",
489
+ "n02980441",
490
+ "n02981792",
491
+ "n02988304",
492
+ "n02992211",
493
+ "n02992529",
494
+ "n02999410",
495
+ "n03000134",
496
+ "n03000247",
497
+ "n03000684",
498
+ "n03014705",
499
+ "n03016953",
500
+ "n03017168",
501
+ "n03018349",
502
+ "n03026506",
503
+ "n03028079",
504
+ "n03032252",
505
+ "n03041632",
506
+ "n03042490",
507
+ "n03045698",
508
+ "n03047690",
509
+ "n03062245",
510
+ "n03063599",
511
+ "n03063689",
512
+ "n03065424",
513
+ "n03075370",
514
+ "n03085013",
515
+ "n03089624",
516
+ "n03095699",
517
+ "n03100240",
518
+ "n03109150",
519
+ "n03110669",
520
+ "n03124043",
521
+ "n03124170",
522
+ "n03125729",
523
+ "n03126707",
524
+ "n03127747",
525
+ "n03127925",
526
+ "n03131574",
527
+ "n03133878",
528
+ "n03134739",
529
+ "n03141823",
530
+ "n03146219",
531
+ "n03160309",
532
+ "n03179701",
533
+ "n03180011",
534
+ "n03187595",
535
+ "n03188531",
536
+ "n03196217",
537
+ "n03197337",
538
+ "n03201208",
539
+ "n03207743",
540
+ "n03207941",
541
+ "n03208938",
542
+ "n03216828",
543
+ "n03218198",
544
+ "n03220513",
545
+ "n03223299",
546
+ "n03240683",
547
+ "n03249569",
548
+ "n03250847",
549
+ "n03255030",
550
+ "n03259280",
551
+ "n03271574",
552
+ "n03272010",
553
+ "n03272562",
554
+ "n03290653",
555
+ "n03291819",
556
+ "n03297495",
557
+ "n03314780",
558
+ "n03325584",
559
+ "n03337140",
560
+ "n03344393",
561
+ "n03345487",
562
+ "n03347037",
563
+ "n03355925",
564
+ "n03372029",
565
+ "n03376595",
566
+ "n03379051",
567
+ "n03384352",
568
+ "n03388043",
569
+ "n03388183",
570
+ "n03388549",
571
+ "n03393912",
572
+ "n03394916",
573
+ "n03400231",
574
+ "n03404251",
575
+ "n03417042",
576
+ "n03424325",
577
+ "n03425413",
578
+ "n03443371",
579
+ "n03444034",
580
+ "n03445777",
581
+ "n03445924",
582
+ "n03447447",
583
+ "n03447721",
584
+ "n03450230",
585
+ "n03452741",
586
+ "n03457902",
587
+ "n03459775",
588
+ "n03461385",
589
+ "n03467068",
590
+ "n03476684",
591
+ "n03476991",
592
+ "n03478589",
593
+ "n03481172",
594
+ "n03482405",
595
+ "n03483316",
596
+ "n03485407",
597
+ "n03485794",
598
+ "n03492542",
599
+ "n03494278",
600
+ "n03495258",
601
+ "n03496892",
602
+ "n03498962",
603
+ "n03527444",
604
+ "n03529860",
605
+ "n03530642",
606
+ "n03532672",
607
+ "n03534580",
608
+ "n03535780",
609
+ "n03538406",
610
+ "n03544143",
611
+ "n03584254",
612
+ "n03584829",
613
+ "n03590841",
614
+ "n03594734",
615
+ "n03594945",
616
+ "n03595614",
617
+ "n03598930",
618
+ "n03599486",
619
+ "n03602883",
620
+ "n03617480",
621
+ "n03623198",
622
+ "n03627232",
623
+ "n03630383",
624
+ "n03633091",
625
+ "n03637318",
626
+ "n03642806",
627
+ "n03649909",
628
+ "n03657121",
629
+ "n03658185",
630
+ "n03661043",
631
+ "n03662601",
632
+ "n03666591",
633
+ "n03670208",
634
+ "n03673027",
635
+ "n03676483",
636
+ "n03680355",
637
+ "n03690938",
638
+ "n03691459",
639
+ "n03692522",
640
+ "n03697007",
641
+ "n03706229",
642
+ "n03709823",
643
+ "n03710193",
644
+ "n03710637",
645
+ "n03710721",
646
+ "n03717622",
647
+ "n03720891",
648
+ "n03721384",
649
+ "n03724870",
650
+ "n03729826",
651
+ "n03733131",
652
+ "n03733281",
653
+ "n03733805",
654
+ "n03742115",
655
+ "n03743016",
656
+ "n03759954",
657
+ "n03761084",
658
+ "n03763968",
659
+ "n03764736",
660
+ "n03769881",
661
+ "n03770439",
662
+ "n03770679",
663
+ "n03773504",
664
+ "n03775071",
665
+ "n03775546",
666
+ "n03776460",
667
+ "n03777568",
668
+ "n03777754",
669
+ "n03781244",
670
+ "n03782006",
671
+ "n03785016",
672
+ "n03786901",
673
+ "n03787032",
674
+ "n03788195",
675
+ "n03788365",
676
+ "n03791053",
677
+ "n03792782",
678
+ "n03792972",
679
+ "n03793489",
680
+ "n03794056",
681
+ "n03796401",
682
+ "n03803284",
683
+ "n03804744",
684
+ "n03814639",
685
+ "n03814906",
686
+ "n03825788",
687
+ "n03832673",
688
+ "n03837869",
689
+ "n03838899",
690
+ "n03840681",
691
+ "n03841143",
692
+ "n03843555",
693
+ "n03854065",
694
+ "n03857828",
695
+ "n03866082",
696
+ "n03868242",
697
+ "n03868863",
698
+ "n03871628",
699
+ "n03873416",
700
+ "n03874293",
701
+ "n03874599",
702
+ "n03876231",
703
+ "n03877472",
704
+ "n03877845",
705
+ "n03884397",
706
+ "n03887697",
707
+ "n03888257",
708
+ "n03888605",
709
+ "n03891251",
710
+ "n03891332",
711
+ "n03895866",
712
+ "n03899768",
713
+ "n03902125",
714
+ "n03903868",
715
+ "n03908618",
716
+ "n03908714",
717
+ "n03916031",
718
+ "n03920288",
719
+ "n03924679",
720
+ "n03929660",
721
+ "n03929855",
722
+ "n03930313",
723
+ "n03930630",
724
+ "n03933933",
725
+ "n03935335",
726
+ "n03937543",
727
+ "n03938244",
728
+ "n03942813",
729
+ "n03944341",
730
+ "n03947888",
731
+ "n03950228",
732
+ "n03954731",
733
+ "n03956157",
734
+ "n03958227",
735
+ "n03961711",
736
+ "n03967562",
737
+ "n03970156",
738
+ "n03976467",
739
+ "n03976657",
740
+ "n03977966",
741
+ "n03980874",
742
+ "n03982430",
743
+ "n03983396",
744
+ "n03991062",
745
+ "n03992509",
746
+ "n03995372",
747
+ "n03998194",
748
+ "n04004767",
749
+ "n04005630",
750
+ "n04008634",
751
+ "n04009552",
752
+ "n04019541",
753
+ "n04023962",
754
+ "n04026417",
755
+ "n04033901",
756
+ "n04033995",
757
+ "n04037443",
758
+ "n04039381",
759
+ "n04040759",
760
+ "n04041544",
761
+ "n04044716",
762
+ "n04049303",
763
+ "n04065272",
764
+ "n04067472",
765
+ "n04069434",
766
+ "n04070727",
767
+ "n04074963",
768
+ "n04081281",
769
+ "n04086273",
770
+ "n04090263",
771
+ "n04099969",
772
+ "n04111531",
773
+ "n04116512",
774
+ "n04118538",
775
+ "n04118776",
776
+ "n04120489",
777
+ "n04125021",
778
+ "n04127249",
779
+ "n04131690",
780
+ "n04133789",
781
+ "n04136333",
782
+ "n04141076",
783
+ "n04141327",
784
+ "n04141975",
785
+ "n04146614",
786
+ "n04147183",
787
+ "n04149813",
788
+ "n04152593",
789
+ "n04153751",
790
+ "n04154565",
791
+ "n04162706",
792
+ "n04179913",
793
+ "n04192698",
794
+ "n04200800",
795
+ "n04201297",
796
+ "n04204238",
797
+ "n04204347",
798
+ "n04208210",
799
+ "n04209133",
800
+ "n04209239",
801
+ "n04228054",
802
+ "n04229816",
803
+ "n04235860",
804
+ "n04238763",
805
+ "n04239074",
806
+ "n04243546",
807
+ "n04251144",
808
+ "n04252077",
809
+ "n04252225",
810
+ "n04254120",
811
+ "n04254680",
812
+ "n04254777",
813
+ "n04258138",
814
+ "n04259630",
815
+ "n04263257",
816
+ "n04264628",
817
+ "n04265275",
818
+ "n04266014",
819
+ "n04270147",
820
+ "n04273569",
821
+ "n04275548",
822
+ "n04277352",
823
+ "n04285008",
824
+ "n04286575",
825
+ "n04296562",
826
+ "n04310018",
827
+ "n04311004",
828
+ "n04311174",
829
+ "n04317175",
830
+ "n04325704",
831
+ "n04326547",
832
+ "n04328186",
833
+ "n04330267",
834
+ "n04332243",
835
+ "n04335435",
836
+ "n04336792",
837
+ "n04344873",
838
+ "n04346328",
839
+ "n04347754",
840
+ "n04350905",
841
+ "n04355338",
842
+ "n04355933",
843
+ "n04356056",
844
+ "n04357314",
845
+ "n04366367",
846
+ "n04367480",
847
+ "n04370456",
848
+ "n04371430",
849
+ "n04371774",
850
+ "n04372370",
851
+ "n04376876",
852
+ "n04380533",
853
+ "n04389033",
854
+ "n04392985",
855
+ "n04398044",
856
+ "n04399382",
857
+ "n04404412",
858
+ "n04409515",
859
+ "n04417672",
860
+ "n04418357",
861
+ "n04423845",
862
+ "n04428191",
863
+ "n04429376",
864
+ "n04435653",
865
+ "n04442312",
866
+ "n04443257",
867
+ "n04447861",
868
+ "n04456115",
869
+ "n04458633",
870
+ "n04461696",
871
+ "n04462240",
872
+ "n04465501",
873
+ "n04467665",
874
+ "n04476259",
875
+ "n04479046",
876
+ "n04482393",
877
+ "n04483307",
878
+ "n04485082",
879
+ "n04486054",
880
+ "n04487081",
881
+ "n04487394",
882
+ "n04493381",
883
+ "n04501370",
884
+ "n04505470",
885
+ "n04507155",
886
+ "n04509417",
887
+ "n04515003",
888
+ "n04517823",
889
+ "n04522168",
890
+ "n04523525",
891
+ "n04525038",
892
+ "n04525305",
893
+ "n04532106",
894
+ "n04532670",
895
+ "n04536866",
896
+ "n04540053",
897
+ "n04542943",
898
+ "n04548280",
899
+ "n04548362",
900
+ "n04550184",
901
+ "n04552348",
902
+ "n04553703",
903
+ "n04554684",
904
+ "n04557648",
905
+ "n04560804",
906
+ "n04562935",
907
+ "n04579145",
908
+ "n04579432",
909
+ "n04584207",
910
+ "n04589890",
911
+ "n04590129",
912
+ "n04591157",
913
+ "n04591713",
914
+ "n04592741",
915
+ "n04596742",
916
+ "n04597913",
917
+ "n04599235",
918
+ "n04604644",
919
+ "n04606251",
920
+ "n04612504",
921
+ "n04613696",
922
+ "n06359193",
923
+ "n06596364",
924
+ "n06785654",
925
+ "n06794110",
926
+ "n06874185",
927
+ "n07248320",
928
+ "n07565083",
929
+ "n07579787",
930
+ "n07583066",
931
+ "n07584110",
932
+ "n07590611",
933
+ "n07613480",
934
+ "n07614500",
935
+ "n07615774",
936
+ "n07684084",
937
+ "n07693725",
938
+ "n07695742",
939
+ "n07697313",
940
+ "n07697537",
941
+ "n07711569",
942
+ "n07714571",
943
+ "n07714990",
944
+ "n07715103",
945
+ "n07716358",
946
+ "n07716906",
947
+ "n07717410",
948
+ "n07717556",
949
+ "n07718472",
950
+ "n07718747",
951
+ "n07720875",
952
+ "n07730033",
953
+ "n07734744",
954
+ "n07742313",
955
+ "n07745940",
956
+ "n07747607",
957
+ "n07749582",
958
+ "n07753113",
959
+ "n07753275",
960
+ "n07753592",
961
+ "n07754684",
962
+ "n07760859",
963
+ "n07768694",
964
+ "n07802026",
965
+ "n07831146",
966
+ "n07836838",
967
+ "n07860988",
968
+ "n07871810",
969
+ "n07873807",
970
+ "n07875152",
971
+ "n07880968",
972
+ "n07892512",
973
+ "n07920052",
974
+ "n07930864",
975
+ "n07932039",
976
+ "n09193705",
977
+ "n09229709",
978
+ "n09246464",
979
+ "n09256479",
980
+ "n09288635",
981
+ "n09332890",
982
+ "n09399592",
983
+ "n09421951",
984
+ "n09428293",
985
+ "n09468604",
986
+ "n09472597",
987
+ "n09835506",
988
+ "n10148035",
989
+ "n10565667",
990
+ "n11879895",
991
+ "n11939491",
992
+ "n12057211",
993
+ "n12144580",
994
+ "n12267677",
995
+ "n12620546",
996
+ "n12768682",
997
+ "n12985857",
998
+ "n12998815",
999
+ "n13037406",
1000
+ "n13040303",
1001
+ "n13044778",
1002
+ "n13052670",
1003
+ "n13054560",
1004
+ "n13133613",
1005
+ "n15075141",
1006
+ ]
1007
+
1008
+ classnames = [
1009
+ "tench",
1010
+ "goldfish",
1011
+ "great white shark",
1012
+ "tiger shark",
1013
+ "hammerhead shark",
1014
+ "electric ray",
1015
+ "stingray",
1016
+ "rooster",
1017
+ "hen",
1018
+ "ostrich",
1019
+ "brambling",
1020
+ "goldfinch",
1021
+ "house finch",
1022
+ "junco",
1023
+ "indigo bunting",
1024
+ "American robin",
1025
+ "bulbul",
1026
+ "jay",
1027
+ "magpie",
1028
+ "chickadee",
1029
+ "American dipper",
1030
+ "kite (bird of prey)",
1031
+ "bald eagle",
1032
+ "vulture",
1033
+ "great grey owl",
1034
+ "fire salamander",
1035
+ "smooth newt",
1036
+ "newt",
1037
+ "spotted salamander",
1038
+ "axolotl",
1039
+ "American bullfrog",
1040
+ "tree frog",
1041
+ "tailed frog",
1042
+ "loggerhead sea turtle",
1043
+ "leatherback sea turtle",
1044
+ "mud turtle",
1045
+ "terrapin",
1046
+ "box turtle",
1047
+ "banded gecko",
1048
+ "green iguana",
1049
+ "Carolina anole",
1050
+ "desert grassland whiptail lizard",
1051
+ "agama",
1052
+ "frilled-necked lizard",
1053
+ "alligator lizard",
1054
+ "Gila monster",
1055
+ "European green lizard",
1056
+ "chameleon",
1057
+ "Komodo dragon",
1058
+ "Nile crocodile",
1059
+ "American alligator",
1060
+ "triceratops",
1061
+ "worm snake",
1062
+ "ring-necked snake",
1063
+ "eastern hog-nosed snake",
1064
+ "smooth green snake",
1065
+ "kingsnake",
1066
+ "garter snake",
1067
+ "water snake",
1068
+ "vine snake",
1069
+ "night snake",
1070
+ "boa constrictor",
1071
+ "African rock python",
1072
+ "Indian cobra",
1073
+ "green mamba",
1074
+ "sea snake",
1075
+ "Saharan horned viper",
1076
+ "eastern diamondback rattlesnake",
1077
+ "sidewinder rattlesnake",
1078
+ "trilobite",
1079
+ "harvestman",
1080
+ "scorpion",
1081
+ "yellow garden spider",
1082
+ "barn spider",
1083
+ "European garden spider",
1084
+ "southern black widow",
1085
+ "tarantula",
1086
+ "wolf spider",
1087
+ "tick",
1088
+ "centipede",
1089
+ "black grouse",
1090
+ "ptarmigan",
1091
+ "ruffed grouse",
1092
+ "prairie grouse",
1093
+ "peafowl",
1094
+ "quail",
1095
+ "partridge",
1096
+ "african grey parrot",
1097
+ "macaw",
1098
+ "sulphur-crested cockatoo",
1099
+ "lorikeet",
1100
+ "coucal",
1101
+ "bee eater",
1102
+ "hornbill",
1103
+ "hummingbird",
1104
+ "jacamar",
1105
+ "toucan",
1106
+ "duck",
1107
+ "red-breasted merganser",
1108
+ "goose",
1109
+ "black swan",
1110
+ "tusker",
1111
+ "echidna",
1112
+ "platypus",
1113
+ "wallaby",
1114
+ "koala",
1115
+ "wombat",
1116
+ "jellyfish",
1117
+ "sea anemone",
1118
+ "brain coral",
1119
+ "flatworm",
1120
+ "nematode",
1121
+ "conch",
1122
+ "snail",
1123
+ "slug",
1124
+ "sea slug",
1125
+ "chiton",
1126
+ "chambered nautilus",
1127
+ "Dungeness crab",
1128
+ "rock crab",
1129
+ "fiddler crab",
1130
+ "red king crab",
1131
+ "American lobster",
1132
+ "spiny lobster",
1133
+ "crayfish",
1134
+ "hermit crab",
1135
+ "isopod",
1136
+ "white stork",
1137
+ "black stork",
1138
+ "spoonbill",
1139
+ "flamingo",
1140
+ "little blue heron",
1141
+ "great egret",
1142
+ "bittern bird",
1143
+ "crane bird",
1144
+ "limpkin",
1145
+ "common gallinule",
1146
+ "American coot",
1147
+ "bustard",
1148
+ "ruddy turnstone",
1149
+ "dunlin",
1150
+ "common redshank",
1151
+ "dowitcher",
1152
+ "oystercatcher",
1153
+ "pelican",
1154
+ "king penguin",
1155
+ "albatross",
1156
+ "grey whale",
1157
+ "killer whale",
1158
+ "dugong",
1159
+ "sea lion",
1160
+ "Chihuahua",
1161
+ "Japanese Chin",
1162
+ "Maltese",
1163
+ "Pekingese",
1164
+ "Shih Tzu",
1165
+ "King Charles Spaniel",
1166
+ "Papillon",
1167
+ "toy terrier",
1168
+ "Rhodesian Ridgeback",
1169
+ "Afghan Hound",
1170
+ "Basset Hound",
1171
+ "Beagle",
1172
+ "Bloodhound",
1173
+ "Bluetick Coonhound",
1174
+ "Black and Tan Coonhound",
1175
+ "Treeing Walker Coonhound",
1176
+ "English foxhound",
1177
+ "Redbone Coonhound",
1178
+ "borzoi",
1179
+ "Irish Wolfhound",
1180
+ "Italian Greyhound",
1181
+ "Whippet",
1182
+ "Ibizan Hound",
1183
+ "Norwegian Elkhound",
1184
+ "Otterhound",
1185
+ "Saluki",
1186
+ "Scottish Deerhound",
1187
+ "Weimaraner",
1188
+ "Staffordshire Bull Terrier",
1189
+ "American Staffordshire Terrier",
1190
+ "Bedlington Terrier",
1191
+ "Border Terrier",
1192
+ "Kerry Blue Terrier",
1193
+ "Irish Terrier",
1194
+ "Norfolk Terrier",
1195
+ "Norwich Terrier",
1196
+ "Yorkshire Terrier",
1197
+ "Wire Fox Terrier",
1198
+ "Lakeland Terrier",
1199
+ "Sealyham Terrier",
1200
+ "Airedale Terrier",
1201
+ "Cairn Terrier",
1202
+ "Australian Terrier",
1203
+ "Dandie Dinmont Terrier",
1204
+ "Boston Terrier",
1205
+ "Miniature Schnauzer",
1206
+ "Giant Schnauzer",
1207
+ "Standard Schnauzer",
1208
+ "Scottish Terrier",
1209
+ "Tibetan Terrier",
1210
+ "Australian Silky Terrier",
1211
+ "Soft-coated Wheaten Terrier",
1212
+ "West Highland White Terrier",
1213
+ "Lhasa Apso",
1214
+ "Flat-Coated Retriever",
1215
+ "Curly-coated Retriever",
1216
+ "Golden Retriever",
1217
+ "Labrador Retriever",
1218
+ "Chesapeake Bay Retriever",
1219
+ "German Shorthaired Pointer",
1220
+ "Vizsla",
1221
+ "English Setter",
1222
+ "Irish Setter",
1223
+ "Gordon Setter",
1224
+ "Brittany dog",
1225
+ "Clumber Spaniel",
1226
+ "English Springer Spaniel",
1227
+ "Welsh Springer Spaniel",
1228
+ "Cocker Spaniel",
1229
+ "Sussex Spaniel",
1230
+ "Irish Water Spaniel",
1231
+ "Kuvasz",
1232
+ "Schipperke",
1233
+ "Groenendael dog",
1234
+ "Malinois",
1235
+ "Briard",
1236
+ "Australian Kelpie",
1237
+ "Komondor",
1238
+ "Old English Sheepdog",
1239
+ "Shetland Sheepdog",
1240
+ "collie",
1241
+ "Border Collie",
1242
+ "Bouvier des Flandres dog",
1243
+ "Rottweiler",
1244
+ "German Shepherd Dog",
1245
+ "Dobermann",
1246
+ "Miniature Pinscher",
1247
+ "Greater Swiss Mountain Dog",
1248
+ "Bernese Mountain Dog",
1249
+ "Appenzeller Sennenhund",
1250
+ "Entlebucher Sennenhund",
1251
+ "Boxer",
1252
+ "Bullmastiff",
1253
+ "Tibetan Mastiff",
1254
+ "French Bulldog",
1255
+ "Great Dane",
1256
+ "St. Bernard",
1257
+ "husky",
1258
+ "Alaskan Malamute",
1259
+ "Siberian Husky",
1260
+ "Dalmatian",
1261
+ "Affenpinscher",
1262
+ "Basenji",
1263
+ "pug",
1264
+ "Leonberger",
1265
+ "Newfoundland dog",
1266
+ "Great Pyrenees dog",
1267
+ "Samoyed",
1268
+ "Pomeranian",
1269
+ "Chow Chow",
1270
+ "Keeshond",
1271
+ "brussels griffon",
1272
+ "Pembroke Welsh Corgi",
1273
+ "Cardigan Welsh Corgi",
1274
+ "Toy Poodle",
1275
+ "Miniature Poodle",
1276
+ "Standard Poodle",
1277
+ "Mexican hairless dog (xoloitzcuintli)",
1278
+ "grey wolf",
1279
+ "Alaskan tundra wolf",
1280
+ "red wolf or maned wolf",
1281
+ "coyote",
1282
+ "dingo",
1283
+ "dhole",
1284
+ "African wild dog",
1285
+ "hyena",
1286
+ "red fox",
1287
+ "kit fox",
1288
+ "Arctic fox",
1289
+ "grey fox",
1290
+ "tabby cat",
1291
+ "tiger cat",
1292
+ "Persian cat",
1293
+ "Siamese cat",
1294
+ "Egyptian Mau",
1295
+ "cougar",
1296
+ "lynx",
1297
+ "leopard",
1298
+ "snow leopard",
1299
+ "jaguar",
1300
+ "lion",
1301
+ "tiger",
1302
+ "cheetah",
1303
+ "brown bear",
1304
+ "American black bear",
1305
+ "polar bear",
1306
+ "sloth bear",
1307
+ "mongoose",
1308
+ "meerkat",
1309
+ "tiger beetle",
1310
+ "ladybug",
1311
+ "ground beetle",
1312
+ "longhorn beetle",
1313
+ "leaf beetle",
1314
+ "dung beetle",
1315
+ "rhinoceros beetle",
1316
+ "weevil",
1317
+ "fly",
1318
+ "bee",
1319
+ "ant",
1320
+ "grasshopper",
1321
+ "cricket insect",
1322
+ "stick insect",
1323
+ "cockroach",
1324
+ "praying mantis",
1325
+ "cicada",
1326
+ "leafhopper",
1327
+ "lacewing",
1328
+ "dragonfly",
1329
+ "damselfly",
1330
+ "red admiral butterfly",
1331
+ "ringlet butterfly",
1332
+ "monarch butterfly",
1333
+ "small white butterfly",
1334
+ "sulphur butterfly",
1335
+ "gossamer-winged butterfly",
1336
+ "starfish",
1337
+ "sea urchin",
1338
+ "sea cucumber",
1339
+ "cottontail rabbit",
1340
+ "hare",
1341
+ "Angora rabbit",
1342
+ "hamster",
1343
+ "porcupine",
1344
+ "fox squirrel",
1345
+ "marmot",
1346
+ "beaver",
1347
+ "guinea pig",
1348
+ "common sorrel horse",
1349
+ "zebra",
1350
+ "pig",
1351
+ "wild boar",
1352
+ "warthog",
1353
+ "hippopotamus",
1354
+ "ox",
1355
+ "water buffalo",
1356
+ "bison",
1357
+ "ram (adult male sheep)",
1358
+ "bighorn sheep",
1359
+ "Alpine ibex",
1360
+ "hartebeest",
1361
+ "impala (antelope)",
1362
+ "gazelle",
1363
+ "arabian camel",
1364
+ "llama",
1365
+ "weasel",
1366
+ "mink",
1367
+ "European polecat",
1368
+ "black-footed ferret",
1369
+ "otter",
1370
+ "skunk",
1371
+ "badger",
1372
+ "armadillo",
1373
+ "three-toed sloth",
1374
+ "orangutan",
1375
+ "gorilla",
1376
+ "chimpanzee",
1377
+ "gibbon",
1378
+ "siamang",
1379
+ "guenon",
1380
+ "patas monkey",
1381
+ "baboon",
1382
+ "macaque",
1383
+ "langur",
1384
+ "black-and-white colobus",
1385
+ "proboscis monkey",
1386
+ "marmoset",
1387
+ "white-headed capuchin",
1388
+ "howler monkey",
1389
+ "titi monkey",
1390
+ "Geoffroy's spider monkey",
1391
+ "common squirrel monkey",
1392
+ "ring-tailed lemur",
1393
+ "indri",
1394
+ "Asian elephant",
1395
+ "African bush elephant",
1396
+ "red panda",
1397
+ "giant panda",
1398
+ "snoek fish",
1399
+ "eel",
1400
+ "silver salmon",
1401
+ "rock beauty fish",
1402
+ "clownfish",
1403
+ "sturgeon",
1404
+ "gar fish",
1405
+ "lionfish",
1406
+ "pufferfish",
1407
+ "abacus",
1408
+ "abaya",
1409
+ "academic gown",
1410
+ "accordion",
1411
+ "acoustic guitar",
1412
+ "aircraft carrier",
1413
+ "airliner",
1414
+ "airship",
1415
+ "altar",
1416
+ "ambulance",
1417
+ "amphibious vehicle",
1418
+ "analog clock",
1419
+ "apiary",
1420
+ "apron",
1421
+ "trash can",
1422
+ "assault rifle",
1423
+ "backpack",
1424
+ "bakery",
1425
+ "balance beam",
1426
+ "balloon",
1427
+ "ballpoint pen",
1428
+ "Band-Aid",
1429
+ "banjo",
1430
+ "baluster / handrail",
1431
+ "barbell",
1432
+ "barber chair",
1433
+ "barbershop",
1434
+ "barn",
1435
+ "barometer",
1436
+ "barrel",
1437
+ "wheelbarrow",
1438
+ "baseball",
1439
+ "basketball",
1440
+ "bassinet",
1441
+ "bassoon",
1442
+ "swimming cap",
1443
+ "bath towel",
1444
+ "bathtub",
1445
+ "station wagon",
1446
+ "lighthouse",
1447
+ "beaker",
1448
+ "military hat (bearskin or shako)",
1449
+ "beer bottle",
1450
+ "beer glass",
1451
+ "bell tower",
1452
+ "baby bib",
1453
+ "tandem bicycle",
1454
+ "bikini",
1455
+ "ring binder",
1456
+ "binoculars",
1457
+ "birdhouse",
1458
+ "boathouse",
1459
+ "bobsleigh",
1460
+ "bolo tie",
1461
+ "poke bonnet",
1462
+ "bookcase",
1463
+ "bookstore",
1464
+ "bottle cap",
1465
+ "hunting bow",
1466
+ "bow tie",
1467
+ "brass memorial plaque",
1468
+ "bra",
1469
+ "breakwater",
1470
+ "breastplate",
1471
+ "broom",
1472
+ "bucket",
1473
+ "buckle",
1474
+ "bulletproof vest",
1475
+ "high-speed train",
1476
+ "butcher shop",
1477
+ "taxicab",
1478
+ "cauldron",
1479
+ "candle",
1480
+ "cannon",
1481
+ "canoe",
1482
+ "can opener",
1483
+ "cardigan",
1484
+ "car mirror",
1485
+ "carousel",
1486
+ "tool kit",
1487
+ "cardboard box / carton",
1488
+ "car wheel",
1489
+ "automated teller machine",
1490
+ "cassette",
1491
+ "cassette player",
1492
+ "castle",
1493
+ "catamaran",
1494
+ "CD player",
1495
+ "cello",
1496
+ "mobile phone",
1497
+ "chain",
1498
+ "chain-link fence",
1499
+ "chain mail",
1500
+ "chainsaw",
1501
+ "storage chest",
1502
+ "chiffonier",
1503
+ "bell or wind chime",
1504
+ "china cabinet",
1505
+ "Christmas stocking",
1506
+ "church",
1507
+ "movie theater",
1508
+ "cleaver",
1509
+ "cliff dwelling",
1510
+ "cloak",
1511
+ "clogs",
1512
+ "cocktail shaker",
1513
+ "coffee mug",
1514
+ "coffeemaker",
1515
+ "spiral or coil",
1516
+ "combination lock",
1517
+ "computer keyboard",
1518
+ "candy store",
1519
+ "container ship",
1520
+ "convertible",
1521
+ "corkscrew",
1522
+ "cornet",
1523
+ "cowboy boot",
1524
+ "cowboy hat",
1525
+ "cradle",
1526
+ "construction crane",
1527
+ "crash helmet",
1528
+ "crate",
1529
+ "infant bed",
1530
+ "Crock Pot",
1531
+ "croquet ball",
1532
+ "crutch",
1533
+ "cuirass",
1534
+ "dam",
1535
+ "desk",
1536
+ "desktop computer",
1537
+ "rotary dial telephone",
1538
+ "diaper",
1539
+ "digital clock",
1540
+ "digital watch",
1541
+ "dining table",
1542
+ "dishcloth",
1543
+ "dishwasher",
1544
+ "disc brake",
1545
+ "dock",
1546
+ "dog sled",
1547
+ "dome",
1548
+ "doormat",
1549
+ "drilling rig",
1550
+ "drum",
1551
+ "drumstick",
1552
+ "dumbbell",
1553
+ "Dutch oven",
1554
+ "electric fan",
1555
+ "electric guitar",
1556
+ "electric locomotive",
1557
+ "entertainment center",
1558
+ "envelope",
1559
+ "espresso machine",
1560
+ "face powder",
1561
+ "feather boa",
1562
+ "filing cabinet",
1563
+ "fireboat",
1564
+ "fire truck",
1565
+ "fire screen",
1566
+ "flagpole",
1567
+ "flute",
1568
+ "folding chair",
1569
+ "football helmet",
1570
+ "forklift",
1571
+ "fountain",
1572
+ "fountain pen",
1573
+ "four-poster bed",
1574
+ "freight car",
1575
+ "French horn",
1576
+ "frying pan",
1577
+ "fur coat",
1578
+ "garbage truck",
1579
+ "gas mask or respirator",
1580
+ "gas pump",
1581
+ "goblet",
1582
+ "go-kart",
1583
+ "golf ball",
1584
+ "golf cart",
1585
+ "gondola",
1586
+ "gong",
1587
+ "gown",
1588
+ "grand piano",
1589
+ "greenhouse",
1590
+ "radiator grille",
1591
+ "grocery store",
1592
+ "guillotine",
1593
+ "hair clip",
1594
+ "hair spray",
1595
+ "half-track",
1596
+ "hammer",
1597
+ "hamper",
1598
+ "hair dryer",
1599
+ "hand-held computer",
1600
+ "handkerchief",
1601
+ "hard disk drive",
1602
+ "harmonica",
1603
+ "harp",
1604
+ "combine harvester",
1605
+ "hatchet",
1606
+ "holster",
1607
+ "home theater",
1608
+ "honeycomb",
1609
+ "hook",
1610
+ "hoop skirt",
1611
+ "gymnastic horizontal bar",
1612
+ "horse-drawn vehicle",
1613
+ "hourglass",
1614
+ "iPod",
1615
+ "clothes iron",
1616
+ "carved pumpkin",
1617
+ "jeans",
1618
+ "jeep",
1619
+ "T-shirt",
1620
+ "jigsaw puzzle",
1621
+ "rickshaw",
1622
+ "joystick",
1623
+ "kimono",
1624
+ "knee pad",
1625
+ "knot",
1626
+ "lab coat",
1627
+ "ladle",
1628
+ "lampshade",
1629
+ "laptop computer",
1630
+ "lawn mower",
1631
+ "lens cap",
1632
+ "letter opener",
1633
+ "library",
1634
+ "lifeboat",
1635
+ "lighter",
1636
+ "limousine",
1637
+ "ocean liner",
1638
+ "lipstick",
1639
+ "slip-on shoe",
1640
+ "lotion",
1641
+ "music speaker",
1642
+ "loupe magnifying glass",
1643
+ "sawmill",
1644
+ "magnetic compass",
1645
+ "messenger bag",
1646
+ "mailbox",
1647
+ "tights",
1648
+ "one-piece bathing suit",
1649
+ "manhole cover",
1650
+ "maraca",
1651
+ "marimba",
1652
+ "mask",
1653
+ "matchstick",
1654
+ "maypole",
1655
+ "maze",
1656
+ "measuring cup",
1657
+ "medicine cabinet",
1658
+ "megalith",
1659
+ "microphone",
1660
+ "microwave oven",
1661
+ "military uniform",
1662
+ "milk can",
1663
+ "minibus",
1664
+ "miniskirt",
1665
+ "minivan",
1666
+ "missile",
1667
+ "mitten",
1668
+ "mixing bowl",
1669
+ "mobile home",
1670
+ "ford model t",
1671
+ "modem",
1672
+ "monastery",
1673
+ "monitor",
1674
+ "moped",
1675
+ "mortar and pestle",
1676
+ "graduation cap",
1677
+ "mosque",
1678
+ "mosquito net",
1679
+ "vespa",
1680
+ "mountain bike",
1681
+ "tent",
1682
+ "computer mouse",
1683
+ "mousetrap",
1684
+ "moving van",
1685
+ "muzzle",
1686
+ "metal nail",
1687
+ "neck brace",
1688
+ "necklace",
1689
+ "baby pacifier",
1690
+ "notebook computer",
1691
+ "obelisk",
1692
+ "oboe",
1693
+ "ocarina",
1694
+ "odometer",
1695
+ "oil filter",
1696
+ "pipe organ",
1697
+ "oscilloscope",
1698
+ "overskirt",
1699
+ "bullock cart",
1700
+ "oxygen mask",
1701
+ "product packet / packaging",
1702
+ "paddle",
1703
+ "paddle wheel",
1704
+ "padlock",
1705
+ "paintbrush",
1706
+ "pajamas",
1707
+ "palace",
1708
+ "pan flute",
1709
+ "paper towel",
1710
+ "parachute",
1711
+ "parallel bars",
1712
+ "park bench",
1713
+ "parking meter",
1714
+ "railroad car",
1715
+ "patio",
1716
+ "payphone",
1717
+ "pedestal",
1718
+ "pencil case",
1719
+ "pencil sharpener",
1720
+ "perfume",
1721
+ "Petri dish",
1722
+ "photocopier",
1723
+ "plectrum",
1724
+ "Pickelhaube",
1725
+ "picket fence",
1726
+ "pickup truck",
1727
+ "pier",
1728
+ "piggy bank",
1729
+ "pill bottle",
1730
+ "pillow",
1731
+ "ping-pong ball",
1732
+ "pinwheel",
1733
+ "pirate ship",
1734
+ "drink pitcher",
1735
+ "block plane",
1736
+ "planetarium",
1737
+ "plastic bag",
1738
+ "plate rack",
1739
+ "farm plow",
1740
+ "plunger",
1741
+ "Polaroid camera",
1742
+ "pole",
1743
+ "police van",
1744
+ "poncho",
1745
+ "pool table",
1746
+ "soda bottle",
1747
+ "plant pot",
1748
+ "potter's wheel",
1749
+ "power drill",
1750
+ "prayer rug",
1751
+ "printer",
1752
+ "prison",
1753
+ "missile",
1754
+ "projector",
1755
+ "hockey puck",
1756
+ "punching bag",
1757
+ "purse",
1758
+ "quill",
1759
+ "quilt",
1760
+ "race car",
1761
+ "racket",
1762
+ "radiator",
1763
+ "radio",
1764
+ "radio telescope",
1765
+ "rain barrel",
1766
+ "recreational vehicle",
1767
+ "fishing casting reel",
1768
+ "reflex camera",
1769
+ "refrigerator",
1770
+ "remote control",
1771
+ "restaurant",
1772
+ "revolver",
1773
+ "rifle",
1774
+ "rocking chair",
1775
+ "rotisserie",
1776
+ "eraser",
1777
+ "rugby ball",
1778
+ "ruler measuring stick",
1779
+ "sneaker",
1780
+ "safe",
1781
+ "safety pin",
1782
+ "salt shaker",
1783
+ "sandal",
1784
+ "sarong",
1785
+ "saxophone",
1786
+ "scabbard",
1787
+ "weighing scale",
1788
+ "school bus",
1789
+ "schooner",
1790
+ "scoreboard",
1791
+ "CRT monitor",
1792
+ "screw",
1793
+ "screwdriver",
1794
+ "seat belt",
1795
+ "sewing machine",
1796
+ "shield",
1797
+ "shoe store",
1798
+ "shoji screen / room divider",
1799
+ "shopping basket",
1800
+ "shopping cart",
1801
+ "shovel",
1802
+ "shower cap",
1803
+ "shower curtain",
1804
+ "ski",
1805
+ "balaclava ski mask",
1806
+ "sleeping bag",
1807
+ "slide rule",
1808
+ "sliding door",
1809
+ "slot machine",
1810
+ "snorkel",
1811
+ "snowmobile",
1812
+ "snowplow",
1813
+ "soap dispenser",
1814
+ "soccer ball",
1815
+ "sock",
1816
+ "solar thermal collector",
1817
+ "sombrero",
1818
+ "soup bowl",
1819
+ "keyboard space bar",
1820
+ "space heater",
1821
+ "space shuttle",
1822
+ "spatula",
1823
+ "motorboat",
1824
+ "spider web",
1825
+ "spindle",
1826
+ "sports car",
1827
+ "spotlight",
1828
+ "stage",
1829
+ "steam locomotive",
1830
+ "through arch bridge",
1831
+ "steel drum",
1832
+ "stethoscope",
1833
+ "scarf",
1834
+ "stone wall",
1835
+ "stopwatch",
1836
+ "stove",
1837
+ "strainer",
1838
+ "tram",
1839
+ "stretcher",
1840
+ "couch",
1841
+ "stupa",
1842
+ "submarine",
1843
+ "suit",
1844
+ "sundial",
1845
+ "sunglasses",
1846
+ "sunglasses",
1847
+ "sunscreen",
1848
+ "suspension bridge",
1849
+ "mop",
1850
+ "sweatshirt",
1851
+ "swim trunks / shorts",
1852
+ "swing",
1853
+ "electrical switch",
1854
+ "syringe",
1855
+ "table lamp",
1856
+ "tank",
1857
+ "tape player",
1858
+ "teapot",
1859
+ "teddy bear",
1860
+ "television",
1861
+ "tennis ball",
1862
+ "thatched roof",
1863
+ "front curtain",
1864
+ "thimble",
1865
+ "threshing machine",
1866
+ "throne",
1867
+ "tile roof",
1868
+ "toaster",
1869
+ "tobacco shop",
1870
+ "toilet seat",
1871
+ "torch",
1872
+ "totem pole",
1873
+ "tow truck",
1874
+ "toy store",
1875
+ "tractor",
1876
+ "semi-trailer truck",
1877
+ "tray",
1878
+ "trench coat",
1879
+ "tricycle",
1880
+ "trimaran",
1881
+ "tripod",
1882
+ "triumphal arch",
1883
+ "trolleybus",
1884
+ "trombone",
1885
+ "hot tub",
1886
+ "turnstile",
1887
+ "typewriter keyboard",
1888
+ "umbrella",
1889
+ "unicycle",
1890
+ "upright piano",
1891
+ "vacuum cleaner",
1892
+ "vase",
1893
+ "vaulted or arched ceiling",
1894
+ "velvet fabric",
1895
+ "vending machine",
1896
+ "vestment",
1897
+ "viaduct",
1898
+ "violin",
1899
+ "volleyball",
1900
+ "waffle iron",
1901
+ "wall clock",
1902
+ "wallet",
1903
+ "wardrobe",
1904
+ "military aircraft",
1905
+ "sink",
1906
+ "washing machine",
1907
+ "water bottle",
1908
+ "water jug",
1909
+ "water tower",
1910
+ "whiskey jug",
1911
+ "whistle",
1912
+ "hair wig",
1913
+ "window screen",
1914
+ "window shade",
1915
+ "Windsor tie",
1916
+ "wine bottle",
1917
+ "airplane wing",
1918
+ "wok",
1919
+ "wooden spoon",
1920
+ "wool",
1921
+ "split-rail fence",
1922
+ "shipwreck",
1923
+ "sailboat",
1924
+ "yurt",
1925
+ "website",
1926
+ "comic book",
1927
+ "crossword",
1928
+ "traffic or street sign",
1929
+ "traffic light",
1930
+ "dust jacket",
1931
+ "menu",
1932
+ "plate",
1933
+ "guacamole",
1934
+ "consomme",
1935
+ "hot pot",
1936
+ "trifle",
1937
+ "ice cream",
1938
+ "popsicle",
1939
+ "baguette",
1940
+ "bagel",
1941
+ "pretzel",
1942
+ "cheeseburger",
1943
+ "hot dog",
1944
+ "mashed potatoes",
1945
+ "cabbage",
1946
+ "broccoli",
1947
+ "cauliflower",
1948
+ "zucchini",
1949
+ "spaghetti squash",
1950
+ "acorn squash",
1951
+ "butternut squash",
1952
+ "cucumber",
1953
+ "artichoke",
1954
+ "bell pepper",
1955
+ "cardoon",
1956
+ "mushroom",
1957
+ "Granny Smith apple",
1958
+ "strawberry",
1959
+ "orange",
1960
+ "lemon",
1961
+ "fig",
1962
+ "pineapple",
1963
+ "banana",
1964
+ "jackfruit",
1965
+ "cherimoya (custard apple)",
1966
+ "pomegranate",
1967
+ "hay",
1968
+ "carbonara",
1969
+ "chocolate syrup",
1970
+ "dough",
1971
+ "meatloaf",
1972
+ "pizza",
1973
+ "pot pie",
1974
+ "burrito",
1975
+ "red wine",
1976
+ "espresso",
1977
+ "tea cup",
1978
+ "eggnog",
1979
+ "mountain",
1980
+ "bubble",
1981
+ "cliff",
1982
+ "coral reef",
1983
+ "geyser",
1984
+ "lakeshore",
1985
+ "promontory",
1986
+ "sandbar",
1987
+ "beach",
1988
+ "valley",
1989
+ "volcano",
1990
+ "baseball player",
1991
+ "bridegroom",
1992
+ "scuba diver",
1993
+ "rapeseed",
1994
+ "daisy",
1995
+ "yellow lady's slipper",
1996
+ "corn",
1997
+ "acorn",
1998
+ "rose hip",
1999
+ "horse chestnut seed",
2000
+ "coral fungus",
2001
+ "agaric",
2002
+ "gyromitra",
2003
+ "stinkhorn mushroom",
2004
+ "earth star fungus",
2005
+ "hen of the woods mushroom",
2006
+ "bolete",
2007
+ "corn cob",
2008
+ "toilet paper",
2009
+ ]
2010
+
2011
+ imagenet_templates = [
2012
+ "a bad photo of a {}.",
2013
+ "a photo of many {}.",
2014
+ "a sculpture of a {}.",
2015
+ "a photo of the hard to see {}.",
2016
+ "a low resolution photo of the {}.",
2017
+ "a rendering of a {}.",
2018
+ "graffiti of a {}.",
2019
+ "a bad photo of the {}.",
2020
+ "a cropped photo of the {}.",
2021
+ "a tattoo of a {}.",
2022
+ "the embroidered {}.",
2023
+ "a photo of a hard to see {}.",
2024
+ "a bright photo of a {}.",
2025
+ "a photo of a clean {}.",
2026
+ "a photo of a dirty {}.",
2027
+ "a dark photo of the {}.",
2028
+ "a drawing of a {}.",
2029
+ "a photo of my {}.",
2030
+ "the plastic {}.",
2031
+ "a photo of the cool {}.",
2032
+ "a close-up photo of a {}.",
2033
+ "a black and white photo of the {}.",
2034
+ "a painting of the {}.",
2035
+ "a painting of a {}.",
2036
+ "a pixelated photo of the {}.",
2037
+ "a sculpture of the {}.",
2038
+ "a bright photo of the {}.",
2039
+ "a cropped photo of a {}.",
2040
+ "a plastic {}.",
2041
+ "a photo of the dirty {}.",
2042
+ "a jpeg corrupted photo of a {}.",
2043
+ "a blurry photo of the {}.",
2044
+ "a photo of the {}.",
2045
+ "a good photo of the {}.",
2046
+ "a rendering of the {}.",
2047
+ "a {} in a video game.",
2048
+ "a photo of one {}.",
2049
+ "a doodle of a {}.",
2050
+ "a close-up photo of the {}.",
2051
+ "a photo of a {}.",
2052
+ "the origami {}.",
2053
+ "the {} in a video game.",
2054
+ "a sketch of a {}.",
2055
+ "a doodle of the {}.",
2056
+ "a origami {}.",
2057
+ "a low resolution photo of a {}.",
2058
+ "the toy {}.",
2059
+ "a rendition of the {}.",
2060
+ "a photo of the clean {}.",
2061
+ "a photo of a large {}.",
2062
+ "a rendition of a {}.",
2063
+ "a photo of a nice {}.",
2064
+ "a photo of a weird {}.",
2065
+ "a blurry photo of a {}.",
2066
+ "a cartoon {}.",
2067
+ "art of a {}.",
2068
+ "a sketch of the {}.",
2069
+ "a embroidered {}.",
2070
+ "a pixelated photo of a {}.",
2071
+ "itap of the {}.",
2072
+ "a jpeg corrupted photo of the {}.",
2073
+ "a good photo of a {}.",
2074
+ "a plushie {}.",
2075
+ "a photo of the nice {}.",
2076
+ "a photo of the small {}.",
2077
+ "a photo of the weird {}.",
2078
+ "the cartoon {}.",
2079
+ "art of the {}.",
2080
+ "a drawing of the {}.",
2081
+ "a photo of the large {}.",
2082
+ "a black and white photo of a {}.",
2083
+ "the plushie {}.",
2084
+ "a dark photo of a {}.",
2085
+ "itap of a {}.",
2086
+ "graffiti of the {}.",
2087
+ "a toy {}.",
2088
+ "itap of my {}.",
2089
+ "a photo of a cool {}.",
2090
+ "a photo of a small {}.",
2091
+ "a tattoo of the {}.",
2092
+ ]
2093
+
2094
+ assert len(imagenet_ids) == len(
2095
+ classnames
2096
+ ), "number of ids and classnames should be the same"
2097
+ templates = [lambda c: prompt.format(c) for prompt in imagenet_templates]
2098
+ ids_to_classnames = dict(zip(imagenet_ids, classnames))
2099
+
2100
+ if __name__ == "__main__":
2101
+ print(f"number of ids: {len(imagenet_ids)}")
2102
+ print(f"number of classnames: {len(classnames)}")
2103
+ print(f"number of templates: {len(templates)}")