fusion-bench 0.2.16__py3-none-any.whl → 0.2.17__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. fusion_bench/method/adamerging/flan_t5_layer_wise_adamerging.py +1 -1
  2. fusion_bench/method/adamerging/gpt2_layer_wise_adamerging.py +1 -1
  3. fusion_bench/method/base_algorithm.py +1 -0
  4. fusion_bench/method/dawe/dawe_for_clip.py +1 -1
  5. fusion_bench/method/depth_upscaling/depth_upscaling_for_llama.py +3 -2
  6. fusion_bench/method/gossip/flan_t5_layer_wise_gossip.py +1 -1
  7. fusion_bench/method/pwe_moe/module.py +2 -7
  8. fusion_bench/method/simple_average.py +3 -2
  9. fusion_bench/method/task_singular_vector/TSVM.py +238 -25
  10. fusion_bench/method/task_singular_vector/utils/TSVM_utils.py +52 -20
  11. fusion_bench/mixins/hydra_config.py +1 -1
  12. fusion_bench/mixins/lightning_fabric.py +25 -1
  13. fusion_bench/mixins/serialization.py +18 -2
  14. fusion_bench/modelpool/base_pool.py +1 -0
  15. fusion_bench/modelpool/clip_vision/modelpool.py +21 -13
  16. fusion_bench/models/parameter_dict.py +6 -1
  17. fusion_bench/programs/fabric_fusion_program.py +9 -5
  18. fusion_bench/taskpool/base_pool.py +1 -0
  19. fusion_bench/taskpool/dummy.py +6 -4
  20. fusion_bench/utils/__init__.py +1 -1
  21. fusion_bench/utils/{instantiate.py → instantiate_utils.py} +3 -0
  22. fusion_bench/utils/pylogger.py +28 -0
  23. {fusion_bench-0.2.16.dist-info → fusion_bench-0.2.17.dist-info}/METADATA +3 -1
  24. {fusion_bench-0.2.16.dist-info → fusion_bench-0.2.17.dist-info}/RECORD +35 -31
  25. {fusion_bench-0.2.16.dist-info → fusion_bench-0.2.17.dist-info}/WHEEL +1 -1
  26. fusion_bench_config/fabric_model_fusion.yaml +2 -2
  27. fusion_bench_config/method/task_singular_vector/TaskSingularVectorMerging.yaml +2 -1
  28. fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_cars_and_dtd.yaml +16 -0
  29. fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_sun397_and_cars.yaml +16 -0
  30. fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_sun397_and_dtd.yaml +16 -0
  31. fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_sun397_cars_and_dtd.yaml +19 -0
  32. fusion_bench_config/taskpool/LMEvalHarnessTaskPool/lm_eval.yaml +0 -1
  33. {fusion_bench-0.2.16.dist-info → fusion_bench-0.2.17.dist-info}/entry_points.txt +0 -0
  34. {fusion_bench-0.2.16.dist-info → fusion_bench-0.2.17.dist-info}/licenses/LICENSE +0 -0
  35. {fusion_bench-0.2.16.dist-info → fusion_bench-0.2.17.dist-info}/top_level.txt +0 -0
@@ -3,6 +3,7 @@ from copy import deepcopy
3
3
  from typing import Optional, Union
4
4
 
5
5
  from datasets import load_dataset
6
+ from lightning.fabric.utilities import rank_zero_only
6
7
  from omegaconf import DictConfig, open_dict
7
8
  from torch import nn
8
9
  from torch.utils.data import Dataset
@@ -40,7 +41,8 @@ class CLIPVisionModelPool(BaseModelPool):
40
41
  def load_processor(self, *args, **kwargs) -> CLIPProcessor:
41
42
  assert self._processor is not None, "Processor is not defined in the config"
42
43
  if isinstance(self._processor, str):
43
- log.info(f"Loading `transformers.CLIPProcessor`: {self._processor}")
44
+ if rank_zero_only.rank == 0:
45
+ log.info(f"Loading `transformers.CLIPProcessor`: {self._processor}")
44
46
  processor = CLIPProcessor.from_pretrained(self._processor)
45
47
  else:
46
48
  processor = instantiate(self._processor, *args, **kwargs)
@@ -50,7 +52,8 @@ class CLIPVisionModelPool(BaseModelPool):
50
52
  model_config = self._models[model_name]
51
53
 
52
54
  if isinstance(model_config, str):
53
- log.info(f"Loading `transformers.CLIPModel`: {model_config}")
55
+ if rank_zero_only.rank == 0:
56
+ log.info(f"Loading `transformers.CLIPModel`: {model_config}")
54
57
  clip_model = CLIPModel.from_pretrained(model_config, *args, **kwargs)
55
58
  return clip_model
56
59
  else:
@@ -102,10 +105,12 @@ class CLIPVisionModelPool(BaseModelPool):
102
105
  ):
103
106
  model = self._models[model_name_or_config]
104
107
  if isinstance(model, str):
105
- log.info(f"Loading `transformers.CLIPVisionModel`: {model}")
108
+ if rank_zero_only.rank == 0:
109
+ log.info(f"Loading `transformers.CLIPVisionModel`: {model}")
106
110
  return CLIPVisionModel.from_pretrained(model, *args, **kwargs)
107
111
  if isinstance(model, nn.Module):
108
- log.info(f"Returning existing model: {model}")
112
+ if rank_zero_only.rank == 0:
113
+ log.info(f"Returning existing model: {model}")
109
114
  return model
110
115
 
111
116
  # If the model is not a string, we use the default load_model method
@@ -114,9 +119,10 @@ class CLIPVisionModelPool(BaseModelPool):
114
119
  def load_train_dataset(self, dataset_name: str, *args, **kwargs):
115
120
  dataset_config = self._train_datasets[dataset_name]
116
121
  if isinstance(dataset_config, str):
117
- log.info(
118
- f"Loading train dataset using `datasets.load_dataset`: {dataset_config}"
119
- )
122
+ if rank_zero_only.rank == 0:
123
+ log.info(
124
+ f"Loading train dataset using `datasets.load_dataset`: {dataset_config}"
125
+ )
120
126
  dataset = load_dataset(dataset_config, split="train")
121
127
  else:
122
128
  dataset = super().load_train_dataset(dataset_name, *args, **kwargs)
@@ -125,9 +131,10 @@ class CLIPVisionModelPool(BaseModelPool):
125
131
  def load_val_dataset(self, dataset_name: str, *args, **kwargs):
126
132
  dataset_config = self._val_datasets[dataset_name]
127
133
  if isinstance(dataset_config, str):
128
- log.info(
129
- f"Loading validation dataset using `datasets.load_dataset`: {dataset_config}"
130
- )
134
+ if rank_zero_only.rank == 0:
135
+ log.info(
136
+ f"Loading validation dataset using `datasets.load_dataset`: {dataset_config}"
137
+ )
131
138
  dataset = load_dataset(dataset_config, split="validation")
132
139
  else:
133
140
  dataset = super().load_val_dataset(dataset_name, *args, **kwargs)
@@ -136,9 +143,10 @@ class CLIPVisionModelPool(BaseModelPool):
136
143
  def load_test_dataset(self, dataset_name: str, *args, **kwargs):
137
144
  dataset_config = self._test_datasets[dataset_name]
138
145
  if isinstance(dataset_config, str):
