fusion-bench 0.2.25__tar.gz → 0.2.26__tar.gz

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 (982) hide show
  1. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/PKG-INFO +8 -2
  2. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/README.md +7 -1
  3. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/__init__.py +2 -0
  4. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/classification/clip_finetune.py +6 -4
  5. fusion_bench-0.2.26/fusion_bench/method/dop/__init__.py +1 -0
  6. fusion_bench-0.2.26/fusion_bench/method/dop/dop.py +366 -0
  7. fusion_bench-0.2.26/fusion_bench/method/gossip/min_norm_solvers.py +227 -0
  8. fusion_bench-0.2.26/fusion_bench/method/opcm/utils.py +73 -0
  9. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench.egg-info/PKG-INFO +8 -2
  10. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench.egg-info/SOURCES.txt +5 -0
  11. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/bitdelta/bitdelta.yaml +3 -0
  12. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/depth_upscaling.yaml +9 -0
  13. fusion_bench-0.2.26/fusion_bench_config/method/dop/dop.yaml +30 -0
  14. fusion_bench-0.2.26/fusion_bench_config/method/dummy.yaml +7 -0
  15. fusion_bench-0.2.26/fusion_bench_config/method/ensemble/max_model_predictor.yaml +7 -0
  16. fusion_bench-0.2.26/fusion_bench_config/method/ensemble/simple_ensemble.yaml +9 -0
  17. fusion_bench-0.2.26/fusion_bench_config/method/ensemble/weighted_ensemble.yaml +13 -0
  18. fusion_bench-0.2.26/fusion_bench_config/method/linear/linear_interpolation.yaml +10 -0
  19. fusion_bench-0.2.26/fusion_bench_config/method/linear/weighted_average.yaml +8 -0
  20. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/linear/weighted_average_for_llama.yaml +1 -1
  21. fusion_bench-0.2.26/fusion_bench_config/method/model_recombination.yaml +11 -0
  22. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/model_stock/model_stock.yaml +4 -1
  23. fusion_bench-0.2.26/fusion_bench_config/method/opcm/opcm.yaml +16 -0
  24. fusion_bench-0.2.26/fusion_bench_config/method/opcm/task_arithmetic.yaml +16 -0
  25. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/opcm/ties_merging.yaml +5 -0
  26. fusion_bench-0.2.26/fusion_bench_config/method/opcm/weight_average.yaml +14 -0
  27. fusion_bench-0.2.26/fusion_bench_config/method/simple_average.yaml +10 -0
  28. fusion_bench-0.2.26/fusion_bench_config/method/slerp/slerp.yaml +13 -0
  29. fusion_bench-0.2.26/fusion_bench_config/method/slerp/slerp_lm.yaml +9 -0
  30. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/smile_upscaling/smile_upscaling.yaml +3 -0
  31. fusion_bench-0.2.26/fusion_bench_config/method/task_arithmetic.yaml +11 -0
  32. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/ties_merging.yaml +3 -0
  33. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/pyproject.toml +1 -1
  34. fusion_bench-0.2.25/fusion_bench_config/method/dummy.yaml +0 -1
  35. fusion_bench-0.2.25/fusion_bench_config/method/ensemble/max_model_predictor.yaml +0 -1
  36. fusion_bench-0.2.25/fusion_bench_config/method/ensemble/simple_ensemble.yaml +0 -2
  37. fusion_bench-0.2.25/fusion_bench_config/method/ensemble/weighted_ensemble.yaml +0 -5
  38. fusion_bench-0.2.25/fusion_bench_config/method/linear/linear_interpolation.yaml +0 -2
  39. fusion_bench-0.2.25/fusion_bench_config/method/linear/weighted_average.yaml +0 -5
  40. fusion_bench-0.2.25/fusion_bench_config/method/model_recombination.yaml +0 -3
  41. fusion_bench-0.2.25/fusion_bench_config/method/opcm/opcm.yaml +0 -11
  42. fusion_bench-0.2.25/fusion_bench_config/method/opcm/task_arithmetic.yaml +0 -10
  43. fusion_bench-0.2.25/fusion_bench_config/method/opcm/weight_average.yaml +0 -9
  44. fusion_bench-0.2.25/fusion_bench_config/method/simple_average.yaml +0 -1
  45. fusion_bench-0.2.25/fusion_bench_config/method/slerp/slerp.yaml +0 -4
  46. fusion_bench-0.2.25/fusion_bench_config/method/slerp/slerp_lm.yaml +0 -4
  47. fusion_bench-0.2.25/fusion_bench_config/method/task_arithmetic.yaml +0 -2
  48. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/LICENSE +0 -0
  49. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/__init__.py +0 -0
  50. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/__main__.py +0 -0
  51. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/_get_started/__init__.py +0 -0
  52. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/_get_started/greeting_program.py +0 -0
  53. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/compat/__init__.py +0 -0
  54. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/compat/method/__init__.py +0 -0
  55. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/compat/method/base_algorithm.py +0 -0
  56. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/compat/modelpool/AutoModelForSeq2SeqLM.py +0 -0
  57. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/compat/modelpool/__init__.py +0 -0
  58. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/compat/modelpool/base_pool.py +0 -0
  59. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/compat/modelpool/huggingface_clip_vision.py +0 -0
  60. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/compat/taskpool/__init__.py +0 -0
  61. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/compat/taskpool/base_pool.py +0 -0
  62. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/compat/taskpool/clip_image_classification.py +0 -0
  63. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/compat/taskpool/flan_t5_glue_text_generation.py +0 -0
  64. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/constants/__init__.py +0 -0
  65. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/constants/banner.py +0 -0
  66. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/constants/clip_vision.py +0 -0
  67. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/constants/paths.py +0 -0
  68. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/constants/runtime.py +0 -0
  69. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/dataset/__init__.py +0 -0
  70. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/dataset/arc_agi/__init__.py +0 -0
  71. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/dataset/arc_agi/arc.py +0 -0
  72. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/dataset/arc_agi/arc_agi.py +0 -0
  73. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/dataset/arc_agi/augmenters.py +0 -0
  74. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/dataset/arc_agi/messagers.py +0 -0
  75. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/dataset/arc_agi/np_cache.py +0 -0
  76. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/dataset/arc_agi/preprocess.py +0 -0
  77. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/dataset/arc_agi/representers.py +0 -0
  78. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/dataset/clip_dataset.py +0 -0
  79. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/dataset/fer2013.py +0 -0
  80. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/dataset/gpt2_glue.py +0 -0
  81. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/dataset/gsm8k.py +0 -0
  82. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/dataset/image_corruption/__init__.py +0 -0
  83. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/dataset/image_corruption/make_corruption.py +0 -0
  84. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/dataset/image_dataset.py +0 -0
  85. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/dataset/imdb.py +0 -0
  86. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/dataset/llama/__init__.py +0 -0
  87. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/dataset/llama/alpaca.py +0 -0
  88. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/dataset/llama/collate.py +0 -0
  89. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/dataset/llama/metamathqa.py +0 -0
  90. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/dataset/llama/openai.py +0 -0
  91. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/dataset/llama/preference_700k.py +0 -0
  92. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/dataset/llama/sharegpt.py +0 -0
  93. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/dataset/llama/squad.py +0 -0
  94. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/dataset/llama/stanford_shp.py +0 -0
  95. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/dataset/llama/ultrachat.py +0 -0
  96. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/dataset/llama/utils/__init__.py +0 -0
  97. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/dataset/llama/wikitext.py +0 -0
  98. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/dataset/nyuv2.py +0 -0
  99. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/ada_svd/__init__.py +0 -0
  100. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/ada_svd/clip_vision.py +0 -0
  101. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/adamerging/__init__.py +0 -0
  102. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/adamerging/clip_layer_wise_adamerging.py +0 -0
  103. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/adamerging/clip_task_wise_adamerging.py +0 -0
  104. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/adamerging/entropy_loss.py +0 -0
  105. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/adamerging/flan_t5_layer_wise_adamerging.py +0 -0
  106. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/adamerging/gpt2_layer_wise_adamerging.py +0 -0
  107. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/adamerging/layer_wise_adamerging.py +0 -0
  108. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/adamerging/llama_adamerging.py +0 -0
  109. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/adamerging/min_norm_solvers.py +0 -0
  110. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/adamerging/task_wise_adamerging.py +0 -0
  111. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/adamerging/utils.py +0 -0
  112. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/analysis/__init__.py +0 -0
  113. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/analysis/task_vector_cos_similarity.py +0 -0
  114. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/analysis/task_vector_violin_plot.py +0 -0
  115. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/base_algorithm.py +0 -0
  116. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/bitdelta/__init__.py +0 -0
  117. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/bitdelta/bitdelta.py +0 -0
  118. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/bitdelta/bitdelta_utils/__init__.py +0 -0
  119. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/bitdelta/bitdelta_utils/binary_gemm_kernel.py +0 -0
  120. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/bitdelta/bitdelta_utils/data.py +0 -0
  121. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/bitdelta/bitdelta_utils/diff.py +0 -0
  122. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/classification/__init__.py +0 -0
  123. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/classification/continual_clip_finetune.py +0 -0
  124. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/classification/image_classification_finetune.py +0 -0
  125. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/concrete_subspace/__init__.py +0 -0
  126. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/concrete_subspace/clip_concrete_adamerging.py +0 -0
  127. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/concrete_subspace/clip_concrete_task_arithmetic.py +0 -0
  128. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/concrete_subspace/clip_post_defense.py +0 -0
  129. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/concrete_subspace/clip_safe_concrete_adamerging.py +0 -0
  130. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/dare/__init__.py +0 -0
  131. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/dare/simple_average.py +0 -0
  132. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/dare/task_arithmetic.py +0 -0
  133. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/dare/ties_merging.py +0 -0
  134. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/dare/utils.py +0 -0
  135. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/dawe/__init__.py +0 -0
  136. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/dawe/dawe_for_clip.py +0 -0
  137. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/dawe/warppers/__init__.py +0 -0
  138. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/dawe/warppers/dawe_model.py +0 -0
  139. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/depth_upscaling/__init__.py +0 -0
  140. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/depth_upscaling/depth_upscaling.py +0 -0
  141. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/depth_upscaling/depth_upscaling_for_llama.py +0 -0
  142. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/doge_ta/__init__.py +0 -0
  143. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/doge_ta/clip_layer_wise_adamerging.py +0 -0
  144. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/doge_ta/doge_ta.py +0 -0
  145. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/doge_ta/layer_wise_adamerging.py +0 -0
  146. {fusion_bench-0.2.25/fusion_bench/method/gossip → fusion_bench-0.2.26/fusion_bench/method/dop}/min_norm_solvers.py +0 -0
  147. {fusion_bench-0.2.25/fusion_bench/method/opcm → fusion_bench-0.2.26/fusion_bench/method/dop}/utils.py +0 -0
  148. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/dummy.py +0 -0
  149. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/ensemble.py +0 -0
  150. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/expert_sparsity/__init__.py +0 -0
  151. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/expert_sparsity/mixtral/__init__.py +0 -0
  152. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/expert_sparsity/mixtral/dynamic_skipping.py +0 -0
  153. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/expert_sparsity/mixtral/layer_wise_pruning.py +0 -0
  154. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/expert_sparsity/mixtral/progressive_pruning.py +0 -0
  155. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/expert_sparsity/utils/calibration_data.py +0 -0
  156. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/fisher_merging/__init__.py +0 -0
  157. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/fisher_merging/clip_fisher_merging.py +0 -0
  158. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/fisher_merging/fisher_merging.py +0 -0
  159. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/fisher_merging/gpt2_fisher_merging.py +0 -0
  160. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/fw_merging/__init__.py +0 -0
  161. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/fw_merging/fw_hard.py +0 -0
  162. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/fw_merging/fw_soft.py +0 -0
  163. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/fw_merging/utils.py +0 -0
  164. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/gossip/__init__.py +0 -0
  165. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/gossip/clip_layer_wise_gossip.py +0 -0
  166. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/gossip/clip_task_wise_gossip.py +0 -0
  167. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/gossip/entropy_loss.py +0 -0
  168. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/gossip/flan_t5_layer_wise_gossip.py +0 -0
  169. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/gossip/layer_wise_gossip.py +0 -0
  170. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/gossip/task_wise_gossip.py +0 -0
  171. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/gossip/utils.py +0 -0
  172. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/isotropic_merging/__init__.py +0 -0
  173. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/isotropic_merging/iso.py +0 -0
  174. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/isotropic_merging/iso_utils.py +0 -0
  175. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/knots/__init__.py +0 -0
  176. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/knots/knots_utils.py +0 -0
  177. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/linear/__init__.py +0 -0
  178. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/linear/expo.py +0 -0
  179. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/linear/linear_interpolation.py +0 -0
  180. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/linear/llama_expo.py +0 -0
  181. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/linear/simple_average_for_causallm.py +0 -0
  182. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/linear/task_arithmetic_for_causallm.py +0 -0
  183. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/linear/ties_merging_for_causallm.py +0 -0
  184. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/lm_finetune/__init__.py +0 -0
  185. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/lm_finetune/bradley_terry_rm.py +0 -0
  186. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/lm_finetune/causal_lm_pretrain.py +0 -0
  187. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/lm_finetune/fullfinetune_sft.py +0 -0
  188. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/lm_finetune/peftfinetune_sft.py +0 -0
  189. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/mixture_of_experts/__init__.py +0 -0
  190. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/mixture_of_experts/mixtral_merging.py +0 -0
  191. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/mixture_of_experts/mixtral_upcycling.py +0 -0
  192. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/model_recombination.py +0 -0
  193. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/model_stock/__init__.py +0 -0
  194. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/model_stock/model_stock.py +0 -0
  195. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/moe_pruner/__init__.py +0 -0
  196. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/moe_pruner/hooks/__init__.py +0 -0
  197. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/moe_pruner/hooks/deepseek_v2.py +0 -0
  198. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/moe_pruner/hooks/hook.py +0 -0
  199. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/moe_pruner/hooks/mixtral.py +0 -0
  200. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/moe_pruner/moe_pruner.py +0 -0
  201. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/moe_pruner/utils/__init__.py +0 -0
  202. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/moe_pruner/utils/data.py +0 -0
  203. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/moe_pruner/utils/layerwrapper.py +0 -0
  204. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/moe_pruner/utils/prune.py +0 -0
  205. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/moe_pruner/utils/score.py +0 -0
  206. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/opcm/__init__.py +0 -0
  207. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/opcm/opcm.py +0 -0
  208. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/opcm/task_arithmetic.py +0 -0
  209. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/opcm/ties_merging.py +0 -0
  210. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/opcm/weight_average.py +0 -0
  211. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/pruning/__init__.py +0 -0
  212. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/pruning/llama_magnitude_prune.py +0 -0
  213. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/pruning/llama_random_prune.py +0 -0
  214. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/pruning/llama_sparsegpt_prune.py +0 -0
  215. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/pruning/llama_wanda_prune.py +0 -0
  216. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/pruning/magnitude_diff_pruning.py +0 -0
  217. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/pruning/prune_utils.py +0 -0
  218. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/pruning/sparsegpt_utils/__init__.py +0 -0
  219. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/pruning/sparsegpt_utils/sparsegpt.py +0 -0
  220. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/pruning/wanda_utils/__init__.py +0 -0
  221. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/pruning/wanda_utils/ablate.py +0 -0
  222. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/pruning/wanda_utils/data.py +0 -0
  223. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/pruning/wanda_utils/eval.py +0 -0
  224. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/pruning/wanda_utils/layerwrapper.py +0 -0
  225. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/pruning/wanda_utils/prune.py +0 -0
  226. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/pruning/wanda_utils/prune_opt.py +0 -0
  227. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/pruning/wanda_utils/sparsegpt.py +0 -0
  228. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/pwe_moe/__init__.py +0 -0
  229. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/pwe_moe/clip_pwe_moe.py +0 -0
  230. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/pwe_moe/module.py +0 -0
  231. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/pwe_moe/openclip_pwe_moe.py +0 -0
  232. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/pwe_moe/phn/__init__.py +0 -0
  233. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/pwe_moe/phn/solvers.py +0 -0
  234. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/pwe_moe/utils.py +0 -0
  235. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/randes/__init__.py +0 -0
  236. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/randes/base_algorithm.py +0 -0
  237. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/randes/modelsoup.py +0 -0
  238. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/randes/task_arithmetic.py +0 -0
  239. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/rankone_moe/__init__.py +0 -0
  240. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/rankone_moe/clip_rankone_moe.py +0 -0
  241. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/rankone_moe/rankone_moe.py +0 -0
  242. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/regmean/__init__.py +0 -0
  243. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/regmean/clip_regmean.py +0 -0
  244. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/regmean/gpt2_regmean.py +0 -0
  245. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/regmean/regmean.py +0 -0
  246. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/regmean/utils.py +0 -0
  247. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/regmean_plusplus/__init__.py +0 -0
  248. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/regmean_plusplus/clip_regmean_plusplus.py +0 -0
  249. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/regmean_plusplus/regmean_plusplus.py +0 -0
  250. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/simple_average.py +0 -0
  251. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/slerp/__init__.py +0 -0
  252. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/slerp/slerp.py +0 -0
  253. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/slerp/slerp_utils.py +0 -0
  254. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/smile_upscaling/__init__.py +0 -0
  255. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/smile_upscaling/causal_lm_upscaling.py +0 -0
  256. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/smile_upscaling/error_accumulation.py +0 -0
  257. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/smile_upscaling/projected_energy.py +0 -0
  258. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/smile_upscaling/singular_projection_merging.py +0 -0
  259. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/smile_upscaling/smile_mistral_upscaling.py +0 -0
  260. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/smile_upscaling/smile_qwen2_upscaling.py +0 -0
  261. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/smile_upscaling/smile_upscaling.py +0 -0
  262. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/sparse_we_moe/__init__.py +0 -0
  263. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/sparse_we_moe/sparse_clip_we_moe.py +0 -0
  264. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/sparse_we_moe/sparse_we_moe.py +0 -0
  265. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/sparselo/__init__.py +0 -0
  266. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/sparselo/sparselo.py +0 -0
  267. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/surgery/__init__.py +0 -0
  268. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/surgery/clip_layer_wise_adamerging_surgery.py +0 -0
  269. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/tall_mask/__init__.py +0 -0
  270. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/tall_mask/task_arithmetic.py +0 -0
  271. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/tall_mask/utils.py +0 -0
  272. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/task_arithmetic/__init__.py +0 -0
  273. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/task_arithmetic/task_arithmetic.py +0 -0
  274. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/task_singular_vector/TSVC.py +0 -0
  275. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/task_singular_vector/TSVM.py +0 -0
  276. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/task_singular_vector/__init__.py +0 -0
  277. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/task_singular_vector/utils/TSVC_utils.py +0 -0
  278. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/task_singular_vector/utils/TSVM_utils.py +0 -0
  279. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/task_singular_vector/utils/__init__.py +0 -0
  280. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/task_singular_vector/utils/task_singular_interference.py +0 -0
  281. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/ties_merging/__init__.py +0 -0
  282. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/ties_merging/ties_merging.py +0 -0
  283. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/ties_merging/ties_merging_utils.py +0 -0
  284. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/trust_region/__init__.py +0 -0
  285. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/trust_region/clip_task_arithmetic.py +0 -0
  286. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/trust_region/utils.py +0 -0
  287. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/we_moe/__init__.py +0 -0
  288. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/we_moe/clip_we_moe.py +0 -0
  289. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/we_moe/entropy_loss.py +0 -0
  290. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/we_moe/flan_t5_we_moe.py +0 -0
  291. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/we_moe/utils.py +0 -0
  292. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/we_moe/we_moe.py +0 -0
  293. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/weighted_average/__init__.py +0 -0
  294. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/weighted_average/llama.py +0 -0
  295. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/weighted_average/weighted_average.py +0 -0
  296. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/wudi/__init__.py +0 -0
  297. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/method/wudi/wudi.py +0 -0
  298. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/metrics/__init__.py +0 -0
  299. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/metrics/continual_learning/__init__.py +0 -0
  300. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/metrics/continual_learning/backward_transfer.py +0 -0
  301. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/metrics/nyuv2/__init__.py +0 -0
  302. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/metrics/nyuv2/depth.py +0 -0
  303. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/metrics/nyuv2/loss.py +0 -0
  304. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/metrics/nyuv2/noise.py +0 -0
  305. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/metrics/nyuv2/normal.py +0 -0
  306. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/metrics/nyuv2/segmentation.py +0 -0
  307. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/metrics/text_to_image_generation/__init__.py +0 -0
  308. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/metrics/text_to_image_generation/aesthetic_scorer.py +0 -0
  309. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/metrics/text_to_image_generation/compressibility.py +0 -0
  310. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/metrics/text_to_image_generation/pickscore_scorer.py +0 -0
  311. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/mixins/__init__.py +0 -0
  312. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/mixins/clip_classification.py +0 -0
  313. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/mixins/fabric_training.py +0 -0
  314. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/mixins/hydra_config.py +0 -0
  315. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/mixins/lightning_fabric.py +0 -0
  316. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/mixins/openclip_classification.py +0 -0
  317. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/mixins/optim/__init__.py +0 -0
  318. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/mixins/optim/adamw_with_warmup.py +0 -0
  319. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/mixins/pyinstrument.py +0 -0
  320. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/mixins/rich_live.py +0 -0
  321. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/mixins/serialization.py +0 -0
  322. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/mixins/simple_profiler.py +0 -0
  323. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/modelpool/PeftModelForSeq2SeqLM.py +0 -0
  324. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/modelpool/__init__.py +0 -0
  325. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/modelpool/base_pool.py +0 -0
  326. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/modelpool/causal_lm/__init__.py +0 -0
  327. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/modelpool/causal_lm/causal_lm.py +0 -0
  328. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/modelpool/clip_vision/__init__.py +0 -0
  329. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/modelpool/clip_vision/modelpool.py +0 -0
  330. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/modelpool/huggingface_automodel.py +0 -0
  331. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/modelpool/huggingface_gpt2_classification.py +0 -0
  332. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/modelpool/lazy_state_dict_pool.py +0 -0
  333. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/modelpool/nyuv2_modelpool.py +0 -0
  334. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/modelpool/openclip_vision/__init__.py +0 -0
  335. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/modelpool/openclip_vision/modelpool.py +0 -0
  336. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/modelpool/resnet_for_image_classification.py +0 -0
  337. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/modelpool/seq2seq_lm/__init__.py +0 -0
  338. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/modelpool/seq2seq_lm/modelpool.py +0 -0
  339. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/modelpool/seq_classification_lm/__init__.py +0 -0
  340. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/modelpool/seq_classification_lm/reward_model.py +0 -0
  341. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/modelpool/seq_classification_lm/seq_classification_lm.py +0 -0
  342. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/__init__.py +0 -0
  343. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/chat_templates/__init__.py +0 -0
  344. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/chat_templates/llama_3_Instruct.py +0 -0
  345. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/chat_templates/load_tokenizer.py +0 -0
  346. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/expert_sparsity/__init__.py +0 -0
  347. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/expert_sparsity/mixtral/__init__.py +0 -0
  348. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/expert_sparsity/mixtral/dataset.py +0 -0
  349. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/expert_sparsity/mixtral/modeling_mixtral.py +0 -0
  350. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/expert_sparsity/mixtral/wrapper.py +0 -0
  351. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/hf_clip.py +0 -0
  352. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/hf_utils.py +0 -0
  353. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/linearized/__init__.py +0 -0
  354. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/linearized/linearized_model_utils.py +0 -0
  355. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/linearized/vision_model.py +0 -0
  356. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/llama/__init__.py +0 -0
  357. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/llama/model_utils/__init__.py +0 -0
  358. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/llama/model_utils/embedding.py +0 -0
  359. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/llama/model_utils/liger_kernel.py +0 -0
  360. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/llama/model_utils/misc.py +0 -0
  361. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/llama/model_utils/mod.py +0 -0
  362. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/llama/model_utils/visual.py +0 -0
  363. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/llama/patcher.py +0 -0
  364. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/llama/tokenizer_loader.py +0 -0
  365. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/masks/__init__.py +0 -0
  366. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/masks/mask_model.py +0 -0
  367. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/model_card_templates/default.md +0 -0
  368. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/modeling_deepseek_v2/__init__.py +0 -0
  369. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/modeling_deepseek_v2/configuration_deepseek.py +0 -0
  370. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/modeling_deepseek_v2/modeling_deepseek.py +0 -0
  371. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/modeling_deepseek_v2/tokenization_deepseek_fast.py +0 -0
  372. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/modeling_losparse_llama/__init__.py +0 -0
  373. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/modeling_losparse_llama/configuration_losparse_llama.py +0 -0
  374. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/modeling_losparse_llama/losparse_linear.py +0 -0
  375. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/modeling_losparse_llama/modeling_losparse_llama.py +0 -0
  376. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/modeling_losparse_llama/register.py +0 -0
  377. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/modeling_losparse_llama/utils.py +0 -0
  378. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/modeling_smile_gemma2/__init__.py +0 -0
  379. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/modeling_smile_gemma2/configuration_smile_gemma2.py +0 -0
  380. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/modeling_smile_gemma2/modeling_smile_gemma2.py +0 -0
  381. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/modeling_smile_gemma2/register.py +0 -0
  382. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/modeling_smile_llama/__init__.py +0 -0
  383. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/modeling_smile_llama/configuration_smile_llama.py +0 -0
  384. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/modeling_smile_llama/modeling_smile_llama.py +0 -0
  385. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/modeling_smile_llama/register.py +0 -0
  386. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/modeling_smile_mistral/__init__.py +0 -0
  387. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/modeling_smile_mistral/configuration_smile_mistral.py +0 -0
  388. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/modeling_smile_mistral/modeling_smile_mistral.py +0 -0
  389. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/modeling_smile_mistral/register.py +0 -0
  390. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/modeling_smile_qwen2/__init__.py +0 -0
  391. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/modeling_smile_qwen2/configuration_smile_qwen2.py +0 -0
  392. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/modeling_smile_qwen2/modeling_smile_qwen2.py +0 -0
  393. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/modeling_smile_qwen2/register.py +0 -0
  394. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/nyuv2/__init__.py +0 -0
  395. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/nyuv2/aspp.py +0 -0
  396. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/nyuv2/lightning_module.py +0 -0
  397. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/nyuv2/resnet.py +0 -0
  398. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/nyuv2/resnet_dilated.py +0 -0
  399. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/open_clip/__init__.py +0 -0
  400. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/open_clip/modeling.py +0 -0
  401. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/open_clip/utils.py +0 -0
  402. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/open_clip/variables_and_paths.py +0 -0
  403. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/parameter_dict.py +0 -0
  404. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/rankone_moe.py +0 -0
  405. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/separate_io.py +0 -0
  406. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/smile_moe/__init__.py +0 -0
  407. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/smile_moe/linear_from_hf_config.py +0 -0
  408. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/smile_moe/linear_from_module.py +0 -0
  409. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/smile_moe/utils/__init__.py +0 -0
  410. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/smile_moe/utils/svd_utils.py +0 -0
  411. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/sparse_we_moe.py +0 -0
  412. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/surgery/__init__.py +0 -0
  413. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/surgery/surgerymodelwrapper.py +0 -0
  414. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/utils.py +0 -0
  415. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/we_moe.py +0 -0
  416. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/wrappers/__init__.py +0 -0
  417. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/wrappers/ensemble.py +0 -0
  418. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/wrappers/layer_wise_fusion.py +0 -0
  419. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/wrappers/layer_wise_fusion_doge_ta.py +0 -0
  420. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/models/wrappers/task_wise_fusion.py +0 -0
  421. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/optim/__init__.py +0 -0
  422. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/optim/exception.py +0 -0
  423. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/optim/lr_scheduler/__init__.py +0 -0
  424. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/optim/lr_scheduler/linear_warmup.py +0 -0
  425. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/optim/lr_scheduler/utils/__init__.py +0 -0
  426. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/optim/lr_scheduler/utils/visualization.py +0 -0
  427. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/optim/mezo.py +0 -0
  428. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/optim/muon.py +0 -0
  429. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/programs/__init__.py +0 -0
  430. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/programs/base_program.py +0 -0
  431. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/programs/fabric_fusion_program.py +0 -0
  432. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/programs/fusion_program.py +0 -0
  433. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/scripts/__init__.py +0 -0
  434. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/scripts/cli.py +0 -0
  435. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/scripts/clip/__init__.py +0 -0
  436. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/scripts/clip/convert_checkpoint.py +0 -0
  437. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/scripts/imgui.py +0 -0
  438. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/scripts/nyuv2_mtl_train.py +0 -0
  439. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/scripts/webui.py +0 -0
  440. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/taskpool/__init__.py +0 -0
  441. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/taskpool/base_pool.py +0 -0
  442. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/taskpool/clip_vision/__init__.py +0 -0
  443. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/taskpool/clip_vision/clip_rankone_moe_taskpool.py +0 -0
  444. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/taskpool/clip_vision/clip_smile_taskpool.py +0 -0
  445. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/taskpool/clip_vision/clip_sparse_wemoe_taskpool.py +0 -0
  446. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/taskpool/clip_vision/taskpool.py +0 -0
  447. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/taskpool/clip_vision/utils/__init__.py +0 -0
  448. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/taskpool/clip_vision/utils/routing_analysis_utils.py +0 -0
  449. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/taskpool/dummy.py +0 -0
  450. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/taskpool/gpt2_text_classification.py +0 -0
  451. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/taskpool/llama/__init__.py +0 -0
  452. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/taskpool/llama/reward_model.py +0 -0
  453. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/taskpool/llama/test_generation.py +0 -0
  454. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/taskpool/lm_eval_harness/__init__.py +0 -0
  455. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/taskpool/lm_eval_harness/taskpool.py +0 -0
  456. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/taskpool/nyuv2_taskpool.py +0 -0
  457. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/taskpool/openclip_vision/__init__.py +0 -0
  458. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/taskpool/openclip_vision/openclip_taskpool.py +0 -0
  459. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/tasks/__init__.py +0 -0
  460. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/tasks/base_task.py +0 -0
  461. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/tasks/classification.py +0 -0
  462. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/tasks/clip_classification/__init__.py +0 -0
  463. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/tasks/clip_classification/cifar10.py +0 -0
  464. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/tasks/clip_classification/cifar100.py +0 -0
  465. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/tasks/clip_classification/clip_dataset.py +0 -0
  466. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/tasks/clip_classification/cub_200_2011.py +0 -0
  467. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/tasks/clip_classification/dtd.py +0 -0
  468. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/tasks/clip_classification/emnist_letters.py +0 -0
  469. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/tasks/clip_classification/emnist_mnist.py +0 -0
  470. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/tasks/clip_classification/eurosat.py +0 -0
  471. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/tasks/clip_classification/fashion_mnist.py +0 -0
  472. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/tasks/clip_classification/fer2013.py +0 -0
  473. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/tasks/clip_classification/flower102.py +0 -0
  474. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/tasks/clip_classification/food101.py +0 -0
  475. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/tasks/clip_classification/gtsrb.py +0 -0
  476. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/tasks/clip_classification/imagenet.py +0 -0
  477. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/tasks/clip_classification/kmnist.py +0 -0
  478. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/tasks/clip_classification/mnist.py +0 -0
  479. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/tasks/clip_classification/mongo_leaf_disease.py +0 -0
  480. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/tasks/clip_classification/oxford_iiit_pet.py +0 -0
  481. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/tasks/clip_classification/pcam.py +0 -0
  482. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/tasks/clip_classification/rendered_sst2.py +0 -0
  483. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/tasks/clip_classification/resisc45.py +0 -0
  484. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/tasks/clip_classification/stanford_cars.py +0 -0
  485. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/tasks/clip_classification/stl10.py +0 -0
  486. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/tasks/clip_classification/sun397.py +0 -0
  487. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/tasks/clip_classification/svhn.py +0 -0
  488. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/tasks/clip_classification/tiny_imagenet.py +0 -0
  489. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/tasks/flan_t5_text_generation/__init__.py +0 -0
  490. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/tasks/flan_t5_text_generation/datasets_preprocess.py +0 -0
  491. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/tasks/flan_t5_text_generation/glue_evaluation.py +0 -0
  492. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/tasks/flan_t5_text_generation/glue_load_dataset.py +0 -0
  493. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/tasks/flan_t5_text_generation/glue_preprocessors.py +0 -0
  494. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/tasks/flan_t5_text_generation/glue_prompt_templates.py +0 -0
  495. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/utils/__init__.py +0 -0
  496. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/utils/auto.py +0 -0
  497. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/utils/cache_utils.py +0 -0
  498. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/utils/data.py +0 -0
  499. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/utils/devices.py +0 -0
  500. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/utils/dict.py +0 -0
  501. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/utils/dtype.py +0 -0
  502. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/utils/expr.py +0 -0
  503. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/utils/fabric.py +0 -0
  504. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/utils/functools.py +0 -0
  505. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/utils/hydra_utils.py +0 -0
  506. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/utils/instantiate_utils.py +0 -0
  507. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/utils/json.py +0 -0
  508. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/utils/lazy_imports.py +0 -0
  509. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/utils/lazy_state_dict.py +0 -0
  510. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/utils/misc.py +0 -0
  511. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/utils/modelscope.py +0 -0
  512. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/utils/packages.py +0 -0
  513. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/utils/parameters.py +0 -0
  514. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/utils/path.py +0 -0
  515. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/utils/plot/__init__.py +0 -0
  516. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/utils/plot/color_data.py +0 -0
  517. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/utils/plot/token.py +0 -0
  518. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/utils/plot/token_notebook.py +0 -0
  519. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/utils/pylogger.py +0 -0
  520. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/utils/rich_utils.py +0 -0
  521. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/utils/set.py +0 -0
  522. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/utils/state_dict_arithmetic.py +0 -0
  523. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/utils/strenum/__init__.py +0 -0
  524. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/utils/strenum/_name_mangler.py +0 -0
  525. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/utils/strenum/_version.py +0 -0
  526. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/utils/tensorboard.py +0 -0
  527. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/utils/timer.py +0 -0
  528. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench/utils/type.py +0 -0
  529. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench.egg-info/dependency_links.txt +0 -0
  530. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench.egg-info/entry_points.txt +0 -0
  531. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench.egg-info/requires.txt +0 -0
  532. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench.egg-info/top_level.txt +0 -0
  533. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/README.md +0 -0
  534. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/_get_started/clip_evaluate_single_model.yaml +0 -0
  535. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/_get_started/clip_simple_average.yaml +0 -0
  536. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/_get_started/clip_task_arithmetic.yaml +0 -0
  537. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/_get_started/greeting_program.yaml +0 -0
  538. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/_get_started/llm_slerp.yaml +0 -0
  539. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/clip-vit-base-patch32_robustness_corrupted.yaml +0 -0
  540. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/README.md +0 -0
  541. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/test/TALL10.yaml +0 -0
  542. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/test/TALL12.yaml +0 -0
  543. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/test/TALL14.yaml +0 -0
  544. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/test/TALL16.yaml +0 -0
  545. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/test/TALL18.yaml +0 -0
  546. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/test/TALL20.yaml +0 -0
  547. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/test/cifar10.yaml +0 -0
  548. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/test/cifar100.yaml +0 -0
  549. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/test/cub-200-2011.yaml +0 -0
  550. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/test/dtd.yaml +0 -0
  551. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/test/emnist_letters.yaml +0 -0
  552. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/test/emnist_mnist.yaml +0 -0
  553. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/test/eurosat.yaml +0 -0
  554. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/test/fashion_mnist.yaml +0 -0
  555. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/test/fer2013.yaml +0 -0
  556. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/test/food101.yaml +0 -0
  557. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/test/gtsrb.yaml +0 -0
  558. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/test/kmnist.yaml +0 -0
  559. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/test/mango-leaf-disease.yaml +0 -0
  560. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/test/mnist.yaml +0 -0
  561. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/test/oxford-iiit-pet.yaml +0 -0
  562. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/test/oxford_flowers102.yaml +0 -0
  563. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/test/pcam.yaml +0 -0
  564. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/test/rendered-sst2.yaml +0 -0
  565. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/test/resisc45.yaml +0 -0
  566. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/test/stanford-cars.yaml +0 -0
  567. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/test/stl10.yaml +0 -0
  568. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/test/sun397.yaml +0 -0
  569. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/test/svhn.yaml +0 -0
  570. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/test/the_eight_tasks.yaml +0 -0
  571. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/test/tiny-imagenet.yaml +0 -0
  572. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/train/TALL10.yaml +0 -0
  573. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/train/TALL12.yaml +0 -0
  574. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/train/TALL14.yaml +0 -0
  575. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/train/TALL16.yaml +0 -0
  576. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/train/TALL18.yaml +0 -0
  577. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/train/TALL20.yaml +0 -0
  578. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/train/cifar10.yaml +0 -0
  579. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/train/cifar100.yaml +0 -0
  580. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/train/cub-200-2011.yaml +0 -0
  581. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/train/dtd.yaml +0 -0
  582. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/train/emnist_letters.yaml +0 -0
  583. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/train/emnist_mnist.yaml +0 -0
  584. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/train/eurosat.yaml +0 -0
  585. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/train/fashion_mnist.yaml +0 -0
  586. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/train/fer2013.yaml +0 -0
  587. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/train/food101.yaml +0 -0
  588. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/train/gtsrb.yaml +0 -0
  589. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/train/kmnist.yaml +0 -0
  590. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/train/mango-leaf-disease.yaml +0 -0
  591. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/train/mnist.yaml +0 -0
  592. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/train/oxford-iiit-pet.yaml +0 -0
  593. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/train/oxford_flowers102.yaml +0 -0
  594. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/train/pcam.yaml +0 -0
  595. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/train/rendered-sst2.yaml +0 -0
  596. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/train/resisc45.yaml +0 -0
  597. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/train/stanford-cars.yaml +0 -0
  598. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/train/stl10.yaml +0 -0
  599. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/train/sun397.yaml +0 -0
  600. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/train/svhn.yaml +0 -0
  601. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/train/the_eight_tasks.yaml +0 -0
  602. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/train/tiny-imagenet.yaml +0 -0
  603. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/val/dtd.yaml +0 -0
  604. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/val/eurosat.yaml +0 -0
  605. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/val/gtsrb.yaml +0 -0
  606. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/val/mnist.yaml +0 -0
  607. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/val/resisc45.yaml +0 -0
  608. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/val/stanford-cars.yaml +0 -0
  609. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/val/sun397.yaml +0 -0
  610. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/val/svhn.yaml +0 -0
  611. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/image_classification/val/the_eight_tasks.yaml +0 -0
  612. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/llm_sft/alpaca_cleaned.yaml +0 -0
  613. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/llm_sft/ultrachat_200k.yaml +0 -0
  614. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/question_answering/search_qa.yaml +0 -0
  615. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/question_answering/test/search_qa.yaml +0 -0
  616. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/question_answering/train/MetaMathQA.yaml +0 -0
  617. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/question_answering/train/search_qa.yaml +0 -0
  618. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/question_answering/val/search_qa.yaml +0 -0
  619. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/summarization/test/xsum.yaml +0 -0
  620. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/summarization/train/xsum.yaml +0 -0
  621. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/summarization/val/xsum.yaml +0 -0
  622. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/summarization/xsum.yaml +0 -0
  623. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/text_generation/test/gsm-hard.yaml +0 -0
  624. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/text_generation/test/gsm8k.yaml +0 -0
  625. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/text_generation/test/gsm8k_question_label.yaml +0 -0
  626. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/text_generation/train/CodeAlpaca-20k.yaml +0 -0
  627. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/text_generation/train/gsm8k.yaml +0 -0
  628. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/dataset/text_generation/train/gsm8k_question_label.yaml +0 -0
  629. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/fabric/auto.yaml +0 -0
  630. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/fabric/llama_ddp.yaml +0 -0
  631. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/fabric/llama_fsdp.yaml +0 -0
  632. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/fabric/llama_peft_fsdp.yaml +0 -0
  633. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/fabric/loggers/csv_logger.yaml +0 -0
  634. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/fabric/loggers/mlflow_logger.yaml +0 -0
  635. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/fabric/loggers/tensorboard_logger.yaml +0 -0
  636. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/fabric/loggers/wandb_logger.yaml +0 -0
  637. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/fabric/strategy/deepspeed.yaml +0 -0
  638. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/fabric/strategy/llama_fsdp.yaml +0 -0
  639. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/fabric/strategy/llama_peft_fsdp.yaml +0 -0
  640. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/fabric_model_fusion.yaml +0 -0
  641. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/hydra/default.yaml +0 -0
  642. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/hydra/help/fusion_bench_help.yaml +0 -0
  643. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/hydra/job_logging/rich_logging.yaml +0 -0
  644. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/llama_full_finetune.yaml +0 -0
  645. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/llama_magnitude_pruning.yaml +0 -0
  646. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/llama_model_fusion.yaml +0 -0
  647. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/ada_svd/clip_vision.yaml +0 -0
  648. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/adamerging/clip.yaml +0 -0
  649. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/adamerging/layer_wise_flan_t5.yaml +0 -0
  650. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/adamerging/layer_wise_gpt2.yaml +0 -0
  651. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/adamerging/llama_sft.yaml +0 -0
  652. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/analysis/task_vector_cos_similarity.yaml +0 -0
  653. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/analysis/task_vector_violin_plot.yaml +0 -0
  654. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/classification/clip_continual_finetune.yaml +0 -0
  655. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/classification/clip_finetune.yaml +0 -0
  656. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/classification/image_classification_finetune.yaml +0 -0
  657. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/classification/image_classification_finetune_test.yaml +0 -0
  658. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/clip_finetune.yaml +0 -0
  659. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/concrete_subspace/clip_concrete_layer_wise_adamerging.yaml +0 -0
  660. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/concrete_subspace/clip_concrete_task_arithmetic.yaml +0 -0
  661. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/concrete_subspace/clip_concrete_task_wise_adamerging.yaml +0 -0
  662. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/concrete_subspace/clip_post_defense_AWM.yaml +0 -0
  663. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/concrete_subspace/clip_post_defense_SAU.yaml +0 -0
  664. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/concrete_subspace/clip_safe_concrete_layer_wise_adamerging.yaml +0 -0
  665. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/concrete_subspace/clip_safe_concrete_task_arithmetic.yaml +0 -0
  666. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/dare/simple_average.yaml +0 -0
  667. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/dare/task_arithmetic.yaml +0 -0
  668. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/dare/ties_merging.yaml +0 -0
  669. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/dawe/dawe_for_clip.yaml +0 -0
  670. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/doge_ta/doge_ta.yaml +0 -0
  671. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/expert_sparsity/README.md +0 -0
  672. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/expert_sparsity/mixtral.yaml +0 -0
  673. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/fisher_merging/clip_fisher_merging.yaml +0 -0
  674. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/fisher_merging/fisher_merging.yaml +0 -0
  675. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/fisher_merging/gpt2_fisher_merging.yaml +0 -0
  676. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/fw_merging/fw_hard.yaml +0 -0
  677. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/fw_merging/fw_soft.yaml +0 -0
  678. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/gossip/layer_wise_clip.yaml +0 -0
  679. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/gossip/layer_wise_flan_t5.yaml +0 -0
  680. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/isotropic_merging/iso_c.yaml +0 -0
  681. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/isotropic_merging/iso_cts.yaml +0 -0
  682. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/linear/expo.yaml +0 -0
  683. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/linear/llama_expo.yaml +0 -0
  684. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/linear/llama_expo_with_dare.yaml +0 -0
  685. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/linear/simple_average_for_causallm.yaml +0 -0
  686. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/linear/task_arithmetic_for_causallm.yaml +0 -0
  687. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/linear/ties_merging_for_causallm.yaml +0 -0
  688. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/lm_finetune/bradley_terry_rm.yaml +0 -0
  689. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/lm_finetune/fullfinetune_sft.yaml +0 -0
  690. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/lm_finetune/peftfinetune_sft.yaml +0 -0
  691. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/mixtral_moe_merging.yaml +0 -0
  692. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/mixtral_moe_upscaling.yaml +0 -0
  693. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/moe_pruner/moe_pruner.yaml +0 -0
  694. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/pruning/llama_magnitude_pruning.yaml +0 -0
  695. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/pruning/llama_random_pruning.yaml +0 -0
  696. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/pruning/llama_sparsegpt_pruning.yaml +0 -0
  697. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/pruning/llama_wanda_pruning.yaml +0 -0
  698. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/pruning/magnitude_diff_pruning.yaml +0 -0
  699. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/pwe_moe/epo_for_openclip.yaml +0 -0
  700. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/pwe_moe/ls_for_openclip.yaml +0 -0
  701. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/pwe_moe/pwe_moe_ls_for_clip.yaml +0 -0
  702. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/randes/superposed_model_soup.yaml +0 -0
  703. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/randes/superposed_task_arithmetic.yaml +0 -0
  704. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/randes/superposed_task_arithmetic_lora.yaml +0 -0
  705. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/rankone_moe/rankone_moe.yaml +0 -0
  706. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/regmean/clip_regmean.yaml +0 -0
  707. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/regmean/gpt2_regmean.yaml +0 -0
  708. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/regmean/regmean.yaml +0 -0
  709. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/regmean_plusplus/clip_regmean_plusplus.yaml +0 -0
  710. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/smile_upscaling/causal_lm_upscaling.yaml +0 -0
  711. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/smile_upscaling/error_accumulation.yaml +0 -0
  712. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/smile_upscaling/projected_energy.yaml +0 -0
  713. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/smile_upscaling/singular_projection_merging.yaml +0 -0
  714. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/smile_upscaling/smile_mistral_upscaling.yaml +0 -0
  715. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/smile_upscaling/smile_qwen2_upscaling.yaml +0 -0
  716. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/sparselo_pruning/llama_iterative_sparselo.yaml +0 -0
  717. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/sparselo_pruning/llama_pcp_sparselo.yaml +0 -0
  718. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/sparselo_pruning/llama_sparselo.yaml +0 -0
  719. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/surgery/adamerging_surgery.yaml +0 -0
  720. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/tall_mask/task_arithmetic.yaml +0 -0
  721. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/task_singular_vector/TaskSingularVectorMerging.yaml +0 -0
  722. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/trust_region/clip_task_arithmetic.yaml +0 -0
  723. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/wemoe/flan_t5_weight_ensembling_moe.yaml +0 -0
  724. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/wemoe/sparse_weight_ensembling_moe.yaml +0 -0
  725. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/wemoe/weight_ensembling_moe.yaml +0 -0
  726. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/method/wudi/wudi.yaml +0 -0
  727. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/README.md +0 -0
  728. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16.yaml +0 -0
  729. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_TALL14.yaml +0 -0
  730. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_TALL20.yaml +0 -0
  731. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_cifar10.yaml +0 -0
  732. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_cifar100.yaml +0 -0
  733. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_dtd.yaml +0 -0
  734. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_eight_tasks.yaml +0 -0
  735. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_emnist_letters.yaml +0 -0
  736. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_eurosat.yaml +0 -0
  737. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_fashion_mnist.yaml +0 -0
  738. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_fer2013.yaml +0 -0
  739. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_food101.yaml +0 -0
  740. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_gtsrb.yaml +0 -0
  741. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_kmnist.yaml +0 -0
  742. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_mnist.yaml +0 -0
  743. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_oxford-iiit-pet.yaml +0 -0
  744. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_oxford_flowers102.yaml +0 -0
  745. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_pcam.yaml +0 -0
  746. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_rendered-sst2.yaml +0 -0
  747. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_resisc45.yaml +0 -0
  748. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_stanford-cars.yaml +0 -0
  749. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_stl10.yaml +0 -0
  750. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_sun397.yaml +0 -0
  751. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_svhn.yaml +0 -0
  752. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32.yaml +0 -0
  753. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_TALL10.yaml +0 -0
  754. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_TALL12.yaml +0 -0
  755. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_TALL14.yaml +0 -0
  756. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_TALL16.yaml +0 -0
  757. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_TALL18.yaml +0 -0
  758. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_TALL20.yaml +0 -0
  759. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_cifar10.yaml +0 -0
  760. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_cifar100.yaml +0 -0
  761. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_dtd.yaml +0 -0
  762. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_eight_tasks.yaml +0 -0
  763. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_emnist_letters.yaml +0 -0
  764. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_eurosat.yaml +0 -0
  765. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_fashion_mnist.yaml +0 -0
  766. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_fer2013.yaml +0 -0
  767. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_food101.yaml +0 -0
  768. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_gtsrb.yaml +0 -0
  769. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_kmnist.yaml +0 -0
  770. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_mnist.yaml +0 -0
  771. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_oxford-iiit-pet.yaml +0 -0
  772. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_oxford_flowers102.yaml +0 -0
  773. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_pcam.yaml +0 -0
  774. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_rendered-sst2.yaml +0 -0
  775. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_resisc45.yaml +0 -0
  776. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_stanford-cars.yaml +0 -0
  777. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_stl10.yaml +0 -0
  778. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_sun397.yaml +0 -0
  779. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_svhn.yaml +0 -0
  780. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14.yaml +0 -0
  781. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_TALL14.yaml +0 -0
  782. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_TALL20.yaml +0 -0
  783. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_cifar10.yaml +0 -0
  784. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_cifar100.yaml +0 -0
  785. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_dtd.yaml +0 -0
  786. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_eight_tasks.yaml +0 -0
  787. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_emnist_letters.yaml +0 -0
  788. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_eurosat.yaml +0 -0
  789. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_fashion_mnist.yaml +0 -0
  790. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_fer2013.yaml +0 -0
  791. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_food101.yaml +0 -0
  792. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_gtsrb.yaml +0 -0
  793. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_kmnist.yaml +0 -0
  794. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_mnist.yaml +0 -0
  795. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_oxford-iiit-pet.yaml +0 -0
  796. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_oxford_flowers102.yaml +0 -0
  797. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_pcam.yaml +0 -0
  798. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_rendered-sst2.yaml +0 -0
  799. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_resisc45.yaml +0 -0
  800. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_stanford-cars.yaml +0 -0
  801. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_stl10.yaml +0 -0
  802. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_sun397.yaml +0 -0
  803. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_svhn.yaml +0 -0
  804. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/download_TALL20_models.sh +0 -0
  805. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/clip-vit/generate_vit_model_config.sh +0 -0
  806. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/flan-t5/flan-t5-base.yaml +0 -0
  807. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-cola.yaml +0 -0
  808. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-cola_lora-16.yaml +0 -0
  809. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-mnli.yaml +0 -0
  810. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-mnli_lora-16.yaml +0 -0
  811. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-mrpc.yaml +0 -0
  812. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-mrpc_lora-16.yaml +0 -0
  813. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-qnli.yaml +0 -0
  814. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-qnli_lora-16.yaml +0 -0
  815. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-qqp.yaml +0 -0
  816. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-qqp_lora-16.yaml +0 -0
  817. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-rte.yaml +0 -0
  818. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-rte_lora-16.yaml +0 -0
  819. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-sst2.yaml +0 -0
  820. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-sst2_lora-16.yaml +0 -0
  821. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-stsb.yaml +0 -0
  822. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-stsb_lora-16.yaml +0 -0
  823. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/flan-t5/flan-t5-large.yaml +0 -0
  824. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-cola_lora-16.yaml +0 -0
  825. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-mnli_lora-16.yaml +0 -0
  826. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-mrpc_lora-16.yaml +0 -0
  827. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-qnli_lora-16.yaml +0 -0
  828. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-qqp_lora-16.yaml +0 -0
  829. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-rte_lora-16.yaml +0 -0
  830. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-sst2_lora-16.yaml +0 -0
  831. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-stsb_lora-16.yaml +0 -0
  832. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model/flan-t5/generate_flan-t5.sh +0 -0
  833. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/model_fusion.yaml +0 -0
  834. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/_template.yaml +0 -0
  835. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TA8.yaml +0 -0
  836. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TA8_lora.yaml +0 -0
  837. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TA8_model_only.yaml +0 -0
  838. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TALL14.yaml +0 -0
  839. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TALL14_model_only.yaml +0 -0
  840. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TALL20.yaml +0 -0
  841. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TALL20_model_only.yaml +0 -0
  842. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_individual.yaml +0 -0
  843. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_individual_lora.yaml +0 -0
  844. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TA8.yaml +0 -0
  845. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TA8_control_task.yaml +0 -0
  846. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TA8_model_only.yaml +0 -0
  847. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TALL10.yaml +0 -0
  848. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TALL12.yaml +0 -0
  849. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TALL14.yaml +0 -0
  850. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TALL14_model_only.yaml +0 -0
  851. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TALL16.yaml +0 -0
  852. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TALL18.yaml +0 -0
  853. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TALL20.yaml +0 -0
  854. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TALL20_model_only.yaml +0 -0
  855. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_cars_and_dtd.yaml +0 -0
  856. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_generalization_exp1.yaml +0 -0
  857. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_generalization_exp2.yaml +0 -0
  858. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_individual.yaml +0 -0
  859. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_mtl.yaml +0 -0
  860. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_robustness_clean.yaml +0 -0
  861. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_robustness_corrupted.yaml +0 -0
  862. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_single_finetuned.yaml +0 -0
  863. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_single_task_projection.yaml +0 -0
  864. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_sun397_and_cars.yaml +0 -0
  865. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_sun397_and_dtd.yaml +0 -0
  866. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_sun397_cars_and_dtd.yaml +0 -0
  867. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_svhn_and_mnist.yaml +0 -0
  868. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_two_tasks_control_task.yaml +0 -0
  869. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TA8.yaml +0 -0
  870. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TA8_model_only.yaml +0 -0
  871. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TALL14.yaml +0 -0
  872. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TALL14_model_only.yaml +0 -0
  873. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TALL20.yaml +0 -0
  874. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TALL20_model_only.yaml +0 -0
  875. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_individual.yaml +0 -0
  876. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CausalLMPool/Qwen2.5-1.5B_math_and_code.yaml +0 -0
  877. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CausalLMPool/Qwen2.5-1.5B_three_models.yaml +0 -0
  878. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CausalLMPool/Qwen2.5-7B-math_and_coder.yaml +0 -0
  879. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CausalLMPool/deepseek-v2-lite.yaml +0 -0
  880. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CausalLMPool/llama-7b_3-models_v1.yaml +0 -0
  881. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CausalLMPool/llama_alpaca_cleaned.yaml +0 -0
  882. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CausalLMPool/llama_codealpaca.yaml +0 -0
  883. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CausalLMPool/llama_for_causallm.yaml +0 -0
  884. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CausalLMPool/llama_metamathqa.yaml +0 -0
  885. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CausalLMPool/llama_ultrachat.yaml +0 -0
  886. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CausalLMPool/mergebench/Llama-3.1-8B-Instruct.yaml +0 -0
  887. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CausalLMPool/mergebench/Llama-3.1-8B.yaml +0 -0
  888. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CausalLMPool/mergebench/Llama-3.2-3B-Instruct.yaml +0 -0
  889. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CausalLMPool/mergebench/Llama-3.2-3B.yaml +0 -0
  890. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CausalLMPool/mergebench/gemma-2-2b-it.yaml +0 -0
  891. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CausalLMPool/mergebench/gemma-2-2b.yaml +0 -0
  892. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CausalLMPool/mergebench/gemma-2-9b-it.yaml +0 -0
  893. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CausalLMPool/mergebench/gemma-2-9b.yaml +0 -0
  894. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CausalLMPool/mistral-7b.yaml +0 -0
  895. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CausalLMPool/mixtral-8x7b.yaml +0 -0
  896. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CausalLMPool/mixtral_moe_merging.yaml +0 -0
  897. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CausalLMPool/qwen2_math_1.5B_and_R1.yaml +0 -0
  898. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CausalLMPool/simle_mixtral_exp_v4.yaml +0 -0
  899. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CausalLMPool/single_llama_model.yaml +0 -0
  900. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/CausalLMPool/vicuna-7b-v1.5.yaml +0 -0
  901. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/OpenCLIPVisionModelPool/README.md +0 -0
  902. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/OpenCLIPVisionModelPool/ViT-B-16_TA8.yaml +0 -0
  903. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/OpenCLIPVisionModelPool/ViT-B-32_TA8.yaml +0 -0
  904. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/OpenCLIPVisionModelPool/ViT-B-32_TA_cars_dtd.yaml +0 -0
  905. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/OpenCLIPVisionModelPool/ViT-B-32_TA_sun397_cars.yaml +0 -0
  906. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/OpenCLIPVisionModelPool/ViT-B-32_TA_sun397_dtd.yaml +0 -0
  907. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/OpenCLIPVisionModelPool/ViT-B-32_individual.yaml +0 -0
  908. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/OpenCLIPVisionModelPool/ViT-L-14_TA8.yaml +0 -0
  909. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/ResNetForImageClassfication/transformers/resnet152_cifar10.yaml +0 -0
  910. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/ResNetForImageClassfication/transformers/resnet152_cifar100.yaml +0 -0
  911. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/ResNetForImageClassfication/transformers/resnet18_cifar10.yaml +0 -0
  912. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/ResNetForImageClassfication/transformers/resnet18_cifar100.yaml +0 -0
  913. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/ResNetForImageClassfication/transformers/resnet50_cifar10.yaml +0 -0
  914. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/ResNetForImageClassfication/transformers/resnet50_cifar100.yaml +0 -0
  915. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/Seq2SeqLMPool/_template.yaml +0 -0
  916. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/Seq2SeqLMPool/flan-t5-base_glue.yaml +0 -0
  917. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/Seq2SeqLMPool/flan-t5-base_glue_lora16.yaml +0 -0
  918. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/Seq2SeqLMPool/flan-t5-base_glue_lora16_tta.yaml +0 -0
  919. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/Seq2SeqLMPool/flan-t5-base_glue_tta.yaml +0 -0
  920. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/Seq2SeqLMPool/flan-t5-base_individual.yaml +0 -0
  921. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/Seq2SeqLMPool/flan-t5-large_glue_lora16.yaml +0 -0
  922. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/SequenceClassificationModelPool/llama_preference700k.yaml +0 -0
  923. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/SequenceClassificationModelPool/roberta-base_glue.yaml +0 -0
  924. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/SequenceClassificationModelPool/single_reward_model.yaml +0 -0
  925. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/automodelpool.yaml +0 -0
  926. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/gpt-2_glue.yaml +0 -0
  927. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/nyuv2_modelpool.yaml +0 -0
  928. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/smile_mistral_exp_v1.yaml +0 -0
  929. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/smile_mistral_exp_v2.yaml +0 -0
  930. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/smile_mistral_exp_v3.yaml +0 -0
  931. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/modelpool/smile_mistral_exp_v4.yaml +0 -0
  932. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/nyuv2_config.yaml +0 -0
  933. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/nyuv2_mtl_train.yaml +0 -0
  934. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/path/default.yaml +0 -0
  935. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/_template.yaml +0 -0
  936. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-base-patch32_robustness_corrupted.yaml +0 -0
  937. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-base-patch32_svhn_and_mnist.yaml +0 -0
  938. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TA8.yaml +0 -0
  939. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TA8_B16.yaml +0 -0
  940. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TA8_L14.yaml +0 -0
  941. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TA8_val.yaml +0 -0
  942. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TA8_with_control_task.yaml +0 -0
  943. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TALL14.yaml +0 -0
  944. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TALL20.yaml +0 -0
  945. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_cifar10.yaml +0 -0
  946. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_cifar100.yaml +0 -0
  947. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_dtd.yaml +0 -0
  948. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_emnist_letters.yaml +0 -0
  949. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_eurosat.yaml +0 -0
  950. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_fashion_mnist.yaml +0 -0
  951. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_fer2013.yaml +0 -0
  952. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_food101.yaml +0 -0
  953. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_gtsrb.yaml +0 -0
  954. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_kmnist.yaml +0 -0
  955. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_mnist.yaml +0 -0
  956. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_oxford-iiit-pet.yaml +0 -0
  957. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_oxford_flowers102.yaml +0 -0
  958. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_oxford_flowers102_val.yaml +0 -0
  959. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_pcam.yaml +0 -0
  960. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_rendered-sst2.yaml +0 -0
  961. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_resisc45.yaml +0 -0
  962. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_stanford-cars.yaml +0 -0
  963. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_stl10.yaml +0 -0
  964. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_sun397.yaml +0 -0
  965. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_svhn.yaml +0 -0
  966. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip_rankone_wemoe_clip-vit-classification_TA8.yaml +0 -0
  967. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip_sparse_wemoe_clip-vit-classification_TA8.yaml +0 -0
  968. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/LMEvalHarnessTaskPool/lm_eval.yaml +0 -0
  969. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/OpenCLIPVisionModelTaskPool/ViT-B-16_TA8.yaml +0 -0
  970. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/OpenCLIPVisionModelTaskPool/ViT-B-32_TA8.yaml +0 -0
  971. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/OpenCLIPVisionModelTaskPool/ViT-L-14_TA8.yaml +0 -0
  972. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/clip-vit-base-patch32_robustness_clean.yaml +0 -0
  973. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/clip-vit-base-patch32_robustness_corrupted.yaml +0 -0
  974. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/dummy.yaml +0 -0
  975. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/flan-t5_glue_text_generation.yaml +0 -0
  976. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/gpt-2_glue.yaml +0 -0
  977. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/nyuv2_taskpool.yaml +0 -0
  978. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/fusion_bench_config/taskpool/reward_model_evaluation.yaml +0 -0
  979. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/setup.cfg +0 -0
  980. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/tests/test_depth_upscaling.py +0 -0
  981. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/tests/test_simple_average.py +0 -0
  982. {fusion_bench-0.2.25 → fusion_bench-0.2.26}/tests/test_weighed_ensemble.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fusion_bench
