fusion-bench 0.2.8__tar.gz → 0.2.10__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.
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/PKG-INFO +17 -18
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/README.md +15 -16
- fusion_bench-0.2.10/fusion_bench/__main__.py +4 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/dataset/fer2013.py +1 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/__init__.py +26 -4
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/classification/__init__.py +1 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/classification/clip_finetune.py +1 -3
- fusion_bench-0.2.10/fusion_bench/method/classification/continual_clip_finetune.py +297 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/dare/__init__.py +1 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/dare/task_arithmetic.py +14 -7
- fusion_bench-0.2.10/fusion_bench/method/dare/ties_merging.py +100 -0
- fusion_bench-0.2.10/fusion_bench/method/isotropic_merging/__init__.py +15 -0
- fusion_bench-0.2.10/fusion_bench/method/isotropic_merging/iso.py +114 -0
- fusion_bench-0.2.10/fusion_bench/method/isotropic_merging/iso_utils.py +176 -0
- fusion_bench-0.2.10/fusion_bench/method/opcm/__init__.py +4 -0
- fusion_bench-0.2.10/fusion_bench/method/opcm/opcm.py +277 -0
- fusion_bench-0.2.10/fusion_bench/method/opcm/task_arithmetic.py +115 -0
- fusion_bench-0.2.10/fusion_bench/method/opcm/ties_merging.py +156 -0
- fusion_bench-0.2.10/fusion_bench/method/opcm/utils.py +73 -0
- fusion_bench-0.2.10/fusion_bench/method/opcm/weight_average.py +120 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/slerp/slerp.py +1 -1
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/task_singular_vector/TSVM.py +22 -2
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/task_singular_vector/utils/TSVM_utils.py +91 -93
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/ties_merging/ties_merging.py +10 -0
- fusion_bench-0.2.10/fusion_bench/metrics/continual_learning/backward_transfer.py +22 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/mixins/clip_classification.py +4 -1
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/programs/fabric_fusion_program.py +22 -11
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/scripts/cli.py +1 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/taskpool/base_pool.py +1 -1
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/taskpool/clip_vision/taskpool.py +12 -7
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/utils/__init__.py +2 -1
- fusion_bench-0.2.10/fusion_bench/utils/dict.py +43 -0
- fusion_bench-0.2.10/fusion_bench/utils/expr.py +90 -0
- fusion_bench-0.2.10/fusion_bench/utils/fabric.py +17 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/utils/instantiate.py +7 -1
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/utils/json.py +30 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/utils/parameters.py +27 -7
- fusion_bench-0.2.10/fusion_bench/utils/path.py +22 -0
- fusion_bench-0.2.10/fusion_bench/utils/plot/color_data.py +1726 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/utils/rich_utils.py +15 -0
- fusion_bench-0.2.10/fusion_bench/utils/set.py +8 -0
- fusion_bench-0.2.10/fusion_bench/utils/tensorboard.py +51 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench.egg-info/PKG-INFO +17 -18
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench.egg-info/SOURCES.txt +29 -0
- fusion_bench-0.2.10/fusion_bench_config/method/classification/clip_continual_finetune.yaml +28 -0
- {fusion_bench-0.2.8/fusion_bench_config/method → fusion_bench-0.2.10/fusion_bench_config/method/classification}/clip_finetune.yaml +2 -2
- fusion_bench-0.2.10/fusion_bench_config/method/clip_finetune.yaml +26 -0
- fusion_bench-0.2.10/fusion_bench_config/method/dare/ties_merging.yaml +15 -0
- fusion_bench-0.2.10/fusion_bench_config/method/isotropic_merging/iso_c.yaml +4 -0
- fusion_bench-0.2.10/fusion_bench_config/method/isotropic_merging/iso_cts.yaml +5 -0
- fusion_bench-0.2.10/fusion_bench_config/method/opcm/opcm.yaml +12 -0
- fusion_bench-0.2.10/fusion_bench_config/method/opcm/task_arithmetic.yaml +12 -0
- fusion_bench-0.2.10/fusion_bench_config/method/opcm/ties_merging.yaml +18 -0
- fusion_bench-0.2.10/fusion_bench_config/method/opcm/weight_average.yaml +10 -0
- fusion_bench-0.2.10/fusion_bench_config/method/task_singular_vector/TaskSingularVectorMerging.yaml +8 -0
- fusion_bench-0.2.10/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_two_tasks_control_task.yaml +18 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/pyproject.toml +1 -1
- fusion_bench-0.2.8/fusion_bench/utils/path.py +0 -7
- fusion_bench-0.2.8/fusion_bench_config/method/task_singular_vector/TaskSingularVectorMerging.yaml +0 -2
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/LICENSE +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/compat/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/compat/method/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/compat/method/base_algorithm.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/compat/modelpool/AutoModelForSeq2SeqLM.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/compat/modelpool/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/compat/modelpool/base_pool.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/compat/modelpool/huggingface_clip_vision.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/compat/taskpool/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/compat/taskpool/base_pool.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/compat/taskpool/clip_image_classification.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/compat/taskpool/flan_t5_glue_text_generation.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/constants/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/constants/paths.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/dataset/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/dataset/arc_agi/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/dataset/arc_agi/arc.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/dataset/arc_agi/arc_agi.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/dataset/arc_agi/augmenters.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/dataset/arc_agi/messagers.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/dataset/arc_agi/np_cache.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/dataset/arc_agi/preprocess.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/dataset/arc_agi/representers.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/dataset/clip_dataset.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/dataset/gpt2_glue.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/dataset/gsm8k.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/dataset/image_dataset.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/dataset/imdb.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/dataset/llama/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/dataset/llama/alpaca.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/dataset/llama/collate.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/dataset/llama/metamathqa.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/dataset/llama/openai.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/dataset/llama/preference_700k.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/dataset/llama/sharegpt.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/dataset/llama/squad.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/dataset/llama/stanford_shp.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/dataset/llama/ultrachat.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/dataset/llama/utils/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/dataset/llama/wikitext.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/dataset/nyuv2.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/ada_svd/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/ada_svd/clip_vision.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/adamerging/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/adamerging/clip_layer_wise_adamerging.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/adamerging/clip_task_wise_adamerging.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/adamerging/entropy_loss.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/adamerging/flan_t5_layer_wise_adamerging.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/adamerging/gpt2_layer_wise_adamerging.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/adamerging/layer_wise_adamerging.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/adamerging/llama_adamerging.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/adamerging/min_norm_solvers.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/adamerging/task_wise_adamerging.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/adamerging/utils.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/analysis/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/analysis/task_vector_cos_similarity.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/analysis/task_vector_violin_plot.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/base_algorithm.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/concrete_subspace/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/concrete_subspace/clip_concrete_adamerging.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/concrete_subspace/clip_concrete_task_arithmetic.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/dare/simple_average.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/dare/utils.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/dawe/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/dawe/dawe_for_clip.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/dawe/warppers/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/dawe/warppers/dawe_model.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/depth_upscaling/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/depth_upscaling/depth_upscaling.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/depth_upscaling/depth_upscaling_for_llama.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/dummy.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/ensemble.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/fisher_merging/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/fisher_merging/clip_fisher_merging.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/fisher_merging/fisher_merging.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/fisher_merging/gpt2_fisher_merging.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/linear/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/linear/expo.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/linear/linear_interpolation.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/linear/llama_expo.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/linear/simple_average_for_llama.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/linear/task_arithmetic_for_llama.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/lm_finetune/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/lm_finetune/bradley_terry_rm.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/lm_finetune/causal_lm_pretrain.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/lm_finetune/fullfinetune_sft.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/lm_finetune/peftfinetune_sft.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/mixture_of_experts/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/mixture_of_experts/mixtral_merging.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/mixture_of_experts/mixtral_upcycling.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/model_recombination.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/pruning/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/pruning/llama_magnitude_prune.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/pruning/llama_random_prune.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/pruning/llama_wanda_prune.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/pruning/magnitude_diff_pruning.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/pruning/prune_utils.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/pruning/wanda_utils/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/pruning/wanda_utils/ablate.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/pruning/wanda_utils/data.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/pruning/wanda_utils/eval.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/pruning/wanda_utils/layerwrapper.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/pruning/wanda_utils/prune.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/pruning/wanda_utils/prune_opt.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/pruning/wanda_utils/sparsegpt.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/pwe_moe/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/pwe_moe/clip_pwe_moe.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/pwe_moe/module.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/pwe_moe/phn/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/pwe_moe/phn/solvers.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/pwe_moe/utils.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/rankone_moe/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/rankone_moe/clip_rankone_moe.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/rankone_moe/rankone_moe.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/regmean/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/regmean/clip_regmean.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/regmean/gpt2_regmean.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/regmean/regmean.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/simple_average.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/slerp/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/slerp/slerp_utils.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/smile_upscaling/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/smile_upscaling/singular_projection_merging.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/smile_upscaling/smile_mistral_upscaling.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/smile_upscaling/smile_upscaling.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/sparse_we_moe/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/sparse_we_moe/sparse_clip_we_moe.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/sparse_we_moe/sparse_we_moe.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/sparselo/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/sparselo/sparselo.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/surgery/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/surgery/clip_layer_wise_adamerging_surgery.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/tall_mask/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/tall_mask/utils.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/task_arithmetic/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/task_arithmetic/task_arithmetic.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/task_singular_vector/TSVC.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/task_singular_vector/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/task_singular_vector/utils/TSVC_utils.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/task_singular_vector/utils/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/ties_merging/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/ties_merging/ties_merging_utils.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/trust_region/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/trust_region/clip_task_arithmetic.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/trust_region/utils.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/we_moe/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/we_moe/clip_we_moe.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/we_moe/we_moe.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/weighted_average/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/weighted_average/llama.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/weighted_average/weighted_average.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/metrics/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/metrics/nyuv2/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/metrics/nyuv2/depth.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/metrics/nyuv2/loss.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/metrics/nyuv2/noise.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/metrics/nyuv2/normal.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/metrics/nyuv2/segmentation.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/metrics/text_to_image_generation/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/metrics/text_to_image_generation/aesthetic_scorer.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/metrics/text_to_image_generation/compressibility.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/metrics/text_to_image_generation/pickscore_scorer.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/mixins/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/mixins/fabric_training.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/mixins/lightning_fabric.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/mixins/optim/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/mixins/optim/adamw_with_warmup.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/mixins/rich_live.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/mixins/serialization.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/mixins/simple_profiler.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/modelpool/PeftModelForSeq2SeqLM.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/modelpool/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/modelpool/base_pool.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/modelpool/causal_lm/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/modelpool/causal_lm/causal_lm.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/modelpool/clip_vision/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/modelpool/clip_vision/modelpool.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/modelpool/huggingface_automodel.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/modelpool/huggingface_gpt2_classification.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/modelpool/nyuv2_modelpool.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/modelpool/seq2seq_lm/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/modelpool/seq2seq_lm/modelpool.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/modelpool/seq_classification_lm/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/modelpool/seq_classification_lm/reward_model.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/modelpool/seq_classification_lm/seq_classification_lm.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/chat_templates/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/chat_templates/llama_3_Instruct.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/chat_templates/load_tokenizer.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/hf_clip.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/linearized/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/linearized/linearized_model_utils.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/linearized/vision_model.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/llama/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/llama/model_utils/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/llama/model_utils/embedding.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/llama/model_utils/liger_kernel.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/llama/model_utils/misc.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/llama/model_utils/mod.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/llama/model_utils/visual.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/llama/patcher.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/llama/tokenizer_loader.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/masks/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/masks/mask_model.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/modeling_losparse_llama/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/modeling_losparse_llama/configuration_losparse_llama.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/modeling_losparse_llama/losparse_linear.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/modeling_losparse_llama/modeling_losparse_llama.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/modeling_losparse_llama/register.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/modeling_losparse_llama/utils.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/modeling_smile_mistral/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/modeling_smile_mistral/configuration_smile_mistral.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/modeling_smile_mistral/modeling_smile_mistral.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/modeling_smile_mistral/register.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/nyuv2/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/nyuv2/aspp.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/nyuv2/lightning_module.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/nyuv2/resnet.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/nyuv2/resnet_dilated.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/parameter_dict.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/rankone_moe.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/separate_io.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/smile_moe/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/smile_moe/linear.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/sparse_we_moe.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/surgery/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/surgery/surgerymodelwrapper.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/utils.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/we_moe.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/wrappers/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/wrappers/ensemble.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/wrappers/layer_wise_fusion.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/models/wrappers/task_wise_fusion.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/optim/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/optim/exception.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/optim/lr_scheduler/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/optim/lr_scheduler/linear_warmup.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/optim/lr_scheduler/utils/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/optim/lr_scheduler/utils/visualization.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/optim/mezo.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/programs/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/programs/base_program.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/scripts/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/scripts/clip/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/scripts/clip/convert_checkpoint.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/scripts/imgui.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/scripts/nyuv2_mtl_train.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/scripts/webui.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/taskpool/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/taskpool/clip_vision/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/taskpool/clip_vision/clip_rankone_moe_taskpool.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/taskpool/clip_vision/clip_sparse_wemoe_taskpool.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/taskpool/dummy.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/taskpool/gpt2_text_classification.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/taskpool/llama/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/taskpool/llama/reward_model.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/taskpool/llama/test_generation.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/taskpool/nyuv2_taskpool.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/tasks/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/tasks/base_task.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/tasks/classification.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/tasks/clip_classification/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/tasks/clip_classification/cifar10.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/tasks/clip_classification/cifar100.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/tasks/clip_classification/clip_dataset.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/tasks/clip_classification/cub_200_2011.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/tasks/clip_classification/dtd.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/tasks/clip_classification/emnist_letters.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/tasks/clip_classification/emnist_mnist.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/tasks/clip_classification/eurosat.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/tasks/clip_classification/fashion_mnist.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/tasks/clip_classification/fer2013.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/tasks/clip_classification/flower102.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/tasks/clip_classification/food101.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/tasks/clip_classification/gtsrb.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/tasks/clip_classification/imagenet.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/tasks/clip_classification/kmnist.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/tasks/clip_classification/mnist.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/tasks/clip_classification/mongo_leaf_disease.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/tasks/clip_classification/oxford_iiit_pet.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/tasks/clip_classification/pcam.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/tasks/clip_classification/rendered_sst2.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/tasks/clip_classification/resisc45.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/tasks/clip_classification/stanford_cars.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/tasks/clip_classification/stl10.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/tasks/clip_classification/sun397.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/tasks/clip_classification/svhn.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/tasks/clip_classification/tiny_imagenet.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/tasks/flan_t5_text_generation/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/tasks/flan_t5_text_generation/datasets_preprocess.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/tasks/flan_t5_text_generation/glue_evaluation.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/tasks/flan_t5_text_generation/glue_load_dataset.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/tasks/flan_t5_text_generation/glue_preprocessors.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/tasks/flan_t5_text_generation/glue_prompt_templates.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/utils/auto.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/utils/cache_utils.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/utils/data.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/utils/devices.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/utils/dtype.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/utils/functools.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/utils/hydra_utils.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/utils/lazy_imports.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/utils/misc.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/utils/packages.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/utils/plot/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/utils/plot/token.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/utils/plot/token_notebook.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/utils/pylogger.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/utils/state_dict_arithmetic.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/utils/strenum/__init__.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/utils/strenum/_name_mangler.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/utils/strenum/_version.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/utils/timer.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/utils/type.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench.egg-info/dependency_links.txt +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench.egg-info/entry_points.txt +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench.egg-info/requires.txt +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench.egg-info/top_level.txt +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/README.md +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/clip-vit-base-patch32_robustness_corrupted.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/README.md +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/test/TALL14.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/test/TALL20.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/test/cifar10.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/test/cifar100.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/test/cub-200-2011.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/test/dtd.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/test/emnist_letters.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/test/emnist_mnist.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/test/eurosat.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/test/fashion_mnist.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/test/fer2013.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/test/food101.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/test/gtsrb.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/test/kmnist.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/test/mango-leaf-disease.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/test/mnist.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/test/oxford-iiit-pet.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/test/oxford_flowers102.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/test/pcam.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/test/rendered-sst2.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/test/resisc45.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/test/stanford-cars.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/test/stl10.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/test/sun397.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/test/svhn.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/test/the_eight_tasks.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/test/tiny-imagenet.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/train/TALL14.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/train/TALL20.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/train/cifar10.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/train/cifar100.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/train/cub-200-2011.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/train/dtd.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/train/emnist_letters.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/train/emnist_mnist.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/train/eurosat.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/train/fashion_mnist.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/train/fer2013.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/train/food101.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/train/gtsrb.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/train/kmnist.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/train/mango-leaf-disease.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/train/mnist.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/train/oxford-iiit-pet.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/train/oxford_flowers102.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/train/pcam.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/train/rendered-sst2.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/train/resisc45.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/train/stanford-cars.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/train/stl10.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/train/sun397.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/train/svhn.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/train/the_eight_tasks.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/train/tiny-imagenet.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/val/dtd.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/val/eurosat.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/val/gtsrb.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/val/mnist.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/val/resisc45.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/val/stanford-cars.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/val/sun397.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/val/svhn.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/image_classification/val/the_eight_tasks.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/llm_sft/alpaca_cleaned.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/llm_sft/ultrachat_200k.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/question_answering/search_qa.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/question_answering/test/search_qa.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/question_answering/train/MetaMathQA.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/question_answering/train/search_qa.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/question_answering/val/search_qa.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/summarization/test/xsum.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/summarization/train/xsum.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/summarization/val/xsum.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/summarization/xsum.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/text_generation/test/gsm-hard.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/text_generation/test/gsm8k.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/text_generation/test/gsm8k_question_label.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/text_generation/train/CodeAlpaca-20k.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/text_generation/train/gsm8k.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/dataset/text_generation/train/gsm8k_question_label.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/fabric/auto.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/fabric/llama_ddp.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/fabric/llama_fsdp.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/fabric/llama_peft_fsdp.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/fabric/loggers/csv_logger.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/fabric/loggers/tensorboard_logger.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/fabric/loggers/wandb_logger.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/fabric/strategy/deepspeed.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/fabric/strategy/llama_fsdp.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/fabric/strategy/llama_peft_fsdp.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/fabric_model_fusion.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/hydra/default.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/hydra/help/fusion_bench_help.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/hydra/job_logging/rich_logging.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/llama_full_finetune.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/llama_magnitude_pruning.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/llama_model_fusion.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/ada_svd/clip_vision.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/adamerging/clip.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/adamerging/layer_wise_flan_t5.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/adamerging/layer_wise_gpt2.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/adamerging/llama_sft.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/adamerging.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/analysis/task_vector_cos_similarity.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/analysis/task_vector_violin_plot.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/concrete_subspace/clip_concrete_layer_wise_adamerging.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/concrete_subspace/clip_concrete_task_arithmetic.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/concrete_subspace/clip_concrete_task_wise_adamerging.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/dare/simple_average.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/dare/task_arithmetic.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/dawe/dawe_for_clip.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/depth_upscaling.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/dummy.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/ensemble/max_model_predictor.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/ensemble/simple_ensemble.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/ensemble/weighted_ensemble.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/fisher_merging/clip_fisher_merging.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/fisher_merging/fisher_merging.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/fisher_merging/gpt2_fisher_merging.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/linear/expo.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/linear/linear_interpolation.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/linear/llama_expo.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/linear/llama_expo_with_dare.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/linear/simple_average_for_llama.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/linear/task_arithmetic_for_llama.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/linear/weighted_average.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/linear/weighted_average_for_llama.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/lm_finetune/bradley_terry_rm.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/lm_finetune/fullfinetune_sft.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/lm_finetune/peftfinetune_sft.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/mixtral_moe_merging.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/mixtral_moe_upscaling.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/model_recombination.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/pruning/llama_magnitude_pruning.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/pruning/llama_random_pruning.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/pruning/llama_wanda_pruning.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/pruning/magnitude_diff_pruning.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/pwe_moe_ls_for_clip.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/rankone_moe/rankone_moe.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/regmean/clip_regmean.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/regmean/gpt2_regmean.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/regmean/regmean.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/simple_average.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/slerp/slerp.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/smile_upscaling/singular_projection_merging.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/smile_upscaling/smile_mistral_upscaling.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/smile_upscaling/smile_upscaling.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/sparselo_pruning/llama_iterative_sparselo.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/sparselo_pruning/llama_pcp_sparselo.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/sparselo_pruning/llama_sparselo.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/surgery/adamerging_surgery.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/task_arithmetic.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/ties_merging.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/trust_region/clip_task_arithmetic.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/wemoe/sparse_weight_ensembling_moe.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/method/wemoe/weight_ensembling_moe.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/README.md +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_TALL14.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_TALL20.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_cifar10.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_cifar100.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_dtd.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_eight_tasks.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_emnist_letters.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_eurosat.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_fashion_mnist.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_fer2013.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_food101.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_gtsrb.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_kmnist.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_mnist.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_oxford-iiit-pet.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_oxford_flowers102.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_pcam.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_rendered-sst2.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_resisc45.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_stanford-cars.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_stl10.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_sun397.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_svhn.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_TALL14.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_TALL20.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_cifar10.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_cifar100.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_dtd.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_eight_tasks.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_emnist_letters.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_eurosat.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_fashion_mnist.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_fer2013.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_food101.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_gtsrb.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_kmnist.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_mnist.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_oxford-iiit-pet.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_oxford_flowers102.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_pcam.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_rendered-sst2.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_resisc45.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_stanford-cars.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_stl10.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_sun397.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_svhn.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_TALL14.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_TALL20.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_cifar10.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_cifar100.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_dtd.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_eight_tasks.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_emnist_letters.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_eurosat.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_fashion_mnist.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_fer2013.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_food101.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_gtsrb.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_kmnist.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_mnist.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_oxford-iiit-pet.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_oxford_flowers102.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_pcam.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_rendered-sst2.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_resisc45.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_stanford-cars.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_stl10.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_sun397.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_svhn.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/download_TALL20_models.sh +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/clip-vit/generate_vit_model_config.sh +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/flan-t5/flan-t5-base.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-cola.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-cola_lora-16.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-mnli.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-mnli_lora-16.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-mrpc.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-mrpc_lora-16.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-qnli.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-qnli_lora-16.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-qqp.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-qqp_lora-16.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-rte.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-rte_lora-16.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-sst2.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-sst2_lora-16.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-stsb.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-stsb_lora-16.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/flan-t5/flan-t5-large.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-cola_lora-16.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-mnli_lora-16.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-mrpc_lora-16.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-qnli_lora-16.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-qqp_lora-16.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-rte_lora-16.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-sst2_lora-16.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-stsb_lora-16.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/model/flan-t5/generate_flan-t5.sh +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CLIPVisionModelPool/_template.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TA8.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TA8_lora.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TA8_model_only.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TALL14.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TALL14_model_only.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TALL20.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TALL20_model_only.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_individual.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_individual_lora.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TA8.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TA8_control_task.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TA8_model_only.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TALL14.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TALL14_model_only.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TALL20.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TALL20_model_only.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_generalization_exp1.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_generalization_exp2.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_individual.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_mtl.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_robustness_clean.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_robustness_corrupted.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_single_finetuned.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_single_task_projection.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_svhn_and_mnist.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TA8.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TA8_model_only.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TALL14.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TALL14_model_only.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TALL20.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TALL20_model_only.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_individual.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CausalLMPool/llama_alpaca_cleaned.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CausalLMPool/llama_codealpaca.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CausalLMPool/llama_for_causallm.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CausalLMPool/llama_metamathqa.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CausalLMPool/llama_ultrachat.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CausalLMPool/simle_mixtral_exp_v4.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/CausalLMPool/single_llama_model.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/Seq2SeqLMPool/_template.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/Seq2SeqLMPool/flan-t5-base_glue.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/Seq2SeqLMPool/flan-t5-base_glue_lora16.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/Seq2SeqLMPool/flan-t5-base_glue_lora16_tta.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/Seq2SeqLMPool/flan-t5-base_individual.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/Seq2SeqLMPool/flan-t5-large_glue_lora16.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/SeqenceClassificationModelPool/llama_preference700k.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/SeqenceClassificationModelPool/single_reward_model.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/automodelpool.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/gpt-2_glue.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/mixtral_moe_merging.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/mixtral_moe_upscaling.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/nyuv2_modelpool.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/smile_mistral_exp_v1.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/smile_mistral_exp_v2.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/smile_mistral_exp_v3.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/modelpool/smile_mistral_exp_v4.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/nyuv2_config.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/nyuv2_mtl_train.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/_template.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-base-patch32_robustness_corrupted.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TA8.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TA8_B16.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TA8_L14.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TA8_val.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TA8_with_control_task.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TALL14.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TALL20.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_cifar10.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_cifar100.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_dtd.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_emnist_letters.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_eurosat.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_fashion_mnist.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_fer2013.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_food101.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_gtsrb.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_kmnist.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_mnist.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_oxford-iiit-pet.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_oxford_flowers102.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_oxford_flowers102_val.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_pcam.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_rendered-sst2.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_resisc45.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_stanford-cars.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_stl10.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_sun397.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_svhn.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip_rankone_wemoe_clip-vit-classification_TA8.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip_sparse_wemoe_clip-vit-classification_TA8.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/clip-vit-base-patch32_robustness_clean.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/clip-vit-base-patch32_robustness_corrupted.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/clip-vit-base-patch32_svhn_and_mnist.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/dummy.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/flan-t5_glue_text_generation.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/gpt-2_glue.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/nyuv2_taskpool.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench_config/taskpool/reward_model_evaluation.yaml +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/setup.cfg +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/tests/test_depth_upscaling.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/tests/test_simple_average.py +0 -0
- {fusion_bench-0.2.8 → fusion_bench-0.2.10}/tests/test_weighed_ensemble.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: fusion_bench
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.10
|
|
4
4
|
Summary: A Comprehensive Benchmark of Deep Model Fusion
|
|
5
5
|
Author-email: Anke Tang <tang.anke@foxmail.com>
|
|
6
6
|
License: MIT License
|
|
@@ -70,22 +70,21 @@ FusionBench is a benchmark suite designed to evaluate the performance of various
|
|
|
70
70
|
Projects based on FusionBench and news from the community (descending order of date):
|
|
71
71
|
|
|
72
72
|
<details>
|
|
73
|
-
<summary>
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
research community. The relevant papers we investigated in this article can be accessed at
|
|
88
|
-
https://github.com/ruthless-man/Awesome-Learn-from-Model.
|
|
73
|
+
<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>
|
|
74
|
+
|
|
75
|
+
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.
|
|
76
|
+
</details>
|
|
77
|
+
|
|
78
|
+
<details>
|
|
79
|
+
<summary>Yongxian Wei, et al. Modeling Multi-Task Model Merging as Adaptive Projective Gradient Descent. Jan 2025. https://arxiv.org/abs/2501.01230</summary>
|
|
80
|
+
|
|
81
|
+
Merging multiple expert models offers a promising approach for performing multi-task learning without accessing their original data. Existing methods attempt to alleviate task conflicts by sparsifying task vectors or promoting orthogonality among them. However, they overlook the fundamental requirement of model merging: ensuring the merged model performs comparably to task-specific models on respective tasks. We find these methods inevitably discard task-specific information that, while causing conflicts, is crucial for performance. Based on our findings, we frame model merging as a constrained optimization problem (i.e., minimizing the gap between the merged model and individual models, subject to the constraint of retaining shared knowledge) and solve it via adaptive projective gradient descent. Specifically, we align the merged model with individual models by decomposing and reconstituting the loss function, alleviating conflicts through data-free optimization of task vectors. To retain shared knowledge, we optimize this objective by projecting gradients within a shared subspace spanning all tasks. Moreover, we view merging coefficients as adaptive learning rates and propose a task-aware, training-free strategy. Experiments show that our plug-andplay approach consistently outperforms previous methods, achieving state-of-the-art results across diverse architectures and tasks in both vision and NLP domains. Our code is available here.
|
|
82
|
+
</details>
|
|
83
|
+
|
|
84
|
+
<details>
|
|
85
|
+
<summary>Hongling Zheng, Li Shen, Anke Tang, Yong Luo et al. Learn From Model Beyond Fine-Tuning: A Survey. Nature Machine Intelligence. Jan, 2025. https://www.nature.com/articles/s42256-024-00961-0</summary>
|
|
86
|
+
|
|
87
|
+
> Foundation models (FM) have demonstrated remarkable performance across a wide range of tasks (especially in the fields of natural language processing and computer vision), primarily attributed to their ability to comprehend instructions and access extensive, high-quality data. This not only showcases their current effectiveness but also sets a promising trajectory towards the development of artificial general intelligence. Unfortunately, due to multiple constraints, the raw data of the model used for large model training are often inaccessible, so the use of end-to-end models for downstream tasks has become a new research trend, which we call Learn From Model (LFM) in this article. LFM focuses on the research, modification, and design of FM based on the model interface, so as to better understand the model structure and weights (in a black box environment), and to generalize the model to downstream tasks. The study of LFM techniques can be broadly categorized into five major areas: model tuning, model distillation, model reuse, meta learning and model editing. Each category encompasses a repertoire of methods and strategies that aim to enhance the capabilities and performance of FM. This paper gives a comprehensive review of the current methods based on FM from the perspective of LFM, in order to help readers better understand the current research status and ideas. To conclude, we summarize the survey by highlighting several critical areas for future exploration and addressing open issues that require further attention from the research community. The relevant papers we investigated in this article can be accessed at https://github.com/ruthless-man/Awesome-Learn-from-Model.
|
|
89
88
|
</details>
|
|
90
89
|
|
|
91
90
|
<details>
|
|
@@ -22,22 +22,21 @@ FusionBench is a benchmark suite designed to evaluate the performance of various
|
|
|
22
22
|
Projects based on FusionBench and news from the community (descending order of date):
|
|
23
23
|
|
|
24
24
|
<details>
|
|
25
|
-
<summary>
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
research community. The relevant papers we investigated in this article can be accessed at
|
|
40
|
-
https://github.com/ruthless-man/Awesome-Learn-from-Model.
|
|
25
|
+
<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>
|
|
26
|
+
|
|
27
|
+
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.
|
|
28
|
+
</details>
|
|
29
|
+
|
|
30
|
+
<details>
|
|
31
|
+
<summary>Yongxian Wei, et al. Modeling Multi-Task Model Merging as Adaptive Projective Gradient Descent. Jan 2025. https://arxiv.org/abs/2501.01230</summary>
|
|
32
|
+
|
|
33
|
+
Merging multiple expert models offers a promising approach for performing multi-task learning without accessing their original data. Existing methods attempt to alleviate task conflicts by sparsifying task vectors or promoting orthogonality among them. However, they overlook the fundamental requirement of model merging: ensuring the merged model performs comparably to task-specific models on respective tasks. We find these methods inevitably discard task-specific information that, while causing conflicts, is crucial for performance. Based on our findings, we frame model merging as a constrained optimization problem (i.e., minimizing the gap between the merged model and individual models, subject to the constraint of retaining shared knowledge) and solve it via adaptive projective gradient descent. Specifically, we align the merged model with individual models by decomposing and reconstituting the loss function, alleviating conflicts through data-free optimization of task vectors. To retain shared knowledge, we optimize this objective by projecting gradients within a shared subspace spanning all tasks. Moreover, we view merging coefficients as adaptive learning rates and propose a task-aware, training-free strategy. Experiments show that our plug-andplay approach consistently outperforms previous methods, achieving state-of-the-art results across diverse architectures and tasks in both vision and NLP domains. Our code is available here.
|
|
34
|
+
</details>
|
|
35
|
+
|
|
36
|
+
<details>
|
|
37
|
+
<summary>Hongling Zheng, Li Shen, Anke Tang, Yong Luo et al. Learn From Model Beyond Fine-Tuning: A Survey. Nature Machine Intelligence. Jan, 2025. https://www.nature.com/articles/s42256-024-00961-0</summary>
|
|
38
|
+
|
|
39
|
+
> Foundation models (FM) have demonstrated remarkable performance across a wide range of tasks (especially in the fields of natural language processing and computer vision), primarily attributed to their ability to comprehend instructions and access extensive, high-quality data. This not only showcases their current effectiveness but also sets a promising trajectory towards the development of artificial general intelligence. Unfortunately, due to multiple constraints, the raw data of the model used for large model training are often inaccessible, so the use of end-to-end models for downstream tasks has become a new research trend, which we call Learn From Model (LFM) in this article. LFM focuses on the research, modification, and design of FM based on the model interface, so as to better understand the model structure and weights (in a black box environment), and to generalize the model to downstream tasks. The study of LFM techniques can be broadly categorized into five major areas: model tuning, model distillation, model reuse, meta learning and model editing. Each category encompasses a repertoire of methods and strategies that aim to enhance the capabilities and performance of FM. This paper gives a comprehensive review of the current methods based on FM from the perspective of LFM, in order to help readers better understand the current research status and ideas. To conclude, we summarize the survey by highlighting several critical areas for future exploration and addressing open issues that require further attention from the research community. The relevant papers we investigated in this article can be accessed at https://github.com/ruthless-man/Awesome-Learn-from-Model.
|
|
41
40
|
</details>
|
|
42
41
|
|
|
43
42
|
<details>
|
|
@@ -9,7 +9,10 @@ _import_structure = {
|
|
|
9
9
|
"base_algorithm": ["BaseModelFusionAlgorithm", "BaseAlgorithm"],
|
|
10
10
|
"dummy": ["DummyAlgorithm"],
|
|
11
11
|
# single task learning (fine-tuning)
|
|
12
|
-
"classification": [
|
|
12
|
+
"classification": [
|
|
13
|
+
"ImageClassificationFineTuningForCLIP",
|
|
14
|
+
"ContinualImageClassificationFineTuningForCLIP",
|
|
15
|
+
],
|
|
13
16
|
"lm_finetune": ["FullFinetuneSFT", "PeftFinetuneSFT", "BradleyTerryRewardModeling"],
|
|
14
17
|
# analysis
|
|
15
18
|
"analysis": ["TaskVectorCosSimilarity", "TaskVectorViolinPlot"],
|
|
@@ -27,11 +30,12 @@ _import_structure = {
|
|
|
27
30
|
"TaskArithmeticForLlama",
|
|
28
31
|
"LinearInterpolationAlgorithm",
|
|
29
32
|
],
|
|
33
|
+
"slerp": ["SlerpMergeAlgorithm"],
|
|
30
34
|
"simple_average": ["SimpleAverageAlgorithm"],
|
|
31
35
|
"weighted_average": ["WeightedAverageAlgorithm", "WeightedAverageForLLama"],
|
|
32
36
|
"task_arithmetic": ["TaskArithmeticAlgorithm"],
|
|
33
37
|
"ties_merging": ["TiesMergingAlgorithm"],
|
|
34
|
-
"dare": ["DareSimpleAverage", "DareTaskArithmetic"],
|
|
38
|
+
"dare": ["DareSimpleAverage", "DareTaskArithmetic", "DareTiesMerging"],
|
|
35
39
|
"fisher_merging": [
|
|
36
40
|
"FisherMergingForCLIPVisionModel",
|
|
37
41
|
"FisherMergingAlgorithmForGPT2",
|
|
@@ -50,6 +54,13 @@ _import_structure = {
|
|
|
50
54
|
],
|
|
51
55
|
"ada_svd": ["AdaSVDMergingForCLIPVisionModel"],
|
|
52
56
|
"task_singular_vector": ["TaskSingularVectorMerging"],
|
|
57
|
+
"isotropic_merging": [
|
|
58
|
+
"ISO_C_Merge", # alias
|
|
59
|
+
"ISO_CTS_Merge", # alias
|
|
60
|
+
"IsotropicMergingInCommonAndTaskSubspace",
|
|
61
|
+
"IsotropicMergingInCommonSubspace",
|
|
62
|
+
],
|
|
63
|
+
"opcm": ["OPCMForCLIP"],
|
|
53
64
|
# plug-and-play model merging methods
|
|
54
65
|
"concrete_subspace": [
|
|
55
66
|
"ConcreteTaskArithmeticAlgorithmForCLIP",
|
|
@@ -96,13 +107,16 @@ if TYPE_CHECKING:
|
|
|
96
107
|
from .adamerging import *
|
|
97
108
|
from .analysis import TaskVectorCosSimilarity, TaskVectorViolinPlot
|
|
98
109
|
from .base_algorithm import BaseAlgorithm, BaseModelFusionAlgorithm
|
|
99
|
-
from .classification import
|
|
110
|
+
from .classification import (
|
|
111
|
+
ContinualImageClassificationFineTuningForCLIP,
|
|
112
|
+
ImageClassificationFineTuningForCLIP,
|
|
113
|
+
)
|
|
100
114
|
from .concrete_subspace import (
|
|
101
115
|
ConcreteLayerWiseAdaMergingForCLIP,
|
|
102
116
|
ConcreteTaskArithmeticAlgorithmForCLIP,
|
|
103
117
|
ConcreteTaskWiseAdaMergingForCLIP,
|
|
104
118
|
)
|
|
105
|
-
from .dare import DareSimpleAverage, DareTaskArithmetic
|
|
119
|
+
from .dare import DareSimpleAverage, DareTaskArithmetic, DareTiesMerging
|
|
106
120
|
from .dawe import DataAdaptiveWeightEnsemblingForCLIP
|
|
107
121
|
from .depth_upscaling import DepthUpscalingAlgorithm, DepthUpscalingForLlama
|
|
108
122
|
from .dummy import DummyAlgorithm
|
|
@@ -112,6 +126,12 @@ if TYPE_CHECKING:
|
|
|
112
126
|
WeightedEnsembleAlgorithm,
|
|
113
127
|
)
|
|
114
128
|
from .fisher_merging import FisherMergingForCLIPVisionModel
|
|
129
|
+
from .isotropic_merging import (
|
|
130
|
+
ISO_C_Merge,
|
|
131
|
+
ISO_CTS_Merge,
|
|
132
|
+
IsotropicMergingInCommonAndTaskSubspace,
|
|
133
|
+
IsotropicMergingInCommonSubspace,
|
|
134
|
+
)
|
|
115
135
|
from .linear import (
|
|
116
136
|
ExPOAlgorithm,
|
|
117
137
|
ExPOAlgorithmForLlama,
|
|
@@ -127,6 +147,7 @@ if TYPE_CHECKING:
|
|
|
127
147
|
MixtralUpscalingAlgorithm,
|
|
128
148
|
)
|
|
129
149
|
from .model_recombination import ModelRecombinationAlgorithm
|
|
150
|
+
from .opcm import OPCMForCLIP
|
|
130
151
|
from .pruning import (
|
|
131
152
|
MagnitudeDiffPruningAlgorithm,
|
|
132
153
|
MagnitudePruningForLlama,
|
|
@@ -140,6 +161,7 @@ if TYPE_CHECKING:
|
|
|
140
161
|
from .rankone_moe import CLIPRankOneMoEAlgorithm, RankOneMoEAlgorithm
|
|
141
162
|
from .regmean import RegMeanAlgorithmForCLIP, RegMeanAlgorithmForGPT2
|
|
142
163
|
from .simple_average import SimpleAverageAlgorithm
|
|
164
|
+
from .slerp import SlerpMergeAlgorithm
|
|
143
165
|
from .smile_upscaling import (
|
|
144
166
|
SingularProjectionMergingAlgorithm,
|
|
145
167
|
SmileUpscalingAlgorithm,
|
{fusion_bench-0.2.8 → fusion_bench-0.2.10}/fusion_bench/method/classification/clip_finetune.py
RENAMED
|
@@ -184,9 +184,7 @@ class ImageClassificationFineTuningForCLIP(
|
|
|
184
184
|
self.save_model(classifier, save_path)
|
|
185
185
|
|
|
186
186
|
if config.state_dict_save_path is not None:
|
|
187
|
-
self.save_model(
|
|
188
|
-
classifier, config.state_dict_save_path, trainable_only=True
|
|
189
|
-
)
|
|
187
|
+
self.save_model(classifier, config.state_dict_save_path)
|
|
190
188
|
self.print_profile_summary()
|
|
191
189
|
return classifier.clip_model.vision_model
|
|
192
190
|
|
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import random
|
|
3
|
+
import time
|
|
4
|
+
from copy import deepcopy
|
|
5
|
+
from typing import Optional, Tuple, cast
|
|
6
|
+
|
|
7
|
+
import lightning as L
|
|
8
|
+
import torch
|
|
9
|
+
from omegaconf import DictConfig, OmegaConf
|
|
10
|
+
from peft import LoraConfig, PeftModel, get_peft_model
|
|
11
|
+
from peft.tuners.lora import LoraLayer
|
|
12
|
+
from safetensors.torch import save_file
|
|
13
|
+
from torch import nn
|
|
14
|
+
from torch.utils.data import DataLoader
|
|
15
|
+
from tqdm.auto import tqdm
|
|
16
|
+
from transformers import CLIPModel, CLIPProcessor, CLIPVisionModel
|
|
17
|
+
from transformers.models.clip.modeling_clip import CLIPVisionTransformer
|
|
18
|
+
|
|
19
|
+
from fusion_bench import BaseAlgorithm, print_parameters
|
|
20
|
+
from fusion_bench.compat.modelpool import to_modelpool
|
|
21
|
+
from fusion_bench.dataset.clip_dataset import CLIPDataset
|
|
22
|
+
from fusion_bench.mixins import CLIPClassificationMixin
|
|
23
|
+
from fusion_bench.mixins.simple_profiler import SimpleProfilerMixin
|
|
24
|
+
from fusion_bench.modelpool import CLIPVisionModelPool
|
|
25
|
+
from fusion_bench.models.hf_clip import HFCLIPClassifier
|
|
26
|
+
from fusion_bench.models.linearized.linearized_model_utils import LinearizedModelWraper
|
|
27
|
+
from fusion_bench.taskpool import CLIPVisionModelTaskPool
|
|
28
|
+
from fusion_bench.utils.data import InfiniteDataLoader
|
|
29
|
+
from fusion_bench.utils.fabric import seed_everything_by_time
|
|
30
|
+
from fusion_bench.utils.json import load_from_json, save_to_json
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
class ContinualImageClassificationFineTuningForCLIP(
|
|
34
|
+
CLIPClassificationMixin,
|
|
35
|
+
SimpleProfilerMixin,
|
|
36
|
+
BaseAlgorithm,
|
|
37
|
+
):
|
|
38
|
+
# attributes to configuration keys mapping
|
|
39
|
+
_config_mapping = BaseAlgorithm._config_mapping | {
|
|
40
|
+
"seed": "seed",
|
|
41
|
+
"shuffle_order": "shuffle_order",
|
|
42
|
+
"learning_rate": "learning_rate",
|
|
43
|
+
"weight_decay": "weight_decay",
|
|
44
|
+
"num_steps": "num_steps",
|
|
45
|
+
"batch_size": "batch_size",
|
|
46
|
+
"num_workers": "num_workers",
|
|
47
|
+
"save_interval": "save_interval",
|
|
48
|
+
"state_dict_load_path": "state_dict_load_path",
|
|
49
|
+
"state_dict_save_path": "state_dict_save_path",
|
|
50
|
+
"skip_training": "skip_training",
|
|
51
|
+
"use_lora": "use_lora",
|
|
52
|
+
"lora_config": "lora_config",
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
def __init__(
|
|
56
|
+
self,
|
|
57
|
+
seed: int = 42,
|
|
58
|
+
shuffle_order: bool = True,
|
|
59
|
+
learning_rate: float = 1e-5,
|
|
60
|
+
weight_decay: float = 0,
|
|
61
|
+
num_steps: int = 4000,
|
|
62
|
+
batch_size: int = 128,
|
|
63
|
+
num_workers: int = 16,
|
|
64
|
+
save_interval: int = 500,
|
|
65
|
+
state_dict_load_path: Optional[str] = None,
|
|
66
|
+
state_dict_save_path: Optional[str] = None,
|
|
67
|
+
skip_training: bool = False,
|
|
68
|
+
use_lora: bool = False,
|
|
69
|
+
lora_config: Optional[LoraConfig] = None,
|
|
70
|
+
):
|
|
71
|
+
self.seed = seed
|
|
72
|
+
self.shuffle_order = shuffle_order
|
|
73
|
+
self.learning_rate = learning_rate
|
|
74
|
+
self.weight_decay = weight_decay
|
|
75
|
+
self.num_steps = num_steps
|
|
76
|
+
self.batch_size = batch_size
|
|
77
|
+
self.num_workers = num_workers
|
|
78
|
+
self.save_interval = save_interval
|
|
79
|
+
self.state_dict_load_path = state_dict_load_path
|
|
80
|
+
self.state_dict_save_path = state_dict_save_path
|
|
81
|
+
self.skip_training = skip_training
|
|
82
|
+
self.use_lora = use_lora
|
|
83
|
+
self.lora_config = lora_config
|
|
84
|
+
|
|
85
|
+
def run(self, modelpool: CLIPVisionModelPool):
|
|
86
|
+
self.modelpool = to_modelpool(modelpool)
|
|
87
|
+
config = self.config
|
|
88
|
+
self.log_hyperparams(config, filename="method_config.yaml")
|
|
89
|
+
self.finetune_method = "fine-tune"
|
|
90
|
+
|
|
91
|
+
if self.seed is not None:
|
|
92
|
+
L.seed_everything(self.seed)
|
|
93
|
+
else:
|
|
94
|
+
seed_everything_by_time(self.fabric)
|
|
95
|
+
|
|
96
|
+
task_names = list(modelpool.train_dataset_names)
|
|
97
|
+
if self.shuffle_order:
|
|
98
|
+
random.shuffle(task_names)
|
|
99
|
+
if self.fabric.is_global_zero:
|
|
100
|
+
save_to_json(task_names, os.path.join(self.log_dir, "task_names.json"))
|
|
101
|
+
|
|
102
|
+
if self._program.taskpool is not None and isinstance(
|
|
103
|
+
self._program.taskpool, CLIPVisionModelTaskPool
|
|
104
|
+
):
|
|
105
|
+
has_taskpool = True
|
|
106
|
+
taskpool = cast(CLIPVisionModelTaskPool, self._program.taskpool)
|
|
107
|
+
test_datasets = taskpool._test_datasets
|
|
108
|
+
else:
|
|
109
|
+
has_taskpool = False
|
|
110
|
+
|
|
111
|
+
with self.profile("setup model and optimizer"):
|
|
112
|
+
processor, classifier, optimizer, lr_scheduler = self.setup_model()
|
|
113
|
+
|
|
114
|
+
if self.state_dict_load_path is not None:
|
|
115
|
+
self.fabric.load(
|
|
116
|
+
self.state_dict_load_path,
|
|
117
|
+
{"vision_model": classifier.clip_model.vision_model},
|
|
118
|
+
)
|
|
119
|
+
if self.skip_training:
|
|
120
|
+
return classifier.clip_model.vision_model
|
|
121
|
+
|
|
122
|
+
self.setup_zero_shot_classification_head(
|
|
123
|
+
clip_processor=processor,
|
|
124
|
+
clip_model=classifier.clip_model,
|
|
125
|
+
task_names=task_names,
|
|
126
|
+
)
|
|
127
|
+
|
|
128
|
+
init_optimizer_state_dict = optimizer.state_dict()
|
|
129
|
+
init_lr_scheduler_state_dict = lr_scheduler.state_dict()
|
|
130
|
+
self.fabric.setup(classifier, optimizer)
|
|
131
|
+
|
|
132
|
+
with self.profile("setup data"):
|
|
133
|
+
train_datasets = [
|
|
134
|
+
CLIPDataset(modelpool.load_train_dataset(task_name), processor)
|
|
135
|
+
for task_name in task_names
|
|
136
|
+
]
|
|
137
|
+
train_dataloaders = [
|
|
138
|
+
DataLoader(
|
|
139
|
+
dataset,
|
|
140
|
+
shuffle=True,
|
|
141
|
+
batch_size=self.batch_size,
|
|
142
|
+
num_workers=self.num_workers,
|
|
143
|
+
)
|
|
144
|
+
for dataset in train_datasets
|
|
145
|
+
]
|
|
146
|
+
train_dataloaders = self.fabric.setup_dataloaders(*train_dataloaders)
|
|
147
|
+
if not isinstance(train_dataloaders, (list, tuple)):
|
|
148
|
+
train_dataloaders = [train_dataloaders]
|
|
149
|
+
train_dataloader_iters = [
|
|
150
|
+
iter(InfiniteDataLoader(loader)) for loader in train_dataloaders
|
|
151
|
+
]
|
|
152
|
+
|
|
153
|
+
# continual train
|
|
154
|
+
for task_idx, task_name in tqdm(
|
|
155
|
+
enumerate(task_names),
|
|
156
|
+
dynamic_ncols=True,
|
|
157
|
+
disable=not self.fabric.is_global_zero,
|
|
158
|
+
):
|
|
159
|
+
train_dataloader_iter = train_dataloader_iters[task_idx]
|
|
160
|
+
|
|
161
|
+
# reset optimizer and lr scheduler
|
|
162
|
+
print("reset optimizer and lr scheduler")
|
|
163
|
+
optimizer.load_state_dict(init_optimizer_state_dict)
|
|
164
|
+
lr_scheduler.load_state_dict(init_lr_scheduler_state_dict)
|
|
165
|
+
|
|
166
|
+
for step_idx in tqdm(
|
|
167
|
+
range(self.num_steps),
|
|
168
|
+
desc=f"continual fine-tune on {task_name}",
|
|
169
|
+
disable=not self.fabric.is_global_zero,
|
|
170
|
+
dynamic_ncols=True,
|
|
171
|
+
leave=False,
|
|
172
|
+
):
|
|
173
|
+
optimizer.zero_grad()
|
|
174
|
+
loss = 0
|
|
175
|
+
with self.profile("data loading"):
|
|
176
|
+
batch = next(train_dataloader_iter)
|
|
177
|
+
images, labels = batch
|
|
178
|
+
with self.profile("forward"):
|
|
179
|
+
classifier.zeroshot_weights = self.zeroshot_weights[task_name]
|
|
180
|
+
logits = classifier(images)
|
|
181
|
+
assert (
|
|
182
|
+
labels.max() < logits.shape[1]
|
|
183
|
+
), f"for task {task_name}, labels.max() = {labels.max()}, logits.shape[1] = {logits.shape[1]}"
|
|
184
|
+
loss = loss + nn.functional.cross_entropy(logits, labels)
|
|
185
|
+
|
|
186
|
+
with self.profile("backward"):
|
|
187
|
+
self.fabric.backward(loss)
|
|
188
|
+
with self.profile("optimizer step"):
|
|
189
|
+
optimizer.step()
|
|
190
|
+
lr_scheduler.step()
|
|
191
|
+
|
|
192
|
+
metrics = {"train/loss": loss}
|
|
193
|
+
self.fabric.log_dict(metrics, step=step_idx)
|
|
194
|
+
|
|
195
|
+
if (step_idx + 1) % self.save_interval == 0:
|
|
196
|
+
save_path = os.path.join(
|
|
197
|
+
self.log_dir,
|
|
198
|
+
"checkpoints",
|
|
199
|
+
f"task={task_idx}_step={step_idx}.ckpt",
|
|
200
|
+
)
|
|
201
|
+
self.save_model(classifier, save_path)
|
|
202
|
+
|
|
203
|
+
if has_taskpool:
|
|
204
|
+
taskpool._is_setup = False
|
|
205
|
+
taskpool._test_datasets = DictConfig(
|
|
206
|
+
{t: test_datasets[t] for t in task_names[: task_idx + 1]}
|
|
207
|
+
)
|
|
208
|
+
eval_report = taskpool.evaluate(
|
|
209
|
+
deepcopy(classifier.clip_model.vision_model),
|
|
210
|
+
name=task_name,
|
|
211
|
+
)
|
|
212
|
+
if self.fabric.is_global_zero:
|
|
213
|
+
save_to_json(
|
|
214
|
+
eval_report,
|
|
215
|
+
os.path.join(self.log_dir, f"results_{task_idx}.json"),
|
|
216
|
+
)
|
|
217
|
+
|
|
218
|
+
if self.state_dict_save_path is not None:
|
|
219
|
+
self.save_model(classifier, self.state_dict_save_path)
|
|
220
|
+
self.print_profile_summary()
|
|
221
|
+
return classifier.clip_model.vision_model
|
|
222
|
+
|
|
223
|
+
def save_model(
|
|
224
|
+
self,
|
|
225
|
+
model: HFCLIPClassifier | CLIPModel | CLIPVisionModel | CLIPVisionTransformer,
|
|
226
|
+
save_path: str,
|
|
227
|
+
):
|
|
228
|
+
"""
|
|
229
|
+
Save the vision model to the specified path.
|
|
230
|
+
|
|
231
|
+
Args:
|
|
232
|
+
model (Union[HFCLIPClassifier, CLIPModel, CLIPVisionModel, CLIPVisionTransformer]): The model to save.
|
|
233
|
+
save_path (str): The path to save the model.
|
|
234
|
+
"""
|
|
235
|
+
if isinstance(model, HFCLIPClassifier):
|
|
236
|
+
vision_model = model.clip_model.vision_model
|
|
237
|
+
elif isinstance(model, CLIPModel):
|
|
238
|
+
vision_model = model.vision_model
|
|
239
|
+
elif isinstance(model, CLIPVisionModel):
|
|
240
|
+
vision_model = model.vision_model
|
|
241
|
+
elif isinstance(model, CLIPVisionTransformer):
|
|
242
|
+
vision_model = model
|
|
243
|
+
else:
|
|
244
|
+
raise ValueError(f"Unsupported model type: {type(model)}")
|
|
245
|
+
|
|
246
|
+
save_dir = os.path.dirname(save_path)
|
|
247
|
+
if save_dir and not os.path.exists(save_dir):
|
|
248
|
+
os.makedirs(save_dir, exist_ok=True)
|
|
249
|
+
self.fabric.save(save_path, {"vision_model": vision_model})
|
|
250
|
+
|
|
251
|
+
def setup_model(self):
|
|
252
|
+
"""
|
|
253
|
+
Sets up the model, optimizer, and learning rate scheduler.
|
|
254
|
+
|
|
255
|
+
This method initializes the CLIP model, applies LoRA if specified, and configures the optimizer and learning rate scheduler.
|
|
256
|
+
|
|
257
|
+
Returns:
|
|
258
|
+
Tuple: A tuple containing the processor, classifier, optimizer, and learning rate scheduler.
|
|
259
|
+
"""
|
|
260
|
+
config = self.config
|
|
261
|
+
modelpool = self.modelpool
|
|
262
|
+
|
|
263
|
+
clip_model: CLIPModel = modelpool.load_clip_model("_pretrained_")
|
|
264
|
+
processor = modelpool.load_processor()
|
|
265
|
+
|
|
266
|
+
self.finetune_method = "full fine-tune"
|
|
267
|
+
if self.use_lora:
|
|
268
|
+
self.finetune_method = "lora fine-tune"
|
|
269
|
+
lora_config = LoraConfig(
|
|
270
|
+
**OmegaConf.to_container(
|
|
271
|
+
self.lora_config, resolve=True, enum_to_str=True
|
|
272
|
+
)
|
|
273
|
+
)
|
|
274
|
+
clip_model.vision_model = get_peft_model(
|
|
275
|
+
clip_model.vision_model, lora_config
|
|
276
|
+
)
|
|
277
|
+
|
|
278
|
+
classifier = HFCLIPClassifier(clip_model, processor=processor)
|
|
279
|
+
|
|
280
|
+
if self.fabric.is_global_zero:
|
|
281
|
+
print("=== Model Summary (For Vision Model Only) ===")
|
|
282
|
+
print_parameters(classifier.clip_model.vision_model)
|
|
283
|
+
# configure optimizers
|
|
284
|
+
optimizer = torch.optim.Adam(
|
|
285
|
+
[
|
|
286
|
+
p
|
|
287
|
+
for p in classifier.clip_model.vision_model.parameters()
|
|
288
|
+
if p.requires_grad
|
|
289
|
+
],
|
|
290
|
+
lr=self.learning_rate,
|
|
291
|
+
weight_decay=self.weight_decay,
|
|
292
|
+
)
|
|
293
|
+
lr_scheduler = torch.optim.lr_scheduler.CosineAnnealingLR(
|
|
294
|
+
optimizer=optimizer, T_max=self.num_steps
|
|
295
|
+
)
|
|
296
|
+
|
|
297
|
+
return processor, classifier, optimizer, lr_scheduler
|
|
@@ -33,21 +33,28 @@ class DareTaskArithmetic(BaseAlgorithm):
|
|
|
33
33
|
self.rescale = rescale
|
|
34
34
|
super().__init__(**kwargs)
|
|
35
35
|
|
|
36
|
+
def _load_task_vector(
|
|
37
|
+
self,
|
|
38
|
+
modelpool: BaseModelPool,
|
|
39
|
+
model_name: str,
|
|
40
|
+
pretrained_model: nn.Module,
|
|
41
|
+
):
|
|
42
|
+
finetuned_model = modelpool.load_model(model_name)
|
|
43
|
+
task_vector = module_sub_(finetuned_model, pretrained_model)
|
|
44
|
+
return task_vector
|
|
45
|
+
|
|
36
46
|
@torch.no_grad()
|
|
37
47
|
def run(self, modelpool: BaseModelPool):
|
|
38
48
|
assert (
|
|
39
49
|
self.sparsity_ratio >= 0 and self.sparsity_ratio <= 1
|
|
40
50
|
), "Sparsity ratio must be between 0 and 1"
|
|
41
51
|
pretrained_model = modelpool.load_pretrained_model()
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
for model_name in modelpool.model_names
|
|
45
|
-
}
|
|
52
|
+
|
|
53
|
+
# load task vectors
|
|
46
54
|
task_vectors = {
|
|
47
|
-
model_name:
|
|
48
|
-
for model_name in
|
|
55
|
+
model_name: self._load_task_vector(modelpool, model_name, pretrained_model)
|
|
56
|
+
for model_name in modelpool.model_names
|
|
49
57
|
}
|
|
50
|
-
del finetuned_models
|
|
51
58
|
|
|
52
59
|
# drop and rescale task vectors
|
|
53
60
|
for model_name, tv in task_vectors.items():
|