fusion-bench 0.2.28__py3-none-any.whl → 0.2.30__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/__init__.py +5 -1
- fusion_bench/constants/runtime.py +111 -7
- fusion_bench/dataset/gsm8k.py +6 -2
- fusion_bench/dataset/image_corruption/make_corruption.py +168 -0
- fusion_bench/method/__init__.py +10 -2
- fusion_bench/method/base_algorithm.py +29 -19
- fusion_bench/method/classification/image_classification_finetune.py +1 -2
- fusion_bench/method/gossip/clip_task_wise_gossip.py +1 -29
- 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/metrics/nyuv2/__init__.py +31 -0
- fusion_bench/metrics/nyuv2/depth.py +30 -0
- fusion_bench/metrics/nyuv2/loss.py +40 -0
- fusion_bench/metrics/nyuv2/noise.py +24 -0
- fusion_bench/metrics/nyuv2/normal.py +34 -1
- fusion_bench/metrics/nyuv2/segmentation.py +35 -1
- fusion_bench/mixins/clip_classification.py +30 -2
- fusion_bench/mixins/lightning_fabric.py +46 -5
- fusion_bench/mixins/rich_live.py +76 -0
- fusion_bench/modelpool/base_pool.py +86 -5
- fusion_bench/models/masks/mask_model.py +8 -2
- fusion_bench/models/open_clip/modeling.py +7 -0
- fusion_bench/models/wrappers/layer_wise_fusion.py +41 -3
- fusion_bench/models/wrappers/task_wise_fusion.py +14 -3
- fusion_bench/scripts/cli.py +14 -0
- fusion_bench/scripts/webui.py +250 -17
- fusion_bench/utils/__init__.py +14 -0
- fusion_bench/utils/data.py +100 -9
- fusion_bench/utils/devices.py +3 -1
- fusion_bench/utils/fabric.py +185 -4
- fusion_bench/utils/instantiate_utils.py +29 -18
- fusion_bench/utils/json.py +6 -0
- fusion_bench/utils/misc.py +16 -0
- fusion_bench/utils/rich_utils.py +123 -6
- fusion_bench/utils/validation.py +197 -0
- {fusion_bench-0.2.28.dist-info → fusion_bench-0.2.30.dist-info}/METADATA +72 -13
- {fusion_bench-0.2.28.dist-info → fusion_bench-0.2.30.dist-info}/RECORD +49 -45
- fusion_bench_config/clip-vit-base-patch32_robustness_corrupted.yaml +6 -19
- fusion_bench_config/llama_full_finetune.yaml +4 -16
- fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_robustness_corrupted.yaml +1 -1
- fusion_bench_config/nyuv2_config.yaml +4 -13
- fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-base-patch32_robustness_corrupted.yaml +1 -1
- fusion_bench_config/taskpool/clip-vit-base-patch32_robustness_corrupted.yaml +1 -1
- fusion_bench/utils/auto.py +0 -31
- {fusion_bench-0.2.28.dist-info → fusion_bench-0.2.30.dist-info}/WHEEL +0 -0
- {fusion_bench-0.2.28.dist-info → fusion_bench-0.2.30.dist-info}/entry_points.txt +0 -0
- {fusion_bench-0.2.28.dist-info → fusion_bench-0.2.30.dist-info}/licenses/LICENSE +0 -0
- {fusion_bench-0.2.28.dist-info → fusion_bench-0.2.30.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Validation utilities for FusionBench.
|
|
3
|
+
|
|
4
|
+
This module provides robust input validation functions to ensure data integrity
|
|
5
|
+
and provide clear error messages throughout the FusionBench framework.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
import logging
|
|
9
|
+
from pathlib import Path
|
|
10
|
+
from typing import Any, Optional, Union
|
|
11
|
+
|
|
12
|
+
__all__ = [
|
|
13
|
+
"ValidationError",
|
|
14
|
+
"validate_path_exists",
|
|
15
|
+
"validate_file_exists",
|
|
16
|
+
"validate_directory_exists",
|
|
17
|
+
"validate_model_name",
|
|
18
|
+
]
|
|
19
|
+
|
|
20
|
+
log = logging.getLogger(__name__)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class ValidationError(ValueError):
|
|
24
|
+
"""Custom exception for validation errors with detailed context."""
|
|
25
|
+
|
|
26
|
+
def __init__(self, message: str, field: Optional[str] = None, value: Any = None):
|
|
27
|
+
self.field = field
|
|
28
|
+
self.value = value
|
|
29
|
+
detailed_message = message
|
|
30
|
+
if field:
|
|
31
|
+
detailed_message = f"Validation error for '{field}': {message}"
|
|
32
|
+
if value is not None:
|
|
33
|
+
detailed_message += f" (got: {value!r})"
|
|
34
|
+
super().__init__(detailed_message)
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def validate_path_exists(
|
|
38
|
+
path: Union[str, Path],
|
|
39
|
+
name: str = "path",
|
|
40
|
+
create_if_missing: bool = False,
|
|
41
|
+
must_be_file: bool = False,
|
|
42
|
+
must_be_dir: bool = False,
|
|
43
|
+
) -> Path:
|
|
44
|
+
"""
|
|
45
|
+
Validate that a path exists and optionally check its type.
|
|
46
|
+
|
|
47
|
+
Args:
|
|
48
|
+
path: Path to validate.
|
|
49
|
+
name: Name of the path for error messages.
|
|
50
|
+
create_if_missing: If True and path doesn't exist, create it as a directory.
|
|
51
|
+
must_be_file: If True, ensure path points to a file.
|
|
52
|
+
must_be_dir: If True, ensure path points to a directory.
|
|
53
|
+
|
|
54
|
+
Returns:
|
|
55
|
+
Path object of the validated path.
|
|
56
|
+
|
|
57
|
+
Raises:
|
|
58
|
+
ValidationError: If path validation fails.
|
|
59
|
+
|
|
60
|
+
Examples:
|
|
61
|
+
>>> validate_path_exists("./config", name="config_dir", must_be_dir=True)
|
|
62
|
+
PosixPath('config')
|
|
63
|
+
"""
|
|
64
|
+
if path is None:
|
|
65
|
+
raise ValidationError(f"{name} cannot be None", field=name, value=path)
|
|
66
|
+
|
|
67
|
+
assert not (
|
|
68
|
+
create_if_missing and must_be_file
|
|
69
|
+
), "create_if_missing and must_be_file cannot both be True. By definition, a created path is a directory."
|
|
70
|
+
|
|
71
|
+
path_obj = Path(path).expanduser().resolve()
|
|
72
|
+
|
|
73
|
+
if not path_obj.exists():
|
|
74
|
+
if create_if_missing:
|
|
75
|
+
log.info(f"Creating missing directory: {path_obj}")
|
|
76
|
+
path_obj.mkdir(parents=True, exist_ok=True)
|
|
77
|
+
else:
|
|
78
|
+
raise ValidationError(
|
|
79
|
+
f"{name} does not exist: {path_obj}", field=name, value=str(path)
|
|
80
|
+
)
|
|
81
|
+
|
|
82
|
+
if must_be_file and not path_obj.is_file():
|
|
83
|
+
raise ValidationError(
|
|
84
|
+
f"{name} must be a file, but got directory: {path_obj}",
|
|
85
|
+
field=name,
|
|
86
|
+
value=str(path),
|
|
87
|
+
)
|
|
88
|
+
|
|
89
|
+
if must_be_dir and not path_obj.is_dir():
|
|
90
|
+
raise ValidationError(
|
|
91
|
+
f"{name} must be a directory, but got file: {path_obj}",
|
|
92
|
+
field=name,
|
|
93
|
+
value=str(path),
|
|
94
|
+
)
|
|
95
|
+
|
|
96
|
+
return path_obj
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
def validate_file_exists(path: Union[str, Path], name: str = "file") -> Path:
|
|
100
|
+
"""
|
|
101
|
+
Validate that a file exists.
|
|
102
|
+
|
|
103
|
+
Args:
|
|
104
|
+
path: File path to validate.
|
|
105
|
+
name: Name of the file for error messages.
|
|
106
|
+
|
|
107
|
+
Returns:
|
|
108
|
+
Path object of the validated file.
|
|
109
|
+
|
|
110
|
+
Raises:
|
|
111
|
+
ValidationError: If file doesn't exist or is not a file.
|
|
112
|
+
"""
|
|
113
|
+
return validate_path_exists(path, name=name, must_be_file=True)
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
def validate_directory_exists(
|
|
117
|
+
path: Union[str, Path], name: str = "directory", create_if_missing: bool = False
|
|
118
|
+
) -> Path:
|
|
119
|
+
"""
|
|
120
|
+
Validate that a directory exists.
|
|
121
|
+
|
|
122
|
+
Args:
|
|
123
|
+
path: Directory path to validate.
|
|
124
|
+
name: Name of the directory for error messages.
|
|
125
|
+
create_if_missing: If True, create directory if it doesn't exist.
|
|
126
|
+
|
|
127
|
+
Returns:
|
|
128
|
+
Path object of the validated directory.
|
|
129
|
+
|
|
130
|
+
Raises:
|
|
131
|
+
ValidationError: If directory doesn't exist (and not creating) or is not a directory.
|
|
132
|
+
"""
|
|
133
|
+
return validate_path_exists(
|
|
134
|
+
path, name=name, must_be_dir=True, create_if_missing=create_if_missing
|
|
135
|
+
)
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
def validate_model_name(
|
|
139
|
+
model_name: str, allow_special: bool = True, field: str = "model_name"
|
|
140
|
+
) -> str:
|
|
141
|
+
"""
|
|
142
|
+
Validate a model name string.
|
|
143
|
+
|
|
144
|
+
Args:
|
|
145
|
+
model_name: Model name to validate.
|
|
146
|
+
allow_special: If True, allow special names like "_pretrained_". If False,
|
|
147
|
+
names starting and ending with underscores will be rejected.
|
|
148
|
+
field: Field name for error messages.
|
|
149
|
+
|
|
150
|
+
Returns:
|
|
151
|
+
The validated model name.
|
|
152
|
+
|
|
153
|
+
Raises:
|
|
154
|
+
ValidationError: If model name is invalid.
|
|
155
|
+
|
|
156
|
+
Examples:
|
|
157
|
+
>>> validate_model_name("openai/clip-vit-base-patch32")
|
|
158
|
+
'openai/clip-vit-base-patch32'
|
|
159
|
+
>>> validate_model_name("_pretrained_", allow_special=True)
|
|
160
|
+
'_pretrained_'
|
|
161
|
+
>>> validate_model_name("_pretrained_", allow_special=False)
|
|
162
|
+
Traceback (most recent call last):
|
|
163
|
+
...
|
|
164
|
+
ValidationError: Validation error for 'model_name': Special model names (starting and ending with '_') are not allowed (got: '_pretrained_')
|
|
165
|
+
"""
|
|
166
|
+
if not model_name or not isinstance(model_name, str):
|
|
167
|
+
raise ValidationError(
|
|
168
|
+
"Model name must be a non-empty string", field=field, value=model_name
|
|
169
|
+
)
|
|
170
|
+
|
|
171
|
+
model_name = model_name.strip()
|
|
172
|
+
if not model_name:
|
|
173
|
+
raise ValidationError(
|
|
174
|
+
"Model name cannot be empty or whitespace only",
|
|
175
|
+
field=field,
|
|
176
|
+
value=model_name,
|
|
177
|
+
)
|
|
178
|
+
|
|
179
|
+
# Check for special names (e.g., _pretrained_, _base_model_)
|
|
180
|
+
if not allow_special and model_name.startswith("_") and model_name.endswith("_"):
|
|
181
|
+
raise ValidationError(
|
|
182
|
+
"Special model names (starting and ending with '_') are not allowed",
|
|
183
|
+
field=field,
|
|
184
|
+
value=model_name,
|
|
185
|
+
)
|
|
186
|
+
|
|
187
|
+
# Check for invalid characters that might cause issues
|
|
188
|
+
invalid_chars = ["\n", "\r", "\t", "\0"]
|
|
189
|
+
for char in invalid_chars:
|
|
190
|
+
if char in model_name:
|
|
191
|
+
raise ValidationError(
|
|
192
|
+
f"Model name contains invalid character: {char!r}",
|
|
193
|
+
field=field,
|
|
194
|
+
value=model_name,
|
|
195
|
+
)
|
|
196
|
+
|
|
197
|
+
return model_name
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fusion-bench
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.30
|
|
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
|
|
@@ -44,12 +44,14 @@ Dynamic: license-file
|
|
|
44
44
|
|
|
45
45
|
[](http://arxiv.org/abs/2406.03280)
|
|
46
46
|
[](https://github.com/tanganke/fusion_bench/blob/main/LICENSE)
|
|
47
|
-
[](https://pypi.org/project/fusion-bench/)
|
|
48
|
-
[](https://pepy.tech/project/fusion-bench)
|
|
49
47
|
[](https://tanganke.github.io/fusion_bench/)
|
|
50
48
|
[](https://github.com/psf/black)
|
|
51
49
|
[](https://github.com/google/yamlfmt)
|
|
52
50
|
|
|
51
|
+
[](https://www.codefactor.io/repository/github/tanganke/fusion_bench/overview/main)
|
|
52
|
+
[](https://pypi.org/project/fusion-bench/)
|
|
53
|
+
[](https://pepy.tech/project/fusion-bench)
|
|
54
|
+
|
|
53
55
|
</div>
|
|
54
56
|
|
|
55
57
|
> [!TIP]
|
|
@@ -205,15 +207,57 @@ The CLI's design allows for easy extension to new fusion methods, model types, a
|
|
|
205
207
|
|
|
206
208
|
Read the [CLI documentation](https://tanganke.github.io/fusion_bench/cli/fusion_bench/) for more information.
|
|
207
209
|
|
|
210
|
+
## The FusionBench Workflow
|
|
211
|
+
|
|
212
|
+
FusionBench follows a three-component architecture to perform model fusion experiments:
|
|
213
|
+
|
|
214
|
+
```mermaid
|
|
215
|
+
graph LR
|
|
216
|
+
CLI[fusion_bench CLI] --> Hydra[Hydra Config]
|
|
217
|
+
Hydra --> Program[Program]
|
|
218
|
+
|
|
219
|
+
Program --> MP[ModelPool<br/>Manages Models<br/>& Datasets]
|
|
220
|
+
Program --> Method[Method<br/>Fusion Algorithm]
|
|
221
|
+
Program --> TP[TaskPool<br/>Evaluation Tasks]
|
|
222
|
+
|
|
223
|
+
MP --> Method
|
|
224
|
+
Method --> Merged[Merged Model]
|
|
225
|
+
Merged --> TP
|
|
226
|
+
TP --> Report[Evaluation Report]
|
|
227
|
+
|
|
228
|
+
style CLI fill:#e1f5e1
|
|
229
|
+
style Hydra fill:#f0e1ff
|
|
230
|
+
style Method fill:#ffe1f0
|
|
231
|
+
style Merged fill:#fff4e1
|
|
232
|
+
style Report fill:#e1f0ff
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
**Key Components:**
|
|
236
|
+
|
|
237
|
+
1. **CLI**: Entry point using Hydra for configuration management
|
|
238
|
+
2. **Program**: Orchestrates the fusion workflow (e.g., `FabricModelFusionProgram`)
|
|
239
|
+
3. **ModelPool**: Manages task-specific models and their datasets
|
|
240
|
+
4. **Method**: Implements the fusion algorithm (e.g., Simple Average, Task Arithmetic, AdaMerging)
|
|
241
|
+
5. **TaskPool**: Evaluates the merged model on benchmark tasks
|
|
242
|
+
|
|
243
|
+
**Workflow Steps:**
|
|
244
|
+
|
|
245
|
+
1. User runs `fusion_bench` with config overrides
|
|
246
|
+
2. Hydra loads YAML configs for method, modelpool, and taskpool
|
|
247
|
+
3. Program instantiates all three components
|
|
248
|
+
4. Method executes fusion algorithm on ModelPool
|
|
249
|
+
5. TaskPool evaluates the merged model
|
|
250
|
+
6. Results are saved and reported
|
|
251
|
+
|
|
208
252
|
## Implement your own model fusion algorithm
|
|
209
253
|
|
|
210
254
|
First, create a new Python file for the algorithm in the `fusion_bench/method` directory.
|
|
211
255
|
Following the naming convention, the file should be named `{method_name_or_class}/{variant}.py`.
|
|
212
256
|
|
|
213
257
|
```python
|
|
214
|
-
from fusion_bench import
|
|
258
|
+
from fusion_bench import BaseAlgorithm, BaseModelPool
|
|
215
259
|
|
|
216
|
-
class DerivedModelFusionAlgorithm(
|
|
260
|
+
class DerivedModelFusionAlgorithm(BaseAlgorithm):
|
|
217
261
|
"""
|
|
218
262
|
An example of a derived model fusion algorithm.
|
|
219
263
|
"""
|
|
@@ -221,7 +265,7 @@ class DerivedModelFusionAlgorithm(BaseModelFusionAlgorithm):
|
|
|
221
265
|
# _config_mapping maps the attribution to the corresponding key in the configuration file.
|
|
222
266
|
# this is optional and can be used to serialize the object to a configuration file.
|
|
223
267
|
# `self.config.hyperparam_1` will be mapped to the attribute `hyperparam_attr_1`.
|
|
224
|
-
_config_mapping =
|
|
268
|
+
_config_mapping = BaseAlgorithm._config_mapping | {
|
|
225
269
|
"hyperparam_attr_1": "hyperparam_1",
|
|
226
270
|
"hyperparam_attr_2": "hyperparam_2",
|
|
227
271
|
}
|
|
@@ -272,11 +316,24 @@ Click on [<kbd>Use this template</kbd>](https://github.com/fusion-bench/fusion-b
|
|
|
272
316
|
|
|
273
317
|
</div>
|
|
274
318
|
|
|
275
|
-
### FusionBench Command Generator WebUI
|
|
319
|
+
### FusionBench Command Generator WebUI
|
|
320
|
+
|
|
321
|
+
> [!NOTE]
|
|
322
|
+
> Requires `gradio` package. Install with `pip install gradio`.
|
|
323
|
+
|
|
324
|
+
For users who prefer a graphical interface, FusionBench provides an interactive web UI for generating commands:
|
|
325
|
+
|
|
326
|
+
```bash
|
|
327
|
+
fusion_bench_webui
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
This launches a browser-based interface where you can:
|
|
276
331
|
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
332
|
+
- Select root configurations and components through dropdowns
|
|
333
|
+
- Adjust hyperparameters interactively
|
|
334
|
+
- View real-time YAML configuration updates
|
|
335
|
+
|
|
336
|
+
The WebUI is particularly useful for exploring available configurations, experimenting with different parameter combinations, and learning the FusionBench configuration structure. [Learn more about the WebUI](https://tanganke.github.io/fusion_bench/cli/fusion_bench_webui/).
|
|
280
337
|
|
|
281
338
|

|
|
282
339
|
|
|
@@ -287,12 +344,14 @@ If you find this benchmark useful, please consider citing our work:
|
|
|
287
344
|
```bibtex
|
|
288
345
|
@article{tang2024fusionbench,
|
|
289
346
|
title={Fusionbench: A comprehensive benchmark of deep model fusion},
|
|
290
|
-
author={Tang, Anke and Shen, Li and Luo, Yong and Hu, Han and Du, Bo and Tao, Dacheng},
|
|
291
|
-
journal={
|
|
292
|
-
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}
|
|
293
350
|
}
|
|
294
351
|
```
|
|
295
352
|
|
|
296
353
|
## Star History
|
|
297
354
|
|
|
298
355
|
[](https://www.star-history.com/#tanganke/fusion_bench&Date)
|
|
356
|
+
|
|
357
|
+

|
|
@@ -13,16 +13,16 @@ fusion_bench/compat/taskpool/__init__.py,sha256=LHCRs7vrWMTtMfrqFRMmnNiSZnnZ7tZy
|
|
|
13
13
|
fusion_bench/compat/taskpool/base_pool.py,sha256=1AIZBxqUJgshq0Xo3Yo9es4b-8X8ksN1mFHxSOqnDsA,3307
|
|
14
14
|
fusion_bench/compat/taskpool/clip_image_classification.py,sha256=2L-VzsmKxNg8tglUzGA_qmLZ2oR5zKl352ylCmeY9mI,7426
|
|
15
15
|
fusion_bench/compat/taskpool/flan_t5_glue_text_generation.py,sha256=JsdAE72V1C1eDcA1WCa0PIcSDTrGPclNKFDQ9G-hYts,5786
|
|
16
|
-
fusion_bench/constants/__init__.py,sha256=
|
|
16
|
+
fusion_bench/constants/__init__.py,sha256=icLBUEZ84oExUXRNm5Nrm4FVcvAZ-SiQ5HWOLOuzU00,363
|
|
17
17
|
fusion_bench/constants/banner.py,sha256=fuIO36ETKlS6a3wbwZn-rA2OswSCfOYyyhZ0Fnal1s4,1656
|
|
18
18
|
fusion_bench/constants/clip_vision.py,sha256=qOHlYZYSOqpOO4-cfwUUhbv7qyr5IuUAW3yWjqjbJBo,1430
|
|
19
19
|
fusion_bench/constants/paths.py,sha256=1xLaZ2J3B3d0bo2ndubawaOjiFMJDAK6TjF685HlCM0,719
|
|
20
|
-
fusion_bench/constants/runtime.py,sha256=
|
|
20
|
+
fusion_bench/constants/runtime.py,sha256=0X8ldWJLGZ38lg_MbQE3M2ewm_vz9bUBPx3QkN3fNW4,4755
|
|
21
21
|
fusion_bench/dataset/__init__.py,sha256=2b4UGemg_F1I5cXkAzNMm12XmlP9-06DH8cW1V6ugwo,1495
|
|
22
22
|
fusion_bench/dataset/clip_dataset.py,sha256=xQ1aRiA_WMIZKha0do0Dg5F8qsEIucuouy8AbsxbewI,3263
|
|
23
23
|
fusion_bench/dataset/fer2013.py,sha256=Lub_xVhHfqaiPprvOsDVspJNioh1FjSrkhn3gL_UXDA,404
|
|
24
24
|
fusion_bench/dataset/gpt2_glue.py,sha256=UvNWKAAMnKMNjF0BCpwwc7Nz0SI7KacxRR6SDm9Mn0s,8869
|
|
25
|
-
fusion_bench/dataset/gsm8k.py,sha256=
|
|
25
|
+
fusion_bench/dataset/gsm8k.py,sha256=26IVIIm8vldN8xYYVfdrdTre6WizilCacVyY2Ti4qog,2274
|
|
26
26
|
fusion_bench/dataset/image_dataset.py,sha256=_N5JJC0lH3EbbrZMeuDatJILrKDK2EKHqtJB-m1pdFs,1879
|
|
27
27
|
fusion_bench/dataset/imdb.py,sha256=YRzeq5z-Fl0aYcC2QtwEBWFkvucvpNo975jwjL5SZvs,260
|
|
28
28
|
fusion_bench/dataset/nyuv2.py,sha256=9SAmRMxkWvZ6cYNRoOIBgf9fH8AXQCmdBOIkYxcz-1c,3811
|
|
@@ -35,7 +35,7 @@ fusion_bench/dataset/arc_agi/np_cache.py,sha256=Ec1DQFtlBdMy-f4dvGEhSr4jyVnBLQEL
|
|
|
35
35
|
fusion_bench/dataset/arc_agi/preprocess.py,sha256=lQrXqV4SkhrxREgbqFAop-IwC5qaoxkKosoMO-ZHITY,8509
|
|
36
36
|
fusion_bench/dataset/arc_agi/representers.py,sha256=-2eTYl-UcFW4zULDjkUrOQYv9P31nttMjc9eTJsaN0g,35852
|
|
37
37
|
fusion_bench/dataset/image_corruption/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
38
|
-
fusion_bench/dataset/image_corruption/make_corruption.py,sha256
|
|
38
|
+
fusion_bench/dataset/image_corruption/make_corruption.py,sha256=-v23617McqivbY90bn0Ciqngca4zfH_UK8FBaW5FRvY,11047
|
|
39
39
|
fusion_bench/dataset/llama/__init__.py,sha256=p8M7G69L6bga4qLl5lvAO6SKNeUBn99kkJrAQEeOvHw,22
|
|
40
40
|
fusion_bench/dataset/llama/alpaca.py,sha256=0nCQRBZzIPaMzA5VSJAsWw-nE0aVhiAQD5MGJRSrvEQ,7787
|
|
41
41
|
fusion_bench/dataset/llama/collate.py,sha256=fSH-vKKCGCpPT47gchETXLF2yTCMPUE3NTE-inCdczg,3869
|
|
@@ -48,8 +48,8 @@ fusion_bench/dataset/llama/stanford_shp.py,sha256=6ueXKnFXIBBobacU1h5WxGLZrSOtBk
|
|
|
48
48
|
fusion_bench/dataset/llama/ultrachat.py,sha256=Go7WvrDAYnm184fdazHGRYLbSY6Xd7jrESyQeUJtOww,1736
|
|
49
49
|
fusion_bench/dataset/llama/wikitext.py,sha256=9ZHR-nMfXRumd3o-PIj3n7B83YlVeqpGkZ2zJs2B-9Y,2883
|
|
50
50
|
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=
|
|
51
|
+
fusion_bench/method/__init__.py,sha256=Set_2GWpmI3q_WvbV1hBUfa6GFiIuajyiZR2hRbfrN0,9811
|
|
52
|
+
fusion_bench/method/base_algorithm.py,sha256=Pa3A7ON0YK3PJqFE77IY9dpQC-tQGJpX6kdf8IMnM_k,9453
|
|
53
53
|
fusion_bench/method/dummy.py,sha256=hb1y6LR_geRZ5eRgGwt5zJUcHYorCeIbs5i76CvurUc,1031
|
|
54
54
|
fusion_bench/method/ensemble.py,sha256=Bjzqxt-tUp5cawT1jIhqKswN5QH3bkYbmuI4LS4uTG0,3619
|
|
55
55
|
fusion_bench/method/model_recombination.py,sha256=b2ku5wCrWd1QSZscIra4KlhLDxt04JjU30ItMNvpZ6g,5268
|
|
@@ -80,7 +80,7 @@ fusion_bench/method/bitdelta/bitdelta_utils/diff.py,sha256=o3ib5sgGDYLgnL8YTfX0Y
|
|
|
80
80
|
fusion_bench/method/classification/__init__.py,sha256=byVJ574JQ_DUvsDv8S6ZM6BKAv4ZZ964Ej4btm0aC7k,867
|
|
81
81
|
fusion_bench/method/classification/clip_finetune.py,sha256=5q5Sr3eVVh8DfYdeSoGjwaKDksC8F2dY2r8Dl-wRaDg,15844
|
|
82
82
|
fusion_bench/method/classification/continual_clip_finetune.py,sha256=OLhZKS-6aCnafevZkZYcNMKTWDDj3DATB27eZl_i8EY,11530
|
|
83
|
-
fusion_bench/method/classification/image_classification_finetune.py,sha256=
|
|
83
|
+
fusion_bench/method/classification/image_classification_finetune.py,sha256=JGD8zpt_f4HojZ7Y9b7mFI-x9os1J0440tgorQMMZGY,15282
|
|
84
84
|
fusion_bench/method/concrete_subspace/__init__.py,sha256=jJoFcjnQe-jvccsm9DuCXna378m9XBT9vV1fEZbdfR0,464
|
|
85
85
|
fusion_bench/method/concrete_subspace/clip_concrete_adamerging.py,sha256=UkLOkaa_Dzlb4Q5ES69Y9GV1bodTnD7DzZFreykt65s,24706
|
|
86
86
|
fusion_bench/method/concrete_subspace/clip_concrete_task_arithmetic.py,sha256=Nx-3AiAeIt5zmcC21Ta2_-4cAQg9hOWvThurXNZzA-w,10580
|
|
@@ -122,7 +122,7 @@ fusion_bench/method/fw_merging/fw_soft.py,sha256=rmwwcEtJOqotxDqS9Vs2YVtwxYK--fw
|
|
|
122
122
|
fusion_bench/method/fw_merging/utils.py,sha256=EZyltS9hUM8NmcvXjAqhBpj-ucMlMtR95082kPDsJPU,10296
|
|
123
123
|
fusion_bench/method/gossip/__init__.py,sha256=3b7mB4wl7weA6JtPmEeHHG2Zb_MWaOt-i1beJjNCbc8,198
|
|
124
124
|
fusion_bench/method/gossip/clip_layer_wise_gossip.py,sha256=spio-nPSRDHrA4hSMtAc746AX_lLIgN0shOvZ0LYZVc,1218
|
|
125
|
-
fusion_bench/method/gossip/clip_task_wise_gossip.py,sha256=
|
|
125
|
+
fusion_bench/method/gossip/clip_task_wise_gossip.py,sha256=a0sH4NCShVWbhGVv6Wt10cJmIbOl1JKhGP46pztpa60,6210
|
|
126
126
|
fusion_bench/method/gossip/entropy_loss.py,sha256=ZeVe0Hq1PaMfppLqDbB0MOscZUZRNh4CALrvt8pmQC0,736
|
|
127
127
|
fusion_bench/method/gossip/flan_t5_layer_wise_gossip.py,sha256=H4KpVkZtcm90GCWodHNJYChxUj3beXn3GajqI4iNiYw,15674
|
|
128
128
|
fusion_bench/method/gossip/layer_wise_gossip.py,sha256=btcQxAZ6LepJMGPbsUsypAOlmGfUjKu2GfeTg_BfaVw,17173
|
|
@@ -257,31 +257,35 @@ fusion_bench/method/wudi/wudi.py,sha256=HL3Y0MPjozp7NML_UNjIWWPbQDQxYH_WG_Buyrip
|
|
|
257
257
|
fusion_bench/metrics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
258
258
|
fusion_bench/metrics/continual_learning/__init__.py,sha256=f-mkv4SpXTq5kiQVHbe2g0IPf4yLFgu1Dw7g2DOK6T4,57
|
|
259
259
|
fusion_bench/metrics/continual_learning/backward_transfer.py,sha256=LCMWFFmBgWv7UIAJqiTaSvVvanx4qjnXIGuCMYvzmtc,559
|
|
260
|
-
fusion_bench/metrics/
|
|
261
|
-
fusion_bench/metrics/
|
|
262
|
-
fusion_bench/metrics/
|
|
263
|
-
fusion_bench/metrics/
|
|
264
|
-
fusion_bench/metrics/nyuv2/
|
|
265
|
-
fusion_bench/metrics/nyuv2/
|
|
260
|
+
fusion_bench/metrics/model_kinship/__init__.py,sha256=-XWD0NR6Xz-p4oE8AKGoWrq-s1ayqWse7qLgNRENsaU,137
|
|
261
|
+
fusion_bench/metrics/model_kinship/calculate.py,sha256=FoyBQuz3-q2NRfUW9w0dq9Tm51WG83iF_L_nHMOSI20,2447
|
|
262
|
+
fusion_bench/metrics/model_kinship/calculate_split.py,sha256=_aTw7nfAZeEhiyqWlUkzwafQXLI3iDQMHdFy6ZMb88w,5797
|
|
263
|
+
fusion_bench/metrics/model_kinship/utility.py,sha256=9iF9bWsJOFhhLqPMDyHyg-PAmat_zYUbud-umTfgBLs,5903
|
|
264
|
+
fusion_bench/metrics/nyuv2/__init__.py,sha256=Ed1FQTJAxguJoorZLHIO-cSIgKYHHfqdf17J3o9_feI,1390
|
|
265
|
+
fusion_bench/metrics/nyuv2/depth.py,sha256=xmUokztxyPrl90qtcoQaanti6DbFaIVqglAo3PDnEso,2851
|
|
266
|
+
fusion_bench/metrics/nyuv2/loss.py,sha256=YKZSqycNyPWJV29Qa12--Wh87zZvtJcuUxUuiPbccpM,2529
|
|
267
|
+
fusion_bench/metrics/nyuv2/noise.py,sha256=2--bmTGN000zMFAf1t46PQrh_8M6_4a_EFEjggqlptA,1007
|
|
268
|
+
fusion_bench/metrics/nyuv2/normal.py,sha256=DJQRr3CEVGo0FnT2KjYYxFoH_8DQ3KbuJr7zRbQqAus,2901
|
|
269
|
+
fusion_bench/metrics/nyuv2/segmentation.py,sha256=l5VYish76PtdMQQrWxLk-WhAdlwuQRbOzNgmo1suI1I,2688
|
|
266
270
|
fusion_bench/metrics/text_to_image_generation/__init__.py,sha256=OEIxpKmyy6-3iWyJDP8oAFr1w56Gz9pAhmN2etaJimg,394
|
|
267
271
|
fusion_bench/metrics/text_to_image_generation/aesthetic_scorer.py,sha256=-ZaD84ENPITh_K0Fe9OKYYoiGnPhlSE9gTbBqrtnqqA,4487
|
|
268
272
|
fusion_bench/metrics/text_to_image_generation/compressibility.py,sha256=x4dNTFnAN4naChBDZBO-jUghnHAyobRVOupctKYRg1w,1656
|
|
269
273
|
fusion_bench/metrics/text_to_image_generation/pickscore_scorer.py,sha256=aSWzl8k7z80Cirg5qdfkPsp3sMFEv_PjA1NJv3PPWXY,3115
|
|
270
274
|
fusion_bench/mixins/__init__.py,sha256=2_mAT0VHiUYGyWJyiDSxcFmI4Qt64Y2qlNu1Z11fgyY,1320
|
|
271
|
-
fusion_bench/mixins/clip_classification.py,sha256=
|
|
275
|
+
fusion_bench/mixins/clip_classification.py,sha256=Ifc3R_RO1yb-nbT_lipfNudQS3iiB3G_trNMS1dEfRU,11329
|
|
272
276
|
fusion_bench/mixins/fabric_training.py,sha256=ZmycEhCaNCgVi5oM9m0q6msxgk3quowmFvDAcvskFrg,13017
|
|
273
277
|
fusion_bench/mixins/hydra_config.py,sha256=rfT-XPUKV_U3nvuTVsKLmSmEiieoSIsbhxE5_-E0er0,5508
|
|
274
|
-
fusion_bench/mixins/lightning_fabric.py,sha256
|
|
278
|
+
fusion_bench/mixins/lightning_fabric.py,sha256=Ezg4WRhfXBQYM5ndErWWX1vvKLmYBfpDf0wyQIB0nCY,9237
|
|
275
279
|
fusion_bench/mixins/openclip_classification.py,sha256=O45HzgLXNvlQr5RVpfIGsYdIQ0tY5g_68KB0MTqsZWU,290
|
|
276
280
|
fusion_bench/mixins/pyinstrument.py,sha256=I8CLVRUK6G_U8S5x-netmtAcy6m9uLB0UGB1AokbheU,5108
|
|
277
|
-
fusion_bench/mixins/rich_live.py,sha256=
|
|
281
|
+
fusion_bench/mixins/rich_live.py,sha256=bzUu4F90bq9x8DCY8rZmLz7sfmZiFH0GPIoY1O2ysHg,2970
|
|
278
282
|
fusion_bench/mixins/serialization.py,sha256=z73Mmq952TIdPwwZ8cRdl3n0_uc9lqylFI9fxKesREs,13260
|
|
279
283
|
fusion_bench/mixins/simple_profiler.py,sha256=QA4fZhD-uL06fZaoqBQowI0c_qrAUhWszFteyznFfUw,5391
|
|
280
284
|
fusion_bench/mixins/optim/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
281
285
|
fusion_bench/mixins/optim/adamw_with_warmup.py,sha256=qTnRl8GVVIfaplOFBHnJFuZUbxPZRWRGHGNzm_EDhDE,1421
|
|
282
286
|
fusion_bench/modelpool/PeftModelForSeq2SeqLM.py,sha256=rxPKTTWno3KAcTTEfydPpXx1b0EJa8PLbqrberweFF8,2108
|
|
283
287
|
fusion_bench/modelpool/__init__.py,sha256=qDlBPrWFW-Z-LByzmfqP1ozYhWx2lYAEjhqjKF4EAbY,2307
|
|
284
|
-
fusion_bench/modelpool/base_pool.py,sha256=
|
|
288
|
+
fusion_bench/modelpool/base_pool.py,sha256=WzAJf1Quj7DAPVycBnwE-LQ9ddv1rZ8qPid7R71QZdA,15501
|
|
285
289
|
fusion_bench/modelpool/convnext_for_image_classification.py,sha256=m9MxFgfzNjGnHOU6gufaTPgkk67lifNNwW03nHUxXKo,7377
|
|
286
290
|
fusion_bench/modelpool/dinov2_for_image_classification.py,sha256=Wd60J5Ji4KwXUYTPcYYXuYWrcpDlh7pjGZ-zjjRqYio,7496
|
|
287
291
|
fusion_bench/modelpool/huggingface_automodel.py,sha256=OJ6EyYyjNv1_Bhjn-zli-e__BJ0xVa4Fx9lhXVb-DJo,552
|
|
@@ -330,7 +334,7 @@ fusion_bench/models/llama/model_utils/misc.py,sha256=3SJ7wk71zLMVF-AJEvQ_KCfFaMg
|
|
|
330
334
|
fusion_bench/models/llama/model_utils/mod.py,sha256=xzNOgTRfOK9q8kml4Q2nmSOl23f33dE1tPi5zxgpWK0,1498
|
|
331
335
|
fusion_bench/models/llama/model_utils/visual.py,sha256=wpqWqEASyA7WhJLCfC26h0Cdn5CXnwC1qPJUlSXggo4,8310
|
|
332
336
|
fusion_bench/models/masks/__init__.py,sha256=vXG6jrBkDbPsnrX6nMEYAW1rQuGEWDgdjID7cKzXvrs,69
|
|
333
|
-
fusion_bench/models/masks/mask_model.py,sha256=
|
|
337
|
+
fusion_bench/models/masks/mask_model.py,sha256=NDVhtuvZ10NUfTLEI_ONTKiceuSF-W7T9SEeUnyZFYQ,5680
|
|
334
338
|
fusion_bench/models/model_card_templates/default.md,sha256=OoU83l1hip1gKsoA08hoKx-nCrOYbKaVTVCjK0pt9WY,1028
|
|
335
339
|
fusion_bench/models/modeling_deepseek_v2/__init__.py,sha256=trXrhtKb_gIxXVo7wSZ-il5sLJtDTiNZezRrEt3M8zM,505
|
|
336
340
|
fusion_bench/models/modeling_deepseek_v2/configuration_deepseek.py,sha256=TblFOCfNwaXUnXnD-sxFhSn5Df-_yy2LMcrth-sBPFI,10301
|
|
@@ -364,7 +368,7 @@ fusion_bench/models/nyuv2/lightning_module.py,sha256=SLtC0yL6455uKeb-o07MR6v-xE4
|
|
|
364
368
|
fusion_bench/models/nyuv2/resnet.py,sha256=PcCfBhEsxm7W8cu3epBbIbCYFARPrPTamIa3TtUAVa0,14305
|
|
365
369
|
fusion_bench/models/nyuv2/resnet_dilated.py,sha256=4EXB6vrBJS307YP6k-TRY1dFJ50LURcTuzqN4tZzYRk,3125
|
|
366
370
|
fusion_bench/models/open_clip/__init__.py,sha256=zT2sGAT98Py5vXMckZF4aD8MYEICEWa2p7nRg4IrS0w,192
|
|
367
|
-
fusion_bench/models/open_clip/modeling.py,sha256=
|
|
371
|
+
fusion_bench/models/open_clip/modeling.py,sha256=YOCsM1RfvhqJkUzwK9T4WqX1NW7LyAIi0UnN6ERQ-rk,5775
|
|
368
372
|
fusion_bench/models/open_clip/utils.py,sha256=YM_vGQSxIDoB2euHG54hhRGIcINJfR0NxNT5U42KRCw,10394
|
|
369
373
|
fusion_bench/models/open_clip/variables_and_paths.py,sha256=_OBcKvZwSGvYSmgKtXOuekEJI-btW94Ia-BQ9n4isfY,1231
|
|
370
374
|
fusion_bench/models/smile_moe/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -376,9 +380,9 @@ fusion_bench/models/surgery/__init__.py,sha256=tcUSi2m9GzGWfvRDQScIbdEbFBS_35gm9
|
|
|
376
380
|
fusion_bench/models/surgery/surgerymodelwrapper.py,sha256=F8jX88K5zVWC6HsfN-nGNkEiPwNrN11ydyQQ1EZHehM,5133
|
|
377
381
|
fusion_bench/models/wrappers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
378
382
|
fusion_bench/models/wrappers/ensemble.py,sha256=T-DAKrAm-ciZwV6Hbt8uASbjtoQpHTlvVyan3rhk_8k,11632
|
|
379
|
-
fusion_bench/models/wrappers/layer_wise_fusion.py,sha256=
|
|
383
|
+
fusion_bench/models/wrappers/layer_wise_fusion.py,sha256=T1sbujx_84Pj5yHFy5QqfipT6v3p96gUmnMgyy4lG0c,12560
|
|
380
384
|
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=
|
|
385
|
+
fusion_bench/models/wrappers/task_wise_fusion.py,sha256=iCrevrkG4uTr3U8_hgT_xEY4epnEK0EJO8yg-uEMIUI,17836
|
|
382
386
|
fusion_bench/optim/__init__.py,sha256=JS7J2VjrM2LdkiFCxuQnIuFwBsWiPyFb7QuEU6V2bPY,845
|
|
383
387
|
fusion_bench/optim/exception.py,sha256=fMgo1heiqfGhuI5RIbf30BwWSShn5RQiyeb30QtfTI0,1607
|
|
384
388
|
fusion_bench/optim/mezo.py,sha256=Vm4vMGh10Fhe28_9L1MK8r_U7DrurA8Liprh2_gn4_U,3646
|
|
@@ -392,10 +396,10 @@ fusion_bench/programs/base_program.py,sha256=Bl_bv8SawEUc-GBTtZFMoii0y-r-0hOXBAJ
|
|
|
392
396
|
fusion_bench/programs/fabric_fusion_program.py,sha256=wIHNpLUw6uAXpAasJRAMWut55hF_EGFShxn70zRRvfk,12449
|
|
393
397
|
fusion_bench/programs/fusion_program.py,sha256=qLyA3FHJUMM1L3mlYn4jlnZzv9OKguWM5aGGIoLts2I,11309
|
|
394
398
|
fusion_bench/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
395
|
-
fusion_bench/scripts/cli.py,sha256=
|
|
399
|
+
fusion_bench/scripts/cli.py,sha256=t3YFuscJluxxNdXawW8FOaYH2fKn7m_6bXNlJ8KcZZg,3414
|
|
396
400
|
fusion_bench/scripts/imgui.py,sha256=r9Glbfbwu3JCsX9TKQFwcHarvwA_G7ff0jWBUPW1S1U,7613
|
|
397
401
|
fusion_bench/scripts/nyuv2_mtl_train.py,sha256=W1C45R9NdF4O-UjCx1bUxRTdFE0-FlRpwJHZ5gY18rI,3602
|
|
398
|
-
fusion_bench/scripts/webui.py,sha256=
|
|
402
|
+
fusion_bench/scripts/webui.py,sha256=ROvZUIj-hR4JLgCiWEKGc25LMtAjaMAZLJ5ckDYt-w4,21513
|
|
399
403
|
fusion_bench/scripts/clip/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
400
404
|
fusion_bench/scripts/clip/convert_checkpoint.py,sha256=zncgRAhInFpJDSHIm3GO4F6BzgsdAQVj3LLmV7g-JiQ,1221
|
|
401
405
|
fusion_bench/taskpool/__init__.py,sha256=n5jUUMI1TDK0g72PpFLlajqZ6FwEKjyfQLY4hnYlQ4I,1479
|
|
@@ -454,33 +458,33 @@ fusion_bench/tasks/flan_t5_text_generation/glue_evaluation.py,sha256=-B1wqVGp3wZ
|
|
|
454
458
|
fusion_bench/tasks/flan_t5_text_generation/glue_load_dataset.py,sha256=sVihXHbqwi8IlDpiIxzvmDv-Ob7WKvi23GIRYbBUKOc,1833
|
|
455
459
|
fusion_bench/tasks/flan_t5_text_generation/glue_preprocessors.py,sha256=GhRmGmcJGF4oVgZQarsBtx8GNKrNEZUkrillNz3iBuY,13183
|
|
456
460
|
fusion_bench/tasks/flan_t5_text_generation/glue_prompt_templates.py,sha256=mKMTXIr5o-BqS_Hvv1bbMvvjQLLeKNVw7BKS9qgQ8Dw,1890
|
|
457
|
-
fusion_bench/utils/__init__.py,sha256=
|
|
458
|
-
fusion_bench/utils/auto.py,sha256=uACQLE62_kNyhl4BGduvcbyeTE61qXpIJx3Ccl8kh68,920
|
|
461
|
+
fusion_bench/utils/__init__.py,sha256=EvrvupFGAzxll_jO0HYk1-I6jCHqDrIwZ5vswlR-9Pw,5149
|
|
459
462
|
fusion_bench/utils/cache_utils.py,sha256=-bTZijQgl4BuAx0VSJFD-bSDOXuq3o0NkrOaiLiyofU,4795
|
|
460
|
-
fusion_bench/utils/data.py,sha256=
|
|
461
|
-
fusion_bench/utils/devices.py,sha256=
|
|
463
|
+
fusion_bench/utils/data.py,sha256=QAXpsvzHOgfAf6G_Pe2a5HOKUAP8Mxz77avujQI9Fd8,10027
|
|
464
|
+
fusion_bench/utils/devices.py,sha256=IyUBaWbnZGDsAxI97LEioUj-JIjYTzxQo_EhyKY3RZM,9566
|
|
462
465
|
fusion_bench/utils/dict.py,sha256=ZCK0CRRT_B1Z18WY_GOYcmth7k5x9Jn1k7XhAVWRu98,1379
|
|
463
466
|
fusion_bench/utils/dtype.py,sha256=z6UlPGF9dzG4Ik8rXGf59PJk_RKzG6Trp8O6wcBS9PU,4360
|
|
464
467
|
fusion_bench/utils/expr.py,sha256=zwHNrtIbOMnIChU-0ZI5qLbDva8zvHbizL-4F2TwM14,2386
|
|
465
|
-
fusion_bench/utils/fabric.py,sha256=
|
|
468
|
+
fusion_bench/utils/fabric.py,sha256=qKcJ6Xj-6rEGy35dsUPHzxZT6az9RkSNcyBQl1uOv0M,6050
|
|
466
469
|
fusion_bench/utils/functools.py,sha256=7_tYJ2WD88_2DDuOOj5aZz3cYuslYH5tsVyIgCeLtmk,1318
|
|
467
470
|
fusion_bench/utils/hydra_utils.py,sha256=TklUDKDEZlg4keI-TEZiqh4gFjr9-61Rt1RMlqkoSGk,1174
|
|
468
|
-
fusion_bench/utils/instantiate_utils.py,sha256=
|
|
469
|
-
fusion_bench/utils/json.py,sha256=
|
|
471
|
+
fusion_bench/utils/instantiate_utils.py,sha256=UNfx188feTDrMSgp-ocLHetj6uD6axZcC46dRfBMtko,17884
|
|
472
|
+
fusion_bench/utils/json.py,sha256=XZvEqBGpq-e0MaKkkX-1_PD8xMf6IDLAn4BrAF7IeiU,4552
|
|
470
473
|
fusion_bench/utils/lazy_imports.py,sha256=s-1ABhPyyHs7gW4aodCzu3NySzILzTL7kVNZ0DZRXJA,6156
|
|
471
474
|
fusion_bench/utils/lazy_state_dict.py,sha256=mJaiAtKB1vlNUAoQILnnCmU80FGJ8MSwmdPpmdhOyDE,22206
|
|
472
|
-
fusion_bench/utils/misc.py,sha256=
|
|
475
|
+
fusion_bench/utils/misc.py,sha256=xntIUj4cwgx10y7Z1YqXT0zU4nDHfnKRK_M9biWgLH4,5780
|
|
473
476
|
fusion_bench/utils/modelscope.py,sha256=P8fV6Eff8oP0LVGIFGbLvuk8MBteysN438djZ6ZEfE4,10699
|
|
474
477
|
fusion_bench/utils/packages.py,sha256=m2E0ryIMI0NwWR9vUHkK9FtZEwA1G-A4dYOf87olli4,2217
|
|
475
478
|
fusion_bench/utils/parameters.py,sha256=ufEDOYJwcQQxLfveK8hBAGwpu5J3LA_cTWiDgZ2zkJ0,11788
|
|
476
479
|
fusion_bench/utils/path.py,sha256=piznok_znXkTY71VBwJrxBlXureYOdQnMfvqaZ26qvc,2643
|
|
477
480
|
fusion_bench/utils/pylogger.py,sha256=1Uy_LkHkbrYdt1g5Ge_eAh2YoCJwn3U3Ndouz9sVA6g,3419
|
|
478
|
-
fusion_bench/utils/rich_utils.py,sha256=
|
|
481
|
+
fusion_bench/utils/rich_utils.py,sha256=CJKL1vIHm2EznWa4e7ExmY5-lRtRRHLd7ZFPcn2acUs,9664
|
|
479
482
|
fusion_bench/utils/set.py,sha256=_43ZvGKJ_BK9sUslsSNhi7xEfuAQuyj3vViImnGpnCY,134
|
|
480
483
|
fusion_bench/utils/state_dict_arithmetic.py,sha256=bXO3zewO3KDzRmTaznlsnURIoSlcW5V5IhuXGtI_nxk,41234
|
|
481
484
|
fusion_bench/utils/tensorboard.py,sha256=9fkgNYR9LM38nPNkudcxL9TjLUseW-280M0k2nLff7o,1669
|
|
482
485
|
fusion_bench/utils/timer.py,sha256=adBpA_XjpCuVvL6uyCtKhAFRzk4SXsr8T8P5kQNz0x8,5012
|
|
483
486
|
fusion_bench/utils/type.py,sha256=2iu8PQzSzI2KopYwg4Pay7qpq7s_LKkl6Rhj-tjG3u0,630
|
|
487
|
+
fusion_bench/utils/validation.py,sha256=-pUbATmeuinfceB7PNljCYgMk9gUQKwNn1dHvkuevtE,6082
|
|
484
488
|
fusion_bench/utils/plot/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
485
489
|
fusion_bench/utils/plot/color_data.py,sha256=5QO2tlf-9bCKywsIZJXxl6klWb8EntXFilTas_8je5c,48260
|
|
486
490
|
fusion_bench/utils/plot/token.py,sha256=QGmL_qX8drmWnN_VNLD_0YjKc1o_qahJE-svXVor8dU,1634
|
|
@@ -488,15 +492,15 @@ fusion_bench/utils/plot/token_notebook.py,sha256=bsntXf46Zz_RavTxNiB9c3-KvHw7LFw
|
|
|
488
492
|
fusion_bench/utils/strenum/__init__.py,sha256=id9ORi1uXrDxhbmVxitJ1KDwLS4H3AAwFpaK5h1cQzw,8531
|
|
489
493
|
fusion_bench/utils/strenum/_name_mangler.py,sha256=o11M5-bURW2RBvRTYXFQIPNeqLzburdoWLIqk8X3ydw,3397
|
|
490
494
|
fusion_bench/utils/strenum/_version.py,sha256=6JQRo9LcvODbCOeVFYQb9HNJ_J9XiG_Zbn8ws2A3BV8,18466
|
|
491
|
-
fusion_bench-0.2.
|
|
495
|
+
fusion_bench-0.2.30.dist-info/licenses/LICENSE,sha256=nhnOJlw4CPuPVE0qvkGmxfFgHmKi-6nzXvTu8t0NUdg,1066
|
|
492
496
|
fusion_bench_config/README.md,sha256=Lc8YSBJ5oxf9KV5kKDivJ9LRyGuraGQPmBbgbdVA-j4,703
|
|
493
|
-
fusion_bench_config/clip-vit-base-patch32_robustness_corrupted.yaml,sha256=
|
|
497
|
+
fusion_bench_config/clip-vit-base-patch32_robustness_corrupted.yaml,sha256=pZ5dFgg5n1W9cKdNyGNa7b4yPd4aQSu2iR2-yw9hhbY,442
|
|
494
498
|
fusion_bench_config/fabric_model_fusion.yaml,sha256=kSQbhBsKypVFA3rmkdhY9BITnZWDXJof-I35t473_U0,2646
|
|
495
|
-
fusion_bench_config/llama_full_finetune.yaml,sha256=
|
|
499
|
+
fusion_bench_config/llama_full_finetune.yaml,sha256=2xBhxEJxLZNDYc_9X8TtpXMRu85ksJxjkfqsz_xn5Yo,195
|
|
496
500
|
fusion_bench_config/llama_magnitude_pruning.yaml,sha256=xFyDJpb8gyIjosteOpEW9eayONWhl0B763r1XmO-9w8,633
|
|
497
501
|
fusion_bench_config/llama_model_fusion.yaml,sha256=KMMDFPAiiOU1vIMWw58FoMhi8-_SDImF4eqlg9ZoprY,586
|
|
498
502
|
fusion_bench_config/model_fusion.yaml,sha256=QCq61w-40Lhl53-pTsKSVbn48iNE619YeRIxurH8Hxc,2511
|
|
499
|
-
fusion_bench_config/nyuv2_config.yaml,sha256=
|
|
503
|
+
fusion_bench_config/nyuv2_config.yaml,sha256=SJ-jcYmFsVNgIix_S8bloCMtNFqwISQNNkrCoFpatKA,181
|
|
500
504
|
fusion_bench_config/nyuv2_mtl_train.yaml,sha256=VpQsJ9oheIlcbfU_vdmIVXJEESKG7GuftSmmoDptstE,609
|
|
501
505
|
fusion_bench_config/_get_started/clip_evaluate_single_model.yaml,sha256=Bh448Jd_6OlldG6jo9LYZrx0U-xLZXtB8I6yxnFHM_I,630
|
|
502
506
|
fusion_bench_config/_get_started/clip_simple_average.yaml,sha256=MHaqUyuaLfHKMn5OPeNMpv3jCI1_zIEfsIQjonp3fow,780
|
|
@@ -849,7 +853,7 @@ fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_generali
|
|
|
849
853
|
fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_individual.yaml,sha256=ocGSa4hzUFiAaRG1DjBenazAeO_DsCGNGCue-0tUl28,160
|
|
850
854
|
fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_mtl.yaml,sha256=pQr8lF-hIFrPXPcZYlbSxx8PF8EClZ6nm2L4yqEmHTk,176
|
|
851
855
|
fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_robustness_clean.yaml,sha256=7oQtoqXs37fctajb6E7UOB0GT515eEGzFNm93dWOKKk,509
|
|
852
|
-
fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_robustness_corrupted.yaml,sha256=
|
|
856
|
+
fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_robustness_corrupted.yaml,sha256=GiCY7GVaJtjLJjFV-GILiELm-KoFhM6wHdXfh10sDEM,901
|
|
853
857
|
fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_single_finetuned.yaml,sha256=XOweydALcCrXCaH14e5Fn7UDWihSkNmXYEu9daG43jY,236
|
|
854
858
|
fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_single_task_projection.yaml,sha256=i78xIL-vP28dYZaXntLsm7e9IdI2yAeUwZZze5fd9Do,288
|
|
855
859
|
fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_sun397_and_cars.yaml,sha256=gDEzNfwsMtIu2xH8WSIUblx4ZyL1FsLXoSEpXPHiMaI,482
|
|
@@ -972,14 +976,14 @@ fusion_bench_config/modelpool/SequenceClassificationModelPool/roberta-base_glue.
|
|
|
972
976
|
fusion_bench_config/modelpool/SequenceClassificationModelPool/single_reward_model.yaml,sha256=sWGcEngJfBOEE2uaah33UBQa3hjoDxtFfGOgT2GtzxQ,624
|
|
973
977
|
fusion_bench_config/path/default.yaml,sha256=jSEGsRp2YSyvQeBq9FncX1W_piLGVZp71RiyvjGzXPw,1346
|
|
974
978
|
fusion_bench_config/taskpool/clip-vit-base-patch32_robustness_clean.yaml,sha256=vcU1ygptQ7nlufCEdKDWGMyi-OH4zJs55_vxG-iNHBc,541
|
|
975
|
-
fusion_bench_config/taskpool/clip-vit-base-patch32_robustness_corrupted.yaml,sha256=
|
|
979
|
+
fusion_bench_config/taskpool/clip-vit-base-patch32_robustness_corrupted.yaml,sha256=uYuOXJ3x9RB6TDHjrQl7gNLJxIqitmGnBYkF-mGuv2E,759
|
|
976
980
|
fusion_bench_config/taskpool/dummy.yaml,sha256=Id4Y_j7oc39qWjjEFG3qLmmMI1fGXXt34gVO56NFZ0U,68
|
|
977
981
|
fusion_bench_config/taskpool/flan-t5_glue_text_generation.yaml,sha256=3MxfXiiwWJHEVgJ7aViTR7kzOV_YxXLL-fNHtnBaWN4,1002
|
|
978
982
|
fusion_bench_config/taskpool/gpt-2_glue.yaml,sha256=pkiZnblniEU-VMEiKVuoE9Ian0Fk2TTZH527GgZQUCc,949
|
|
979
983
|
fusion_bench_config/taskpool/nyuv2_taskpool.yaml,sha256=UaxDpFqEPkEz3h2CjFleUxsmnFnaY1aLXerkud8Zm9s,133
|
|
980
984
|
fusion_bench_config/taskpool/reward_model_evaluation.yaml,sha256=WvhlUnIt3w0MpYNrYTp3tYvn5WOoYoUSj6stBF2ZiWk,438
|
|
981
985
|
fusion_bench_config/taskpool/CLIPVisionModelTaskPool/_template.yaml,sha256=nOr_clBk9Nfbj4Q2DliMbhNqqVnV3OfDA-KKCLhyJoA,1307
|
|
982
|
-
fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-base-patch32_robustness_corrupted.yaml,sha256=
|
|
986
|
+
fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-base-patch32_robustness_corrupted.yaml,sha256=uYuOXJ3x9RB6TDHjrQl7gNLJxIqitmGnBYkF-mGuv2E,759
|
|
983
987
|
fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-base-patch32_svhn_and_mnist.yaml,sha256=N1cbBiAz0dty2uiWoxiAmG2yrF5fbUrmoVGNaaqNU34,1159
|
|
984
988
|
fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TA8.yaml,sha256=eoNUaX-cBjpJJt0BYb-ZCNiIlv1SarX9toiGAwHbES0,227
|
|
985
989
|
fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TA8_B16.yaml,sha256=R9q595jKLAjuIV6BFqc646l08BJEQ7bSLFAO7QBtZAA,782
|
|
@@ -1015,8 +1019,8 @@ fusion_bench_config/taskpool/LMEvalHarnessTaskPool/lm_eval.yaml,sha256=3q-KMuFaM
|
|
|
1015
1019
|
fusion_bench_config/taskpool/OpenCLIPVisionModelTaskPool/ViT-B-16_TA8.yaml,sha256=GjpiiRownrBCpl-TNwWRW2PYePbF-Cl99jlLNPrK5T4,1017
|
|
1016
1020
|
fusion_bench_config/taskpool/OpenCLIPVisionModelTaskPool/ViT-B-32_TA8.yaml,sha256=WwiYMQKehtJixDPnu5o3vcWe4yJksXTWRqOzm3uVWXQ,1017
|
|
1017
1021
|
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.
|
|
1022
|
+
fusion_bench-0.2.30.dist-info/METADATA,sha256=fcL0hcELjiXF7XmX4E2efcc_v1SrlSL9fsqQ7WCxyVM,26298
|
|
1023
|
+
fusion_bench-0.2.30.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
1024
|
+
fusion_bench-0.2.30.dist-info/entry_points.txt,sha256=iUQ8MCJvda7HP4vYh2n1Teoapb4G9PBVYZkAfcc5SHU,116
|
|
1025
|
+
fusion_bench-0.2.30.dist-info/top_level.txt,sha256=BuO4TL6iHL_2yPBUX9-LlIrHRczA_BNMIFwweK0PQEI,13
|
|
1026
|
+
fusion_bench-0.2.30.dist-info/RECORD,,
|
|
@@ -1,22 +1,9 @@
|
|
|
1
1
|
defaults:
|
|
2
|
-
-
|
|
3
|
-
-
|
|
4
|
-
#
|
|
5
|
-
-
|
|
6
|
-
- method: dummy # change this to the method you want to use
|
|
7
|
-
- taskpool: CLIPVisionModelTaskPool/clip-vit-base-patch32_robustness_corrupted
|
|
2
|
+
- fabric_model_fusion
|
|
3
|
+
- override modelpool: CLIPVisionModelPool/clip-vit-base-patch32_robustness_corrupted
|
|
4
|
+
- override method: dummy # change this to the method you want to use
|
|
5
|
+
- override taskpool: CLIPVisionModelTaskPool/clip-vit-base-patch32_robustness_corrupted
|
|
8
6
|
- _self_
|
|
9
|
-
|
|
10
|
-
_recursive_: false
|
|
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`.
|
|
13
|
-
# You can also use `--cfg` or `-c` to show the configuration instead of running.
|
|
14
|
-
dry_run: false
|
|
15
|
-
print_config: true # Print the configuration to the console
|
|
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
|
-
merged_model_save_kwargs: null
|
|
18
|
-
report_save_path: null # path to save the result report
|
|
19
|
-
print_function_call: true # set to false if you don't want to print the details of instantiate calls
|
|
20
|
-
# `corrption` can be one of:
|
|
7
|
+
# `corruption` can be one of:
|
|
21
8
|
# contrast, gaussian_noise, impulse_noise, jpeg_compression, motion_blur, pixelate, spatter
|
|
22
|
-
corruption:
|
|
9
|
+
corruption: gaussian_noise
|