3
- Version: 0.2.25
3
+ Version: 0.2.26
4
4
  Summary: A Comprehensive Benchmark of Deep Model Fusion
5
5
  Author-email: Anke Tang <tang.anke@foxmail.com>
6
6
  Project-URL: Repository, https://github.com/tanganke/fusion_bench
@@ -82,7 +82,13 @@ Model merging has emerged as a promising approach for multi-task learning (MTL),
82
82
  </details>
83
83
 
84
84
  <details>
85
- <summary>Anke Tang, et al. Merging Models on the Fly Without Retraining: A Sequential Approach to Scalable Continual Model Merging. Jan 2025. https://arxiv.org/pdf/2501.09522</summary>
85
+ <summary>Enneng Yang, et al. Continual Model Merging without Data: Dual Projections for Balancing Stability and Plasticity. NeurIPS 2025. https://github.com/EnnengYang/DOP</summary>
86
+
87
+ Model merging integrates multiple expert models with diverse capabilities into a unified framework, facilitating collaborative learning. However, most existing methods assume simultaneous access to all models, which is often impractical in real-world scenarios where models are received sequentially. While some studies have investigated continual model merging (CMM)--which involves sequentially merging multiple models--the challenge of balancing prior knowledge (stability) and incorporating new tasks (plasticity) remains unresolved. This paper, for the first time, formally defines the stability and plasticity of CMM from the perspective of orthogonal projection. Subsequently, we analyze the relationships among the spaces spanned by task data, historical gradients, and accumulated gradients. Building on this, we propose a data-free Dual Orthogonal Projection (DOP) method, which eliminates data dependence and mitigates interference between the merged model and models for old and new tasks by projecting their parameter differences onto their respective approximate data spaces. Finally, to solve potential conflicts between stability and plasticity, we reformulate DOP as a multi-objective optimization problem and employ a multi-gradient descent algorithm to obtain a Pareto-optimal solution. Extensive experiments across multiple architectures and task configurations validate that our approach significantly outperforms state-of-the-art CMM methods.
88
+ </details>
89
+
90
+ <details>
91
+ <summary>Anke Tang, et al. Merging Models on the Fly Without Retraining: A Sequential Approach to Scalable Continual Model Merging. NeurIPS 2025. Jan 2025. https://arxiv.org/pdf/2501.09522</summary>
86
92
 
