fusion-bench 0.2.29__py3-none-any.whl → 0.2.31__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.
- fusion_bench/constants/runtime.py +4 -1
- fusion_bench/method/__init__.py +9 -1
- fusion_bench/method/base_algorithm.py +29 -19
- fusion_bench/method/classification/image_classification_finetune.py +1 -0
- fusion_bench/method/concrete_subspace/clip_concrete_tsvm.py +285 -0
- fusion_bench/method/task_singular_vector/TSVM.py +7 -6
- fusion_bench/method/task_singular_vector/utils/TSVM_utils.py +0 -1
- fusion_bench/metrics/model_kinship/__init__.py +2 -0
- fusion_bench/metrics/model_kinship/calculate.py +77 -0
- fusion_bench/metrics/model_kinship/calculate_split.py +171 -0
- fusion_bench/metrics/model_kinship/utility.py +184 -0
- fusion_bench/mixins/lightning_fabric.py +2 -8
- fusion_bench/mixins/openclip_classification.py +155 -1
- fusion_bench/modelpool/base_pool.py +1 -0
- fusion_bench/modelpool/openclip_vision/modelpool.py +12 -3
- fusion_bench/models/masks/mask_model.py +8 -2
- fusion_bench/models/open_clip/modeling.py +68 -5
- fusion_bench/models/open_clip/utils.py +13 -2
- fusion_bench/models/wrappers/layer_wise_fusion.py +41 -3
- fusion_bench/models/wrappers/task_wise_fusion.py +14 -3
- fusion_bench/py.typed +1 -0
- fusion_bench/scripts/cli.py +21 -16
- fusion_bench/scripts/imgui.py +2 -2
- fusion_bench/scripts/webui.py +2 -2
- fusion_bench/utils/__init__.py +2 -0
- fusion_bench/utils/devices.py +3 -1
- fusion_bench/utils/hydra_utils.py +75 -0
- fusion_bench/utils/instantiate_utils.py +29 -18
- fusion_bench/utils/misc.py +16 -0
- fusion_bench/utils/parameters.py +33 -0
- fusion_bench/utils/rich_utils.py +165 -25
- {fusion_bench-0.2.29.dist-info → fusion_bench-0.2.31.dist-info}/METADATA +7 -7
- {fusion_bench-0.2.29.dist-info → fusion_bench-0.2.31.dist-info}/RECORD +41 -34
- fusion_bench_config/README.md +9 -0
- fusion_bench_config/fabric/auto.yaml +1 -0
- fusion_bench_config/hydra/default.yaml +3 -1
- fusion_bench_config/method/concrete_subspace/clip_concrete_tsvm.yaml +38 -0
- {fusion_bench-0.2.29.dist-info → fusion_bench-0.2.31.dist-info}/WHEEL +0 -0
- {fusion_bench-0.2.29.dist-info → fusion_bench-0.2.31.dist-info}/entry_points.txt +0 -0
- {fusion_bench-0.2.29.dist-info → fusion_bench-0.2.31.dist-info}/licenses/LICENSE +0 -0
- {fusion_bench-0.2.29.dist-info → fusion_bench-0.2.31.dist-info}/top_level.txt +0 -0
fusion_bench/utils/rich_utils.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import logging
|
|
2
2
|
from pathlib import Path
|
|
3
|
-
from typing import Sequence
|
|
3
|
+
from typing import Optional, Sequence
|
|
4
4
|
|
|
5
5
|
import rich
|
|
6
6
|
import rich.syntax
|
|
@@ -19,6 +19,9 @@ from rich.text import Text
|
|
|
19
19
|
from rich.traceback import install as install_rich_traceback
|
|
20
20
|
|
|
21
21
|
from fusion_bench.utils import pylogger
|
|
22
|
+
from fusion_bench.utils.packages import _is_package_available
|
|
23
|
+
|
|
24
|
+
install_rich_traceback()
|
|
22
25
|
|
|
23
26
|
log = pylogger.RankedLogger(__name__, rank_zero_only=True)
|
|
24
27
|
|
|
@@ -61,24 +64,99 @@ def display_available_styles():
|
|
|
61
64
|
console.print(Columns(style_samples, equal=True, expand=False))
|
|
62
65
|
|
|
63
66
|
|
|
64
|
-
def
|
|
67
|
+
def format_code_str(message: str, code_style="python"):
|
|
68
|
+
if code_style.lower() == "python" and _is_package_available("black"):
|
|
69
|
+
# Use black formatting for python code if black is available
|
|
70
|
+
import black
|
|
71
|
+
|
|
72
|
+
try:
|
|
73
|
+
message = black.format_str(message, mode=black.Mode())
|
|
74
|
+
except black.InvalidInput:
|
|
75
|
+
pass # If black fails, use the original message
|
|
76
|
+
|
|
77
|
+
return message.strip()
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
def print_bordered(
|
|
81
|
+
message,
|
|
82
|
+
title=None,
|
|
83
|
+
style="blue",
|
|
84
|
+
code_style=None,
|
|
85
|
+
*,
|
|
86
|
+
expand: bool = True,
|
|
87
|
+
theme: str = "monokai",
|
|
88
|
+
background_color: Optional[str] = "default",
|
|
89
|
+
print_fn=print,
|
|
90
|
+
format_code: bool = True,
|
|
91
|
+
):
|
|
65
92
|
"""
|
|
66
93
|
Print a message with a colored border.
|
|
67
94
|
|
|
68
95
|
Args:
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
96
|
+
message (str): The message to print.
|
|
97
|
+
title (str, optional): The title of the panel. Defaults to None.
|
|
98
|
+
style (str, optional): The color style for the border. Defaults to "cyan".
|
|
99
|
+
code_style (str, optional): The syntax highlighting style if the message is code.
|
|
100
|
+
Set to None for plain text. Defaults to "python".
|
|
74
101
|
"""
|
|
75
102
|
if code_style:
|
|
76
|
-
|
|
103
|
+
if format_code:
|
|
104
|
+
message = format_code_str(message, code_style)
|
|
105
|
+
content = Syntax(
|
|
106
|
+
message,
|
|
107
|
+
code_style,
|
|
108
|
+
word_wrap=True,
|
|
109
|
+
theme=theme,
|
|
110
|
+
background_color=background_color,
|
|
111
|
+
)
|
|
77
112
|
else:
|
|
78
113
|
content = Text(message)
|
|
79
114
|
|
|
80
|
-
panel = Panel(content, title=title, border_style=style)
|
|
81
|
-
|
|
115
|
+
panel = Panel(content, title=title, border_style=style, expand=expand)
|
|
116
|
+
print_fn(panel)
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
def print_code(
|
|
120
|
+
message,
|
|
121
|
+
title=None,
|
|
122
|
+
code_style=None,
|
|
123
|
+
*,
|
|
124
|
+
expand: bool = True,
|
|
125
|
+
theme: str = "monokai",
|
|
126
|
+
background_color: Optional[str] = "default",
|
|
127
|
+
print_fn=print,
|
|
128
|
+
):
|
|
129
|
+
"""
|
|
130
|
+
Print code or plain text with optional syntax highlighting.
|
|
131
|
+
|
|
132
|
+
Args:
|
|
133
|
+
message (str): The message or code to print.
|
|
134
|
+
title (str, optional): Optional title associated with this output. Currently
|
|
135
|
+
not used by this function, but kept for API compatibility. Defaults to None.
|
|
136
|
+
code_style (str, optional): The language/lexer name for syntax highlighting
|
|
137
|
+
(for example, ``"python"``). If ``None``, the message is rendered as plain
|
|
138
|
+
text without syntax highlighting. Defaults to ``None``.
|
|
139
|
+
expand (bool, optional): Placeholder flag for API symmetry with other printing
|
|
140
|
+
helpers. It is not used in the current implementation. Defaults to True.
|
|
141
|
+
theme (str, optional): Name of the Rich syntax highlighting theme to use when
|
|
142
|
+
``code_style`` is provided. Defaults to ``"monokai"``.
|
|
143
|
+
background_color (str, optional): Background color style to apply to the code
|
|
144
|
+
block when using syntax highlighting. Defaults to ``"default"``.
|
|
145
|
+
print_fn (Callable, optional): Function used to render the resulting Rich
|
|
146
|
+
object. Defaults to :func:`rich.print`.
|
|
147
|
+
"""
|
|
148
|
+
if code_style:
|
|
149
|
+
content = Syntax(
|
|
150
|
+
message,
|
|
151
|
+
code_style,
|
|
152
|
+
word_wrap=True,
|
|
153
|
+
theme=theme,
|
|
154
|
+
background_color=background_color,
|
|
155
|
+
)
|
|
156
|
+
else:
|
|
157
|
+
content = Text(message)
|
|
158
|
+
|
|
159
|
+
print_fn(content)
|
|
82
160
|
|
|
83
161
|
|
|
84
162
|
@rank_zero_only
|
|
@@ -90,19 +168,31 @@ def print_config_tree(
|
|
|
90
168
|
"callbacks",
|
|
91
169
|
"logger",
|
|
92
170
|
"trainer",
|
|
93
|
-
"
|
|
171
|
+
"path",
|
|
94
172
|
"extras",
|
|
95
173
|
),
|
|
96
174
|
resolve: bool = False,
|
|
97
175
|
save_to_file: bool = False,
|
|
176
|
+
*,
|
|
177
|
+
theme: str = "monokai",
|
|
178
|
+
background_color: Optional[str] = "default",
|
|
98
179
|
) -> None:
|
|
99
180
|
"""Prints the contents of a DictConfig as a tree structure using the Rich library.
|
|
100
181
|
|
|
101
|
-
:
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
182
|
+
Args:
|
|
183
|
+
cfg (DictConfig): A DictConfig composed by Hydra.
|
|
184
|
+
print_order (Sequence[str], optional): Determines in what order config components are printed.
|
|
185
|
+
Defaults to ``("data", "model", "callbacks", "logger", "trainer", "paths", "extras")``.
|
|
186
|
+
resolve (bool, optional): Whether to resolve reference fields of DictConfig.
|
|
187
|
+
Defaults to ``False``.
|
|
188
|
+
save_to_file (bool, optional): Whether to export config to the hydra output folder.
|
|
189
|
+
Defaults to ``False``.
|
|
190
|
+
theme (str, optional): The theme to use for syntax highlighting. Defaults to "monokai".
|
|
191
|
+
background_color (str, optional): The background color to use for syntax highlighting.
|
|
192
|
+
Defaults to "default".
|
|
193
|
+
|
|
194
|
+
Returns:
|
|
195
|
+
None
|
|
106
196
|
"""
|
|
107
197
|
style = "tree"
|
|
108
198
|
tree = rich.tree.Tree("CONFIG", style=style, guide_style=style)
|
|
@@ -119,30 +209,80 @@ def print_config_tree(
|
|
|
119
209
|
)
|
|
120
210
|
)
|
|
121
211
|
|
|
122
|
-
# add all the other fields to queue (not specified in `print_order`)
|
|
123
|
-
for field in cfg:
|
|
124
|
-
if field not in queue:
|
|
125
|
-
queue.append(field)
|
|
126
|
-
|
|
127
212
|
# generate config tree from queue
|
|
128
213
|
for field in queue:
|
|
129
214
|
branch = tree.add(field, style=style, guide_style=style)
|
|
130
215
|
|
|
131
216
|
config_group = cfg[field]
|
|
132
217
|
if isinstance(config_group, DictConfig):
|
|
133
|
-
branch_content = OmegaConf.to_yaml(config_group, resolve=resolve)
|
|
218
|
+
branch_content = OmegaConf.to_yaml(config_group, resolve=resolve).strip()
|
|
134
219
|
else:
|
|
135
220
|
branch_content = str(config_group)
|
|
136
221
|
|
|
137
|
-
branch.add(
|
|
222
|
+
branch.add(
|
|
223
|
+
rich.syntax.Syntax(
|
|
224
|
+
branch_content,
|
|
225
|
+
"yaml",
|
|
226
|
+
theme=theme,
|
|
227
|
+
background_color=background_color,
|
|
228
|
+
)
|
|
229
|
+
)
|
|
230
|
+
|
|
231
|
+
# add all the other fields to queue (not specified in `print_order`)
|
|
232
|
+
other_fields = [field for field in cfg if field not in queue]
|
|
233
|
+
if other_fields:
|
|
234
|
+
others_branch = tree.add(Text("[others]"), style=style, guide_style=style)
|
|
235
|
+
|
|
236
|
+
other_cfg = OmegaConf.create({field: cfg[field] for field in other_fields})
|
|
237
|
+
branch_content = OmegaConf.to_yaml(other_cfg, resolve=resolve).strip()
|
|
238
|
+
|
|
239
|
+
others_branch.add(
|
|
240
|
+
rich.syntax.Syntax(
|
|
241
|
+
branch_content, "yaml", theme=theme, background_color=background_color
|
|
242
|
+
)
|
|
243
|
+
)
|
|
138
244
|
|
|
139
245
|
# print config tree
|
|
140
246
|
rich.print(tree)
|
|
141
247
|
|
|
142
248
|
# save config tree to file
|
|
143
249
|
if save_to_file:
|
|
144
|
-
|
|
145
|
-
|
|
250
|
+
if not cfg.get("paths") or not cfg.paths.get("output_dir"):
|
|
251
|
+
log.error(
|
|
252
|
+
"Cannot save config tree to file. 'paths.output_dir' is not specified in the config."
|
|
253
|
+
)
|
|
254
|
+
else:
|
|
255
|
+
with open(Path(cfg.path.output_dir, "config_tree.log"), "w") as file:
|
|
256
|
+
rich.print(tree, file=file)
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
@rank_zero_only
|
|
260
|
+
def print_config_yaml(
|
|
261
|
+
cfg: DictConfig,
|
|
262
|
+
resolve: bool = False,
|
|
263
|
+
output_path: Optional[str] = False,
|
|
264
|
+
*,
|
|
265
|
+
theme: str = "monokai",
|
|
266
|
+
background_color: Optional[str] = "default",
|
|
267
|
+
) -> None:
|
|
268
|
+
"""
|
|
269
|
+
Prints the contents of a DictConfig as a YAML string using the Rich library.
|
|
270
|
+
|
|
271
|
+
Args:
|
|
272
|
+
cfg: A DictConfig composed by Hydra.
|
|
273
|
+
resolve: Whether to resolve reference fields of DictConfig. Default is ``False``.
|
|
274
|
+
output_path: Optional path to export the config YAML to. If provided, the file is written to this path.
|
|
275
|
+
"""
|
|
276
|
+
config_yaml = OmegaConf.to_yaml(cfg, resolve=resolve)
|
|
277
|
+
syntax = rich.syntax.Syntax(
|
|
278
|
+
config_yaml, "yaml", theme=theme, background_color=background_color
|
|
279
|
+
)
|
|
280
|
+
rich.print(syntax)
|
|
281
|
+
|
|
282
|
+
if output_path:
|
|
283
|
+
Path(output_path).parent.mkdir(parents=True, exist_ok=True)
|
|
284
|
+
with open(Path(output_path), "w") as file:
|
|
285
|
+
rich.print(syntax, file=file)
|
|
146
286
|
|
|
147
287
|
|
|
148
288
|
@rank_zero_only
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fusion-bench
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.31
|
|
4
4
|
Summary: A Comprehensive Benchmark of Deep Model Fusion
|
|
5
5
|
Author-email: Anke Tang <tang.anke@foxmail.com>
|
|
6
6
|
Project-URL: Repository, https://github.com/tanganke/fusion_bench
|
|
@@ -255,9 +255,9 @@ First, create a new Python file for the algorithm in the `fusion_bench/method` d
|
|
|
255
255
|
Following the naming convention, the file should be named `{method_name_or_class}/{variant}.py`.
|
|
256
256
|
|
|
257
257
|
```python
|
|
258
|
-
from fusion_bench import
|
|
258
|
+
from fusion_bench import BaseAlgorithm, BaseModelPool
|
|
259
259
|
|
|
260
|
-
class DerivedModelFusionAlgorithm(
|
|
260
|
+
class DerivedModelFusionAlgorithm(BaseAlgorithm):
|
|
261
261
|
"""
|
|
262
262
|
An example of a derived model fusion algorithm.
|
|
263
263
|
"""
|
|
@@ -265,7 +265,7 @@ class DerivedModelFusionAlgorithm(BaseModelFusionAlgorithm):
|
|
|
265
265
|
# _config_mapping maps the attribution to the corresponding key in the configuration file.
|
|
266
266
|
# this is optional and can be used to serialize the object to a configuration file.
|
|
267
267
|
# `self.config.hyperparam_1` will be mapped to the attribute `hyperparam_attr_1`.
|
|
268
|
-
_config_mapping =
|
|
268
|
+
_config_mapping = BaseAlgorithm._config_mapping | {
|
|
269
269
|
"hyperparam_attr_1": "hyperparam_1",
|
|
270
270
|
"hyperparam_attr_2": "hyperparam_2",
|
|
271
271
|
}
|
|
@@ -344,9 +344,9 @@ If you find this benchmark useful, please consider citing our work:
|
|
|
344
344
|
```bibtex
|
|
345
345
|
@article{tang2024fusionbench,
|
|
346
346
|
title={Fusionbench: A comprehensive benchmark of deep model fusion},
|
|
347
|
-
author={Tang, Anke and Shen, Li and Luo, Yong and Hu, Han and Du, Bo and Tao, Dacheng},
|
|
348
|
-
journal={
|
|
349
|
-
year={
|
|
347
|
+
author={Tang, Anke and Shen, Li and Luo, Yong and Yang, Enneng and Hu, Han and Zhang, Lefei and Du, Bo and Tao, Dacheng},
|
|
348
|
+
journal={Journal of Machine Learning Research},
|
|
349
|
+
year={2025}
|
|
350
350
|
}
|
|
351
351
|
```
|
|
352
352
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
fusion_bench/__init__.py,sha256=C-0-HgZFdRjscXqpfNsz7iGUijUeSoP4GFRnFxuxQ7M,5992
|
|
2
2
|
fusion_bench/__main__.py,sha256=weUjxpP3ULnDgUxCehdbmoCM9cqfkhDhGB85tAF5qoE,81
|
|
3
|
+
fusion_bench/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
3
4
|
fusion_bench/_get_started/__init__.py,sha256=Ht6OK6Luei2kdY9jRZzRQfzBlm3Yfm64BkXxpzeRg9Q,40
|
|
4
5
|
fusion_bench/_get_started/greeting_program.py,sha256=wvVsPa7Djwx5Z5spAI6F9Kvv9KwfNkjIgJVH8oXR3Bo,1233
|
|
5
6
|
fusion_bench/compat/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -17,7 +18,7 @@ fusion_bench/constants/__init__.py,sha256=icLBUEZ84oExUXRNm5Nrm4FVcvAZ-SiQ5HWOLO
|
|
|
17
18
|
fusion_bench/constants/banner.py,sha256=fuIO36ETKlS6a3wbwZn-rA2OswSCfOYyyhZ0Fnal1s4,1656
|
|
18
19
|
fusion_bench/constants/clip_vision.py,sha256=qOHlYZYSOqpOO4-cfwUUhbv7qyr5IuUAW3yWjqjbJBo,1430
|
|
19
20
|
fusion_bench/constants/paths.py,sha256=1xLaZ2J3B3d0bo2ndubawaOjiFMJDAK6TjF685HlCM0,719
|
|
20
|
-
fusion_bench/constants/runtime.py,sha256=
|
|
21
|
+
fusion_bench/constants/runtime.py,sha256=Er9MDGvzgYeipu3MzvjA-QN0CSFWlr1Chb6RYNdRt6E,4836
|
|
21
22
|
fusion_bench/dataset/__init__.py,sha256=2b4UGemg_F1I5cXkAzNMm12XmlP9-06DH8cW1V6ugwo,1495
|
|
22
23
|
fusion_bench/dataset/clip_dataset.py,sha256=xQ1aRiA_WMIZKha0do0Dg5F8qsEIucuouy8AbsxbewI,3263
|
|
23
24
|
fusion_bench/dataset/fer2013.py,sha256=Lub_xVhHfqaiPprvOsDVspJNioh1FjSrkhn3gL_UXDA,404
|
|
@@ -48,8 +49,8 @@ fusion_bench/dataset/llama/stanford_shp.py,sha256=6ueXKnFXIBBobacU1h5WxGLZrSOtBk
|
|
|
48
49
|
fusion_bench/dataset/llama/ultrachat.py,sha256=Go7WvrDAYnm184fdazHGRYLbSY6Xd7jrESyQeUJtOww,1736
|
|
49
50
|
fusion_bench/dataset/llama/wikitext.py,sha256=9ZHR-nMfXRumd3o-PIj3n7B83YlVeqpGkZ2zJs2B-9Y,2883
|
|
50
51
|
fusion_bench/dataset/llama/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
51
|
-
fusion_bench/method/__init__.py,sha256=
|
|
52
|
-
fusion_bench/method/base_algorithm.py,sha256=
|
|
52
|
+
fusion_bench/method/__init__.py,sha256=Set_2GWpmI3q_WvbV1hBUfa6GFiIuajyiZR2hRbfrN0,9811
|
|
53
|
+
fusion_bench/method/base_algorithm.py,sha256=Pa3A7ON0YK3PJqFE77IY9dpQC-tQGJpX6kdf8IMnM_k,9453
|
|
53
54
|
fusion_bench/method/dummy.py,sha256=hb1y6LR_geRZ5eRgGwt5zJUcHYorCeIbs5i76CvurUc,1031
|
|
54
55
|
fusion_bench/method/ensemble.py,sha256=Bjzqxt-tUp5cawT1jIhqKswN5QH3bkYbmuI4LS4uTG0,3619
|
|
55
56
|
fusion_bench/method/model_recombination.py,sha256=b2ku5wCrWd1QSZscIra4KlhLDxt04JjU30ItMNvpZ6g,5268
|
|
@@ -80,10 +81,11 @@ fusion_bench/method/bitdelta/bitdelta_utils/diff.py,sha256=o3ib5sgGDYLgnL8YTfX0Y
|
|
|
80
81
|
fusion_bench/method/classification/__init__.py,sha256=byVJ574JQ_DUvsDv8S6ZM6BKAv4ZZ964Ej4btm0aC7k,867
|
|
81
82
|
fusion_bench/method/classification/clip_finetune.py,sha256=5q5Sr3eVVh8DfYdeSoGjwaKDksC8F2dY2r8Dl-wRaDg,15844
|
|
82
83
|
fusion_bench/method/classification/continual_clip_finetune.py,sha256=OLhZKS-6aCnafevZkZYcNMKTWDDj3DATB27eZl_i8EY,11530
|
|
83
|
-
fusion_bench/method/classification/image_classification_finetune.py,sha256=
|
|
84
|
+
fusion_bench/method/classification/image_classification_finetune.py,sha256=TJLe3aLFp5Mk7pywXdzFcvx9l2hjHSNIDvz6y3N4mcc,15309
|
|
84
85
|
fusion_bench/method/concrete_subspace/__init__.py,sha256=jJoFcjnQe-jvccsm9DuCXna378m9XBT9vV1fEZbdfR0,464
|
|
85
86
|
fusion_bench/method/concrete_subspace/clip_concrete_adamerging.py,sha256=UkLOkaa_Dzlb4Q5ES69Y9GV1bodTnD7DzZFreykt65s,24706
|
|
86
87
|
fusion_bench/method/concrete_subspace/clip_concrete_task_arithmetic.py,sha256=Nx-3AiAeIt5zmcC21Ta2_-4cAQg9hOWvThurXNZzA-w,10580
|
|
88
|
+
fusion_bench/method/concrete_subspace/clip_concrete_tsvm.py,sha256=SlRNC8PglJk9N8RWn5Lz_PKSxleWVW2HTSBD9iZoNOU,10666
|
|
87
89
|
fusion_bench/method/concrete_subspace/clip_post_defense.py,sha256=h-c0ioxDopg7pUoRjxx3epqQxVKZAZWz8s7yHjM88mg,32355
|
|
88
90
|
fusion_bench/method/concrete_subspace/clip_safe_concrete_adamerging.py,sha256=eEKKUBgHufYTBaWWxkIKDF0lkuLI2bBgNHVr1JqT41c,35694
|
|
89
91
|
fusion_bench/method/dare/__init__.py,sha256=63Xwkawyl_Ooy4xFxoDlP6wf-rgEWNqPuWTT9-6Ku5o,156
|
|
@@ -231,10 +233,10 @@ fusion_bench/method/tall_mask/utils.py,sha256=Wlp8WcPwR_lCaBIZ9rgG6ewLfSzz3G7kPk
|
|
|
231
233
|
fusion_bench/method/task_arithmetic/__init__.py,sha256=pSx_NV5Ra_6UXpyYWCi6ANQoAnEtymZt_X1dDN9wT4Y,96
|
|
232
234
|
fusion_bench/method/task_arithmetic/task_arithmetic.py,sha256=yGMWk2--VlXTcQjDjnPdiug1q_rpjzu5SFvgCYDfTQ0,6479
|
|
233
235
|
fusion_bench/method/task_singular_vector/TSVC.py,sha256=yn4SrZNvtA6PoGYJmbmtNeDyDbGnRCgfZ7ZCg914AZU,410
|
|
234
|
-
fusion_bench/method/task_singular_vector/TSVM.py,sha256=
|
|
236
|
+
fusion_bench/method/task_singular_vector/TSVM.py,sha256=1im81JpyIQjwSojtK_aWv9InmmS-tyH2p3VLG0gqwYA,13706
|
|
235
237
|
fusion_bench/method/task_singular_vector/__init__.py,sha256=WMucyl9pu_Ev2kcdrfT4moqMMbzD7hHQVFME5Su5jMA,298
|
|
236
238
|
fusion_bench/method/task_singular_vector/utils/TSVC_utils.py,sha256=FytKbal48EW6iGIA-2zV7QSVbYTVflXr4Mr56q0W75k,2286
|
|
237
|
-
fusion_bench/method/task_singular_vector/utils/TSVM_utils.py,sha256=
|
|
239
|
+
fusion_bench/method/task_singular_vector/utils/TSVM_utils.py,sha256=zwpQjrzjpbOCNc6ZR6XARY3_vUkxlppCriLPFOqucgQ,29129
|
|
238
240
|
fusion_bench/method/task_singular_vector/utils/__init__.py,sha256=Mep62TnXJscBEFZ6QDsI28cWmfygt8EPwjQdfUJzEZQ,315
|
|
239
241
|
fusion_bench/method/task_singular_vector/utils/task_singular_interference.py,sha256=tXsFwx8eomzu00nSp95CjjWZX82zq32ff2Q6VM_29CM,1348
|
|
240
242
|
fusion_bench/method/ties_merging/__init__.py,sha256=9u9teBbdILbupr9jbwk-qCXSzssCssC5FUV2BfpyZM4,67
|
|
@@ -257,6 +259,10 @@ fusion_bench/method/wudi/wudi.py,sha256=HL3Y0MPjozp7NML_UNjIWWPbQDQxYH_WG_Buyrip
|
|
|
257
259
|
fusion_bench/metrics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
258
260
|
fusion_bench/metrics/continual_learning/__init__.py,sha256=f-mkv4SpXTq5kiQVHbe2g0IPf4yLFgu1Dw7g2DOK6T4,57
|
|
259
261
|
fusion_bench/metrics/continual_learning/backward_transfer.py,sha256=LCMWFFmBgWv7UIAJqiTaSvVvanx4qjnXIGuCMYvzmtc,559
|
|
262
|
+
fusion_bench/metrics/model_kinship/__init__.py,sha256=-XWD0NR6Xz-p4oE8AKGoWrq-s1ayqWse7qLgNRENsaU,137
|
|
263
|
+
fusion_bench/metrics/model_kinship/calculate.py,sha256=FoyBQuz3-q2NRfUW9w0dq9Tm51WG83iF_L_nHMOSI20,2447
|
|
264
|
+
fusion_bench/metrics/model_kinship/calculate_split.py,sha256=_aTw7nfAZeEhiyqWlUkzwafQXLI3iDQMHdFy6ZMb88w,5797
|
|
265
|
+
fusion_bench/metrics/model_kinship/utility.py,sha256=9iF9bWsJOFhhLqPMDyHyg-PAmat_zYUbud-umTfgBLs,5903
|
|
260
266
|
fusion_bench/metrics/nyuv2/__init__.py,sha256=Ed1FQTJAxguJoorZLHIO-cSIgKYHHfqdf17J3o9_feI,1390
|
|
261
267
|
fusion_bench/metrics/nyuv2/depth.py,sha256=xmUokztxyPrl90qtcoQaanti6DbFaIVqglAo3PDnEso,2851
|
|
262
268
|
fusion_bench/metrics/nyuv2/loss.py,sha256=YKZSqycNyPWJV29Qa12--Wh87zZvtJcuUxUuiPbccpM,2529
|
|
@@ -271,8 +277,8 @@ fusion_bench/mixins/__init__.py,sha256=2_mAT0VHiUYGyWJyiDSxcFmI4Qt64Y2qlNu1Z11fg
|
|
|
271
277
|
fusion_bench/mixins/clip_classification.py,sha256=Ifc3R_RO1yb-nbT_lipfNudQS3iiB3G_trNMS1dEfRU,11329
|
|
272
278
|
fusion_bench/mixins/fabric_training.py,sha256=ZmycEhCaNCgVi5oM9m0q6msxgk3quowmFvDAcvskFrg,13017
|
|
273
279
|
fusion_bench/mixins/hydra_config.py,sha256=rfT-XPUKV_U3nvuTVsKLmSmEiieoSIsbhxE5_-E0er0,5508
|
|
274
|
-
fusion_bench/mixins/lightning_fabric.py,sha256=
|
|
275
|
-
fusion_bench/mixins/openclip_classification.py,sha256=
|
|
280
|
+
fusion_bench/mixins/lightning_fabric.py,sha256=epK8lFJpHHNWUVP8TMDITa0cq7cXdMHnpPIRiK3NEPc,9049
|
|
281
|
+
fusion_bench/mixins/openclip_classification.py,sha256=FGj5btxZD-qA1wOsRl9kSftylcOXz2bFj26vrcVw_HQ,6196
|
|
276
282
|
fusion_bench/mixins/pyinstrument.py,sha256=I8CLVRUK6G_U8S5x-netmtAcy6m9uLB0UGB1AokbheU,5108
|
|
277
283
|
fusion_bench/mixins/rich_live.py,sha256=bzUu4F90bq9x8DCY8rZmLz7sfmZiFH0GPIoY1O2ysHg,2970
|
|
278
284
|
fusion_bench/mixins/serialization.py,sha256=z73Mmq952TIdPwwZ8cRdl3n0_uc9lqylFI9fxKesREs,13260
|
|
@@ -281,7 +287,7 @@ fusion_bench/mixins/optim/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJW
|
|
|
281
287
|
fusion_bench/mixins/optim/adamw_with_warmup.py,sha256=qTnRl8GVVIfaplOFBHnJFuZUbxPZRWRGHGNzm_EDhDE,1421
|
|
282
288
|
fusion_bench/modelpool/PeftModelForSeq2SeqLM.py,sha256=rxPKTTWno3KAcTTEfydPpXx1b0EJa8PLbqrberweFF8,2108
|
|
283
289
|
fusion_bench/modelpool/__init__.py,sha256=qDlBPrWFW-Z-LByzmfqP1ozYhWx2lYAEjhqjKF4EAbY,2307
|
|
284
|
-
fusion_bench/modelpool/base_pool.py,sha256=
|
|
290
|
+
fusion_bench/modelpool/base_pool.py,sha256=PCP4ORj9ZbIuF1DpMMXhe2sMye527bcG3L8rVyXARrM,15541
|
|
285
291
|
fusion_bench/modelpool/convnext_for_image_classification.py,sha256=m9MxFgfzNjGnHOU6gufaTPgkk67lifNNwW03nHUxXKo,7377
|
|
286
292
|
fusion_bench/modelpool/dinov2_for_image_classification.py,sha256=Wd60J5Ji4KwXUYTPcYYXuYWrcpDlh7pjGZ-zjjRqYio,7496
|
|
287
293
|
fusion_bench/modelpool/huggingface_automodel.py,sha256=OJ6EyYyjNv1_Bhjn-zli-e__BJ0xVa4Fx9lhXVb-DJo,552
|
|
@@ -294,7 +300,7 @@ fusion_bench/modelpool/causal_lm/causal_lm.py,sha256=FbatPI6aAJbaT5qa4Get2I0i8fx
|
|
|
294
300
|
fusion_bench/modelpool/clip_vision/__init__.py,sha256=3b9gN2bWUsoA1EmpitnIMnIlX7nklxbkn4WJ0QJtS2c,43
|
|
295
301
|
fusion_bench/modelpool/clip_vision/modelpool.py,sha256=ENQfAAwQ3NFEyDv0C313HA0h5yF6QyvT0_IOe9cDQ40,9250
|
|
296
302
|
fusion_bench/modelpool/openclip_vision/__init__.py,sha256=QDmAitKqUwRygN9QncdS_kGWZdfTKL4uUifC8xh9c10,47
|
|
297
|
-
fusion_bench/modelpool/openclip_vision/modelpool.py,sha256
|
|
303
|
+
fusion_bench/modelpool/openclip_vision/modelpool.py,sha256=-RXn3iKr-w13-rOITWR7_01t7-d1F2JTrlcLJh12XxI,11652
|
|
298
304
|
fusion_bench/modelpool/seq2seq_lm/__init__.py,sha256=FnfSMHcwNHDQEMdB2HdK4WphQ6MufsRLUkczuALjM4Q,57
|
|
299
305
|
fusion_bench/modelpool/seq2seq_lm/modelpool.py,sha256=yfa_B5TUIkuC1fTn4xD3HHnFPd6AYE-HWpfB8ZrShB8,8819
|
|
300
306
|
fusion_bench/modelpool/seq_classification_lm/__init__.py,sha256=_VB9nlR_gm6IEXNMsNR3VnzFiCpxNGuAGF39rZ9DpBA,129
|
|
@@ -330,7 +336,7 @@ fusion_bench/models/llama/model_utils/misc.py,sha256=3SJ7wk71zLMVF-AJEvQ_KCfFaMg
|
|
|
330
336
|
fusion_bench/models/llama/model_utils/mod.py,sha256=xzNOgTRfOK9q8kml4Q2nmSOl23f33dE1tPi5zxgpWK0,1498
|
|
331
337
|
fusion_bench/models/llama/model_utils/visual.py,sha256=wpqWqEASyA7WhJLCfC26h0Cdn5CXnwC1qPJUlSXggo4,8310
|
|
332
338
|
fusion_bench/models/masks/__init__.py,sha256=vXG6jrBkDbPsnrX6nMEYAW1rQuGEWDgdjID7cKzXvrs,69
|
|
333
|
-
fusion_bench/models/masks/mask_model.py,sha256=
|
|
339
|
+
fusion_bench/models/masks/mask_model.py,sha256=NDVhtuvZ10NUfTLEI_ONTKiceuSF-W7T9SEeUnyZFYQ,5680
|
|
334
340
|
fusion_bench/models/model_card_templates/default.md,sha256=OoU83l1hip1gKsoA08hoKx-nCrOYbKaVTVCjK0pt9WY,1028
|
|
335
341
|
fusion_bench/models/modeling_deepseek_v2/__init__.py,sha256=trXrhtKb_gIxXVo7wSZ-il5sLJtDTiNZezRrEt3M8zM,505
|
|
336
342
|
fusion_bench/models/modeling_deepseek_v2/configuration_deepseek.py,sha256=TblFOCfNwaXUnXnD-sxFhSn5Df-_yy2LMcrth-sBPFI,10301
|
|
@@ -364,8 +370,8 @@ fusion_bench/models/nyuv2/lightning_module.py,sha256=SLtC0yL6455uKeb-o07MR6v-xE4
|
|
|
364
370
|
fusion_bench/models/nyuv2/resnet.py,sha256=PcCfBhEsxm7W8cu3epBbIbCYFARPrPTamIa3TtUAVa0,14305
|
|
365
371
|
fusion_bench/models/nyuv2/resnet_dilated.py,sha256=4EXB6vrBJS307YP6k-TRY1dFJ50LURcTuzqN4tZzYRk,3125
|
|
366
372
|
fusion_bench/models/open_clip/__init__.py,sha256=zT2sGAT98Py5vXMckZF4aD8MYEICEWa2p7nRg4IrS0w,192
|
|
367
|
-
fusion_bench/models/open_clip/modeling.py,sha256=
|
|
368
|
-
fusion_bench/models/open_clip/utils.py,sha256=
|
|
373
|
+
fusion_bench/models/open_clip/modeling.py,sha256=Z9H1r-faxqp60eQ1vAW3Vuc4SgAkA0pCQXAYNMLR2ow,8351
|
|
374
|
+
fusion_bench/models/open_clip/utils.py,sha256=omwypFHchva6aTZ4BmHXb4NTspZaWZEKac17utbXQCo,10788
|
|
369
375
|
fusion_bench/models/open_clip/variables_and_paths.py,sha256=_OBcKvZwSGvYSmgKtXOuekEJI-btW94Ia-BQ9n4isfY,1231
|
|
370
376
|
fusion_bench/models/smile_moe/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
371
377
|
fusion_bench/models/smile_moe/linear_from_hf_config.py,sha256=4vzYYjDHGOf1IO7gO0dzQC1xqcwEij9M7d4tVZm-7dY,11919
|
|
@@ -376,9 +382,9 @@ fusion_bench/models/surgery/__init__.py,sha256=tcUSi2m9GzGWfvRDQScIbdEbFBS_35gm9
|
|
|
376
382
|
fusion_bench/models/surgery/surgerymodelwrapper.py,sha256=F8jX88K5zVWC6HsfN-nGNkEiPwNrN11ydyQQ1EZHehM,5133
|
|
377
383
|
fusion_bench/models/wrappers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
378
384
|
fusion_bench/models/wrappers/ensemble.py,sha256=T-DAKrAm-ciZwV6Hbt8uASbjtoQpHTlvVyan3rhk_8k,11632
|
|
379
|
-
fusion_bench/models/wrappers/layer_wise_fusion.py,sha256=
|
|
385
|
+
fusion_bench/models/wrappers/layer_wise_fusion.py,sha256=T1sbujx_84Pj5yHFy5QqfipT6v3p96gUmnMgyy4lG0c,12560
|
|
380
386
|
fusion_bench/models/wrappers/layer_wise_fusion_doge_ta.py,sha256=q5Hc4BtLpAawMbxsWJRL-8OR-x7994Jhr9IyN7vKZ9o,16930
|
|
381
|
-
fusion_bench/models/wrappers/task_wise_fusion.py,sha256=
|
|
387
|
+
fusion_bench/models/wrappers/task_wise_fusion.py,sha256=iCrevrkG4uTr3U8_hgT_xEY4epnEK0EJO8yg-uEMIUI,17836
|
|
382
388
|
fusion_bench/optim/__init__.py,sha256=JS7J2VjrM2LdkiFCxuQnIuFwBsWiPyFb7QuEU6V2bPY,845
|
|
383
389
|
fusion_bench/optim/exception.py,sha256=fMgo1heiqfGhuI5RIbf30BwWSShn5RQiyeb30QtfTI0,1607
|
|
384
390
|
fusion_bench/optim/mezo.py,sha256=Vm4vMGh10Fhe28_9L1MK8r_U7DrurA8Liprh2_gn4_U,3646
|
|
@@ -392,10 +398,10 @@ fusion_bench/programs/base_program.py,sha256=Bl_bv8SawEUc-GBTtZFMoii0y-r-0hOXBAJ
|
|
|
392
398
|
fusion_bench/programs/fabric_fusion_program.py,sha256=wIHNpLUw6uAXpAasJRAMWut55hF_EGFShxn70zRRvfk,12449
|
|
393
399
|
fusion_bench/programs/fusion_program.py,sha256=qLyA3FHJUMM1L3mlYn4jlnZzv9OKguWM5aGGIoLts2I,11309
|
|
394
400
|
fusion_bench/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
395
|
-
fusion_bench/scripts/cli.py,sha256=
|
|
396
|
-
fusion_bench/scripts/imgui.py,sha256=
|
|
401
|
+
fusion_bench/scripts/cli.py,sha256=yAac2JhklwYicMV4FpOj_wvymEOCdC47hBND_GK4NE8,3114
|
|
402
|
+
fusion_bench/scripts/imgui.py,sha256=P8YGem3XnyN0J4esuXTnBhB7Qp7uY6GGdJWhre29Xgo,7611
|
|
397
403
|
fusion_bench/scripts/nyuv2_mtl_train.py,sha256=W1C45R9NdF4O-UjCx1bUxRTdFE0-FlRpwJHZ5gY18rI,3602
|
|
398
|
-
fusion_bench/scripts/webui.py,sha256=
|
|
404
|
+
fusion_bench/scripts/webui.py,sha256=xMZXbHGKPI3ns3p1BIomVR31QyNoAb-5sdrvjlgTeq8,21511
|
|
399
405
|
fusion_bench/scripts/clip/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
400
406
|
fusion_bench/scripts/clip/convert_checkpoint.py,sha256=zncgRAhInFpJDSHIm3GO4F6BzgsdAQVj3LLmV7g-JiQ,1221
|
|
401
407
|
fusion_bench/taskpool/__init__.py,sha256=n5jUUMI1TDK0g72PpFLlajqZ6FwEKjyfQLY4hnYlQ4I,1479
|
|
@@ -454,27 +460,27 @@ fusion_bench/tasks/flan_t5_text_generation/glue_evaluation.py,sha256=-B1wqVGp3wZ
|
|
|
454
460
|
fusion_bench/tasks/flan_t5_text_generation/glue_load_dataset.py,sha256=sVihXHbqwi8IlDpiIxzvmDv-Ob7WKvi23GIRYbBUKOc,1833
|
|
455
461
|
fusion_bench/tasks/flan_t5_text_generation/glue_preprocessors.py,sha256=GhRmGmcJGF4oVgZQarsBtx8GNKrNEZUkrillNz3iBuY,13183
|
|
456
462
|
fusion_bench/tasks/flan_t5_text_generation/glue_prompt_templates.py,sha256=mKMTXIr5o-BqS_Hvv1bbMvvjQLLeKNVw7BKS9qgQ8Dw,1890
|
|
457
|
-
fusion_bench/utils/__init__.py,sha256=
|
|
463
|
+
fusion_bench/utils/__init__.py,sha256=BT-IaPT5aTjrKJhZbw4Z00hdNcpp4FORzZI8YOD8eT8,5223
|
|
458
464
|
fusion_bench/utils/cache_utils.py,sha256=-bTZijQgl4BuAx0VSJFD-bSDOXuq3o0NkrOaiLiyofU,4795
|
|
459
465
|
fusion_bench/utils/data.py,sha256=QAXpsvzHOgfAf6G_Pe2a5HOKUAP8Mxz77avujQI9Fd8,10027
|
|
460
|
-
fusion_bench/utils/devices.py,sha256=
|
|
466
|
+
fusion_bench/utils/devices.py,sha256=IyUBaWbnZGDsAxI97LEioUj-JIjYTzxQo_EhyKY3RZM,9566
|
|
461
467
|
fusion_bench/utils/dict.py,sha256=ZCK0CRRT_B1Z18WY_GOYcmth7k5x9Jn1k7XhAVWRu98,1379
|
|
462
468
|
fusion_bench/utils/dtype.py,sha256=z6UlPGF9dzG4Ik8rXGf59PJk_RKzG6Trp8O6wcBS9PU,4360
|
|
463
469
|
fusion_bench/utils/expr.py,sha256=zwHNrtIbOMnIChU-0ZI5qLbDva8zvHbizL-4F2TwM14,2386
|
|
464
470
|
fusion_bench/utils/fabric.py,sha256=qKcJ6Xj-6rEGy35dsUPHzxZT6az9RkSNcyBQl1uOv0M,6050
|
|
465
471
|
fusion_bench/utils/functools.py,sha256=7_tYJ2WD88_2DDuOOj5aZz3cYuslYH5tsVyIgCeLtmk,1318
|
|
466
|
-
fusion_bench/utils/hydra_utils.py,sha256
|
|
467
|
-
fusion_bench/utils/instantiate_utils.py,sha256=
|
|
472
|
+
fusion_bench/utils/hydra_utils.py,sha256=-7wMwOZOLIoKp_aXu64UU5x6c-mTRO55uQzox2XZkDg,3455
|
|
473
|
+
fusion_bench/utils/instantiate_utils.py,sha256=UNfx188feTDrMSgp-ocLHetj6uD6axZcC46dRfBMtko,17884
|
|
468
474
|
fusion_bench/utils/json.py,sha256=XZvEqBGpq-e0MaKkkX-1_PD8xMf6IDLAn4BrAF7IeiU,4552
|
|
469
475
|
fusion_bench/utils/lazy_imports.py,sha256=s-1ABhPyyHs7gW4aodCzu3NySzILzTL7kVNZ0DZRXJA,6156
|
|
470
476
|
fusion_bench/utils/lazy_state_dict.py,sha256=mJaiAtKB1vlNUAoQILnnCmU80FGJ8MSwmdPpmdhOyDE,22206
|
|
471
|
-
fusion_bench/utils/misc.py,sha256=
|
|
477
|
+
fusion_bench/utils/misc.py,sha256=xntIUj4cwgx10y7Z1YqXT0zU4nDHfnKRK_M9biWgLH4,5780
|
|
472
478
|
fusion_bench/utils/modelscope.py,sha256=P8fV6Eff8oP0LVGIFGbLvuk8MBteysN438djZ6ZEfE4,10699
|
|
473
479
|
fusion_bench/utils/packages.py,sha256=m2E0ryIMI0NwWR9vUHkK9FtZEwA1G-A4dYOf87olli4,2217
|
|
474
|
-
fusion_bench/utils/parameters.py,sha256=
|
|
480
|
+
fusion_bench/utils/parameters.py,sha256=Up0DcFAomPery9kG5QI9v8BGcTWATacLp8jE_P4Mp28,12966
|
|
475
481
|
fusion_bench/utils/path.py,sha256=piznok_znXkTY71VBwJrxBlXureYOdQnMfvqaZ26qvc,2643
|
|
476
482
|
fusion_bench/utils/pylogger.py,sha256=1Uy_LkHkbrYdt1g5Ge_eAh2YoCJwn3U3Ndouz9sVA6g,3419
|
|
477
|
-
fusion_bench/utils/rich_utils.py,sha256=
|
|
483
|
+
fusion_bench/utils/rich_utils.py,sha256=y3Kj6CxmGAtDlI0M9fVTMJgXjas2IKP725Ivn81ZV-A,10698
|
|
478
484
|
fusion_bench/utils/set.py,sha256=_43ZvGKJ_BK9sUslsSNhi7xEfuAQuyj3vViImnGpnCY,134
|
|
479
485
|
fusion_bench/utils/state_dict_arithmetic.py,sha256=bXO3zewO3KDzRmTaznlsnURIoSlcW5V5IhuXGtI_nxk,41234
|
|
480
486
|
fusion_bench/utils/tensorboard.py,sha256=9fkgNYR9LM38nPNkudcxL9TjLUseW-280M0k2nLff7o,1669
|
|
@@ -488,8 +494,8 @@ fusion_bench/utils/plot/token_notebook.py,sha256=bsntXf46Zz_RavTxNiB9c3-KvHw7LFw
|
|
|
488
494
|
fusion_bench/utils/strenum/__init__.py,sha256=id9ORi1uXrDxhbmVxitJ1KDwLS4H3AAwFpaK5h1cQzw,8531
|
|
489
495
|
fusion_bench/utils/strenum/_name_mangler.py,sha256=o11M5-bURW2RBvRTYXFQIPNeqLzburdoWLIqk8X3ydw,3397
|
|
490
496
|
fusion_bench/utils/strenum/_version.py,sha256=6JQRo9LcvODbCOeVFYQb9HNJ_J9XiG_Zbn8ws2A3BV8,18466
|
|
491
|
-
fusion_bench-0.2.
|
|
492
|
-
fusion_bench_config/README.md,sha256=
|
|
497
|
+
fusion_bench-0.2.31.dist-info/licenses/LICENSE,sha256=nhnOJlw4CPuPVE0qvkGmxfFgHmKi-6nzXvTu8t0NUdg,1066
|
|
498
|
+
fusion_bench_config/README.md,sha256=oHbaJW_stRvcWHqj-h6t2de20rZwjYxTE1u6AY5Vwj8,1101
|
|
493
499
|
fusion_bench_config/clip-vit-base-patch32_robustness_corrupted.yaml,sha256=pZ5dFgg5n1W9cKdNyGNa7b4yPd4aQSu2iR2-yw9hhbY,442
|
|
494
500
|
fusion_bench_config/fabric_model_fusion.yaml,sha256=kSQbhBsKypVFA3rmkdhY9BITnZWDXJof-I35t473_U0,2646
|
|
495
501
|
fusion_bench_config/llama_full_finetune.yaml,sha256=2xBhxEJxLZNDYc_9X8TtpXMRu85ksJxjkfqsz_xn5Yo,195
|
|
@@ -592,7 +598,7 @@ fusion_bench_config/dataset/text_generation/test/gsm8k_question_label.yaml,sha25
|
|
|
592
598
|
fusion_bench_config/dataset/text_generation/train/CodeAlpaca-20k.yaml,sha256=4lb37lxTUStAR8eXhNxp3RONwSOYJI0bKY-hViZnjtE,94
|
|
593
599
|
fusion_bench_config/dataset/text_generation/train/gsm8k.yaml,sha256=gP-xAZQxHHqTEf_Dgbi4F_SQDgGZFeddwMFsvcE1WW0,90
|
|
594
600
|
fusion_bench_config/dataset/text_generation/train/gsm8k_question_label.yaml,sha256=6BhKgApz8LhdDyATqCsaonBo0Q99o1uM22F0yj_pJi4,178
|
|
595
|
-
fusion_bench_config/fabric/auto.yaml,sha256=
|
|
601
|
+
fusion_bench_config/fabric/auto.yaml,sha256=jlAgdPmyRGWl37FJjBYSchN3kwtfjwfUrvNtEELggzI,668
|
|
596
602
|
fusion_bench_config/fabric/llama_ddp.yaml,sha256=bOOuK5BPKmScE6yh5xY59qlawlMk2sRzsipW7GDQJWs,705
|
|
597
603
|
fusion_bench_config/fabric/llama_fsdp.yaml,sha256=pTvz0k79dSOVAAlvU0T1kNd8TNCwz2FGjDOujBtQ_Ks,574
|
|
598
604
|
fusion_bench_config/fabric/llama_peft_fsdp.yaml,sha256=AosSmY4624iahKbTWY681BsZTC1ul78x9aHZ9zHS81s,579
|
|
@@ -604,7 +610,7 @@ fusion_bench_config/fabric/loggers/wandb_logger.yaml,sha256=awIrv7gJRZrbar_tbKpd
|
|
|
604
610
|
fusion_bench_config/fabric/strategy/deepspeed.yaml,sha256=zcSUeHVaATy92oTTRx3_hWQkCB3BPR7YOIt_U1gimCU,343
|
|
605
611
|
fusion_bench_config/fabric/strategy/llama_fsdp.yaml,sha256=WBx05GFUCuEtF-H7LhlTq95VZeaIg36hqntw478qJng,307
|
|
606
612
|
fusion_bench_config/fabric/strategy/llama_peft_fsdp.yaml,sha256=4NTFnpZTEByH4Z6f-nwDtS4GUFtcluja27hXKWNRUiE,347
|
|
607
|
-
fusion_bench_config/hydra/default.yaml,sha256=
|
|
613
|
+
fusion_bench_config/hydra/default.yaml,sha256=bmDolgyshoLe9zJLQ6SBn2Hif8WNWX15Skc_ND7m2fU,511
|
|
608
614
|
fusion_bench_config/hydra/help/fusion_bench_help.yaml,sha256=v8s891Cr5wyxBXGDn_VBBwwRmb0JXOL874Sl-zNoCWA,1880
|
|
609
615
|
fusion_bench_config/hydra/job_logging/rich_logging.yaml,sha256=_dYGeFTCqaPrRowLXBNMXwzYhw8ns1TkQFfALwK1aCw,441
|
|
610
616
|
fusion_bench_config/method/depth_upscaling.yaml,sha256=86YqczaMzZftymLy_k2cb-GMy4C42yTxxP4c4htZTBs,1230
|
|
@@ -631,6 +637,7 @@ fusion_bench_config/method/classification/image_classification_finetune_test.yam
|
|
|
631
637
|
fusion_bench_config/method/concrete_subspace/clip_concrete_layer_wise_adamerging.yaml,sha256=r0zR1WenY1fYba6mEBAoHJZKcx1x7L2cQmEA_54NTYM,739
|
|
632
638
|
fusion_bench_config/method/concrete_subspace/clip_concrete_task_arithmetic.yaml,sha256=eNoqcY1iMbs0Y5kKi_ya3rmQQMHqU7ht3EU7G_xmwN0,746
|
|
633
639
|
fusion_bench_config/method/concrete_subspace/clip_concrete_task_wise_adamerging.yaml,sha256=P3mwQQewFFiqZNYJp8c02Sf8zBuStKInr_Yn74OCOxI,738
|
|
640
|
+
fusion_bench_config/method/concrete_subspace/clip_concrete_tsvm.yaml,sha256=rRA-TIG1SCl2cSA27ZHWVujhvfpJjzsJ6SZausb9O9g,1129
|
|
634
641
|
fusion_bench_config/method/concrete_subspace/clip_post_defense_AWM.yaml,sha256=pHkZoUKesiGifxaY5BAltCnjceDVQcxyW-LRDGgzang,837
|
|
635
642
|
fusion_bench_config/method/concrete_subspace/clip_post_defense_SAU.yaml,sha256=grOw6PdcEHh0iYUEDEBFKk53jsToksHx4L7Dv003wHE,879
|
|
636
643
|
fusion_bench_config/method/concrete_subspace/clip_safe_concrete_layer_wise_adamerging.yaml,sha256=lkCtwN_Xo1WcoGC0mkrfiJ2WwmqeNsKO_cCEUnRA1pk,913
|
|
@@ -1015,8 +1022,8 @@ fusion_bench_config/taskpool/LMEvalHarnessTaskPool/lm_eval.yaml,sha256=3q-KMuFaM
|
|
|
1015
1022
|
fusion_bench_config/taskpool/OpenCLIPVisionModelTaskPool/ViT-B-16_TA8.yaml,sha256=GjpiiRownrBCpl-TNwWRW2PYePbF-Cl99jlLNPrK5T4,1017
|
|
1016
1023
|
fusion_bench_config/taskpool/OpenCLIPVisionModelTaskPool/ViT-B-32_TA8.yaml,sha256=WwiYMQKehtJixDPnu5o3vcWe4yJksXTWRqOzm3uVWXQ,1017
|
|
1017
1024
|
fusion_bench_config/taskpool/OpenCLIPVisionModelTaskPool/ViT-L-14_TA8.yaml,sha256=xGRt0J9joXTzWUew6DvoYprAWlPXhaVFw5AX4im5VQw,1017
|
|
1018
|
-
fusion_bench-0.2.
|
|
1019
|
-
fusion_bench-0.2.
|
|
1020
|
-
fusion_bench-0.2.
|
|
1021
|
-
fusion_bench-0.2.
|
|
1022
|
-
fusion_bench-0.2.
|
|
1025
|
+
fusion_bench-0.2.31.dist-info/METADATA,sha256=q9jcr_GBD0XIZf6aFJOUwqDAUuqN2MUNTf51Jb_WIjg,26298
|
|
1026
|
+
fusion_bench-0.2.31.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
1027
|
+
fusion_bench-0.2.31.dist-info/entry_points.txt,sha256=iUQ8MCJvda7HP4vYh2n1Teoapb4G9PBVYZkAfcc5SHU,116
|
|
1028
|
+
fusion_bench-0.2.31.dist-info/top_level.txt,sha256=BuO4TL6iHL_2yPBUX9-LlIrHRczA_BNMIFwweK0PQEI,13
|
|
1029
|
+
fusion_bench-0.2.31.dist-info/RECORD,,
|
fusion_bench_config/README.md
CHANGED
|
@@ -3,6 +3,15 @@
|
|
|
3
3
|
This directory contains configuration files for FusionBench.
|
|
4
4
|
These configurations are essential for setting up and managing various algorithms and their hyperparameters.
|
|
5
5
|
|
|
6
|
+
## Built on Hydra
|
|
7
|
+
|
|
8
|
+
FusionBench's configuration system is built on [Hydra](https://hydra.cc/), a powerful framework for configuring complex applications. If you're new to Hydra, we recommend starting with the [Hydra documentation](https://hydra.cc/docs/intro/) to understand concepts like:
|
|
9
|
+
|
|
10
|
+
- Configuration composition and defaults
|
|
11
|
+
- Override syntax
|
|
12
|
+
- Configuration groups
|
|
13
|
+
- Variable interpolation
|
|
14
|
+
|
|
6
15
|
## Configuration Structure
|
|
7
16
|
|
|
8
17
|
FusionBench employs a modular configuration system, which is divided into three primary groups:
|
|
@@ -4,7 +4,9 @@ defaults:
|
|
|
4
4
|
run:
|
|
5
5
|
dir: ${path.log_dir}
|
|
6
6
|
sweep:
|
|
7
|
-
|
|
7
|
+
# the directory where all multirun outputs are stored
|
|
8
|
+
# can not refer to ${path.log_dir} because this is evaluated before constructing the separate run configs
|
|
9
|
+
dir: ${oc.env:FUSION_BENCH_PROJECT_ROOT,"."}/outputs/multirun/${hydra.job.config_name}/${now:%Y-%m-%d_%H-%M-%S}
|
|
8
10
|
subdir: ${hydra.job.num}
|
|
9
11
|
job:
|
|
10
12
|
env_set:
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
_target_: fusion_bench.method.concrete_subspace.clip_concrete_tsvm.ConcreteTSVMForOpenCLIP
|
|
2
|
+
# === Concrete Subspace parameters ===
|
|
3
|
+
# batch size per gpu
|
|
4
|
+
# if you have multiple gpus, the total batch size will be `batch_size * num_gpus`
|
|
5
|
+
dataloader_kwargs:
|
|
6
|
+
batch_size: 16
|
|
7
|
+
num_workers: 8
|
|
8
|
+
optimizer:
|
|
9
|
+
_target_: torch.optim.AdamW
|
|
10
|
+
lr: 1e-3
|
|
11
|
+
weight_decay: 0.01
|
|
12
|
+
fused: null
|
|
13
|
+
lr_scheduler: null
|
|
14
|
+
merge_dtype: null
|
|
15
|
+
max_steps: 2000
|
|
16
|
+
save_interval: 500
|
|
17
|
+
initial_logits: 0
|
|
18
|
+
temperature: 0.5
|
|
19
|
+
# "discrete" or "continuous", this is the mask applied for evaluation, not during training
|
|
20
|
+
# the performance of final model are expected to be similar
|
|
21
|
+
eval_mask_type: continuous
|
|
22
|
+
mask_checkpoint: null
|
|
23
|
+
# if `clamp_weights` is true, the weights will be clamped to [0, 1]
|
|
24
|
+
clamp_weights: false
|
|
25
|
+
# arguments of `functional_call`
|
|
26
|
+
tie_weights: true
|
|
27
|
+
strict: false
|
|
28
|
+
# directory to cache zero-shot classification heads
|
|
29
|
+
cache_dir: outputs
|
|
30
|
+
skip_training: false
|
|
31
|
+
# === TSVM parameters ===
|
|
32
|
+
exclude_keys: null
|
|
33
|
+
# alpha (also known as scaling factor) is a float or a list of floats
|
|
34
|
+
# example:
|
|
35
|
+
# alpha: 1
|
|
36
|
+
# alpha: [1, 0.5, 0.25]
|
|
37
|
+
alpha: 1
|
|
38
|
+
return_single_task_models: false
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|