139
- log.info(
140
- f"Loading test dataset using `datasets.load_dataset`: {dataset_config}"
141
- )
146
+ if rank_zero_only.rank == 0:
147
+ log.info(
148
+ f"Loading test dataset using `datasets.load_dataset`: {dataset_config}"
149
+ )
142
150
  dataset = load_dataset(dataset_config, split="test")
143
151
  else:
144
152
  dataset = super().load_test_dataset(dataset_name, *args, **kwargs)
@@ -66,7 +66,9 @@ class ParameterDictModel(nn.Module):
66
66
  super().__init__()
67
67
  if parameters is not None:
68
68
  for name, param in parameters.items():
69
- assert isinstance(param, nn.Parameter), f"{name} is not a nn.Parameter"
69
+ assert isinstance(
70
+ param, (nn.Parameter, nn.Buffer)
71
+ ), f"{name} is not a nn.Parameter or nn.Buffer"
70
72
  _set_attr(
71
73
  self,
72
74
  name.split("."),
@@ -114,3 +116,6 @@ class ParameterDictModel(nn.Module):
114
116
 
115
117
  def values(self) -> List[nn.Parameter]:
116
118
  return [self[name] for name in self.keys()]
119
+
120
+ def __len__(self):
121
+ return len(self.keys())
@@ -9,7 +9,7 @@ from omegaconf import DictConfig, OmegaConf
9
9
  from torch import nn
10
10
  from tqdm.auto import tqdm
11
11
 
12
- import fusion_bench.utils.instantiate
12
+ import fusion_bench.utils.instantiate_utils
13
13
  from fusion_bench.method import BaseAlgorithm
14
14
  from fusion_bench.mixins import LightningFabricMixin
15
15
  from fusion_bench.modelpool import BaseModelPool
@@ -19,8 +19,9 @@ from fusion_bench.utils import import_object, instantiate, timeit_context
19
19
  from fusion_bench.utils.hydra_utils import get_hydra_output_dir
20
20
  from fusion_bench.utils.json import print_json
21
21
  from fusion_bench.utils.rich_utils import print_bordered, print_config_tree
22
+ from fusion_bench.utils.pylogger import getRankZeroLogger
22
23
 
23
- log = logging.getLogger(__name__)
24
+ log = getRankZeroLogger(__name__)
24
25
 
25
26
 
26
27
  class FabricModelFusionProgram(
@@ -66,8 +67,8 @@ class FabricModelFusionProgram(
66
67
  self.merged_model_save_kwargs = merged_model_save_kwargs
67
68
  self.fast_dev_run = fast_dev_run
68
69
  self.seed = seed
70
+ fusion_bench.utils.instantiate_utils.PRINT_FUNCTION_CALL = print_function_call
69
71
  super().__init__(**kwargs)
70
- fusion_bench.utils.instantiate.PRINT_FUNCTION_CALL = print_function_call
71
72
 
72
73
  if print_config:
73
74
  print_config_tree(
@@ -252,13 +253,16 @@ class FabricModelFusionProgram(
252
253
  if self.taskpool is not None:
253
254
  report = self.evaluate_merged_model(self.taskpool, merged_model)
254
255
  try:
255
- print_json(report, print_type=False)
256
+ if rank_zero_only.rank == 0:
257
+ print_json(report, print_type=False)
256
258
  except Exception as e:
257
259
  log.warning(f"Failed to pretty print the report: {e}")
258
- print(report)
260
+ log.info(report)
259
261
  if self.report_save_path is not None:
260
262
  # save report (Dict) to a file
261
263
  # if the directory of `save_report` does not exists, create it
264
+ if "{log_dir}" in self.report_save_path and self.log_dir is not None:
265
+ self.report_save_path = self.report_save_path.format(log_dir=self.log_dir)
262
266
  os.makedirs(os.path.dirname(self.report_save_path), exist_ok=True)
263
267
  json.dump(report, open(self.report_save_path, "w"))
264
268
  else:
@@ -5,6 +5,7 @@ from fusion_bench.mixins import BaseYAMLSerializableModel
5
5
 
6
6
  class BaseTaskPool(BaseYAMLSerializableModel):
7
7
  _program = None
8
+ _config_key = "taskpool"
8
9
 
9
10
  @abstractmethod
10
11
  def evaluate(self, model, *args, **kwargs):
@@ -10,6 +10,7 @@ from fusion_bench.models.separate_io import separate_save
10
10
  from fusion_bench.taskpool.base_pool import BaseTaskPool
11
11
  from fusion_bench.utils import timeit_context
12
12
  from fusion_bench.utils.parameters import count_parameters, print_parameters
13
+ from lightning.pytorch.utilities import rank_zero_only
13
14
 
14
15
 
15
16
  def get_model_summary(model: nn.Module) -> dict:
@@ -49,10 +50,11 @@ class DummyTaskPool(BaseTaskPool):
49
50
  Args:
50
51
  model: The model to evaluate.
51
52
  """
52
- print_parameters(model, is_human_readable=True)
53
+ if rank_zero_only.rank == 0:
54
+ print_parameters(model, is_human_readable=True)
53
55
 
54
- if self.model_save_path is not None:
55
- with timeit_context(f"Saving the model to {self.model_save_path}"):
56
- separate_save(model, self.model_save_path)
56
+ if self.model_save_path is not None:
57
+ with timeit_context(f"Saving the model to {self.model_save_path}"):
58
+ separate_save(model, self.model_save_path)
57
59
 
58
60
  return get_model_summary(model)
@@ -7,7 +7,7 @@ from .cache_utils import *
7
7
  from .devices import *
8
8
  from .dtype import parse_dtype
9
9
  from .fabric import seed_everything_by_time
10
- from .instantiate import instantiate, is_instantiable
10
+ from .instantiate_utils import instantiate, is_instantiable
11
11
  from .misc import *
12
12
  from .packages import import_object
13
13
  from .parameters import *
@@ -41,6 +41,9 @@ def set_print_function_call(value: bool):
41
41
  finally:
42
42
  PRINT_FUNCTION_CALL = old_value
43
43
 
44
+ def set_print_function_call_permeanent(value: bool):
45
+ global PRINT_FUNCTION_CALL
46
+ PRINT_FUNCTION_CALL = value
44
47
 
45
48
  def is_instantiable(config: Union[DictConfig, Any]) -> bool:
46
49
  if OmegaConf.is_dict(config):
@@ -53,3 +53,31 @@ class RankedLogger(logging.LoggerAdapter):
53
53
  self.logger.log(level, msg, *args, **kwargs)
54
54
  elif current_rank == rank:
55
55
  self.logger.log(level, msg, *args, **kwargs)
56
+
57
+
58
+ class RankZeroLogger(logging.Logger):
59
+ """A logger that logs only on rank zero and works just like logging.Logger"""
60
+
61
+ @rank_zero_only
62
+ def _log(self, *args, **kwargs):
63
+ if "stacklevel" in kwargs:
64
+ kwargs["stacklevel"] += 1
65
+ return super()._log(*args, **kwargs)
66
+
67
+ def is_global_zero(self):
68
+ return rank_zero_only.rank == 0
69
+
70
+
71
+ RankZeroLogger.manager = logging.Manager(RankZeroLogger.root)
72
+ RankZeroLogger.manager.setLoggerClass(RankZeroLogger)
73
+
74
+
75
+ def getRankZeroLogger(name=None):
76
+ """
77
+ Return a logger with the specified name, creating it if necessary.
78
+
79
+ If no name is specified, return the root logger.
80
+ """
81
+ if not name or isinstance(name, str) and name == logging.root.name:
82
+ return logging.root
83
+ return RankZeroLogger.manager.getLogger(name)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fusion_bench
3
- Version: 0.2.16
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:
@@ -43,19 +43,19 @@ fusion_bench/dataset/llama/ultrachat.py,sha256=Go7WvrDAYnm184fdazHGRYLbSY6Xd7jrE
43
43
  fusion_bench/dataset/llama/wikitext.py,sha256=9ZHR-nMfXRumd3o-PIj3n7B83YlVeqpGkZ2zJs2B-9Y,2883
44
44
  fusion_bench/dataset/llama/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
45
45
  fusion_bench/method/__init__.py,sha256=xry6_2sAWT_qeNFgcLTE7lBWWWjGhuljrJFeWL1NBXg,7552
46
- fusion_bench/method/base_algorithm.py,sha256=5dutGZfPqNhO8F8FOlo3UFR91TZu2Xj7O0pTB40JvWo,1135
46
+ fusion_bench/method/base_algorithm.py,sha256=UuITuGnSskcKEwUVINuPoWJUwqGm9AIgyQIOCu8BMks,1162
47
47
  fusion_bench/method/dummy.py,sha256=hb1y6LR_geRZ5eRgGwt5zJUcHYorCeIbs5i76CvurUc,1031
48
48
  fusion_bench/method/ensemble.py,sha256=rGxvJTeorfcBuE_e0XO-0-MAc9un7ZCC46ikKGuAcN4,3077
49
49
  fusion_bench/method/model_recombination.py,sha256=2tviqmYSPOL0_Ktv8_gt_YzQ4tyCANHxXquUot_3Cgo,5360
50
- fusion_bench/method/simple_average.py,sha256=2ghcL1E-eLbIYDCHYCoR9WtiYSb1GvFAH163OTTTEEI,4481
50
+ fusion_bench/method/simple_average.py,sha256=vVzlfdf0mPHeY3VeOLrcWI4sWoLBW0gaX0lusjePVyQ,4539
51
51
  fusion_bench/method/ada_svd/__init__.py,sha256=4XzQbbvE9HI3NtEmEFvo8iC3ds_85vJXe7P7qJfL7kk,77
52
52
  fusion_bench/method/ada_svd/clip_vision.py,sha256=XvXgIdlShAREMsubRgphyycGrhWqSnuVBo6S9bNYSd0,12581
53
53
  fusion_bench/method/adamerging/__init__.py,sha256=nt0saBT_3bqghk-pINQ-XCWm9UWwSZllu4R1sDuAJAA,376
54
54
  fusion_bench/method/adamerging/clip_layer_wise_adamerging.py,sha256=UUSldRPBxHVOfkMM7ZwqZay5Wjc6XQ3Vy9PgyqV_TZo,1311
55
55
  fusion_bench/method/adamerging/clip_task_wise_adamerging.py,sha256=rREVf8SKlQ9SiWdUWOYo91b1RW9PnNJxsW8MxHs_MUo,6095
56
56
  fusion_bench/method/adamerging/entropy_loss.py,sha256=ZeVe0Hq1PaMfppLqDbB0MOscZUZRNh4CALrvt8pmQC0,736
57
- fusion_bench/method/adamerging/flan_t5_layer_wise_adamerging.py,sha256=osc6ueCgiS4u8KUV_sZkHGFBYC8dThnTSp4NB0wkQIg,12915
58
- fusion_bench/method/adamerging/gpt2_layer_wise_adamerging.py,sha256=jTGUbhJCV1pcJ5k5jVeAhmtHdbHK5LlEfBhF-86xWjY,13773
57
+ fusion_bench/method/adamerging/flan_t5_layer_wise_adamerging.py,sha256=c_19Q5zXlFHM4PNH3XdijO7Mf10TOuyWG0RwjPeuygM,12921
58
+ fusion_bench/method/adamerging/gpt2_layer_wise_adamerging.py,sha256=4wt0K_99Go7Z9aQDXzjF42VPmvV-XTVPe4SyopfwYIE,13779
59
59
  fusion_bench/method/adamerging/layer_wise_adamerging.py,sha256=6d1vWuyiAQDh_kLLrZixPyTAxovOjfq-2T2hgLGXCWg,9734
60
60
  fusion_bench/method/adamerging/llama_adamerging.py,sha256=DHm83VaaxxHFaeFY2qbxgO1Ub3Fiqawy4p5AqCkmEp4,13112
61
61
  fusion_bench/method/adamerging/min_norm_solvers.py,sha256=a7n2X0BE_YajlaUygyHV0yqW6-x5dTyZ5V0mt_Q69qE,8291
@@ -78,12 +78,12 @@ fusion_bench/method/dare/task_arithmetic.py,sha256=Seno_2BhuogdRxXOni8alnHG-fdW1
78
78
  fusion_bench/method/dare/ties_merging.py,sha256=aAIMdIpsBs0vnSKGhqDTFKEChBTmcvczt9JmK_Dr4D4,3424
79
79
  fusion_bench/method/dare/utils.py,sha256=TSZMZidnwqVHG36A0UI9Wz_rXNvojXnww7_E7-YfeRI,2888
80
80
  fusion_bench/method/dawe/__init__.py,sha256=JrhtX-qAHymU8z44QtFMxtM5Qx5iH1Kxo5cptH0KNgo,83
81
- fusion_bench/method/dawe/dawe_for_clip.py,sha256=bF4U0_skxyPR-5RCdGQCgudqhC1Hj2x62w_xUibFg1c,9828
81
+ fusion_bench/method/dawe/dawe_for_clip.py,sha256=sbDLQDZtTUup-EL8HXU5X8QHfyAfSdjz2AdR9Gp3HDg,9834
82
82
  fusion_bench/method/dawe/warppers/__init__.py,sha256=pxpWh6S3Trfno00ECJc_hpkz5VxKzL7lkqd07F2Ermk,530
83
83
  fusion_bench/method/dawe/warppers/dawe_model.py,sha256=Z1L91vu3UzEHWrHs9i9UbwZpn6ewjrcstw_fOtQPl1g,9856
84
84
  fusion_bench/method/depth_upscaling/__init__.py,sha256=heVUh4tTzK427A10RFknf9eHwoZ1cpn1_0xyNXRU7YM,135
85
85
  fusion_bench/method/depth_upscaling/depth_upscaling.py,sha256=pf08zEae-WaWM4oUwn6_Dm65K59wf9AbTQ5iZU0ydsc,3256
86
- fusion_bench/method/depth_upscaling/depth_upscaling_for_llama.py,sha256=bSMhnrG-JtR0JBnOFy7aWAhD6A-YBB84qm_YnWjc7pA,2180
86
+ fusion_bench/method/depth_upscaling/depth_upscaling_for_llama.py,sha256=WkycELr_Rml_R2COphOnhGYy_Klw7Mr-hGuiPMnh24s,2218
87
87
  fusion_bench/method/doge_ta/__init__.py,sha256=dixO0i5fmhgC_W2_DAQ4PzYnkMCZX5D8tDz84soqQ-Q,59
88
88
  fusion_bench/method/doge_ta/clip_layer_wise_adamerging.py,sha256=UUSldRPBxHVOfkMM7ZwqZay5Wjc6XQ3Vy9PgyqV_TZo,1311
89
89
  fusion_bench/method/doge_ta/doge_ta.py,sha256=ec0qIq3F72nhbCVlfqdk1PYFM7QIlfMofeVFVvmDKiE,13785
@@ -100,7 +100,7 @@ fusion_bench/method/gossip/__init__.py,sha256=3b7mB4wl7weA6JtPmEeHHG2Zb_MWaOt-i1
100
100
  fusion_bench/method/gossip/clip_layer_wise_gossip.py,sha256=UPiy6FlCMDZEz7pBOopwr5w9cn_flp8XSAfYbBGpA7g,1207
101
101
  fusion_bench/method/gossip/clip_task_wise_gossip.py,sha256=yY-fHBynWgkac5J61V9xI1SNUv6k2z1SgvmNb13l2jg,7063
102
102
  fusion_bench/method/gossip/entropy_loss.py,sha256=ZeVe0Hq1PaMfppLqDbB0MOscZUZRNh4CALrvt8pmQC0,736
103
- fusion_bench/method/gossip/flan_t5_layer_wise_gossip.py,sha256=q9rCy20ljoTfLz7QJexILUnTHAcZ7AuZMlSJiw58108,15668
103
+ fusion_bench/method/gossip/flan_t5_layer_wise_gossip.py,sha256=H4KpVkZtcm90GCWodHNJYChxUj3beXn3GajqI4iNiYw,15674
104
104
  fusion_bench/method/gossip/layer_wise_gossip.py,sha256=btcQxAZ6LepJMGPbsUsypAOlmGfUjKu2GfeTg_BfaVw,17173
105
105
  fusion_bench/method/gossip/min_norm_solvers.py,sha256=a7n2X0BE_YajlaUygyHV0yqW6-x5dTyZ5V0mt_Q69qE,8291
106
106
  fusion_bench/method/gossip/task_wise_gossip.py,sha256=auHdJ-EXAXSHBTw5VA6JlavvShoi-n_HkraZ3JMcLUU,9227
@@ -158,7 +158,7 @@ fusion_bench/method/pruning/wanda_utils/prune_opt.py,sha256=onfIRAF0yFi9b1GNDS9D
158
158
  fusion_bench/method/pruning/wanda_utils/sparsegpt.py,sha256=V1FEIGgSFbPT5YPrYXCWhz1lLXaor6RwfNund7EEIWM,5434
159
159
  fusion_bench/method/pwe_moe/__init__.py,sha256=gZUhbqCtCeVSip3nyt5rNSrEDqtByl2ILcWrD4Z3jx4,124
160
160
  fusion_bench/method/pwe_moe/clip_pwe_moe.py,sha256=eXNeHfukHFwdSQxNGITmKe6DWjPPr58KQrgtZbPgrjo,11274
161
- fusion_bench/method/pwe_moe/module.py,sha256=l7heyHbdbFh0w9X6O3mB6AjL0ipJEF82DvwApESQCEc,12335
161
+ fusion_bench/method/pwe_moe/module.py,sha256=mQbVbE6y-Q2zxifF1_k13UGGx_I725V9aUkRumjIDHI,12251
162
162
  fusion_bench/method/pwe_moe/openclip_pwe_moe.py,sha256=xhQsFt8FwK_obd3u3FQsBpH1o5XaLCsHohjWOEd7lJc,18354
163
163
  fusion_bench/method/pwe_moe/utils.py,sha256=K9BeVMrhYv7GNlJO76eoQbkI1dOO7XF18yK06WUh9ZA,1336
164
164
  fusion_bench/method/pwe_moe/phn/__init__.py,sha256=PXX-hb_bd7GdtLHcAcnGGsW_Wbg8g2YlRZMTCk3axUw,78
@@ -195,10 +195,10 @@ fusion_bench/method/tall_mask/utils.py,sha256=Wlp8WcPwR_lCaBIZ9rgG6ewLfSzz3G7kPk
195
195
  fusion_bench/method/task_arithmetic/__init__.py,sha256=pSx_NV5Ra_6UXpyYWCi6ANQoAnEtymZt_X1dDN9wT4Y,96
196
196
  fusion_bench/method/task_arithmetic/task_arithmetic.py,sha256=qhOLb0kXDdgHCgqOAASwwXDTK0gnaiUVI1N72ZJLUyI,5617
197
197
  fusion_bench/method/task_singular_vector/TSVC.py,sha256=yn4SrZNvtA6PoGYJmbmtNeDyDbGnRCgfZ7ZCg914AZU,410
198
- fusion_bench/method/task_singular_vector/TSVM.py,sha256=H5RzZlQQeF4kZFjuxkz8v3gyVKS3iKPgqNnitKQzbXk,2787
198
+ fusion_bench/method/task_singular_vector/TSVM.py,sha256=Sdgoi8xT0Hl19pmGdIuUS3D1DsVqSVD-Hipp-Sj_HoA,13652
199
199
  fusion_bench/method/task_singular_vector/__init__.py,sha256=WMucyl9pu_Ev2kcdrfT4moqMMbzD7hHQVFME5Su5jMA,298
200
200
  fusion_bench/method/task_singular_vector/utils/TSVC_utils.py,sha256=FytKbal48EW6iGIA-2zV7QSVbYTVflXr4Mr56q0W75k,2286
201
- fusion_bench/method/task_singular_vector/utils/TSVM_utils.py,sha256=dsTMQ15zFJ1MPqDOt2TJ01O9Bwq_klyG9xL9hRD2aI0,27521
201
+ fusion_bench/method/task_singular_vector/utils/TSVM_utils.py,sha256=WGM8wCICdGsNVpceHamQytZi-q4wzrCmGGQCYOm67mI,29146
202
202
  fusion_bench/method/task_singular_vector/utils/__init__.py,sha256=Pgthb9Ld1x0Qis1wKWottwgzlBcyuzByFZCMIoI6Fys,240
203
203
  fusion_bench/method/ties_merging/__init__.py,sha256=9u9teBbdILbupr9jbwk-qCXSzssCssC5FUV2BfpyZM4,67
204
204
  fusion_bench/method/ties_merging/ties_merging.py,sha256=GAlomW4oTePXd57TvogQXoliNnEto1_QVXVGVrU1QNc,5807
@@ -227,17 +227,17 @@ fusion_bench/metrics/text_to_image_generation/pickscore_scorer.py,sha256=aSWzl8k
227
227
  fusion_bench/mixins/__init__.py,sha256=8wUBjN03Pfs1aHrwvnBioqVIuPNwi50hJgUlfLoOFeY,1113
228
228
  fusion_bench/mixins/clip_classification.py,sha256=2Q20bEfRcRx9cg79ubCVpsey3TtpWa8jxk-N_JZVueY,10162
229
229
  fusion_bench/mixins/fabric_training.py,sha256=ZmycEhCaNCgVi5oM9m0q6msxgk3quowmFvDAcvskFrg,13017
230
- fusion_bench/mixins/hydra_config.py,sha256=WeluM5Qeaoh31mvf9bJL-hRpS2CwNEtVXRMxnBTnL80,1536
231
- fusion_bench/mixins/lightning_fabric.py,sha256=6S1-rV6ItNQDSu7GM4qB99s8rnNXdO4PZDiQI4w0-DU,6593
230
+ fusion_bench/mixins/hydra_config.py,sha256=upAUOQVygdwIe8RA-zgZgihM9q6n-7QDV7Ar_Y4Gzhw,1542
231
+ fusion_bench/mixins/lightning_fabric.py,sha256=Vuu71VVvyqf7aaCXVWwIgWySMoUCIplDCAA-UUOcKmo,7401
232
232
  fusion_bench/mixins/openclip_classification.py,sha256=O45HzgLXNvlQr5RVpfIGsYdIQ0tY5g_68KB0MTqsZWU,290
233
233
  fusion_bench/mixins/rich_live.py,sha256=j7wNgrgwfdpl6nCXZGF_2DLtNq2aqCb_52Qhe9QSltc,495
234
- fusion_bench/mixins/serialization.py,sha256=9W50JUcM6wgFlaE9H29mATLLVobYniSDxg94FfY25w0,4049
234
+ fusion_bench/mixins/serialization.py,sha256=lulNZuBl-6H3tEJPS0_M746eoUgvESNXNiOO3dyzEWc,4679
235
235
  fusion_bench/mixins/simple_profiler.py,sha256=czWMl6p9PoxbQ5A8Uifwleaq5QPGEn0qMc8MXu9dSZM,2200
236
236
  fusion_bench/mixins/optim/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
237
237
  fusion_bench/mixins/optim/adamw_with_warmup.py,sha256=qTnRl8GVVIfaplOFBHnJFuZUbxPZRWRGHGNzm_EDhDE,1421
238
238
  fusion_bench/modelpool/PeftModelForSeq2SeqLM.py,sha256=rxPKTTWno3KAcTTEfydPpXx1b0EJa8PLbqrberweFF8,2108
239
239
  fusion_bench/modelpool/__init__.py,sha256=Oh21MYHCNguLQYFrQXEsNhqr8vNAXUG7jS-Rwv9Qhec,1510
240
- fusion_bench/modelpool/base_pool.py,sha256=KCNRVirODjssWZWswkC63gjcBhIbx9k_ub9h9JV4l2o,9089
240
+ fusion_bench/modelpool/base_pool.py,sha256=FrPjnA_L1Bj3YkHfxGo-zVrOrqpLJDRacD58sKa4Jmo,9119
241
241
  fusion_bench/modelpool/huggingface_automodel.py,sha256=OJ6EyYyjNv1_Bhjn-zli-e__BJ0xVa4Fx9lhXVb-DJo,552
242
242
  fusion_bench/modelpool/huggingface_gpt2_classification.py,sha256=j8nicVwtoLXY4RPE2dcepeEB3agBKkkH-xA3yMj1czw,2014
243
243
  fusion_bench/modelpool/lazy_state_dict_pool.py,sha256=HtEA85rqSCHfsIddI5sKDcZf5kSuHNwrb8fF1TUSTr0,652
@@ -245,7 +245,7 @@ fusion_bench/modelpool/nyuv2_modelpool.py,sha256=btuXmYxwfjI6MnGakhoOf53Iyb9fxYH
245
245
  fusion_bench/modelpool/causal_lm/__init__.py,sha256=F432-aDIgAbUITj4GNZS9dgUKKhaDMCbTeHB-9MecaQ,99
246
246
  fusion_bench/modelpool/causal_lm/causal_lm.py,sha256=fO8lF8YWwoe43sVVOqHW9Ike7x-924-I6QQgZqx9EgA,6505
247
247
  fusion_bench/modelpool/clip_vision/__init__.py,sha256=3b9gN2bWUsoA1EmpitnIMnIlX7nklxbkn4WJ0QJtS2c,43
248
- fusion_bench/modelpool/clip_vision/modelpool.py,sha256=JH1wLdWefvE242SYpXTnoSLkKX-YcadnidWd2bo8tWQ,5486
248
+ fusion_bench/modelpool/clip_vision/modelpool.py,sha256=ADgzslXwYd95x42V26XvgS09WEKGfhH_AYuQmWKdT0w,5887
249
249
  fusion_bench/modelpool/openclip_vision/__init__.py,sha256=QDmAitKqUwRygN9QncdS_kGWZdfTKL4uUifC8xh9c10,47
250
250
  fusion_bench/modelpool/openclip_vision/modelpool.py,sha256=2MieB4PMvg85DaiYu49m3BzuBjib1xozJHTpYyHhRTs,11102
251
251
  fusion_bench/modelpool/seq2seq_lm/__init__.py,sha256=FnfSMHcwNHDQEMdB2HdK4WphQ6MufsRLUkczuALjM4Q,57
@@ -255,7 +255,7 @@ fusion_bench/modelpool/seq_classification_lm/reward_model.py,sha256=NKf-eoei1GdU
255
255
  fusion_bench/modelpool/seq_classification_lm/seq_classification_lm.py,sha256=sIKAmGJwfrNSuWtxzJ_-ME0gQksEYY2y-jVt7P82Qs0,3434
256
256
  fusion_bench/models/__init__.py,sha256=TNOEH_2yAQP51m9mdWepNEf9VGUZgDthtgXbs4rhb4M,100
257
257
  fusion_bench/models/hf_clip.py,sha256=056UHeSjKKDYXg-o7CC2zsx4fC9R6IBkPGI8IFhWTNw,7291
258
- fusion_bench/models/parameter_dict.py,sha256=lkVaK6xInqHoQ3_N6zx8CNKH4dnf8AP8H9xAY6ds6lg,3515
258
+ fusion_bench/models/parameter_dict.py,sha256=RBAXZ-PFLxy3eHxQqWLEvjKIR1uTHBWdKP0XXMNGmQg,3635
259
259
  fusion_bench/models/rankone_moe.py,sha256=aY8IDM-ct7qKYH8ukBUsa_VDkDgGNtCqyNtNKlDTUTc,12046
260
260
  fusion_bench/models/separate_io.py,sha256=5AJlCxkHdVVffITnIRlF3ZIaKLRWDhJESVQN1lX-ZhU,3835
261
261
  fusion_bench/models/sparse_we_moe.py,sha256=b-yIeCsl2rz0i7BP9g_fqCEam7KUNjNX_J8oyZV6MJ8,16509
@@ -326,7 +326,7 @@ fusion_bench/optim/lr_scheduler/utils/__init__.py,sha256=GfZk9VYL3cFE1Qy2xQpGc1G
326
326
  fusion_bench/optim/lr_scheduler/utils/visualization.py,sha256=Ea1n9ElNizAe0iUnjynyfteuZunv2-UBMN_NfEU2imA,3490
327
327
  fusion_bench/programs/__init__.py,sha256=oGoRp2TMI6ELxyfkeTg2h27hZJEDz9x31AsmvwvNvJw,508
328
328
  fusion_bench/programs/base_program.py,sha256=0dX_KcMWASo53pr-ldzfUBWIjEXy6oeDWZBrfc7FIk8,195
329
- fusion_bench/programs/fabric_fusion_program.py,sha256=lzSkoCb8L_FKzl0urQqOLTT1VXqV721mjjlJgdm3zKM,13112
329
+ fusion_bench/programs/fabric_fusion_program.py,sha256=r-CuvS_OxADXjQgqNm2E_poSvIx1GCMjcyRCMWrwU1w,13427
330
330
  fusion_bench/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
331
331
  fusion_bench/scripts/cli.py,sha256=hw32XtmixFxYXwgAY7iRBMzma_XQjdf_FxPiXKL6dIc,1154
332
332
  fusion_bench/scripts/imgui.py,sha256=r9Glbfbwu3JCsX9TKQFwcHarvwA_G7ff0jWBUPW1S1U,7613
@@ -335,8 +335,8 @@ fusion_bench/scripts/webui.py,sha256=ryA-2leSnHcYA88tTAYzJGDhiljbi0vl1Fibejzndlw
335
335
  fusion_bench/scripts/clip/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
336
336
  fusion_bench/scripts/clip/convert_checkpoint.py,sha256=zncgRAhInFpJDSHIm3GO4F6BzgsdAQVj3LLmV7g-JiQ,1221
337
337
  fusion_bench/taskpool/__init__.py,sha256=-ltXMsS3jeGxa9vnhOyrbITOUtfNjLwkGPfS2mKDOdY,1312
338
- fusion_bench/taskpool/base_pool.py,sha256=Cbe3ZgJ34DWSDZeZEjlgqR0b84aM1i68D9-vomaooo8,852
339
- fusion_bench/taskpool/dummy.py,sha256=Di9JZO3XyDYn6wAGukrJMTnkS_NaxGTeQYo_3j1JD3Y,1675
338
+ fusion_bench/taskpool/base_pool.py,sha256=vNr_zLtDtFSwU4nwss8tRJ6Qh0Rx541Z0AL0L60iBTk,881
339
+ fusion_bench/taskpool/dummy.py,sha256=1xUDrzqtwd8APSXThoeseA_EfqHpEib9iCJu1cm2yeI,1783
340
340
  fusion_bench/taskpool/gpt2_text_classification.py,sha256=PCNdc2SNGUFGxJ0snmwrnjTdSwmDt9fs7Pe0eDjdvaw,6091
341
341
  fusion_bench/taskpool/nyuv2_taskpool.py,sha256=Y-TI-rzh9udCjX3FJ11ZbIG7CGrjDccGc-Ch1Ug6cRY,2059
342
342
  fusion_bench/taskpool/clip_vision/__init__.py,sha256=ItdyWYy2A5xQKzh1dXi9kbQTBigwkDDdP2EHDwhG9WI,276
@@ -389,7 +389,7 @@ fusion_bench/tasks/flan_t5_text_generation/glue_evaluation.py,sha256=-B1wqVGp3wZ
389
389
  fusion_bench/tasks/flan_t5_text_generation/glue_load_dataset.py,sha256=sVihXHbqwi8IlDpiIxzvmDv-Ob7WKvi23GIRYbBUKOc,1833
390
390
  fusion_bench/tasks/flan_t5_text_generation/glue_preprocessors.py,sha256=GhRmGmcJGF4oVgZQarsBtx8GNKrNEZUkrillNz3iBuY,13183
391
391
  fusion_bench/tasks/flan_t5_text_generation/glue_prompt_templates.py,sha256=mKMTXIr5o-BqS_Hvv1bbMvvjQLLeKNVw7BKS9qgQ8Dw,1890
392
- fusion_bench/utils/__init__.py,sha256=r4ahPkqUsZTSyP6-P6dhaE1CFl5ttbQ3A_w1YW4i_40,441
392
+ fusion_bench/utils/__init__.py,sha256=E_K0a1V761KJCn623tL23QpqcnngIcLYo_6WK8Y0Xtc,447
393
393
  fusion_bench/utils/auto.py,sha256=uACQLE62_kNyhl4BGduvcbyeTE61qXpIJx3Ccl8kh68,920
394
394
  fusion_bench/utils/cache_utils.py,sha256=rU8x4-RFUtaCZWKd4Kft_7xgPTr1bpXnqUDMkrIdpj8,1653
395
395
  fusion_bench/utils/data.py,sha256=L3aS2OwlpiXoILdPlo-j03gJh4s2LpAJw6fw9uY5G7c,6571
@@ -400,7 +400,7 @@ fusion_bench/utils/expr.py,sha256=zwHNrtIbOMnIChU-0ZI5qLbDva8zvHbizL-4F2TwM14,23
400
400
  fusion_bench/utils/fabric.py,sha256=X2B_QPT2kqDPceQo3tp4XYAKbBpIs07w94Je_h2_81w,355
401
401
  fusion_bench/utils/functools.py,sha256=7_tYJ2WD88_2DDuOOj5aZz3cYuslYH5tsVyIgCeLtmk,1318
402
402
  fusion_bench/utils/hydra_utils.py,sha256=TklUDKDEZlg4keI-TEZiqh4gFjr9-61Rt1RMlqkoSGk,1174
403
- fusion_bench/utils/instantiate.py,sha256=Q82pa96V5kKsci_D-Vvb6GWcUwjITqrjTzUGrf3MeBI,17407
403
+ fusion_bench/utils/instantiate_utils.py,sha256=57D8YP25OO-ArltOSsHDKtnNcA44m1yAq-1wKZc2YVI,17523
404
404
  fusion_bench/utils/json.py,sha256=sVCqbm9mmyHybiui-O57KFt_ULrjLtN2wipSo6VDvqE,2533
405
405
  fusion_bench/utils/lazy_imports.py,sha256=v5l9cpHXPMaz1IVBmB5oOqefYr9vA3XvP340xT7Wy18,2796
406
406
  fusion_bench/utils/lazy_state_dict.py,sha256=0KBd3j6A_T_9-m8t68tSDpQZB_MWk9-cwho3O_8PkXY,10150
@@ -408,7 +408,7 @@ fusion_bench/utils/misc.py,sha256=Rgec7eKcGIcp9BaFVdm2pzx0J-L8AyX5qWuiYNTGvTc,53
408
408
  fusion_bench/utils/packages.py,sha256=L64paDi1SmeT3gRvRV6LaqB8AeGdzIYWIRI31qSQbSk,2110
409
409
  fusion_bench/utils/parameters.py,sha256=2vs8vo2o-nRA9NOMOYFye-X8-aHQZoYe54tM6n0r0RE,11757
410
410
  fusion_bench/utils/path.py,sha256=hRA1CPHNnTYBUmzbftH77sHvn4aTuybEK5Tth1skP-k,531
411
- fusion_bench/utils/pylogger.py,sha256=a5tHfpEFbsdzw0vhQxt4BJ6CfTXaxyuwzoDFhyNy4KI,2468
411
+ fusion_bench/utils/pylogger.py,sha256=05gF2DNtdQG_Ldw029ufj4_IprBpciMVOznwpgaJUpI,3282
412
412
  fusion_bench/utils/rich_utils.py,sha256=B8DhAYuVp23pG6ZnnYrUhcL-ikHZoQeTNqlM7u4pwwU,5786
413
413
  fusion_bench/utils/set.py,sha256=_43ZvGKJ_BK9sUslsSNhi7xEfuAQuyj3vViImnGpnCY,134
414
414
  fusion_bench/utils/state_dict_arithmetic.py,sha256=iz5YYhMJpg2-lBLBY8E1onV4i_GkRhJOGn2DjhLBbYE,11390
@@ -422,10 +422,10 @@ fusion_bench/utils/plot/token_notebook.py,sha256=bsntXf46Zz_RavTxNiB9c3-KvHw7LFw
422
422
  fusion_bench/utils/strenum/__init__.py,sha256=id9ORi1uXrDxhbmVxitJ1KDwLS4H3AAwFpaK5h1cQzw,8531
423
423
  fusion_bench/utils/strenum/_name_mangler.py,sha256=o11M5-bURW2RBvRTYXFQIPNeqLzburdoWLIqk8X3ydw,3397
424
424
  fusion_bench/utils/strenum/_version.py,sha256=6JQRo9LcvODbCOeVFYQb9HNJ_J9XiG_Zbn8ws2A3BV8,18466
425
- fusion_bench-0.2.16.dist-info/licenses/LICENSE,sha256=nhnOJlw4CPuPVE0qvkGmxfFgHmKi-6nzXvTu8t0NUdg,1066
425
+ fusion_bench-0.2.17.dist-info/licenses/LICENSE,sha256=nhnOJlw4CPuPVE0qvkGmxfFgHmKi-6nzXvTu8t0NUdg,1066
426
426
  fusion_bench_config/README.md,sha256=Lc8YSBJ5oxf9KV5kKDivJ9LRyGuraGQPmBbgbdVA-j4,703
427
427
  fusion_bench_config/clip-vit-base-patch32_robustness_corrupted.yaml,sha256=7IxLQoLRz-sRWyV8Vqc5kQcmYE_9YQz2_77pmvAkum8,1207
428
- fusion_bench_config/fabric_model_fusion.yaml,sha256=5iPgaM8UOhuvBW2Hap_csst-eqlYRwb_lru8ngjrZ_g,948
428
+ fusion_bench_config/fabric_model_fusion.yaml,sha256=YwJx_aUXm4ca4_mVItKVUOesMvmBBRGudQIOqgc1EP8,974
429
429
  fusion_bench_config/llama_full_finetune.yaml,sha256=z7YPC6plyIqnMEngiK7sFvcVrppConhhqEpbGPpElQY,769
430
430
  fusion_bench_config/llama_magnitude_pruning.yaml,sha256=xFyDJpb8gyIjosteOpEW9eayONWhl0B763r1XmO-9w8,633
431
431
  fusion_bench_config/llama_model_fusion.yaml,sha256=KMMDFPAiiOU1vIMWw58FoMhi8-_SDImF4eqlg9ZoprY,586
@@ -617,7 +617,7 @@ fusion_bench_config/method/sparselo_pruning/llama_pcp_sparselo.yaml,sha256=prTEF
617
617
  fusion_bench_config/method/sparselo_pruning/llama_sparselo.yaml,sha256=Cmg8N4l--3C0qeSHG-HLOgjJZ954eWHoDNgRnx0pLK0,614
618
618
  fusion_bench_config/method/surgery/adamerging_surgery.yaml,sha256=tC0AUYbCfIpb2Icd8LKN5YJEi5LwNSGo-Gp4Xg7wBC4,826
619
619
  fusion_bench_config/method/tall_mask/task_arithmetic.yaml,sha256=Ma5zk9wNzjwsh3B2FwzMXAvIWH1JTr82Az7Kq-RauQQ,114
620
- fusion_bench_config/method/task_singular_vector/TaskSingularVectorMerging.yaml,sha256=21vs14DEf2qg7Tqm5wNnjkpsjTRJbVs8JGl4SlrijDM,168
620
+ fusion_bench_config/method/task_singular_vector/TaskSingularVectorMerging.yaml,sha256=jgRDs2J3f6628QVMEVeW5ShmyaChvQl8Ng3AiQbNbtE,202
621
621
  fusion_bench_config/method/trust_region/clip_task_arithmetic.yaml,sha256=-Ipc05TQbgg5VhJ_aKR_YY4dkpUbGZEd5P5teQI1CI8,196
622
622
  fusion_bench_config/method/wemoe/sparse_weight_ensembling_moe.yaml,sha256=mMVaFJWUZmIdhg0kVQY20i7cmgTMrOSgoSpmW7quRzc,993
623
623
  fusion_bench_config/method/wemoe/weight_ensembling_moe.yaml,sha256=OEv5yhyUCe5lXeT2PyXC49yrHXEM7i8SZDw6IQRDtAE,620
@@ -757,6 +757,7 @@ fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TALL16.y
757
757
  fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TALL18.yaml,sha256=gGVJbI9LqenrGlFL3OCIqUxpf8IGM5GaXajgi9qVe1Y,380
758
758
  fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TALL20.yaml,sha256=V-p1JLhNwILgR0F4i6l8oOEQvZcYxs3J0Ly0VeAJY48,380
759
759
  fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TALL20_model_only.yaml,sha256=xYr0g5mdv0wly5HkTcnLq5yG6Mjj78XB7fGaCTk5KEc,256
760
+ fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_cars_and_dtd.yaml,sha256=V93v7cjxF0ZPJj0wX76Q-hSNvolUaTtoeWuAImSU53g,524
760
761
  fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_generalization_exp1.yaml,sha256=2WtCV1cJEEK3R-t4Tf-YB1AIZl-d0FkE6C0CsUBm9fw,625
761
762
  fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_generalization_exp2.yaml,sha256=BmQ0JP8Oa5_V5pJ55nJS1xR-OIPmvySSqQ36l2jAB1w,625
762
763
  fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_individual.yaml,sha256=FeUppoZLOvjfsHt326aB2E9MT_b0yOkrKVBFZAkSVOI,337
@@ -765,6 +766,9 @@ fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_robustne
765
766
  fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_robustness_corrupted.yaml,sha256=txMh1k0O3Spusqewp7zV0N0L9e2fg87lviDEnNJSHGQ,900
766
767
  fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_single_finetuned.yaml,sha256=SBTyUX3wJwzdCTvZsW14FqaQP5r_nHPvusggGzP9P4o,148
767
768
  fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_single_task_projection.yaml,sha256=urlcrY5TEDOFJqYYmbaIY2Mi6_jIRdECnqo1gXWnPyU,390
769
+ fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_sun397_and_cars.yaml,sha256=kC_DbHgZoC6p2-26e-jtjMS9mxyHMT-_B684UNQ59vo,533
770
+ fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_sun397_and_dtd.yaml,sha256=BeF2ygrcElkvPlUo9LV9XxBO1Y75XxDSSS52cU-gNq4,503
771
+ fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_sun397_cars_and_dtd.yaml,sha256=Dl08CAHcqbUPZkOYTAycJ_clkAPvkDSpxPxsY0uz54o,591
768
772
  fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_svhn_and_mnist.yaml,sha256=fYthV8iwRvF-b4-OCIFW1Rud-BVoLx4Oo3DzVszfqek,175
769
773
  fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_two_tasks_control_task.yaml,sha256=5uw3lD-bdHNQ76osDb0SBnzsdWABw08HYtUkDG-jioI,477
770
774
  fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TA8.yaml,sha256=-Tt_YggxkuIGT4_q5FR16zPvW2wWhGJ5LL8omxvHjvw,380
@@ -850,12 +854,12 @@ fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_sun397
850
854
  fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_svhn.yaml,sha256=2AqMiNCRRunLIrssHvFzu1lUzOaQn8uOHM9yjrQq-_A,109
851
855
  fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip_rankone_wemoe_clip-vit-classification_TA8.yaml,sha256=DNm1LRlQS9KbukEl6oEZzWLizyaOBcYZ2r7L8ZQtnJc,434
852
856
  fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip_sparse_wemoe_clip-vit-classification_TA8.yaml,sha256=EjN3Pu1F_7EuZrk-geyL4qohqJ5-F2UFjWjj2V57ju0,433
853
- fusion_bench_config/taskpool/LMEvalHarnessTaskPool/lm_eval.yaml,sha256=45kSz44pcjTDCL3dnEECRMnN0kIaoWKUFZMFy5JJIyw,416
857
+ fusion_bench_config/taskpool/LMEvalHarnessTaskPool/lm_eval.yaml,sha256=3q-KMuFaMSdxLOxzomrruDmu2pJo8oQD95S7y3S20_4,415
854
858
  fusion_bench_config/taskpool/OpenCLIPVisionModelTaskPool/ViT-B-16_TA8.yaml,sha256=GjpiiRownrBCpl-TNwWRW2PYePbF-Cl99jlLNPrK5T4,1017
855
859
  fusion_bench_config/taskpool/OpenCLIPVisionModelTaskPool/ViT-B-32_TA8.yaml,sha256=WwiYMQKehtJixDPnu5o3vcWe4yJksXTWRqOzm3uVWXQ,1017
856
860
  fusion_bench_config/taskpool/OpenCLIPVisionModelTaskPool/ViT-L-14_TA8.yaml,sha256=xGRt0J9joXTzWUew6DvoYprAWlPXhaVFw5AX4im5VQw,1017
857
- fusion_bench-0.2.16.dist-info/METADATA,sha256=WhxJXXVCu3q6poHTd0VSc1WGGlZwyzOTyDI_UyeRask,21721
858
- fusion_bench-0.2.16.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
859
- fusion_bench-0.2.16.dist-info/entry_points.txt,sha256=iUQ8MCJvda7HP4vYh2n1Teoapb4G9PBVYZkAfcc5SHU,116
860
- fusion_bench-0.2.16.dist-info/top_level.txt,sha256=BuO4TL6iHL_2yPBUX9-LlIrHRczA_BNMIFwweK0PQEI,13
861
- fusion_bench-0.2.16.dist-info/RECORD,,
861
+ fusion_bench-0.2.17.dist-info/METADATA,sha256=cBTM1-Dfm6gdMfQ6vqrxpg7o5abvCwn3b1zb4KUSgHY,21966
862
+ fusion_bench-0.2.17.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
863
+ fusion_bench-0.2.17.dist-info/entry_points.txt,sha256=iUQ8MCJvda7HP4vYh2n1Teoapb4G9PBVYZkAfcc5SHU,116
864
+ fusion_bench-0.2.17.dist-info/top_level.txt,sha256=BuO4TL6iHL_2yPBUX9-LlIrHRczA_BNMIFwweK0PQEI,13
865
+ fusion_bench-0.2.17.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.8.0)
2
+ Generator: setuptools (80.9.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -9,11 +9,11 @@ defaults:
9
9
  _target_: fusion_bench.programs.FabricModelFusionProgram
10
10
  _recursive_: false
11
11
  fast_dev_run: false # Run a single batch of data to test the model or method
12
- # Run the script without actually running the experiment, use with `print_config=true`.
12
+ # Run the script without actually running the experiment, use with `print_config=true`.
13
13
  # You can also use `--cfg` or `-c` to show the configuration instead of running.
14
14
  dry_run: false
15
15
  print_config: true # Print the configuration to the console
16
16
  merged_model_save_path: null # path to save the merged model, use "{log_dir}" to refer to the logger directory, for example `merged_model_save_path=\{log_dir\}/merged_model`
17
17
  merged_model_save_kwargs: null
18
- report_save_path: null # path to save the result report
18
+ report_save_path: "{log_dir}/program_report.json" # path to save the result report
19
19
  print_function_call: true # set to false if you don't want to print the details of instantiate calls
@@ -1,7 +1,8 @@
1
1
  _target_: fusion_bench.method.TaskSingularVectorMerging
2
- remove_keys: null
2
+ exclude_keys: null
3
3
  # alpha is a float or a list of floats
4
4
  # example:
5
5
  # alpha: 1
6
6
  # alpha: [1, 0.5, 0.25]
7
7
  alpha: 1
8
+ return_single_task_models: false
@@ -0,0 +1,16 @@
1
+ defaults:
2
+ - /model/clip-vit@models:
3
+ - clip-vit-base-patch32
4
+ - clip-vit-base-patch32_stanford-cars
5
+ - clip-vit-base-patch32_dtd
6
+ - /dataset/image_classification/train@train_datasets:
7
+ - stanford-cars
8
+ - dtd
9
+ - /dataset/image_classification/test@test_datasets:
10
+ - stanford-cars
11
+ - dtd
12
+ _target_: fusion_bench.modelpool.CLIPVisionModelPool
13
+ _recursive_: False
14
+ processor:
15
+ _target_: transformers.CLIPProcessor.from_pretrained
16
+ pretrained_model_name_or_path: openai/clip-vit-base-patch32
@@ -0,0 +1,16 @@
1
+ defaults:
2
+ - /model/clip-vit@models:
3
+ - clip-vit-base-patch32
4
+ - clip-vit-base-patch32_sun397
5
+ - clip-vit-base-patch32_stanford-cars
6
+ - /dataset/image_classification/train@train_datasets:
7
+ - sun397
8
+ - stanford-cars
9
+ - /dataset/image_classification/test@test_datasets:
10
+ - sun397
11
+ - stanford-cars
12
+ _target_: fusion_bench.modelpool.CLIPVisionModelPool
13
+ _recursive_: False
14
+ processor:
15
+ _target_: transformers.CLIPProcessor.from_pretrained
16
+ pretrained_model_name_or_path: openai/clip-vit-base-patch32
@@ -0,0 +1,16 @@
1
+ defaults:
2
+ - /model/clip-vit@models:
3
+ - clip-vit-base-patch32
4
+ - clip-vit-base-patch32_sun397
5
+ - clip-vit-base-patch32_dtd
6
+ - /dataset/image_classification/train@train_datasets:
7
+ - sun397
8
+ - dtd
9
+ - /dataset/image_classification/test@test_datasets:
10
+ - sun397
11
+ - dtd
12
+ _target_: fusion_bench.modelpool.CLIPVisionModelPool
13
+ _recursive_: False
14
+ processor:
15
+ _target_: transformers.CLIPProcessor.from_pretrained
16
+ pretrained_model_name_or_path: openai/clip-vit-base-patch32
@@ -0,0 +1,19 @@
1
+ defaults:
2
+ - /model/clip-vit@models:
3
+ - clip-vit-base-patch32
4
+ - clip-vit-base-patch32_sun397
5
+ - clip-vit-base-patch32_stanford-cars
6
+ - clip-vit-base-patch32_dtd
7
+ - /dataset/image_classification/train@train_datasets:
8
+ - sun397
9
+ - stanford-cars
10
+ - dtd
11
+ - /dataset/image_classification/test@test_datasets:
12
+ - sun397
13
+ - stanford-cars
14
+ - dtd
15
+ _target_: fusion_bench.modelpool.CLIPVisionModelPool
16
+ _recursive_: False
17
+ processor:
18
+ _target_: transformers.CLIPProcessor.from_pretrained
19
+ pretrained_model_name_or_path: openai/clip-vit-base-patch32
@@ -1,5 +1,4 @@
1
1
  _target_: fusion_bench.taskpool.LMEvalHarnessTaskPool
2
-
3
2
  tasks:
4
3
  - truthfulqa
5
4
  batch_size: 1