87
93
  Deep model merging represents an emerging research direction that combines multiple fine-tuned models to harness their specialized capabilities across different tasks and domains. Current model merging techniques focus on merging all available models simultaneously, with weight interpolation-based methods being the predominant approaches. However, these conventional approaches are not well-suited for scenarios where models become available sequentially, and they often suffer from high memory requirements and potential interference between tasks. In this study, we propose a training-free projection-based continual merging method that processes models sequentially through orthogonal projections of weight matrices and adaptive scaling mechanisms. Our method operates by projecting new parameter updates onto subspaces orthogonal to existing merged parameter updates while using an adaptive scaling mechanism to maintain stable parameter distances, enabling efficient sequential integration of task-specific knowledge. Our approach maintains constant memory complexity to the number of models, minimizes interference between tasks through orthogonal projections, and retains the performance of previously merged models through adaptive task vector scaling. Extensive experiments on CLIP-ViT models demonstrate that our method achieves a 5-8% average accuracy improvement while maintaining robust performance in different task orderings.
88
94
  </details>
@@ -42,7 +42,13 @@ Model merging has emerged as a promising approach for multi-task learning (MTL),
42
42
  </details>
43
43
 
44
44
  <details>
45
- <summary>Anke Tang, et al. Merging Models on the Fly Without Retraining: A Sequential Approach to Scalable Continual Model Merging. Jan 2025. https://arxiv.org/pdf/2501.09522</summary>
45
+ <summary>Enneng Yang, et al. Continual Model Merging without Data: Dual Projections for Balancing Stability and Plasticity. NeurIPS 2025. https://github.com/EnnengYang/DOP</summary>
46
+
47
+ Model merging integrates multiple expert models with diverse capabilities into a unified framework, facilitating collaborative learning. However, most existing methods assume simultaneous access to all models, which is often impractical in real-world scenarios where models are received sequentially. While some studies have investigated continual model merging (CMM)--which involves sequentially merging multiple models--the challenge of balancing prior knowledge (stability) and incorporating new tasks (plasticity) remains unresolved. This paper, for the first time, formally defines the stability and plasticity of CMM from the perspective of orthogonal projection. Subsequently, we analyze the relationships among the spaces spanned by task data, historical gradients, and accumulated gradients. Building on this, we propose a data-free Dual Orthogonal Projection (DOP) method, which eliminates data dependence and mitigates interference between the merged model and models for old and new tasks by projecting their parameter differences onto their respective approximate data spaces. Finally, to solve potential conflicts between stability and plasticity, we reformulate DOP as a multi-objective optimization problem and employ a multi-gradient descent algorithm to obtain a Pareto-optimal solution. Extensive experiments across multiple architectures and task configurations validate that our approach significantly outperforms state-of-the-art CMM methods.
48
+ </details>
49
+
50
+ <details>
51
+ <summary>Anke Tang, et al. Merging Models on the Fly Without Retraining: A Sequential Approach to Scalable Continual Model Merging. NeurIPS 2025. Jan 2025. https://arxiv.org/pdf/2501.09522</summary>
46
52
 
