fusion-bench 0.2.16__tar.gz → 0.2.17__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.16 → fusion_bench-0.2.17}/PKG-INFO +3 -1
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/README.md +2 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/adamerging/flan_t5_layer_wise_adamerging.py +1 -1
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/adamerging/gpt2_layer_wise_adamerging.py +1 -1
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/base_algorithm.py +1 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/dawe/dawe_for_clip.py +1 -1
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/depth_upscaling/depth_upscaling_for_llama.py +3 -2
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/gossip/flan_t5_layer_wise_gossip.py +1 -1
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/pwe_moe/module.py +2 -7
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/simple_average.py +3 -2
- fusion_bench-0.2.17/fusion_bench/method/task_singular_vector/TSVM.py +296 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/task_singular_vector/utils/TSVM_utils.py +52 -20
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/mixins/hydra_config.py +1 -1
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/mixins/lightning_fabric.py +25 -1
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/mixins/serialization.py +18 -2
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/modelpool/base_pool.py +1 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/modelpool/clip_vision/modelpool.py +21 -13
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/parameter_dict.py +6 -1
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/programs/fabric_fusion_program.py +9 -5
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/taskpool/base_pool.py +1 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/taskpool/dummy.py +6 -4
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/utils/__init__.py +1 -1
- fusion_bench-0.2.16/fusion_bench/utils/instantiate.py → fusion_bench-0.2.17/fusion_bench/utils/instantiate_utils.py +3 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/utils/pylogger.py +28 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench.egg-info/PKG-INFO +3 -1
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench.egg-info/SOURCES.txt +5 -1
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/fabric_model_fusion.yaml +2 -2
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/task_singular_vector/TaskSingularVectorMerging.yaml +2 -1
- fusion_bench-0.2.17/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_cars_and_dtd.yaml +16 -0
- fusion_bench-0.2.17/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_sun397_and_cars.yaml +16 -0
- fusion_bench-0.2.17/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_sun397_and_dtd.yaml +16 -0
- fusion_bench-0.2.17/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_sun397_cars_and_dtd.yaml +19 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/LMEvalHarnessTaskPool/lm_eval.yaml +0 -1
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/pyproject.toml +1 -1
- fusion_bench-0.2.16/fusion_bench/method/task_singular_vector/TSVM.py +0 -83
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/LICENSE +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/__main__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/compat/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/compat/method/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/compat/method/base_algorithm.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/compat/modelpool/AutoModelForSeq2SeqLM.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/compat/modelpool/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/compat/modelpool/base_pool.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/compat/modelpool/huggingface_clip_vision.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/compat/taskpool/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/compat/taskpool/base_pool.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/compat/taskpool/clip_image_classification.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/compat/taskpool/flan_t5_glue_text_generation.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/constants/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/constants/clip_vision.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/constants/paths.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/dataset/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/dataset/arc_agi/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/dataset/arc_agi/arc.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/dataset/arc_agi/arc_agi.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/dataset/arc_agi/augmenters.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/dataset/arc_agi/messagers.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/dataset/arc_agi/np_cache.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/dataset/arc_agi/preprocess.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/dataset/arc_agi/representers.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/dataset/clip_dataset.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/dataset/fer2013.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/dataset/gpt2_glue.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/dataset/gsm8k.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/dataset/image_dataset.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/dataset/imdb.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/dataset/llama/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/dataset/llama/alpaca.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/dataset/llama/collate.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/dataset/llama/metamathqa.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/dataset/llama/openai.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/dataset/llama/preference_700k.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/dataset/llama/sharegpt.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/dataset/llama/squad.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/dataset/llama/stanford_shp.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/dataset/llama/ultrachat.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/dataset/llama/utils/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/dataset/llama/wikitext.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/dataset/nyuv2.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/ada_svd/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/ada_svd/clip_vision.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/adamerging/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/adamerging/clip_layer_wise_adamerging.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/adamerging/clip_task_wise_adamerging.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/adamerging/entropy_loss.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/adamerging/layer_wise_adamerging.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/adamerging/llama_adamerging.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/adamerging/min_norm_solvers.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/adamerging/task_wise_adamerging.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/adamerging/utils.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/analysis/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/analysis/task_vector_cos_similarity.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/analysis/task_vector_violin_plot.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/classification/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/classification/clip_finetune.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/classification/continual_clip_finetune.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/concrete_subspace/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/concrete_subspace/clip_concrete_adamerging.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/concrete_subspace/clip_concrete_task_arithmetic.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/concrete_subspace/clip_post_defense.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/concrete_subspace/clip_safe_concrete_adamerging.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/dare/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/dare/simple_average.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/dare/task_arithmetic.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/dare/ties_merging.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/dare/utils.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/dawe/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/dawe/warppers/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/dawe/warppers/dawe_model.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/depth_upscaling/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/depth_upscaling/depth_upscaling.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/doge_ta/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/doge_ta/clip_layer_wise_adamerging.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/doge_ta/doge_ta.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/doge_ta/layer_wise_adamerging.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/dummy.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/ensemble.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/fisher_merging/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/fisher_merging/clip_fisher_merging.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/fisher_merging/fisher_merging.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/fisher_merging/gpt2_fisher_merging.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/fw_merging/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/fw_merging/fw_hard.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/fw_merging/fw_soft.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/fw_merging/utils.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/gossip/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/gossip/clip_layer_wise_gossip.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/gossip/clip_task_wise_gossip.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/gossip/entropy_loss.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/gossip/layer_wise_gossip.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/gossip/min_norm_solvers.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/gossip/task_wise_gossip.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/gossip/utils.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/isotropic_merging/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/isotropic_merging/iso.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/isotropic_merging/iso_utils.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/linear/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/linear/expo.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/linear/linear_interpolation.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/linear/llama_expo.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/linear/simple_average_for_llama.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/linear/task_arithmetic_for_llama.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/lm_finetune/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/lm_finetune/bradley_terry_rm.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/lm_finetune/causal_lm_pretrain.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/lm_finetune/fullfinetune_sft.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/lm_finetune/peftfinetune_sft.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/mixture_of_experts/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/mixture_of_experts/mixtral_merging.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/mixture_of_experts/mixtral_upcycling.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/model_recombination.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/moe_pruner/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/moe_pruner/hooks/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/moe_pruner/hooks/deepseek_v2.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/moe_pruner/hooks/hook.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/moe_pruner/hooks/mixtral.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/moe_pruner/moe_pruner.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/moe_pruner/utils/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/moe_pruner/utils/data.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/moe_pruner/utils/layerwrapper.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/moe_pruner/utils/prune.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/moe_pruner/utils/score.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/opcm/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/opcm/opcm.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/opcm/task_arithmetic.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/opcm/ties_merging.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/opcm/utils.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/opcm/weight_average.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/pruning/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/pruning/llama_magnitude_prune.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/pruning/llama_random_prune.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/pruning/llama_sparsegpt_prune.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/pruning/llama_wanda_prune.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/pruning/magnitude_diff_pruning.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/pruning/prune_utils.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/pruning/sparsegpt_utils/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/pruning/sparsegpt_utils/sparsegpt.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/pruning/wanda_utils/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/pruning/wanda_utils/ablate.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/pruning/wanda_utils/data.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/pruning/wanda_utils/eval.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/pruning/wanda_utils/layerwrapper.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/pruning/wanda_utils/prune.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/pruning/wanda_utils/prune_opt.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/pruning/wanda_utils/sparsegpt.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/pwe_moe/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/pwe_moe/clip_pwe_moe.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/pwe_moe/openclip_pwe_moe.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/pwe_moe/phn/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/pwe_moe/phn/solvers.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/pwe_moe/utils.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/randes/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/randes/base_algorithm.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/randes/modelsoup.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/randes/task_arithmetic.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/rankone_moe/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/rankone_moe/clip_rankone_moe.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/rankone_moe/rankone_moe.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/regmean/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/regmean/clip_regmean.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/regmean/gpt2_regmean.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/regmean/regmean.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/slerp/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/slerp/slerp.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/slerp/slerp_utils.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/smile_upscaling/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/smile_upscaling/singular_projection_merging.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/smile_upscaling/smile_mistral_upscaling.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/smile_upscaling/smile_qwen2_upscaling.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/smile_upscaling/smile_upscaling.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/sparse_we_moe/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/sparse_we_moe/sparse_clip_we_moe.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/sparse_we_moe/sparse_we_moe.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/sparselo/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/sparselo/sparselo.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/surgery/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/surgery/clip_layer_wise_adamerging_surgery.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/tall_mask/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/tall_mask/task_arithmetic.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/tall_mask/utils.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/task_arithmetic/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/task_arithmetic/task_arithmetic.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/task_singular_vector/TSVC.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/task_singular_vector/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/task_singular_vector/utils/TSVC_utils.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/task_singular_vector/utils/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/ties_merging/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/ties_merging/ties_merging.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/ties_merging/ties_merging_utils.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/trust_region/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/trust_region/clip_task_arithmetic.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/trust_region/utils.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/we_moe/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/we_moe/clip_we_moe.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/we_moe/we_moe.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/weighted_average/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/weighted_average/llama.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/weighted_average/weighted_average.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/metrics/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/metrics/continual_learning/backward_transfer.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/metrics/nyuv2/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/metrics/nyuv2/depth.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/metrics/nyuv2/loss.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/metrics/nyuv2/noise.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/metrics/nyuv2/normal.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/metrics/nyuv2/segmentation.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/metrics/text_to_image_generation/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/metrics/text_to_image_generation/aesthetic_scorer.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/metrics/text_to_image_generation/compressibility.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/metrics/text_to_image_generation/pickscore_scorer.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/mixins/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/mixins/clip_classification.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/mixins/fabric_training.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/mixins/openclip_classification.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/mixins/optim/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/mixins/optim/adamw_with_warmup.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/mixins/rich_live.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/mixins/simple_profiler.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/modelpool/PeftModelForSeq2SeqLM.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/modelpool/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/modelpool/causal_lm/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/modelpool/causal_lm/causal_lm.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/modelpool/clip_vision/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/modelpool/huggingface_automodel.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/modelpool/huggingface_gpt2_classification.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/modelpool/lazy_state_dict_pool.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/modelpool/nyuv2_modelpool.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/modelpool/openclip_vision/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/modelpool/openclip_vision/modelpool.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/modelpool/seq2seq_lm/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/modelpool/seq2seq_lm/modelpool.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/modelpool/seq_classification_lm/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/modelpool/seq_classification_lm/reward_model.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/modelpool/seq_classification_lm/seq_classification_lm.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/chat_templates/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/chat_templates/llama_3_Instruct.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/chat_templates/load_tokenizer.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/hf_clip.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/linearized/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/linearized/linearized_model_utils.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/linearized/vision_model.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/llama/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/llama/model_utils/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/llama/model_utils/embedding.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/llama/model_utils/liger_kernel.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/llama/model_utils/misc.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/llama/model_utils/mod.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/llama/model_utils/visual.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/llama/patcher.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/llama/tokenizer_loader.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/masks/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/masks/mask_model.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/modeling_deepseek_v2/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/modeling_deepseek_v2/configuration_deepseek.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/modeling_deepseek_v2/modeling_deepseek.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/modeling_deepseek_v2/tokenization_deepseek_fast.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/modeling_losparse_llama/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/modeling_losparse_llama/configuration_losparse_llama.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/modeling_losparse_llama/losparse_linear.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/modeling_losparse_llama/modeling_losparse_llama.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/modeling_losparse_llama/register.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/modeling_losparse_llama/utils.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/modeling_smile_mistral/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/modeling_smile_mistral/configuration_smile_mistral.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/modeling_smile_mistral/modeling_smile_mistral.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/modeling_smile_mistral/register.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/modeling_smile_qwen2/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/modeling_smile_qwen2/configuration_smile_qwen2.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/modeling_smile_qwen2/modeling_smile_qwen2.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/modeling_smile_qwen2/register.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/nyuv2/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/nyuv2/aspp.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/nyuv2/lightning_module.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/nyuv2/resnet.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/nyuv2/resnet_dilated.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/open_clip/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/open_clip/modeling.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/open_clip/utils.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/open_clip/variables_and_paths.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/rankone_moe.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/separate_io.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/smile_moe/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/smile_moe/linear_from_hf_config.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/smile_moe/linear_from_module.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/smile_moe/utils/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/smile_moe/utils/svd_utils.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/sparse_we_moe.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/surgery/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/surgery/surgerymodelwrapper.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/utils.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/we_moe.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/wrappers/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/wrappers/ensemble.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/wrappers/layer_wise_fusion.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/wrappers/layer_wise_fusion_doge_ta.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/models/wrappers/task_wise_fusion.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/optim/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/optim/exception.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/optim/lr_scheduler/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/optim/lr_scheduler/linear_warmup.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/optim/lr_scheduler/utils/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/optim/lr_scheduler/utils/visualization.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/optim/mezo.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/programs/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/programs/base_program.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/scripts/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/scripts/cli.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/scripts/clip/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/scripts/clip/convert_checkpoint.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/scripts/imgui.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/scripts/nyuv2_mtl_train.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/scripts/webui.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/taskpool/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/taskpool/clip_vision/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/taskpool/clip_vision/clip_rankone_moe_taskpool.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/taskpool/clip_vision/clip_smile_taskpool.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/taskpool/clip_vision/clip_sparse_wemoe_taskpool.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/taskpool/clip_vision/taskpool.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/taskpool/clip_vision/utils/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/taskpool/clip_vision/utils/routing_analysis_utils.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/taskpool/gpt2_text_classification.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/taskpool/llama/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/taskpool/llama/reward_model.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/taskpool/llama/test_generation.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/taskpool/lm_eval_harness/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/taskpool/lm_eval_harness/taskpool.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/taskpool/nyuv2_taskpool.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/taskpool/openclip_vision/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/taskpool/openclip_vision/openclip_taskpool.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/tasks/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/tasks/base_task.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/tasks/classification.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/tasks/clip_classification/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/tasks/clip_classification/cifar10.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/tasks/clip_classification/cifar100.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/tasks/clip_classification/clip_dataset.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/tasks/clip_classification/cub_200_2011.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/tasks/clip_classification/dtd.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/tasks/clip_classification/emnist_letters.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/tasks/clip_classification/emnist_mnist.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/tasks/clip_classification/eurosat.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/tasks/clip_classification/fashion_mnist.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/tasks/clip_classification/fer2013.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/tasks/clip_classification/flower102.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/tasks/clip_classification/food101.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/tasks/clip_classification/gtsrb.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/tasks/clip_classification/imagenet.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/tasks/clip_classification/kmnist.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/tasks/clip_classification/mnist.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/tasks/clip_classification/mongo_leaf_disease.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/tasks/clip_classification/oxford_iiit_pet.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/tasks/clip_classification/pcam.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/tasks/clip_classification/rendered_sst2.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/tasks/clip_classification/resisc45.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/tasks/clip_classification/stanford_cars.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/tasks/clip_classification/stl10.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/tasks/clip_classification/sun397.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/tasks/clip_classification/svhn.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/tasks/clip_classification/tiny_imagenet.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/tasks/flan_t5_text_generation/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/tasks/flan_t5_text_generation/datasets_preprocess.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/tasks/flan_t5_text_generation/glue_evaluation.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/tasks/flan_t5_text_generation/glue_load_dataset.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/tasks/flan_t5_text_generation/glue_preprocessors.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/tasks/flan_t5_text_generation/glue_prompt_templates.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/utils/auto.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/utils/cache_utils.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/utils/data.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/utils/devices.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/utils/dict.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/utils/dtype.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/utils/expr.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/utils/fabric.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/utils/functools.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/utils/hydra_utils.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/utils/json.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/utils/lazy_imports.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/utils/lazy_state_dict.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/utils/misc.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/utils/packages.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/utils/parameters.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/utils/path.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/utils/plot/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/utils/plot/color_data.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/utils/plot/token.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/utils/plot/token_notebook.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/utils/rich_utils.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/utils/set.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/utils/state_dict_arithmetic.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/utils/strenum/__init__.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/utils/strenum/_name_mangler.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/utils/strenum/_version.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/utils/tensorboard.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/utils/timer.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/utils/type.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench.egg-info/dependency_links.txt +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench.egg-info/entry_points.txt +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench.egg-info/requires.txt +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench.egg-info/top_level.txt +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/README.md +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/clip-vit-base-patch32_robustness_corrupted.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/README.md +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/test/TALL10.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/test/TALL12.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/test/TALL14.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/test/TALL16.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/test/TALL18.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/test/TALL20.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/test/cifar10.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/test/cifar100.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/test/cub-200-2011.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/test/dtd.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/test/emnist_letters.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/test/emnist_mnist.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/test/eurosat.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/test/fashion_mnist.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/test/fer2013.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/test/food101.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/test/gtsrb.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/test/kmnist.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/test/mango-leaf-disease.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/test/mnist.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/test/oxford-iiit-pet.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/test/oxford_flowers102.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/test/pcam.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/test/rendered-sst2.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/test/resisc45.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/test/stanford-cars.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/test/stl10.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/test/sun397.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/test/svhn.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/test/the_eight_tasks.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/test/tiny-imagenet.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/train/TALL10.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/train/TALL12.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/train/TALL14.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/train/TALL16.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/train/TALL18.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/train/TALL20.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/train/cifar10.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/train/cifar100.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/train/cub-200-2011.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/train/dtd.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/train/emnist_letters.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/train/emnist_mnist.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/train/eurosat.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/train/fashion_mnist.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/train/fer2013.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/train/food101.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/train/gtsrb.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/train/kmnist.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/train/mango-leaf-disease.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/train/mnist.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/train/oxford-iiit-pet.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/train/oxford_flowers102.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/train/pcam.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/train/rendered-sst2.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/train/resisc45.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/train/stanford-cars.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/train/stl10.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/train/sun397.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/train/svhn.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/train/the_eight_tasks.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/train/tiny-imagenet.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/val/dtd.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/val/eurosat.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/val/gtsrb.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/val/mnist.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/val/resisc45.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/val/stanford-cars.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/val/sun397.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/val/svhn.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/image_classification/val/the_eight_tasks.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/llm_sft/alpaca_cleaned.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/llm_sft/ultrachat_200k.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/question_answering/search_qa.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/question_answering/test/search_qa.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/question_answering/train/MetaMathQA.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/question_answering/train/search_qa.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/question_answering/val/search_qa.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/summarization/test/xsum.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/summarization/train/xsum.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/summarization/val/xsum.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/summarization/xsum.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/text_generation/test/gsm-hard.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/text_generation/test/gsm8k.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/text_generation/test/gsm8k_question_label.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/text_generation/train/CodeAlpaca-20k.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/text_generation/train/gsm8k.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/dataset/text_generation/train/gsm8k_question_label.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/fabric/auto.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/fabric/llama_ddp.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/fabric/llama_fsdp.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/fabric/llama_peft_fsdp.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/fabric/loggers/csv_logger.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/fabric/loggers/tensorboard_logger.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/fabric/loggers/wandb_logger.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/fabric/strategy/deepspeed.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/fabric/strategy/llama_fsdp.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/fabric/strategy/llama_peft_fsdp.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/hydra/default.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/hydra/help/fusion_bench_help.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/hydra/job_logging/rich_logging.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/llama_full_finetune.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/llama_magnitude_pruning.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/llama_model_fusion.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/ada_svd/clip_vision.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/adamerging/clip.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/adamerging/layer_wise_flan_t5.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/adamerging/layer_wise_gpt2.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/adamerging/llama_sft.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/adamerging.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/analysis/task_vector_cos_similarity.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/analysis/task_vector_violin_plot.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/classification/clip_continual_finetune.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/classification/clip_finetune.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/clip_finetune.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/concrete_subspace/clip_concrete_layer_wise_adamerging.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/concrete_subspace/clip_concrete_task_arithmetic.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/concrete_subspace/clip_concrete_task_wise_adamerging.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/concrete_subspace/clip_post_defense_AWM.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/concrete_subspace/clip_post_defense_SAU.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/concrete_subspace/clip_safe_concrete_layer_wise_adamerging.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/concrete_subspace/clip_safe_concrete_task_arithmetic.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/dare/simple_average.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/dare/task_arithmetic.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/dare/ties_merging.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/dawe/dawe_for_clip.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/depth_upscaling.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/doge_ta/doge_ta.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/dummy.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/ensemble/max_model_predictor.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/ensemble/simple_ensemble.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/ensemble/weighted_ensemble.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/fisher_merging/clip_fisher_merging.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/fisher_merging/fisher_merging.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/fisher_merging/gpt2_fisher_merging.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/fw_merging/fw_hard.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/fw_merging/fw_soft.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/gossip/layer_wise_clip.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/gossip/layer_wise_flan_t5.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/isotropic_merging/iso_c.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/isotropic_merging/iso_cts.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/linear/expo.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/linear/linear_interpolation.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/linear/llama_expo.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/linear/llama_expo_with_dare.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/linear/simple_average_for_llama.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/linear/task_arithmetic_for_llama.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/linear/weighted_average.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/linear/weighted_average_for_llama.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/lm_finetune/bradley_terry_rm.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/lm_finetune/fullfinetune_sft.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/lm_finetune/peftfinetune_sft.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/mixtral_moe_merging.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/mixtral_moe_upscaling.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/model_recombination.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/moe_pruner/moe_pruner.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/opcm/opcm.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/opcm/task_arithmetic.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/opcm/ties_merging.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/opcm/weight_average.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/pruning/llama_magnitude_pruning.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/pruning/llama_random_pruning.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/pruning/llama_sparsegpt_pruning.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/pruning/llama_wanda_pruning.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/pruning/magnitude_diff_pruning.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/pwe_moe/epo_for_openclip.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/pwe_moe/ls_for_openclip.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/pwe_moe/pwe_moe_ls_for_clip.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/randes/superposed_model_soup.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/randes/superposed_task_arithmetic.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/randes/superposed_task_arithmetic_lora.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/rankone_moe/rankone_moe.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/regmean/clip_regmean.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/regmean/gpt2_regmean.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/regmean/regmean.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/simple_average.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/slerp/slerp.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/smile_upscaling/singular_projection_merging.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/smile_upscaling/smile_mistral_upscaling.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/smile_upscaling/smile_qwen2_upscaling.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/smile_upscaling/smile_upscaling.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/sparselo_pruning/llama_iterative_sparselo.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/sparselo_pruning/llama_pcp_sparselo.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/sparselo_pruning/llama_sparselo.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/surgery/adamerging_surgery.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/tall_mask/task_arithmetic.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/task_arithmetic.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/ties_merging.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/trust_region/clip_task_arithmetic.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/wemoe/sparse_weight_ensembling_moe.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/method/wemoe/weight_ensembling_moe.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/README.md +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_TALL14.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_TALL20.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_cifar10.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_cifar100.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_dtd.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_eight_tasks.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_emnist_letters.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_eurosat.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_fashion_mnist.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_fer2013.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_food101.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_gtsrb.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_kmnist.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_mnist.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_oxford-iiit-pet.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_oxford_flowers102.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_pcam.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_rendered-sst2.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_resisc45.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_stanford-cars.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_stl10.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_sun397.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_svhn.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_TALL10.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_TALL12.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_TALL14.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_TALL16.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_TALL18.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_TALL20.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_cifar10.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_cifar100.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_dtd.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_eight_tasks.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_emnist_letters.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_eurosat.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_fashion_mnist.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_fer2013.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_food101.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_gtsrb.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_kmnist.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_mnist.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_oxford-iiit-pet.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_oxford_flowers102.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_pcam.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_rendered-sst2.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_resisc45.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_stanford-cars.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_stl10.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_sun397.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_svhn.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_TALL14.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_TALL20.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_cifar10.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_cifar100.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_dtd.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_eight_tasks.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_emnist_letters.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_eurosat.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_fashion_mnist.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_fer2013.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_food101.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_gtsrb.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_kmnist.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_mnist.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_oxford-iiit-pet.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_oxford_flowers102.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_pcam.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_rendered-sst2.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_resisc45.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_stanford-cars.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_stl10.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_sun397.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_svhn.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/download_TALL20_models.sh +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/clip-vit/generate_vit_model_config.sh +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/flan-t5/flan-t5-base.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-cola.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-cola_lora-16.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-mnli.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-mnli_lora-16.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-mrpc.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-mrpc_lora-16.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-qnli.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-qnli_lora-16.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-qqp.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-qqp_lora-16.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-rte.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-rte_lora-16.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-sst2.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-sst2_lora-16.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-stsb.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-stsb_lora-16.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/flan-t5/flan-t5-large.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-cola_lora-16.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-mnli_lora-16.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-mrpc_lora-16.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-qnli_lora-16.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-qqp_lora-16.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-rte_lora-16.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-sst2_lora-16.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-stsb_lora-16.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/model/flan-t5/generate_flan-t5.sh +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CLIPVisionModelPool/_template.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TA8.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TA8_lora.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TA8_model_only.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TALL14.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TALL14_model_only.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TALL20.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TALL20_model_only.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_individual.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_individual_lora.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TA8.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TA8_control_task.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TA8_model_only.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TALL10.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TALL12.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TALL14.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TALL14_model_only.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TALL16.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TALL18.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TALL20.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TALL20_model_only.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_generalization_exp1.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_generalization_exp2.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_individual.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_mtl.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_robustness_clean.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_robustness_corrupted.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_single_finetuned.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_single_task_projection.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_svhn_and_mnist.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_two_tasks_control_task.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TA8.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TA8_model_only.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TALL14.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TALL14_model_only.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TALL20.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TALL20_model_only.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_individual.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CausalLMPool/deepseek-v2-lite.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CausalLMPool/llama_alpaca_cleaned.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CausalLMPool/llama_codealpaca.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CausalLMPool/llama_for_causallm.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CausalLMPool/llama_metamathqa.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CausalLMPool/llama_ultrachat.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CausalLMPool/mergebench/Llama-3.1-8B-Instruct.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CausalLMPool/mergebench/Llama-3.1-8B.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CausalLMPool/mergebench/Llama-3.2-3B-Instruct.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CausalLMPool/mergebench/Llama-3.2-3B.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CausalLMPool/mergebench/gemma-2-2b-it.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CausalLMPool/mergebench/gemma-2-2b.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CausalLMPool/mergebench/gemma-2-9b-it.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CausalLMPool/mergebench/gemma-2-9b.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CausalLMPool/mixtral-8x7b.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CausalLMPool/qwen2_math_1.5B_and_R1.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CausalLMPool/simle_mixtral_exp_v4.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/CausalLMPool/single_llama_model.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/OpenCLIPVisionModelPool/README.md +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/OpenCLIPVisionModelPool/ViT-B-16_TA8.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/OpenCLIPVisionModelPool/ViT-B-32_TA8.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/OpenCLIPVisionModelPool/ViT-B-32_TA_cars_dtd.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/OpenCLIPVisionModelPool/ViT-B-32_TA_sun397_cars.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/OpenCLIPVisionModelPool/ViT-B-32_TA_sun397_dtd.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/OpenCLIPVisionModelPool/ViT-B-32_individual.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/OpenCLIPVisionModelPool/ViT-L-14_TA8.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/Seq2SeqLMPool/_template.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/Seq2SeqLMPool/flan-t5-base_glue.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/Seq2SeqLMPool/flan-t5-base_glue_lora16.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/Seq2SeqLMPool/flan-t5-base_glue_lora16_tta.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/Seq2SeqLMPool/flan-t5-base_glue_tta.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/Seq2SeqLMPool/flan-t5-base_individual.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/Seq2SeqLMPool/flan-t5-large_glue_lora16.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/SeqenceClassificationModelPool/llama_preference700k.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/SeqenceClassificationModelPool/roberta-base_glue.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/SeqenceClassificationModelPool/single_reward_model.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/automodelpool.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/gpt-2_glue.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/mixtral_moe_merging.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/mixtral_moe_upscaling.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/nyuv2_modelpool.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/smile_mistral_exp_v1.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/smile_mistral_exp_v2.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/smile_mistral_exp_v3.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/modelpool/smile_mistral_exp_v4.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/nyuv2_config.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/nyuv2_mtl_train.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/_template.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-base-patch32_robustness_corrupted.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TA8.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TA8_B16.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TA8_L14.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TA8_val.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TA8_with_control_task.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TALL14.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TALL20.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_cifar10.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_cifar100.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_dtd.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_emnist_letters.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_eurosat.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_fashion_mnist.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_fer2013.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_food101.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_gtsrb.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_kmnist.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_mnist.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_oxford-iiit-pet.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_oxford_flowers102.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_oxford_flowers102_val.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_pcam.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_rendered-sst2.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_resisc45.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_stanford-cars.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_stl10.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_sun397.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_svhn.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip_rankone_wemoe_clip-vit-classification_TA8.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip_sparse_wemoe_clip-vit-classification_TA8.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/OpenCLIPVisionModelTaskPool/ViT-B-16_TA8.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/OpenCLIPVisionModelTaskPool/ViT-B-32_TA8.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/OpenCLIPVisionModelTaskPool/ViT-L-14_TA8.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/clip-vit-base-patch32_robustness_clean.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/clip-vit-base-patch32_robustness_corrupted.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/clip-vit-base-patch32_svhn_and_mnist.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/dummy.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/flan-t5_glue_text_generation.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/gpt-2_glue.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/nyuv2_taskpool.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench_config/taskpool/reward_model_evaluation.yaml +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/setup.cfg +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/tests/test_depth_upscaling.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/tests/test_simple_average.py +0 -0
- {fusion_bench-0.2.16 → fusion_bench-0.2.17}/tests/test_weighed_ensemble.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fusion_bench
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.17
|
|
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
|
|
@@ -171,6 +171,8 @@ It can be used to improve the performance and robustness of model or to combine
|
|
|
171
171
|
For a more detailed introduction to deep model fusion, you can refer to [W. Li, 2023, 'Deep Model Fusion: A Survey'](https://arxiv.org/abs/2309.15698). We also provide a brief overview of deep model fusion in [our documentation](https://tanganke.github.io/fusion_bench/).
|
|
172
172
|
In this benchmark, we evaluate the performance of different fusion methods on a variety of datasets and tasks.
|
|
173
173
|
|
|
174
|
+
A comprehensive list of papers about model merging can be found at [this repository](https://github.com/EnnengYang/Awesome-Model-Merging-Methods-Theories-Applications), and [the arXiv paper](https://arxiv.org/abs/2408.07666) is also available.
|
|
175
|
+
|
|
174
176
|
## Project Structure
|
|
175
177
|
|
|
176
178
|
The project is structured as follows:
|
|
@@ -120,6 +120,8 @@ It can be used to improve the performance and robustness of model or to combine
|
|
|
120
120
|
For a more detailed introduction to deep model fusion, you can refer to [W. Li, 2023, 'Deep Model Fusion: A Survey'](https://arxiv.org/abs/2309.15698). We also provide a brief overview of deep model fusion in [our documentation](https://tanganke.github.io/fusion_bench/).
|
|
121
121
|
In this benchmark, we evaluate the performance of different fusion methods on a variety of datasets and tasks.
|
|
122
122
|
|
|
123
|
+
A comprehensive list of papers about model merging can be found at [this repository](https://github.com/EnnengYang/Awesome-Model-Merging-Methods-Theories-Applications), and [the arXiv paper](https://arxiv.org/abs/2408.07666) is also available.
|
|
124
|
+
|
|
123
125
|
## Project Structure
|
|
124
126
|
|
|
125
127
|
The project is structured as follows:
|
|
@@ -29,7 +29,7 @@ from fusion_bench.models.wrappers.layer_wise_fusion import (
|
|
|
29
29
|
get_layer_wise_weights,
|
|
30
30
|
)
|
|
31
31
|
from fusion_bench.utils.data import InfiniteDataLoader, load_tensor_from_file
|
|
32
|
-
from fusion_bench.utils.
|
|
32
|
+
from fusion_bench.utils.instantiate_utils import instantiate
|
|
33
33
|
|
|
34
34
|
from .entropy_loss import entropy_loss
|
|
35
35
|
from .min_norm_solvers import MinNormSolver
|
|
@@ -29,7 +29,7 @@ from fusion_bench.models.wrappers.layer_wise_fusion import (
|
|
|
29
29
|
get_layer_wise_weights,
|
|
30
30
|
)
|
|
31
31
|
from fusion_bench.utils.data import InfiniteDataLoader, load_tensor_from_file
|
|
32
|
-
from fusion_bench.utils.
|
|
32
|
+
from fusion_bench.utils.instantiate_utils import instantiate
|
|
33
33
|
|
|
34
34
|
from .entropy_loss import entropy_loss
|
|
35
35
|
from .min_norm_solvers import MinNormSolver
|
|
@@ -23,7 +23,7 @@ from fusion_bench.mixins import CLIPClassificationMixin
|
|
|
23
23
|
from fusion_bench.modelpool import CLIPVisionModelPool
|
|
24
24
|
from fusion_bench.utils import timeit_context
|
|
25
25
|
from fusion_bench.utils.data import InfiniteDataLoader
|
|
26
|
-
from fusion_bench.utils.
|
|
26
|
+
from fusion_bench.utils.instantiate_utils import instantiate
|
|
27
27
|
|
|
28
28
|
from .warppers.dawe_model import DataAdaptiveWeightEnsemblingCLIPVisionModel
|
|
29
29
|
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import os
|
|
2
2
|
from typing import Optional
|
|
3
3
|
|
|
4
|
+
from transformers import PreTrainedModel
|
|
4
5
|
from typing_extensions import override
|
|
5
6
|
|
|
6
|
-
from fusion_bench.modelpool.causal_lm.causal_lm import
|
|
7
|
+
from fusion_bench.modelpool.causal_lm.causal_lm import CausalLMPool
|
|
7
8
|
from fusion_bench.utils import timeit_context
|
|
8
9
|
|
|
9
10
|
from .depth_upscaling import DepthUpscalingAlgorithm
|
|
@@ -46,7 +47,7 @@ class DepthUpscalingForLlama(DepthUpscalingAlgorithm):
|
|
|
46
47
|
if self.model_save_path is not None:
|
|
47
48
|
tokenizer = modelpool.load_tokenizer()
|
|
48
49
|
|
|
49
|
-
model:
|
|
50
|
+
model: PreTrainedModel = modelpool.load_pretrained_or_first_model()
|
|
50
51
|
model.model.layers = super().run(model.model.layers)
|
|
51
52
|
model.config.num_hidden_layers = len(model.model.layers)
|
|
52
53
|
|
{fusion_bench-0.2.16 → fusion_bench-0.2.17}/fusion_bench/method/gossip/flan_t5_layer_wise_gossip.py
RENAMED
|
@@ -32,7 +32,7 @@ from fusion_bench.models.wrappers.layer_wise_fusion import (
|
|
|
32
32
|
get_layer_wise_weights,
|
|
33
33
|
)
|
|
34
34
|
from fusion_bench.utils.data import InfiniteDataLoader, load_tensor_from_file
|
|
35
|
-
from fusion_bench.utils.
|
|
35
|
+
from fusion_bench.utils.instantiate_utils import instantiate
|
|
36
36
|
|
|
37
37
|
from .entropy_loss import entropy_loss
|
|
38
38
|
from .layer_wise_gossip import ModelScheduler
|
|
@@ -13,14 +13,9 @@ import torch.func
|
|
|
13
13
|
from torch import Tensor, nn
|
|
14
14
|
from torch.nn import functional as F
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
from fusion_bench.utils import join_list
|
|
18
17
|
|
|
19
|
-
|
|
20
|
-
ans = []
|
|
21
|
-
for item in list_of_list:
|
|
22
|
-
ans.extend(item)
|
|
23
|
-
return ans
|
|
18
|
+
log = logging.getLogger(__name__)
|
|
24
19
|
|
|
25
20
|
|
|
26
21
|
class PWEMoEGate(nn.Module):
|
|
@@ -39,12 +39,13 @@ def simple_average(
|
|
|
39
39
|
>>> import torch.nn as nn
|
|
40
40
|
>>> model1 = nn.Linear(10, 10)
|
|
41
41
|
>>> model2 = nn.Linear(10, 10)
|
|
42
|
-
>>> averaged_model =
|
|
42
|
+
>>> averaged_model = simple_average([model1, model2])
|
|
43
43
|
|
|
44
44
|
>>> state_dict1 = model1.state_dict()
|
|
45
45
|
>>> state_dict2 = model2.state_dict()
|
|
46
|
-
>>> averaged_state_dict =
|
|
46
|
+
>>> averaged_state_dict = simple_average([state_dict1, state_dict2])
|
|
47
47
|
"""
|
|
48
|
+
assert len(modules) > 0, "modules must be a non-empty list"
|
|
48
49
|
if isinstance(modules[0], nn.Module):
|
|
49
50
|
if base_module is None:
|
|
50
51
|
new_module = deepcopy(modules[0])
|
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
R"""
|
|
2
|
+
# Task Singular Vector Merging (TSVM) Algorithm Implementation
|
|
3
|
+
|
|
4
|
+
This module implements the Task Singular Vector Merging algorithm for combining multiple fine-tuned models
|
|
5
|
+
into a single unified model.
|
|
6
|
+
|
|
7
|
+
## Example Usage:
|
|
8
|
+
|
|
9
|
+
Merge 8 CLIP-ViT-B/32 models with TSVM:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
fusion_bench \
|
|
13
|
+
method=task_singular_vector/TaskSingularVectorMerging \
|
|
14
|
+
modelpool=CLIPVisionModelPool/clip-vit-base-patch32_TA8_model_only \
|
|
15
|
+
taskpool=CLIPVisionModelTaskPool/clip-vit-classification_TA8
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Merge 8 CLIP-ViT-B/32 models with TSVM and return individual transformed models:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
fusion_bench \
|
|
22
|
+
method=task_singular_vector/TaskSingularVectorMerging \
|
|
23
|
+
method.return_single_task_models=true \
|
|
24
|
+
modelpool=CLIPVisionModelPool/clip-vit-base-patch32_TA8_model_only \
|
|
25
|
+
taskpool=CLIPVisionModelTaskPool/clip-vit-classification_TA8
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Merge 20 CLIP-VIT-B/32 models with TSVM:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
fusion_bench \
|
|
32
|
+
method=task_singular_vector/TaskSingularVectorMerging \
|
|
33
|
+
modelpool=CLIPVisionModelPool/clip-vit-base-patch32_TALL20_model_only \
|
|
34
|
+
taskpool=CLIPVisionModelTaskPool/clip-vit-classification_TALL20
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## References:
|
|
38
|
+
|
|
39
|
+
- Gargiulo, et al. Task Singular Vectors: Reducing Task Interference in Model Merging.
|
|
40
|
+
https://arxiv.org/abs/2412.00081
|
|
41
|
+
- See `docs/algorithms/task_singular_vector.md` for more details.
|
|
42
|
+
"""
|
|
43
|
+
|
|
44
|
+
from copy import deepcopy
|
|
45
|
+
from typing import Iterable, List, Optional, Union
|
|
46
|
+
|
|
47
|
+
import torch
|
|
48
|
+
from omegaconf import ListConfig
|
|
49
|
+
from torch import Tensor, nn
|
|
50
|
+
|
|
51
|
+
import fusion_bench as fb
|
|
52
|
+
from fusion_bench import BaseAlgorithm
|
|
53
|
+
from fusion_bench.mixins import LightningFabricMixin
|
|
54
|
+
from fusion_bench.utils import timeit_context
|
|
55
|
+
from fusion_bench.utils.state_dict_arithmetic import (
|
|
56
|
+
state_dict_add,
|
|
57
|
+
state_dict_mul,
|
|
58
|
+
state_dict_sub,
|
|
59
|
+
)
|
|
60
|
+
from fusion_bench.utils.type import StateDictType
|
|
61
|
+
|
|
62
|
+
from .utils import (
|
|
63
|
+
TSVM_utils,
|
|
64
|
+
check_parameterNamesMatch,
|
|
65
|
+
check_state_dicts_equal,
|
|
66
|
+
state_dict_to_vector,
|
|
67
|
+
vector_to_state_dict,
|
|
68
|
+
)
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
class TaskSingularVectorMerging(BaseAlgorithm, LightningFabricMixin):
|
|
72
|
+
"""
|
|
73
|
+
Task Singular Vector Merging (TSVM) Algorithm
|
|
74
|
+
|
|
75
|
+
This class implements a model merging technique that leverages Singular Value
|
|
76
|
+
Decomposition (SVD) to identify and combine the most important directions in the task vector
|
|
77
|
+
space. The algorithm is particularly effective for merging multiple models fine-tuned on
|
|
78
|
+
different tasks while preserving their essential capabilities.
|
|
79
|
+
|
|
80
|
+
Key Concepts:
|
|
81
|
+
- Task Vector: The difference between a fine-tuned model and its pretrained base model,
|
|
82
|
+
representing the knowledge gained during fine-tuning for a specific task.
|
|
83
|
+
- Singular Value Decomposition: A matrix factorization technique used to find the principal
|
|
84
|
+
components (most important directions) in the space of task vectors.
|
|
85
|
+
- Model Merging: The process of combining multiple models into a single unified model that
|
|
86
|
+
retains capabilities from all constituent models.
|
|
87
|
+
|
|
88
|
+
Algorithm Steps:
|
|
89
|
+
1. Extract task vectors from all fine-tuned models by subtracting the pretrained model
|
|
90
|
+
2. Apply SVD to the matrix of task vectors to find principal components
|
|
91
|
+
3. Reconstruct task vectors using only the most significant singular vectors
|
|
92
|
+
4. Merge the reconstructed task vectors (either individually scaled or as a sum)
|
|
93
|
+
5. Add the final merged task vector to the pretrained model to create the unified model
|
|
94
|
+
|
|
95
|
+
see `docs/algorithms/task_singular_vector.md` for comprehensive algorithmic details.
|
|
96
|
+
"""
|
|
97
|
+
|
|
98
|
+
def __init__(
|
|
99
|
+
self,
|
|
100
|
+
alpha: Optional[Union[float, Iterable[float]]] = None,
|
|
101
|
+
exclude_keys: Optional[List[str]] = None,
|
|
102
|
+
return_single_task_models: bool = False,
|
|
103
|
+
**kwargs,
|
|
104
|
+
):
|
|
105
|
+
"""
|
|
106
|
+
Initialize the Task Singular Vector Merging algorithm.
|
|
107
|
+
|
|
108
|
+
Args:
|
|
109
|
+
alpha (Union[float, Iterable[float]], optional): Scaling factor(s) for task vectors.
|
|
110
|
+
This parameter controls the strength of the task-specific adaptations in the final model.
|
|
111
|
+
|
|
112
|
+
- If a single float: Applied to the final merged task vector after SVD reconstruction.
|
|
113
|
+
This uniformly scales the entire merged adaptation.
|
|
114
|
+
|
|
115
|
+
- If an iterable of floats: Applied to individual task vectors before SVD and merging.
|
|
116
|
+
Must have the same length as the number of models in the modelpool.
|
|
117
|
+
This allows for task-specific weighting (e.g., giving more importance to certain tasks).
|
|
118
|
+
|
|
119
|
+
- If None: No scaling is applied (equivalent to alpha=1.0).
|
|
120
|
+
|
|
121
|
+
Example: alpha=[0.8, 1.2, 0.5] would apply different weights to three different task vectors.
|
|
122
|
+
|
|
123
|
+
exclude_keys (Optional[List[str]], optional): List of parameter names to exclude from TSVM.
|
|
124
|
+
These parameters will not participate in the SVD computation and merging process.
|
|
125
|
+
Useful for excluding certain layers (e.g., task-specific heads, normalization layers)
|
|
126
|
+
that should not be merged across tasks. Defaults to an empty list.
|
|
127
|
+
|
|
128
|
+
Example: exclude_keys=['classifier.weight', 'classifier.bias'] to skip classification heads.
|
|
129
|
+
|
|
130
|
+
return_single_task_models (bool, optional): Whether to return individual transformed models.
|
|
131
|
+
|
|
132
|
+
- If True: Returns a dictionary containing both individual models with their transformed
|
|
133
|
+
task vectors applied AND the final merged model. The dictionary has the structure:
|
|
134
|
+
|
|
135
|
+
>>> {'model_name_1': transformed_model_1, ..., 'merged': final_merged_model}
|
|
136
|
+
|
|
137
|
+
- If False: Returns only the final merged model.
|
|
138
|
+
|
|
139
|
+
This is useful for analysis or when you need access to intermediate results.
|
|
140
|
+
Defaults to False.
|
|
141
|
+
|
|
142
|
+
**kwargs: Additional arguments passed to the parent BaseAlgorithm class.
|
|
143
|
+
|
|
144
|
+
Note:
|
|
145
|
+
The choice between single alpha vs. list of alphas affects the merging strategy:
|
|
146
|
+
- Single alpha: SVD is applied first, then the result is scaled
|
|
147
|
+
- List of alphas: Individual task vectors are scaled first, then SVD is applied
|
|
148
|
+
"""
|
|
149
|
+
self.alpha = alpha
|
|
150
|
+
self.exclude_keys = exclude_keys if exclude_keys is not None else []
|
|
151
|
+
self.return_single_task_models = return_single_task_models
|
|
152
|
+
super().__init__(**kwargs)
|
|
153
|
+
|
|
154
|
+
def load_pretrained_model_and_task_vectors(self, modelpool: fb.BaseModelPool):
|
|
155
|
+
"""
|
|
156
|
+
Load the pretrained base model and compute task vectors from all fine-tuned models.
|
|
157
|
+
|
|
158
|
+
This method performs the initial step of the TSVM algorithm by:
|
|
159
|
+
1. Loading the original pretrained model (before any task-specific fine-tuning)
|
|
160
|
+
2. For each fine-tuned model in the pool:
|
|
161
|
+
- Load the fine-tuned model
|
|
162
|
+
- Compute the task vector (fine-tuned params - pretrained params)
|
|
163
|
+
- Optionally apply individual scaling if alpha is provided as a list
|
|
164
|
+
|
|
165
|
+
Task vectors represent the knowledge gained during fine-tuning and are the core
|
|
166
|
+
data structure that TSVM operates on.
|
|
167
|
+
|
|
168
|
+
Args:
|
|
169
|
+
modelpool (fb.BaseModelPool): Pool containing the pretrained model and all
|
|
170
|
+
fine-tuned models to be merged.
|
|
171
|
+
|
|
172
|
+
Returns:
|
|
173
|
+
tuple: A tuple containing:
|
|
174
|
+
- pretrained_model: The original pretrained model (torch.nn.Module)
|
|
175
|
+
- task_vectors: List of task vectors (List[StateDictType]), where each
|
|
176
|
+
task vector is a state dictionary representing the parameter differences
|
|
177
|
+
for one specific task
|
|
178
|
+
"""
|
|
179
|
+
# Load the original pretrained model that serves as the base for all fine-tuned variants
|
|
180
|
+
pretrained_model = modelpool.load_pretrained_model()
|
|
181
|
+
|
|
182
|
+
# Initialize list to store computed task vectors
|
|
183
|
+
task_vectors = []
|
|
184
|
+
|
|
185
|
+
# Process each fine-tuned model in the modelpool
|
|
186
|
+
for model_idx, model_name in enumerate(modelpool.model_names):
|
|
187
|
+
# Load the current fine-tuned model
|
|
188
|
+
finetuned_model = modelpool.load_model(model_name)
|
|
189
|
+
|
|
190
|
+
# Compute task vector: difference between fine-tuned and pretrained parameters
|
|
191
|
+
# This captures the task-specific adaptations learned during fine-tuning
|
|
192
|
+
task_vector = state_dict_sub(
|
|
193
|
+
finetuned_model.state_dict(), pretrained_model.state_dict()
|
|
194
|
+
)
|
|
195
|
+
task_vectors.append(task_vector)
|
|
196
|
+
|
|
197
|
+
# Apply individual scaling to task vectors if alpha is provided as a list
|
|
198
|
+
# This allows for task-specific weighting before the SVD computation
|
|
199
|
+
if self.alpha is not None and isinstance(self.alpha, Iterable):
|
|
200
|
+
# Ensure the number of alpha values matches the number of models
|
|
201
|
+
assert len(self.alpha) == len(
|
|
202
|
+
modelpool.model_names
|
|
203
|
+
), f"Alpha list length ({len(self.alpha)}) must match number of models ({len(modelpool.model_names)})"
|
|
204
|
+
|
|
205
|
+
# Scale the current task vector by its corresponding alpha value
|
|
206
|
+
task_vectors[-1] = state_dict_mul(
|
|
207
|
+
state_dict=task_vectors[-1], scalar=self.alpha[model_idx]
|
|
208
|
+
)
|
|
209
|
+
|
|
210
|
+
return pretrained_model, task_vectors
|
|
211
|
+
|
|
212
|
+
def run(self, modelpool: fb.BaseModelPool):
|
|
213
|
+
"""
|
|
214
|
+
Execute the complete Task Singular Vector Merging algorithm.
|
|
215
|
+
|
|
216
|
+
This is the main entry point that orchestrates the entire TSVM process:
|
|
217
|
+
|
|
218
|
+
The algorithm leverages the mathematical insight that task vectors often lie in a
|
|
219
|
+
lower-dimensional subspace, and SVD helps identify the most important directions
|
|
220
|
+
in this subspace while filtering out noise and interference.
|
|
221
|
+
|
|
222
|
+
Args:
|
|
223
|
+
modelpool (fb.BaseModelPool): Pool of models to merge, including:
|
|
224
|
+
- The pretrained base model
|
|
225
|
+
- Multiple fine-tuned models (one per task)
|
|
226
|
+
All models must have compatible architectures.
|
|
227
|
+
|
|
228
|
+
Returns:
|
|
229
|
+
Union[torch.nn.Module, Dict[str, torch.nn.Module]]:
|
|
230
|
+
- If return_single_task_models=False: Returns the merged model
|
|
231
|
+
- If return_single_task_models=True: Returns a dictionary with:
|
|
232
|
+
* Individual transformed models keyed by their original names
|
|
233
|
+
* Final merged model under the key 'merged'
|
|
234
|
+
|
|
235
|
+
Raises:
|
|
236
|
+
AssertionError: If alpha list length doesn't match the number of models
|
|
237
|
+
"""
|
|
238
|
+
# Determine the compute device for SVD operations (GPU if available for faster computation)
|
|
239
|
+
accelerator = self.fabric.device
|
|
240
|
+
|
|
241
|
+
# Phase 1: Load pretrained model and compute task vectors from all fine-tuned models
|
|
242
|
+
pretrained_model, task_vectors = self.load_pretrained_model_and_task_vectors(
|
|
243
|
+
modelpool
|
|
244
|
+
)
|
|
245
|
+
|
|
246
|
+
# Phase 2: Apply SVD-based merging to the task vectors
|
|
247
|
+
# This is the core of the TSVM algorithm where:
|
|
248
|
+
# - Task vectors are organized into a matrix
|
|
249
|
+
# - SVD finds the principal components (most important directions)
|
|
250
|
+
# - Task vectors are reconstructed using only the most significant components
|
|
251
|
+
# - The reconstructed vectors are merged (summed) to create a unified task vector
|
|
252
|
+
new_merged_tv = TSVM_utils.compute_and_sum_svd_mem_reduction(
|
|
253
|
+
task_vectors,
|
|
254
|
+
exclude_keys=self.exclude_keys, # Skip certain parameters from SVD
|
|
255
|
+
accelerator=accelerator, # Use GPU if available
|
|
256
|
+
return_single_task_models=self.return_single_task_models,
|
|
257
|
+
)
|
|
258
|
+
|
|
259
|
+
# Handle the case where individual transformed task vectors are also returned
|
|
260
|
+
if self.return_single_task_models:
|
|
261
|
+
new_merged_tv, single_task_models = new_merged_tv
|
|
262
|
+
|
|
263
|
+
# Phase 3: Apply global scaling to the merged task vector (if alpha is a single value)
|
|
264
|
+
# This is different from individual scaling applied earlier - here we scale the
|
|
265
|
+
# final merged result, which affects the overall strength of all merged adaptations
|
|
266
|
+
if self.alpha is not None and isinstance(self.alpha, (float, int)):
|
|
267
|
+
print(f"Scaling new merged task vector by alpha: {self.alpha}")
|
|
268
|
+
new_merged_tv = state_dict_mul(state_dict=new_merged_tv, scalar=self.alpha)
|
|
269
|
+
|
|
270
|
+
# Phase 4: Prepare individual transformed models if requested
|
|
271
|
+
if self.return_single_task_models:
|
|
272
|
+
models = {}
|
|
273
|
+
# Create individual models by adding each transformed task vector to the pretrained base
|
|
274
|
+
for model_idx, model_name in enumerate(modelpool.model_names):
|
|
275
|
+
# Create a deep copy to avoid modifying the original pretrained model
|
|
276
|
+
model = deepcopy(pretrained_model)
|
|
277
|
+
# Apply the transformed task vector to get the individual model
|
|
278
|
+
model.load_state_dict(
|
|
279
|
+
state_dict_add(model.state_dict(), single_task_models[model_idx])
|
|
280
|
+
)
|
|
281
|
+
models[model_name] = model
|
|
282
|
+
|
|
283
|
+
# Phase 5: Create the final merged model by adding the merged task vector to pretrained model
|
|
284
|
+
# This produces a single model that combines capabilities from all input models
|
|
285
|
+
pretrained_model.load_state_dict(
|
|
286
|
+
state_dict_add(new_merged_tv, pretrained_model.state_dict())
|
|
287
|
+
)
|
|
288
|
+
|
|
289
|
+
# Phase 6: Return results based on the requested output format
|
|
290
|
+
if self.return_single_task_models:
|
|
291
|
+
# Include the final merged model in the dictionary of results
|
|
292
|
+
models["merged"] = pretrained_model
|
|
293
|
+
return models
|
|
294
|
+
else:
|
|
295
|
+
# Return only the merged model
|
|
296
|
+
return pretrained_model
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import collections
|
|
1
2
|
import math
|
|
2
|
-
from typing import List, Optional
|
|
3
|
+
from typing import Dict, List, Optional
|
|
3
4
|
|
|
4
5
|
import torch
|
|
6
|
+
from torch import Tensor, nn
|
|
5
7
|
|
|
6
8
|
from fusion_bench.utils.type import StateDictType
|
|
7
9
|
|
|
@@ -314,7 +316,8 @@ def compute_and_sum_svd_mem_reduction(
|
|
|
314
316
|
task_vectors: List[StateDictType],
|
|
315
317
|
exclude_keys: Optional[List[str]] = None,
|
|
316
318
|
accelerator: torch.device = "cuda" if torch.cuda.is_available() else "cpu",
|
|
317
|
-
|
|
319
|
+
return_single_task_models: bool = False,
|
|
320
|
+
):
|
|
318
321
|
"""
|
|
319
322
|
Computes the Singular Value Decomposition (SVD) for each vector in the task_vectors,
|
|
320
323
|
reduces the dimensionality of the vectors based on the sv_reduction factor, and concatenate
|
|
@@ -326,23 +329,25 @@ def compute_and_sum_svd_mem_reduction(
|
|
|
326
329
|
dictionary of vectors.
|
|
327
330
|
exclude_keys (list): A list of keys to exclude from the TSVM.
|
|
328
331
|
accelerator (torch.device): The device to use for the computation.
|
|
332
|
+
return_single_task_models (bool): Whether to return the single task models after the TSVM.
|
|
329
333
|
|
|
330
334
|
Returns:
|
|
331
335
|
dict: A dictionary containing the new vectors after SVD computation and merging.
|
|
332
336
|
"""
|
|
333
337
|
if exclude_keys is None:
|
|
334
338
|
exclude_keys = []
|
|
335
|
-
|
|
339
|
+
num_tasks = len(task_vectors)
|
|
340
|
+
sv_reduction = 1 / num_tasks
|
|
336
341
|
|
|
337
|
-
new_vector = {}
|
|
342
|
+
new_vector: Dict[str, Tensor] = {}
|
|
343
|
+
if return_single_task_models:
|
|
344
|
+
single_task_models = [{} for _ in range(num_tasks)]
|
|
338
345
|
for key in task_vectors[0]:
|
|
339
346
|
original_device = task_vectors[0][key].device
|
|
340
347
|
original_dtype = task_vectors[0][key].dtype
|
|
341
348
|
|
|
342
|
-
new_vector[key] = {}
|
|
343
349
|
for i, task_vector in enumerate(task_vectors):
|
|
344
|
-
vec = task_vector[key].to(accelerator)
|
|
345
|
-
|
|
350
|
+
vec = task_vector[key].to(device=accelerator, non_blocking=True)
|
|
346
351
|
if len(task_vector[key].shape) == 2 and key not in exclude_keys:
|
|
347
352
|
# at current, the SVD is not supported for half precision, so we need to convert to float32
|
|
348
353
|
if not (
|
|
@@ -350,13 +355,14 @@ def compute_and_sum_svd_mem_reduction(
|
|
|
350
355
|
):
|
|
351
356
|
vec = vec.to(dtype=torch.float32)
|
|
352
357
|
|
|
353
|
-
|
|
358
|
+
# vec = u @ torch.diag(s) @ vh
|
|
359
|
+
u, s, vh = torch.linalg.svd(vec, full_matrices=False)
|
|
354
360
|
|
|
355
361
|
if i == 0:
|
|
356
362
|
print(f"Computed SVD for {key}...")
|
|
357
363
|
sum_u = torch.zeros_like(u, device=accelerator)
|
|
358
364
|
sum_s = torch.zeros_like(s, device=accelerator)
|
|
359
|
-
|
|
365
|
+
sum_vh = torch.zeros_like(vh, device=accelerator)
|
|
360
366
|
reduced_index_s = int(s.shape[0] * sv_reduction)
|
|
361
367
|
|
|
362
368
|
# select only the first reduced_index_s columns of u and place them
|
|
@@ -367,10 +373,9 @@ def compute_and_sum_svd_mem_reduction(
|
|
|
367
373
|
:reduced_index_s
|
|
368
374
|
]
|
|
369
375
|
# select only the first reduced_index_s rows of v and place them
|
|
370
|
-
|
|
376
|
+
sum_vh[i * reduced_index_s : (i + 1) * reduced_index_s, :] = vh[
|
|
371
377
|
:reduced_index_s, :
|
|
372
378
|
]
|
|
373
|
-
|
|
374
379
|
else:
|
|
375
380
|
# if the vector is not a 2D tensor or is in exclude_keys, compute the mean
|
|
376
381
|
if i == 0:
|
|
@@ -379,22 +384,49 @@ def compute_and_sum_svd_mem_reduction(
|
|
|
379
384
|
new_vector[key] += (vec - new_vector[key]) / (i + 1)
|
|
380
385
|
|
|
381
386
|
if len(task_vector[key].shape) == 2 and key not in exclude_keys:
|
|
382
|
-
u_u, s_u,
|
|
383
|
-
|
|
387
|
+
u_u, s_u, vh_u = torch.linalg.svd(sum_u, full_matrices=False)
|
|
388
|
+
u_vh, s_vh, vh_vh = torch.linalg.svd(sum_vh, full_matrices=False)
|
|
384
389
|
|
|
385
390
|
new_vector[key] = torch.linalg.multi_dot(
|
|
386
391
|
(
|
|
387
392
|
u_u,
|
|
388
|
-
|
|
393
|
+
vh_u,
|
|
389
394
|
torch.diag(sum_s),
|
|
390
|
-
|
|
391
|
-
|
|
395
|
+
u_vh,
|
|
396
|
+
vh_vh,
|
|
392
397
|
)
|
|
393
398
|
)
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
399
|
+
new_vector[key] = new_vector[key].to(
|
|
400
|
+
device=original_device, dtype=original_dtype, non_blocking=True
|
|
401
|
+
)
|
|
402
|
+
if return_single_task_models:
|
|
403
|
+
reduced_index_s = int(sum_s.shape[0] * sv_reduction)
|
|
404
|
+
new_u = u_u @ vh_u
|
|
405
|
+
new_vh = u_vh @ vh_vh
|
|
406
|
+
for i in range(num_tasks):
|
|
407
|
+
single_task_models[i][key] = torch.linalg.multi_dot(
|
|
408
|
+
(
|
|
409
|
+
new_u[:, i * reduced_index_s : (i + 1) * reduced_index_s],
|
|
410
|
+
torch.diag(
|
|
411
|
+
sum_s[i * reduced_index_s : (i + 1) * reduced_index_s]
|
|
412
|
+
),
|
|
413
|
+
new_vh[i * reduced_index_s : (i + 1) * reduced_index_s, :],
|
|
414
|
+
)
|
|
415
|
+
).to(
|
|
416
|
+
device=original_device, dtype=original_dtype, non_blocking=True
|
|
417
|
+
)
|
|
418
|
+
else:
|
|
419
|
+
new_vector[key] = new_vector[key].to(
|
|
420
|
+
device=original_device, dtype=original_dtype, non_blocking=True
|
|
421
|
+
)
|
|
422
|
+
if return_single_task_models:
|
|
423
|
+
for i in range(num_tasks):
|
|
424
|
+
single_task_models[i][key] = new_vector[key].clone()
|
|
425
|
+
|
|
426
|
+
if not return_single_task_models:
|
|
427
|
+
return new_vector
|
|
428
|
+
else:
|
|
429
|
+
return new_vector, single_task_models
|
|
398
430
|
|
|
399
431
|
|
|
400
432
|
###############
|
|
@@ -9,7 +9,7 @@ from hydra import compose, initialize
|
|
|
9
9
|
from omegaconf import DictConfig, OmegaConf
|
|
10
10
|
|
|
11
11
|
from fusion_bench.utils import import_object, instantiate
|
|
12
|
-
from fusion_bench.utils.
|
|
12
|
+
from fusion_bench.utils.instantiate_utils import set_print_function_call
|
|
13
13
|
|
|
14
14
|
log = logging.getLogger(__name__)
|
|
15
15
|
|
|
@@ -11,7 +11,7 @@ from lightning.fabric.utilities.rank_zero import rank_zero_only
|
|
|
11
11
|
from omegaconf import DictConfig, OmegaConf
|
|
12
12
|
|
|
13
13
|
from fusion_bench.utils import import_object
|
|
14
|
-
from fusion_bench.utils.
|
|
14
|
+
from fusion_bench.utils.instantiate_utils import instantiate
|
|
15
15
|
|
|
16
16
|
if TYPE_CHECKING:
|
|
17
17
|
import lightning.fabric.loggers.tensorboard
|
|
@@ -172,3 +172,27 @@ class LightningFabricMixin:
|
|
|
172
172
|
return True
|
|
173
173
|
else:
|
|
174
174
|
return False
|
|
175
|
+
|
|
176
|
+
def log(self, name: str, value: Any, step: Optional[int] = None):
|
|
177
|
+
"""
|
|
178
|
+
Logs the metric to the fabric's logger.
|
|
179
|
+
"""
|
|
180
|
+
self.fabric.log(name, value, step=step)
|
|
181
|
+
|
|
182
|
+
def log_dict(self, metrics: dict, step: Optional[int] = None):
|
|
183
|
+
"""
|
|
184
|
+
Logs the metrics to the fabric's logger.
|
|
185
|
+
"""
|
|
186
|
+
self.fabric.log_dict(metrics, step=step)
|
|
187
|
+
|
|
188
|
+
def log_optimizer_lr(
|
|
189
|
+
self,
|
|
190
|
+
optimizer: torch.optim.Optimizer,
|
|
191
|
+
step: Optional[int] = None,
|
|
192
|
+
name_template: str = "train/lr_group_{0}",
|
|
193
|
+
):
|
|
194
|
+
"""
|
|
195
|
+
Logs the learning rate of the optimizer to the fabric's logger.
|
|
196
|
+
"""
|
|
197
|
+
for i, param_group in enumerate(optimizer.param_groups):
|
|
198
|
+
self.fabric.log(name_template.format(i), param_group["lr"], step=step)
|
|
@@ -4,13 +4,14 @@ from typing import Dict, Optional, Union
|
|
|
4
4
|
|
|
5
5
|
from omegaconf import OmegaConf
|
|
6
6
|
|
|
7
|
-
from fusion_bench.utils import instantiate
|
|
7
|
+
from fusion_bench.utils import import_object, instantiate
|
|
8
8
|
|
|
9
9
|
log = logging.getLogger(__name__)
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
class YAMLSerializationMixin:
|
|
13
13
|
_recursive_: bool = False
|
|
14
|
+
_config_key: Optional[str] = None
|
|
14
15
|
_config_mapping: Dict[str, str] = {
|
|
15
16
|
"_recursive_": "_recursive_",
|
|
16
17
|
}
|
|
@@ -99,7 +100,22 @@ class YAMLSerializationMixin:
|
|
|
99
100
|
BaseModelPool: The loaded model pool.
|
|
100
101
|
"""
|
|
101
102
|
config = OmegaConf.load(path)
|
|
102
|
-
|
|
103
|
+
if cls._config_key is not None and cls._config_key in config:
|
|
104
|
+
config = config[cls._config_key]
|
|
105
|
+
target_cls = import_object(config["_target_"])
|
|
106
|
+
if target_cls != cls:
|
|
107
|
+
log.warning(
|
|
108
|
+
f"The class {target_cls.__name__} is not the same as the class {cls.__name__}. "
|
|
109
|
+
f"Instantiating the class {target_cls.__name__} instead."
|
|
110
|
+
)
|
|
111
|
+
return instantiate(
|
|
112
|
+
config,
|
|
113
|
+
_recursive_=(
|
|
114
|
+
cls._recursive_
|
|
115
|
+
if config.get("_recursive_") is None
|
|
116
|
+
else config.get("_recursive_")
|
|
117
|
+
),
|
|
118
|
+
)
|
|
103
119
|
|
|
104
120
|
def to_config(self):
|
|
105
121
|
"""
|
|
@@ -29,6 +29,7 @@ class BaseModelPool(BaseYAMLSerializableModel, HydraConfigMixin):
|
|
|
29
29
|
"""
|
|
30
30
|
|
|
31
31
|
_program = None
|
|
32
|
+
_config_key = "modelpool"
|
|
32
33
|
_models: Union[DictConfig, Dict[str, nn.Module]]
|
|
33
34
|
_config_mapping = BaseYAMLSerializableModel._config_mapping | {
|
|
34
35
|
"_models": "models",
|