47
53
  Deep model merging represents an emerging research direction that combines multiple fine-tuned models to harness their specialized capabilities across different tasks and domains. Current model merging techniques focus on merging all available models simultaneously, with weight interpolation-based methods being the predominant approaches. However, these conventional approaches are not well-suited for scenarios where models become available sequentially, and they often suffer from high memory requirements and potential interference between tasks. In this study, we propose a training-free projection-based continual merging method that processes models sequentially through orthogonal projections of weight matrices and adaptive scaling mechanisms. Our method operates by projecting new parameter updates onto subspaces orthogonal to existing merged parameter updates while using an adaptive scaling mechanism to maintain stable parameter distances, enabling efficient sequential integration of task-specific knowledge. Our approach maintains constant memory complexity to the number of models, minimizes interference between tasks through orthogonal projections, and retains the performance of previously merged models through adaptive task vector scaling. Extensive experiments on CLIP-ViT models demonstrate that our method achieves a 5-8% average accuracy improvement while maintaining robust performance in different task orderings.
48
54
  </details>
@@ -70,6 +70,7 @@ _import_structure = {
70
70
  "IsotropicMergingInCommonSubspace",
71
71
  ],
72
72
  "opcm": ["OPCMForCLIP"],
73
+ "dop": ["ContinualDOPForCLIP"],
73
74
  "gossip": [
74
75
  "CLIPLayerWiseGossipAlgorithm",
75
76
  "CLIPTaskWiseGossipAlgorithm",
@@ -212,6 +213,7 @@ if TYPE_CHECKING:
212
213
  from .model_recombination import ModelRecombinationAlgorithm
213
214
  from .model_stock import ModelStock
214
215
  from .opcm import OPCMForCLIP
216
+ from .dop import ContinualDOPForCLIP
215
217
  from .pruning import (
216
218
  MagnitudeDiffPruningAlgorithm,
217
219
  MagnitudePruningForLlama,
@@ -5,8 +5,8 @@ Fine-tune CLIP-ViT-B/32:
5
5
 
6
6
  ```bash
7
7
  fusion_bench \
8
- method=clip_finetune \
9
- modelpool=clip-vit-base-patch32_mtl \
8
+ method=classification/clip_finetune \
9
+ modelpool=CLIPVisionModelPool/clip-vit-base-patch32_mtl \
10
10
  taskpool=dummy
11
11
  ```
12
12
 
@@ -15,12 +15,14 @@ Fine-tune CLIP-ViT-L/14 on eight GPUs with a per-device per-task batch size of 2
15
15
  ```bash
16
16
  fusion_bench \
17
17
  fabric.devices=8 \
18
- method=clip_finetune \
18
+ method=classification/clip_finetune \
19
19
  method.batch_size=2 \
20
- modelpool=clip-vit-base-patch32_mtl \
20
+ modelpool=CLIPVisionModelPool/clip-vit-base-patch32_mtl \
21
21
  modelpool.models.0.path=openai/clip-vit-large-patch14 \
22
22
  taskpool=dummy
23
23
  ```
24
+
25
+ See `examples/clip_finetune` for more details.
24
26
  """
25
27
 
26
28
  import os
@@ -0,0 +1 @@
1
+ from .dop import ContinualDOPForCLIP
@@ -0,0 +1,366 @@
1
+ """
2
+ Continual Model Merging without Data: Dual Projections for Balancing Stability and Plasticity. NeurIPS, 2025.
3
+
4
+
5
+ Example:
6
+
7
+ fusion_bench \
8
+ method=dop/dop \
9
+ modelpool=CLIPVisionModelPool/clip-vit-base-patch32_TA8_model_only \
10
+ taskpool=CLIPVisionModelTaskPool/clip-vit-classification_TA8
11
+ """
12
+
13
+ import logging
14
+ import os
15
+ import random
16
+ from copy import deepcopy
17
+ from pathlib import Path
18
+ from typing import Dict, List, Literal, Optional, Tuple, cast
19
+
20
+ import lightning as L
21
+ import numpy as np
22
+ import torch
23
+ from omegaconf import DictConfig
24
+ from torch import Tensor, nn
25
+ from torch.autograd import Variable
26
+ from tqdm.auto import tqdm
27
+ from transformers import CLIPVisionModel
28
+
29
+ from fusion_bench import BaseAlgorithm, BaseModelPool, auto_register_config
30
+ from fusion_bench.method.simple_average import simple_average
31
+ from fusion_bench.mixins import LightningFabricMixin
32
+ from fusion_bench.taskpool import CLIPVisionModelTaskPool
33
+ from fusion_bench.utils import seed_everything_by_time
34
+ from fusion_bench.utils.json import save_to_json
35
+
36
+ from .min_norm_solvers import MinNormSolver, gradient_normalizers
37
+ from .utils import is_leaf_module, svd
38
+
39
+ log = logging.getLogger(__name__)
40
+
41
+
42
+ @auto_register_config
43
+ class ContinualDOPForCLIP(BaseAlgorithm, LightningFabricMixin):
44
+
45
+ def __init__(
46
+ self,
47
+ seed: Optional[int] = None,
48
+ shuffle_order: bool = False,
49
+ save_on_every_step: bool = True,
50
+ evaluate_on_every_step: bool = False,
51
+ lr: float = 1e-4,
52
+ num_steps: int = 200,
53
+ mgda: bool = True,
54
+ ema: bool = True,
55
+ ema_beta: float = 0.99,
56
+ alpha: float = None,
57
+ svd_epsilon: float = 1.0,
58
+ svd_proj_space: str = "uv",
59
+ **kwargs,
60
+ ):
61
+ self.lr = lr
62
+ self.num_steps = num_steps
63
+ self.mgda = mgda
64
+ self.ema = ema
65
+ self.ema_beta = ema_beta
66
+ self.alpha = alpha
67
+ self.svd_epsilon = svd_epsilon
68
+ self.svd_proj_space = svd_proj_space
69
+ self.seed = seed
70
+ self.shuffle_order = shuffle_order
71
+ self.save_on_every_step = save_on_every_step
72
+ self.evaluate_on_every_step = evaluate_on_every_step
73
+
74
+ assert (
75
+ self.svd_epsilon >= 0 and self.svd_epsilon <= 1
76
+ ), "The svd_epsilon should be in the range of [0, 1]"
77
+ assert (
78
+ self.alpha >= 0 and self.alpha <= 1
79
+ ), "The alpha should be in the range of [0, 1]"
80
+ super().__init__(**kwargs)
81
+
82
+ def print_params(self, pretrained_model):
83
+ total_params = 0
84
+ linear_params = 0
85
+ linear_weight_params = 0
86
+ for module_name, module in pretrained_model.named_modules():
87
+ if not is_leaf_module(module):
88
+ continue
89
+ if isinstance(module, nn.Linear):
90
+ linear_params += sum(p.numel() for n, p in module.named_parameters())
91
+ linear_weight_params += sum(
92
+ p.numel() for n, p in module.named_parameters() if "weight" in n
93
+ )
94
+ total_params += sum(p.numel() for p in module.parameters())
95
+
96
+ linear_ratio = linear_params / total_params * 100
97
+ linear_weight_ratio = linear_weight_params / total_params * 100
98
+ print(f"Total Parameters: {total_params}")
99
+ print(f"Linear Parameters: {linear_params}")
100
+ print(f"Linear Weight Parameters: {linear_weight_params}")
101
+ print(f"Linear Ratio: {linear_ratio:.2f}%")
102
+ print(f"Linear Weight Ratio: {linear_weight_ratio:.2f}%")
103
+
104
+ def run(self, modelpool: BaseModelPool):
105
+ if self.seed is not None:
106
+ L.seed_everything(self.seed)
107
+ else:
108
+ seed_everything_by_time(self.fabric)
109
+
110
+ # get the model names, shuffle if needed
111
+ # the model names will be saved to the log directory as `model_names.json`
112
+ model_names = modelpool.model_names
113
+ if self.shuffle_order:
114
+ random.shuffle(model_names)
115
+ if self.log_dir is not None:
116
+ save_to_json(model_names, os.path.join(self.log_dir, "model_names.json"))
117
+
118
+ if self.evaluate_on_every_step:
119
+ """Configuration for the test datasets"""
120
+ self.taskpool = cast(CLIPVisionModelTaskPool, self._program.taskpool)
121
+ self._test_datasets = deepcopy(self.taskpool._test_datasets)
122
+
123
+ pretrained_model = modelpool.load_pretrained_model()
124
+
125
+ merged_model = None
126
+ for model_idx, model_name in enumerate(model_names):
127
+ print(
128
+ f"--------- Optimizing {model_idx + 1}/{len(model_names)}-th with {model_name} ---------"
129
+ )
130
+ if model_idx == 0:
131
+ merged_model = modelpool.load_model(model_names[0])
132
+ else:
133
+ merged_model = self._layer_wise_optimize(
134
+ model_names=["merged", model_name],
135
+ pretrained_model=deepcopy(pretrained_model),
136
+ finetuned_models={
137
+ "merged": merged_model,
138
+ model_name: modelpool.load_model(model_name),
139
+ },
140
+ model_idx=model_idx,
141
+ )
142
+
143
+ if self.save_on_every_step:
144
+ self.save_merged_model(merged_model, model_idx)
145
+
146
+ if self.evaluate_on_every_step:
147
+ self.taskpool._is_setup = False
148
+ self.taskpool._test_datasets = DictConfig(
149
+ {n: self._test_datasets[n] for n in model_names[: model_idx + 1]}
150
+ )
151
+ report = self.taskpool.evaluate(deepcopy(merged_model))
152
+ save_to_json(report, Path(self.log_dir) / f"report_{model_idx}.json")
153
+
154
+ return merged_model
155
+
156
+ def _layer_wise_optimize(
157
+ self,
158
+ model_names: List[str],
159
+ pretrained_model: nn.Module,
160
+ finetuned_models: Dict[str, nn.Module],
161
+ model_idx: int,
162
+ ):
163
+ time_cost = []
164
+ for module_name, module in pretrained_model.named_modules():
165
+ if not is_leaf_module(module):
166
+ continue
167
+
168
+ if isinstance(module, nn.Linear):
169
+ if module.weight.requires_grad:
170
+ import time
171
+
172
+ start_time = time.time()
173
+ merged_weight = self._optimize_weight(
174
+ module.weight,
175
+ {
176
+ model_name: finetuned_models[model_name]
177
+ .get_submodule(module_name)
178
+ .weight
179
+ for model_name in model_names
180
+ },
181
+ module_name,
182
+ model_idx,
183
+ )
184
+ end_time = time.time()
185
+ time_cost.append(end_time - start_time)
186
+ module.weight.data = merged_weight.data
187
+ else:
188
+ module.weight.data = simple_average(
189
+ [
190
+ finetuned_models[model_name]
191
+ .get_submodule(module_name)
192
+ .weight
193
+ for model_name in model_names
194
+ ]
195
+ )
196
+ if module.bias is not None:
197
+ module.bias.data = simple_average(
198
+ [
199
+ finetuned_models[model_name].get_submodule(module_name).bias
200
+ for model_name in model_names
201
+ ]
202
+ )
203
+ else:
204
+ simple_average(
205
+ [
206
+ finetuned_models[model_name].get_submodule(module_name)
207
+ for model_name in model_names
208
+ ],
209
+ base_module=module,
210
+ )
211
+
212
+ return pretrained_model
213
+
214
+ def _optimize_weight(
215
+ self,
216
+ pretrained_weight: Tensor,
217
+ finetuned_weights: Dict[str, Tensor],
218
+ module_name: str,
219
+ model_idx: int,
220
+ ):
221
+ assert (
222
+ self.fabric.world_size == 1
223
+ ), "This algorithm is not currently supported in distributed training"
224
+
225
+ pretrained_weight = self.fabric.to_device(pretrained_weight.detach())
226
+ finetuned_weights = {
227
+ model_name: self.fabric.to_device(finetuned_weight.detach())
228
+ for model_name, finetuned_weight in finetuned_weights.items()
229
+ }
230
+
231
+ merged_weight = self.fabric.to_device(
232
+ nn.Parameter(
233
+ simple_average(
234
+ [
235
+ finetuned_weight.detach()
236
+ for finetuned_weight in finetuned_weights.values()
237
+ ]
238
+ ),
239
+ requires_grad=True,
240
+ )
241
+ )
242
+
243
+ # Compute SVD of the difference between the finetuned and pretrained weights
244
+ proj_u_dict = {}
245
+ proj_v_dict = {}
246
+ proj_s_dict = {}
247
+ for i, finetuned_weight in enumerate(finetuned_weights.values()):
248
+ finetuned_tv = finetuned_weight - pretrained_weight
249
+ u, s, v = svd(finetuned_tv, full_matrices=True)
250
+ epsilon = 1.0 if self.svd_epsilon > 1.0 else self.svd_epsilon
251
+ cumsum_ratio = s.cumsum(dim=0) / s.sum()
252
+ split_rank = torch.searchsorted(cumsum_ratio, epsilon).item()
253
+ u_main = u[:, :split_rank]
254
+ v_main = v[:, :split_rank]
255
+ s_main = s[:split_rank]
256
+ proj_u_dict[i] = u_main
257
+ proj_v_dict[i] = v_main
258
+ proj_s_dict[i] = s_main
259
+
260
+ if self.mgda:
261
+ if self.ema:
262
+ ema_sol = [self.alpha, 1 - self.alpha]
263
+ # This is multiple-gradient descent algorithm (MGDA) optimization
264
+ optimizer = torch.optim.Adam([merged_weight], lr=self.lr)
265
+ all_losses = [[], []]
266
+ all_alphas = [[], []]
267
+ for step_idx in tqdm(
268
+ range(self.num_steps), desc=f"Optimizing {module_name} weight"
269
+ ):
270
+ # Scaling the loss functions based on the algorithm choice
271
+ loss_data = {}
272
+ grads = {}
273
+ for i, finetuned_weight in enumerate(finetuned_weights.values()):
274
+ proj_u = proj_u_dict[i]
275
+ proj_v = proj_v_dict[i]
276
+ proj_s = proj_s_dict[i]
277
+ delta_tv = merged_weight - finetuned_weight
278
+ loss_i = self.cal_loss_i(delta_tv, proj_s, proj_u, proj_v)
279
+ loss_data[i] = float(loss_i.data)
280
+
281
+ all_losses[i].append(float(loss_i.data))
282
+
283
+ optimizer.zero_grad()
284
+ loss_i.backward()
285
+ grads[i] = Variable(
286
+ merged_weight.grad.data.clone(), requires_grad=False
287
+ )
288
+
289
+ # Normalize all gradients
290
+ gn = gradient_normalizers(
291
+ grads=grads, losses=loss_data, normalization_type="loss"
292
+ )
293
+ for i, _ in enumerate(finetuned_weights.values()):
294
+ grads[i] = grads[i] / float(gn[i])
295
+
296
+ # Frank-Wolfe iteration to compute scales.
297
+ sol, min_norm = MinNormSolver.find_min_norm_element(
298
+ [[grads[i]] for i in range(len(finetuned_weights.values()))]
299
+ )
300
+
301
+ if self.ema:
302
+ ema_sol = [
303
+ self.ema_beta * ema_sol[i] + (1 - self.ema_beta) * float(sol[i])
304
+ for i in range(len(sol))
305
+ ]
306
+ sol = ema_sol
307
+ all_alphas[0].append(ema_sol[0])
308
+ all_alphas[1].append(ema_sol[1])
309
+
310
+ # Scaled back-propagation
311
+ loss = 0
312
+ for i, finetuned_weight in enumerate(finetuned_weights.values()):
313
+ # Comptue gradients of each loss function wrt parameters
314
+ proj_u = proj_u_dict[i]
315
+ proj_v = proj_v_dict[i]
316
+ proj_s = proj_s_dict[i]
317
+ delta_tv = merged_weight - finetuned_weight
318
+ loss_i = self.cal_loss_i(delta_tv, proj_s, proj_u, proj_v)
319
+ loss += float(sol[i]) * loss_i
320
+
321
+ optimizer.zero_grad()
322
+ loss.backward()
323
+ optimizer.step()
324
+
325
+ else:
326
+ # This is a naive weighted optimization
327
+ optimizer = torch.optim.Adam([merged_weight], lr=self.lr)
328
+ for step_idx in tqdm(
329
+ range(self.num_steps), desc=f"Optimizing {module_name} weight"
330
+ ):
331
+ loss = 0
332
+ for i, finetuned_weight in enumerate(finetuned_weights.values()):
333
+ proj_u = proj_u_dict[i]
334
+ proj_v = proj_v_dict[i]
335
+ proj_s = proj_s_dict[i]
336
+ delta_tv = merged_weight - finetuned_weight
337
+ loss_i = self.cal_loss_i(delta_tv, proj_s, proj_u, proj_v)
338
+ loss += self.alpha * loss_i if i == 0 else (1 - self.alpha) * loss_i
339
+
340
+ optimizer.zero_grad()
341
+ loss.backward()
342
+ optimizer.step()
343
+
344
+ return merged_weight.detach().cpu()
345
+
346
+ def cal_loss_i(self, delta_tv, proj_s, proj_u, proj_v):
347
+ proj_delta_1 = torch.diag(proj_s) @ proj_u.T @ delta_tv
348
+ proj_delta_2 = delta_tv @ proj_v @ torch.diag(proj_s)
349
+ loss_i_u = torch.linalg.matrix_norm(proj_delta_1, ord="fro") ** 2
350
+ loss_i_v = torch.linalg.matrix_norm(proj_delta_2, ord="fro") ** 2
351
+ if self.svd_proj_space == "uv":
352
+ loss_i = loss_i_u + loss_i_v
353
+ elif self.svd_proj_space == "u":
354
+ loss_i = loss_i_u
355
+ elif self.svd_proj_space == "v":
356
+ loss_i = loss_i_v
357
+ else:
358
+ raise ValueError("Invalid svd_proj_space")
359
+
360
+ return loss_i
361
+
362
+ def save_merged_model(self, merged_model: CLIPVisionModel, step: int):
363
+ os.makedirs(Path(self.log_dir) / "checkpoints", exist_ok=True)
364
+ merged_model.save_pretrained(
365
+ Path(self.log_dir) / "checkpoints" / f"merged_model_{step}"
366
+ )
@@ -0,0 +1,227 @@
1
+ # This code is from
2
+ # Multi-Task Learning as Multi-Objective Optimization
3
+ # Ozan Sener, Vladlen Koltun
4
+ # Neural Information Processing Systems (NeurIPS) 2018
5
+ # https://github.com/intel-isl/MultiObjectiveOptimization
6
+ from typing import Union
7
+
8
+ import numpy as np
9
+ import torch
10
+
11
+
12
+ def np_sum(x: Union[torch.Tensor, np.ndarray]) -> float:
13
+ if isinstance(x, torch.Tensor):
14
+ return x.sum().item()
15
+ return np.sum(x)
16
+
17
+
18
+ def to_numpy(x: Union[torch.Tensor, np.ndarray]) -> np.ndarray:
19
+ if isinstance(x, torch.Tensor):
20
+ return x.detach().cpu().numpy()
21
+ return x
22
+
23
+
24
+ class MinNormSolver:
25
+ MAX_ITER = 250
26
+ STOP_CRIT = 1e-5
27
+
28
+ def _min_norm_element_from2(v1v1, v1v2, v2v2):
29
+ """
30
+ Analytical solution for min_{c} |cx_1 + (1-c)x_2|_2^2
31
+ d is the distance (objective) optimzed
32
+ v1v1 = <x1,x1>
33
+ v1v2 = <x1,x2>
34
+ v2v2 = <x2,x2>
35
+ """
36
+ if v1v2 >= v1v1:
37
+ # Case: Fig 1, third column
38
+ gamma = 0.999
39
+ cost = v1v1
40
+ return gamma, cost
41
+ if v1v2 >= v2v2:
42
+ # Case: Fig 1, first column
43
+ gamma = 0.001
44
+ cost = v2v2
45
+ return gamma, cost
46
+ # Case: Fig 1, second column
47
+ gamma = -1.0 * ((v1v2 - v2v2) / (v1v1 + v2v2 - 2 * v1v2))
48
+ cost = v2v2 + gamma * (v1v2 - v2v2)
49
+ return gamma, cost
50
+
51
+ def _min_norm_2d(vecs, dps):
52
+ R"""
53
+ Find the minimum norm solution as combination of two points
54
+ This is correct only in 2D
55
+ ie. min_c |\sum c_i x_i|_2^2 st. \sum c_i = 1 , 1 >= c_1 >= 0 for all i, c_i + c_j = 1.0 for some i, j
56
+ """
57
+ dmin = 1e8
58
+ for i in range(len(vecs)):
59
+ for j in range(i + 1, len(vecs)):
60
+ if (i, j) not in dps:
61
+ dps[(i, j)] = 0.0
62
+ for k in range(len(vecs[i])):
63
+ dps[(i, j)] += (
64
+ torch.mul(vecs[i][k], vecs[j][k]).sum().data.cpu()
65
+ )
66
+ dps[(j, i)] = dps[(i, j)]
67
+ if (i, i) not in dps:
68
+ dps[(i, i)] = 0.0
69
+ for k in range(len(vecs[i])):
70
+ dps[(i, i)] += (
71
+ torch.mul(vecs[i][k], vecs[i][k]).sum().data.cpu()
72
+ )
73
+ if (j, j) not in dps:
74
+ dps[(j, j)] = 0.0
75
+ for k in range(len(vecs[i])):
76
+ dps[(j, j)] += (
77
+ torch.mul(vecs[j][k], vecs[j][k]).sum().data.cpu()
78
+ )
79
+ c, d = MinNormSolver._min_norm_element_from2(
80
+ dps[(i, i)], dps[(i, j)], dps[(j, j)]
81
+ )
82
+ if d < dmin:
83
+ dmin = d
84
+ sol = [(i, j), c, d]
85
+ return sol, dps
86
+
87
+ def _projection2simplex(y):
88
+ R"""
89
+ Given y, it solves argmin_z |y-z|_2 st \sum z = 1 , 1 >= z_i >= 0 for all i
90
+ """
91
+ m = len(y)
92
+ sorted_y = np.flip(np.sort(y), axis=0)
93
+ tmpsum = 0.0
94
+ tmax_f = (np.sum(y) - 1.0) / m
95
+ for i in range(m - 1):
96
+ tmpsum += sorted_y[i]
97
+ tmax = (tmpsum - 1) / (i + 1.0)
98
+ if tmax > sorted_y[i + 1]:
99
+ tmax_f = tmax
100
+ break
101
+ return np.maximum(y - tmax_f, np.zeros(y.shape))
102
+
103
+ def _next_point(cur_val, grad, n):
104
+ proj_grad = grad - (np.sum(grad) / n)
105
+ tm1 = -1.0 * cur_val[proj_grad < 0] / proj_grad[proj_grad < 0]
106
+ tm2 = (1.0 - cur_val[proj_grad > 0]) / (proj_grad[proj_grad > 0])
107
+
108
+ skippers = np_sum(tm1 < 1e-7) + np_sum(tm2 < 1e-7)
109
+ t = 1
110
+ if len(tm1[tm1 > 1e-7]) > 0:
111
+ t = np.min(to_numpy(tm1[tm1 > 1e-7]))
112
+ if len(tm2[tm2 > 1e-7]) > 0:
113
+ t = min(t, np.min(to_numpy(tm2[tm2 > 1e-7])))
114
+
115
+ next_point = proj_grad * t + to_numpy(cur_val)
116
+ next_point = MinNormSolver._projection2simplex(next_point)
117
+ return next_point
118
+
119
+ def find_min_norm_element(vecs):
120
+ R"""
121
+ Given a list of vectors (vecs), this method finds the minimum norm element in the convex hull
122
+ as min |u|_2 st. u = \sum c_i vecs[i] and \sum c_i = 1.
123
+ It is quite geometric, and the main idea is the fact that if d_{ij} = min |u|_2 st u = c x_i + (1-c) x_j; the solution lies in (0, d_{i,j})
124
+ Hence, we find the best 2-task solution, and then run the projected gradient descent until convergence
125
+ """
126
+ # Solution lying at the combination of two points
127
+ dps = {}
128
+ init_sol, dps = MinNormSolver._min_norm_2d(vecs, dps)
129
+
130
+ n = len(vecs)
131
+ sol_vec = np.zeros(n)
132
+ sol_vec[init_sol[0][0]] = init_sol[1]
133
+ sol_vec[init_sol[0][1]] = 1 - init_sol[1]
134
+
135
+ if n < 3:
136
+ # This is optimal for n=2, so return the solution
137
+ return sol_vec, init_sol[2]
138
+
139
+ iter_count = 0
140
+
141
+ grad_mat = np.zeros((n, n))
142
+ for i in range(n):
143
+ for j in range(n):
144
+ grad_mat[i, j] = dps[(i, j)]
145
+
146
+ while iter_count < MinNormSolver.MAX_ITER:
147
+ grad_dir = -1.0 * np.dot(grad_mat, sol_vec)
148
+ new_point = MinNormSolver._next_point(sol_vec, grad_dir, n)
149
+ # Re-compute the inner products for line search
150
+ v1v1 = 0.0
151
+ v1v2 = 0.0
152
+ v2v2 = 0.0
153
+ for i in range(n):
154
+ for j in range(n):
155
+ v1v1 += sol_vec[i] * sol_vec[j] * dps[(i, j)]
156
+ v1v2 += sol_vec[i] * new_point[j] * dps[(i, j)]
157
+ v2v2 += new_point[i] * new_point[j] * dps[(i, j)]
158
+ nc, nd = MinNormSolver._min_norm_element_from2(v1v1, v1v2, v2v2)
159
+ new_sol_vec = nc * sol_vec + (1 - nc) * new_point
160
+ change = new_sol_vec - sol_vec
161
+ if np_sum(np.abs(change)) < MinNormSolver.STOP_CRIT:
162
+ return sol_vec, nd
163
+ sol_vec = new_sol_vec
164
+
165
+ def find_min_norm_element_FW(vecs):
166
+ R"""
167
+ Given a list of vectors (vecs), this method finds the minimum norm element in the convex hull
168
+ as min |u|_2 st. u = \sum c_i vecs[i] and \sum c_i = 1.
169
+ It is quite geometric, and the main idea is the fact that if d_{ij} = min |u|_2 st u = c x_i + (1-c) x_j; the solution lies in (0, d_{i,j})
170
+ Hence, we find the best 2-task solution, and then run the Frank Wolfe until convergence
171
+ """
172
+ # Solution lying at the combination of two points
173
+ dps = {}
174
+ init_sol, dps = MinNormSolver._min_norm_2d(vecs, dps)
175
+
176
+ n = len(vecs)
177
+ sol_vec = np.zeros(n)
178
+ sol_vec[init_sol[0][0]] = init_sol[1]
179
+ sol_vec[init_sol[0][1]] = 1 - init_sol[1]
180
+
181
+ if n < 3:
182
+ # This is optimal for n=2, so return the solution
183
+ return sol_vec, init_sol[2]
184
+
185
+ iter_count = 0
186
+
187
+ grad_mat = np.zeros((n, n))
188
+ for i in range(n):
189
+ for j in range(n):
190
+ grad_mat[i, j] = dps[(i, j)]
191
+
192
+ while iter_count < MinNormSolver.MAX_ITER:
193
+ t_iter = np.argmin(np.dot(grad_mat, sol_vec))
194
+
195
+ v1v1 = np.dot(sol_vec, np.dot(grad_mat, sol_vec))
196
+ v1v2 = np.dot(sol_vec, grad_mat[:, t_iter])
197
+ v2v2 = grad_mat[t_iter, t_iter]
198
+
199
+ nc, nd = MinNormSolver._min_norm_element_from2(v1v1, v1v2, v2v2)
200
+ new_sol_vec = nc * sol_vec
201
+ new_sol_vec[t_iter] += 1 - nc
202
+
203
+ change = new_sol_vec - sol_vec
204
+ if np_sum(np.abs(change)) < MinNormSolver.STOP_CRIT:
205
+ return sol_vec, nd
206
+ sol_vec = new_sol_vec
207
+
208
+
209
+ def gradient_normalizers(grads, losses, normalization_type):
210
+ gn = {}
211
+ if normalization_type == "l2":
212
+ for t in grads:
213
+ gn[t] = np.sqrt(np.sum([gr.pow(2).sum().data.cpu() for gr in grads[t]]))
214
+ elif normalization_type == "loss":
215
+ for t in grads:
216
+ gn[t] = losses[t]
217
+ elif normalization_type == "loss+":
218
+ for t in grads:
219
+ gn[t] = losses[t] * np.sqrt(
220
+ np.sum([gr.pow(2).sum().data.cpu() for gr in grads[t]])
221
+ )
222
+ elif normalization_type == "none":
223
+ for t in grads:
224
+ gn[t] = 1.0
225
+ else:
226
+ print("ERROR: Invalid Normalization Type")
227
+ return gn