fusion-bench 0.2.30__py3-none-any.whl → 0.2.32__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 (70) hide show
  1. fusion_bench/__init__.py +6 -0
  2. fusion_bench/__main__.py +2 -2
  3. fusion_bench/constants/runtime.py +4 -1
  4. fusion_bench/dataset/__init__.py +2 -0
  5. fusion_bench/dataset/clip_dataset.py +4 -72
  6. fusion_bench/dataset/image_dataset.py +44 -18
  7. fusion_bench/method/base_algorithm.py +4 -0
  8. fusion_bench/method/classification/image_classification_finetune.py +1 -0
  9. fusion_bench/method/concrete_subspace/clip_concrete_tsvm.py +285 -0
  10. fusion_bench/method/dop/dop.py +0 -22
  11. fusion_bench/method/dop/dop_general.py +489 -0
  12. fusion_bench/method/dop/utils.py +24 -4
  13. fusion_bench/method/emr_merging/__init__.py +1 -0
  14. fusion_bench/method/emr_merging/emr_merging.py +53 -0
  15. fusion_bench/method/emr_merging/utils.py +162 -0
  16. fusion_bench/method/opcm/opcm.py +6 -2
  17. fusion_bench/method/opcm/opcm_general.py +356 -0
  18. fusion_bench/method/opcm/utils.py +1 -4
  19. fusion_bench/method/simple_average.py +52 -18
  20. fusion_bench/method/task_arithmetic/task_arithmetic.py +1 -1
  21. fusion_bench/method/task_singular_vector/TSVM.py +7 -6
  22. fusion_bench/method/task_singular_vector/utils/TSVM_utils.py +0 -1
  23. fusion_bench/mixins/lightning_fabric.py +110 -11
  24. fusion_bench/mixins/openclip_classification.py +155 -1
  25. fusion_bench/mixins/serialization.py +1 -1
  26. fusion_bench/modelpool/base_pool.py +37 -0
  27. fusion_bench/modelpool/convnext_for_image_classification.py +5 -2
  28. fusion_bench/modelpool/openclip_vision/modelpool.py +12 -3
  29. fusion_bench/models/hf_clip.py +20 -0
  30. fusion_bench/models/modulator/__init__.py +1 -0
  31. fusion_bench/models/modulator/base.py +123 -0
  32. fusion_bench/models/open_clip/modeling.py +61 -5
  33. fusion_bench/models/open_clip/utils.py +13 -2
  34. fusion_bench/models/parameter_dict.py +119 -29
  35. fusion_bench/models/utils.py +190 -2
  36. fusion_bench/models/wrappers/switch.py +90 -0
  37. fusion_bench/programs/base_program.py +6 -0
  38. fusion_bench/programs/fabric_fusion_program.py +4 -0
  39. fusion_bench/py.typed +1 -0
  40. fusion_bench/scripts/cli.py +25 -23
  41. fusion_bench/scripts/imgui.py +2 -2
  42. fusion_bench/scripts/webui.py +2 -2
  43. fusion_bench/taskpool/image_classification.py +270 -0
  44. fusion_bench/utils/__init__.py +20 -1
  45. fusion_bench/utils/data.py +1 -1
  46. fusion_bench/utils/dict.py +19 -0
  47. fusion_bench/utils/dtype.py +19 -0
  48. fusion_bench/utils/hydra_utils.py +75 -0
  49. fusion_bench/utils/misc.py +1 -0
  50. fusion_bench/utils/packages.py +4 -0
  51. fusion_bench/utils/parameters.py +33 -0
  52. fusion_bench/utils/rich_utils.py +42 -19
  53. fusion_bench/utils/state_dict_arithmetic.py +183 -1
  54. fusion_bench/utils/tensorboard.py +21 -3
  55. {fusion_bench-0.2.30.dist-info → fusion_bench-0.2.32.dist-info}/METADATA +3 -1
  56. {fusion_bench-0.2.30.dist-info → fusion_bench-0.2.32.dist-info}/RECORD +70 -53
  57. {fusion_bench-0.2.30.dist-info → fusion_bench-0.2.32.dist-info}/WHEEL +1 -1
  58. {fusion_bench-0.2.30.dist-info → fusion_bench-0.2.32.dist-info}/entry_points.txt +1 -1
  59. fusion_bench_config/README.md +9 -0
  60. fusion_bench_config/fabric/auto.yaml +1 -0
  61. fusion_bench_config/fabric/loggers/mlflow_logger.yaml +4 -0
  62. fusion_bench_config/hydra/default.yaml +3 -1
  63. fusion_bench_config/method/concrete_subspace/clip_concrete_tsvm.yaml +38 -0
  64. fusion_bench_config/method/dop/dop_general.yaml +33 -0
  65. fusion_bench_config/method/emr_merging/emr_merging.yaml +1 -0
  66. fusion_bench_config/method/opcm/opcm_general.yaml +18 -0
  67. fusion_bench_config/modelpool/ConvNextForImageClassification/convnext-base-224_8-tasks.yaml +15 -0
  68. fusion_bench_config/taskpool/ImageClassificationTaskPool/convnext-base-224_8-tasks.yaml +17 -0
  69. {fusion_bench-0.2.30.dist-info → fusion_bench-0.2.32.dist-info}/licenses/LICENSE +0 -0
  70. {fusion_bench-0.2.30.dist-info → fusion_bench-0.2.32.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,16 @@
1
1
  from collections import OrderedDict
2
2
  from numbers import Number
3
- from typing import Callable, Dict, List, Literal, Optional, Union, cast
3
+ from typing import (
4
+ Callable,
5
+ Dict,
6
+ Iterator,
7
+ List,
8
+ Literal,
9
+ Mapping,
10
+ Optional,
11
+ Union,
12
+ cast,
13
+ )
4
14
 
5
15
  import torch
6
16
  from torch import Tensor
@@ -462,6 +472,118 @@ class ArithmeticStateDict(OrderedDict):
462
472
  return cls(result_dict)
463
473
 
464
474
 
475
+ class LazyStateDictExpr(Mapping[str, torch.Tensor]):
476
+ """
477
+ A lazy, key-wise expression over state_dict-like objects.
478
+ """
479
+
480
+ # ---- core Mapping API ----
481
+ def __getitem__(self, key: str) -> torch.Tensor:
482
+ raise NotImplementedError
483
+
484
+ def __iter__(self) -> Iterator[str]:
485
+ raise NotImplementedError
486
+
487
+ def __len__(self) -> int:
488
+ raise NotImplementedError
489
+
490
+ # ---- arithmetic (build graph only) ----
491
+ def __add__(self, other):
492
+ return BinaryOp(torch.add, self, ensure_expr(other))
493
+
494
+ def __sub__(self, other):
495
+ return BinaryOp(torch.sub, self, ensure_expr(other))
496
+
497
+ def __mul__(self, scalar):
498
+ return UnaryOp(lambda x: x * scalar, self)
499
+
500
+ def __rmul__(self, scalar):
501
+ return self.__mul__(scalar)
502
+
503
+ def __truediv__(self, scalar):
504
+ return UnaryOp(lambda x: x / scalar, self)
505
+
506
+ # ---- eager escape hatch ----
507
+ def materialize(
508
+ self, device=None, dtype=None, non_blocking=False, copy=False
509
+ ) -> Dict[str, torch.Tensor]:
510
+ """
511
+ Eagerly evaluate into an OrderedDict.
512
+ """
513
+ out = {}
514
+ for k in self:
515
+ v = self[k]
516
+ out[k] = v.to(
517
+ device=device,
518
+ dtype=dtype,
519
+ non_blocking=non_blocking,
520
+ copy=copy,
521
+ )
522
+ return out
523
+
524
+ def __repr__(self):
525
+ return f"{self.__class__.__name__}(lazy)"
526
+
527
+
528
+ class StateDictLeaf(LazyStateDictExpr):
529
+ def __init__(self, state_dict: Mapping[str, torch.Tensor]):
530
+ self._sd = state_dict
531
+
532
+ def __getitem__(self, key: str) -> torch.Tensor:
533
+ return self._sd[key]
534
+
535
+ def __iter__(self):
536
+ return iter(self._sd)
537
+
538
+ def __len__(self):
539
+ return len(self._sd)
540
+
541
+
542
+ class UnaryOp(LazyStateDictExpr):
543
+ def __init__(self, op: Callable[[torch.Tensor], torch.Tensor], child):
544
+ self.op = op
545
+ self.child = child
546
+
547
+ def __getitem__(self, key: str):
548
+ return self.op(self.child[key])
549
+
550
+ def __iter__(self):
551
+ return iter(self.child)
552
+
553
+ def __len__(self):
554
+ return len(self.child)
555
+
556
+
557
+ class BinaryOp(LazyStateDictExpr):
558
+ def __init__(
559
+ self,
560
+ op: Callable[[torch.Tensor, torch.Tensor], torch.Tensor],
561
+ left,
562
+ right,
563
+ ):
564
+ self.op = op
565
+ self.left = left
566
+ self.right = right
567
+
568
+ def __getitem__(self, key: str):
569
+ return self.op(self.left[key], self.right[key])
570
+
571
+ def __iter__(self):
572
+ # assume key sets are aligned
573
+ return iter(self.left)
574
+
575
+ def __len__(self):
576
+ return len(self.left)
577
+
578
+
579
+ def ensure_expr(x):
580
+ if isinstance(x, LazyStateDictExpr):
581
+ return x
582
+ if isinstance(x, Mapping):
583
+ return StateDictLeaf(x)
584
+ raise TypeError(f"Unsupported operand type: {type(x)}")
585
+
586
+
465
587
  def _validate_state_dict_list_not_empty(state_dicts: List[StateDictType]) -> None:
466
588
  """
467
589
  Validate that the list of state dicts is not empty and contains valid state dicts.
@@ -1228,3 +1350,63 @@ def state_dict_hadamard_product(a: StateDictType, b: StateDictType) -> StateDict
1228
1350
  """
1229
1351
  _validate_state_dict_same_keys([a, b])
1230
1352
  return OrderedDict((key, a[key] * b[key]) for key in a)
1353
+
1354
+
1355
+ def state_dict_max(
1356
+ state_dicts: List[StateDictType],
1357
+ ) -> StateDictType:
1358
+ """
1359
+ Compute the element-wise maximum across multiple state dicts.
1360
+
1361
+ Args:
1362
+ state_dicts: List of state dicts to compute the maximum from.
1363
+
1364
+ Returns:
1365
+ A state dict containing the element-wise maximums.
1366
+ """
1367
+ _validate_state_dict_list_not_empty(state_dicts)
1368
+ _validate_state_dict_same_keys(state_dicts)
1369
+
1370
+ max_state_dict = OrderedDict()
1371
+
1372
+ for key in state_dicts[0]:
1373
+ # Initialize with the first tensor
1374
+ max_tensor = state_dicts[0][key].clone()
1375
+
1376
+ # Compute element-wise maximum
1377
+ for state_dict in state_dicts[1:]:
1378
+ max_tensor = torch.max(max_tensor, state_dict[key])
1379
+
1380
+ max_state_dict[key] = max_tensor
1381
+
1382
+ return max_state_dict
1383
+
1384
+
1385
+ def state_dict_max_abs(
1386
+ state_dicts: List[StateDictType],
1387
+ ) -> StateDictType:
1388
+ """
1389
+ Compute the element-wise maximum absolute value across multiple state dicts.
1390
+
1391
+ Args:
1392
+ state_dicts: List of state dicts to compute the maximum absolute values from.
1393
+
1394
+ Returns:
1395
+ A state dict containing the element-wise maximum absolute values.
1396
+ """
1397
+ _validate_state_dict_list_not_empty(state_dicts)
1398
+ _validate_state_dict_same_keys(state_dicts)
1399
+
1400
+ max_abs_state_dict = OrderedDict()
1401
+
1402
+ for key in state_dicts[0]:
1403
+ # Initialize with the absolute values of the first tensor
1404
+ max_abs_tensor = state_dicts[0][key].abs()
1405
+
1406
+ # Compute element-wise maximum absolute value
1407
+ for state_dict in state_dicts[1:]:
1408
+ max_abs_tensor = torch.max(max_abs_tensor, state_dict[key].abs())
1409
+
1410
+ max_abs_state_dict[key] = max_abs_tensor
1411
+
1412
+ return max_abs_state_dict
@@ -2,14 +2,18 @@
2
2
  functions deal with tensorboard logs.
3
3
  """
4
4
 
5
- from typing import Dict, Iterable, List
5
+ from pathlib import Path
6
+ from typing import Dict, Iterable, List, Union
6
7
 
7
8
  import numpy as np
8
9
  import pandas as pd
9
10
  from tensorboard.backend.event_processing import event_accumulator
10
11
 
11
12
 
12
- def parse_tensorboard_as_dict(path: str, scalars: Iterable[str]):
13
+ def parse_tensorboard_as_dict(
14
+ path: Union[str, Path],
15
+ scalars: Iterable[str],
16
+ ) -> Dict[str, pd.DataFrame]:
13
17
  """
14
18
  returns a dictionary of pandas dataframes for each requested scalar.
15
19
 
@@ -20,7 +24,19 @@ def parse_tensorboard_as_dict(path: str, scalars: Iterable[str]):
20
24
 
21
25
  Returns:
22
26
  Dict[str, pandas.DataFrame]: a dictionary of pandas dataframes for each requested scalar
27
+
28
+ Example:
29
+
30
+ >>> from fusion_bench.utils.tensorboard import parse_tensorboard_as_dict
31
+ >>> path = "path/to/tensorboard/logs"
32
+ >>> scalars = ["train/loss", "val/accuracy"]
33
+ >>> data = parse_tensorboard_as_dict(path, scalars)
34
+ >>> train_loss_df = data["train/loss"]
35
+ >>> val_accuracy_df = data["val/accuracy"]
23
36
  """
37
+ if isinstance(path, Path):
38
+ path = str(path)
39
+ assert isinstance(path, str), "path must be a string"
24
40
  ea = event_accumulator.EventAccumulator(
25
41
  path,
26
42
  size_guidance={event_accumulator.SCALARS: 0},
@@ -33,7 +49,9 @@ def parse_tensorboard_as_dict(path: str, scalars: Iterable[str]):
33
49
  return {k: pd.DataFrame(ea.Scalars(k)) for k in scalars}
34
50
 
35
51
 
36
- def parse_tensorboard_as_list(path: str, scalars: Iterable[str]):
52
+ def parse_tensorboard_as_list(
53
+ path: Union[str, Path], scalars: Iterable[str]
54
+ ) -> List[pd.DataFrame]:
37
55
  """
38
56
  returns a list of pandas dataframes for each requested scalar.
39
57
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fusion-bench
3
- Version: 0.2.30
3
+ Version: 0.2.32
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
@@ -61,6 +61,8 @@ Dynamic: license-file
61
61
 
62
62
  FusionBench is a benchmark suite designed to evaluate the performance of various deep model fusion techniques. It aims to provide a comprehensive comparison of different methods on a variety of datasets and tasks.
63
63
 
64
+ ## :newspaper: News and Related
65
+
64
66
  Projects based on FusionBench and news from the community (descending order of date. If you have any work based on FusionBench, please feel free to let us know, we are willing to add it to the list. :partying_face:):
65
67
 
66
68
  <details>
@@ -1,5 +1,6 @@
1
- fusion_bench/__init__.py,sha256=C-0-HgZFdRjscXqpfNsz7iGUijUeSoP4GFRnFxuxQ7M,5992
2
- fusion_bench/__main__.py,sha256=weUjxpP3ULnDgUxCehdbmoCM9cqfkhDhGB85tAF5qoE,81
1
+ fusion_bench/__init__.py,sha256=kVkf2VXMuluyXMxpjEVcHa2MLFpYHxWOOHoCmsezE7c,6190
2
+ fusion_bench/__main__.py,sha256=X-Fn2-wnlG6gRytTOQOff6KAoOUTfpSqNCpIu4Cf4FM,95
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,13 +18,13 @@ 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=0X8ldWJLGZ38lg_MbQE3M2ewm_vz9bUBPx3QkN3fNW4,4755
21
- fusion_bench/dataset/__init__.py,sha256=2b4UGemg_F1I5cXkAzNMm12XmlP9-06DH8cW1V6ugwo,1495
22
- fusion_bench/dataset/clip_dataset.py,sha256=xQ1aRiA_WMIZKha0do0Dg5F8qsEIucuouy8AbsxbewI,3263
21
+ fusion_bench/constants/runtime.py,sha256=Er9MDGvzgYeipu3MzvjA-QN0CSFWlr1Chb6RYNdRt6E,4836
22
+ fusion_bench/dataset/__init__.py,sha256=8g6p6hFI7PwfNhYdJMs52QFJocru2jNhkXyvT2dZWzs,1606
23
+ fusion_bench/dataset/clip_dataset.py,sha256=9s2uzRZ4nJcDiAG-lBgbOD905lnmSn1FK154cGHYmCE,437
23
24
  fusion_bench/dataset/fer2013.py,sha256=Lub_xVhHfqaiPprvOsDVspJNioh1FjSrkhn3gL_UXDA,404
24
25
  fusion_bench/dataset/gpt2_glue.py,sha256=UvNWKAAMnKMNjF0BCpwwc7Nz0SI7KacxRR6SDm9Mn0s,8869
25
26
  fusion_bench/dataset/gsm8k.py,sha256=26IVIIm8vldN8xYYVfdrdTre6WizilCacVyY2Ti4qog,2274
26
- fusion_bench/dataset/image_dataset.py,sha256=_N5JJC0lH3EbbrZMeuDatJILrKDK2EKHqtJB-m1pdFs,1879
27
+ fusion_bench/dataset/image_dataset.py,sha256=D2hn8nRO1k5iupi_2I5ciCgkZ6w6-YL43lg03c0v7GA,3245
27
28
  fusion_bench/dataset/imdb.py,sha256=YRzeq5z-Fl0aYcC2QtwEBWFkvucvpNo975jwjL5SZvs,260
28
29
  fusion_bench/dataset/nyuv2.py,sha256=9SAmRMxkWvZ6cYNRoOIBgf9fH8AXQCmdBOIkYxcz-1c,3811
29
30
  fusion_bench/dataset/arc_agi/__init__.py,sha256=xj8BMG296qPMiL4NYs-ZwqcLJ6yT2wwbubyCbWPe91w,149
@@ -49,11 +50,11 @@ fusion_bench/dataset/llama/ultrachat.py,sha256=Go7WvrDAYnm184fdazHGRYLbSY6Xd7jrE
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
52
  fusion_bench/method/__init__.py,sha256=Set_2GWpmI3q_WvbV1hBUfa6GFiIuajyiZR2hRbfrN0,9811
52
- fusion_bench/method/base_algorithm.py,sha256=Pa3A7ON0YK3PJqFE77IY9dpQC-tQGJpX6kdf8IMnM_k,9453
53
+ fusion_bench/method/base_algorithm.py,sha256=asIBk5NoJO9AbYIkdymrbbVBqEG1EgrLvTek-avqYjs,9721
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
56
- fusion_bench/method/simple_average.py,sha256=Er9jiLCmweE_AAQ-QkJ1LoytjHY45t707iIRXr8ZPpE,5735
57
+ fusion_bench/method/simple_average.py,sha256=WC2lHEj5k7u_jq6zKf6qa0rHJRz0g12F0dqCeK1R8bg,7276
57
58
  fusion_bench/method/ada_svd/__init__.py,sha256=4XzQbbvE9HI3NtEmEFvo8iC3ds_85vJXe7P7qJfL7kk,77
58
59
  fusion_bench/method/ada_svd/clip_vision.py,sha256=XvXgIdlShAREMsubRgphyycGrhWqSnuVBo6S9bNYSd0,12581
59
60
  fusion_bench/method/adamerging/__init__.py,sha256=jfm0jvjLFWLszSo7CzPp7EnXMItih1XhlHdrRiCgBQ4,1195
@@ -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=JGD8zpt_f4HojZ7Y9b7mFI-x9os1J0440tgorQMMZGY,15282
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
@@ -103,9 +105,13 @@ fusion_bench/method/doge_ta/clip_layer_wise_adamerging.py,sha256=4WPG2fhFw-u6oSo
103
105
  fusion_bench/method/doge_ta/doge_ta.py,sha256=jrJF52JUBdrB3EGWaXJMFZE-v8syzZGr4smG6rEO74c,13790
104
106
  fusion_bench/method/doge_ta/layer_wise_adamerging.py,sha256=rLk3Nep5d6wMUNCp6q7pC7L0pfBvUwGBIuiGM7CQOf4,9780
105
107
  fusion_bench/method/dop/__init__.py,sha256=MD8c44ovLLJX_-v9t2SdLrvKLxVf8PijzFFNjJfvhpE,37
106
- fusion_bench/method/dop/dop.py,sha256=_wNjN1DSK27aKEyWVay61fqc7prwJ1uiv_3618_bQ20,14160
108
+ fusion_bench/method/dop/dop.py,sha256=Mh0l2ptvH8EFP0aV6FqSJ1UxsE3GQsgN2HEMzyYTZPs,13120
109
+ fusion_bench/method/dop/dop_general.py,sha256=ImuRpjLpkGYUMibNoEoFJLWug-XouzmsXhwJdviyq3Y,20274
107
110
  fusion_bench/method/dop/min_norm_solvers.py,sha256=a7n2X0BE_YajlaUygyHV0yqW6-x5dTyZ5V0mt_Q69qE,8291
108
- fusion_bench/method/dop/utils.py,sha256=_q7yy3ENNFUh1qUd5J5DThRL4J1tIxEcknCO2AKmeYM,2102
111
+ fusion_bench/method/dop/utils.py,sha256=Odrl_LXuI48-2dcMigrCz6pV9LFFStEQTN56z-gpD7o,2994
112
+ fusion_bench/method/emr_merging/__init__.py,sha256=YzjcEUfZnHN3WTfSm1l9Je3eZY6v39Y8cYbLgQ2hgMk,36
113
+ fusion_bench/method/emr_merging/emr_merging.py,sha256=KnuRi7Y14BV1ZcBR4wK41yU-thtvTSzxJ2eH6Ul3dmc,1910
114
+ fusion_bench/method/emr_merging/utils.py,sha256=xNSHF-B7LjX76AB7QwBE0azqzQd-EgG74RCKcW0v6qw,5810
109
115
  fusion_bench/method/expert_sparsity/__init__.py,sha256=nt7k5cKqA2Bax1aM93ODwsEuibZ_hdFgQsUos_8h2v8,271
110
116
  fusion_bench/method/expert_sparsity/mixtral/__init__.py,sha256=FyKDZIyYUnqvGIdJ5BS639UpzSBj11g28ATHs1Yczdk,545
111
117
  fusion_bench/method/expert_sparsity/mixtral/dynamic_skipping.py,sha256=zZa4IAKimFZMoxoQ_Oi7z2R9o5H6kxV2QTb0e-t9kDY,5665
@@ -163,10 +169,11 @@ fusion_bench/method/moe_pruner/utils/layerwrapper.py,sha256=6ahiuzw00qtbpmJg11Yq
163
169
  fusion_bench/method/moe_pruner/utils/prune.py,sha256=U0cX5RgyAezS7C4jnlfGwjZhMSLKhDvq3hZZGrzJVfM,10609
164
170
  fusion_bench/method/moe_pruner/utils/score.py,sha256=AVWOwsu6CGBHnO7S1JnJNqZVMMTfSj5QQNAPQXI59no,1177
165
171
  fusion_bench/method/opcm/__init__.py,sha256=0QcltOnjIYV1XEPDEagChLixLAhjiBnYwfWK00am29k,202
166
- fusion_bench/method/opcm/opcm.py,sha256=m12JanlpfL4udUVhRnYt5RRchGdq1e8L91r1mNVNVqw,11733
172
+ fusion_bench/method/opcm/opcm.py,sha256=0a7MxjVoEvQfMjlx5OqGID88CkoxHqKPItikr9wtaJg,11886
173
+ fusion_bench/method/opcm/opcm_general.py,sha256=YH0XT8Dle0fRVpF9mHGKwAvlpKcHkwOBL8Kwxe3Uikg,13668
167
174
  fusion_bench/method/opcm/task_arithmetic.py,sha256=YvtsWkjtnk7E3C4_xNr--uQWjQhoDZZB-klSx81_tGw,4824
168
175
  fusion_bench/method/opcm/ties_merging.py,sha256=-N3i7eMbhK95qyJsmmNMKNmPCkgGHGFa423a52cgi6g,6868
169
- fusion_bench/method/opcm/utils.py,sha256=_q7yy3ENNFUh1qUd5J5DThRL4J1tIxEcknCO2AKmeYM,2102
176
+ fusion_bench/method/opcm/utils.py,sha256=52Qa4tkUSvib5woK0mTBiClKfOfYLTpDVwcAF6k-SCI,2061
170
177
  fusion_bench/method/opcm/weight_average.py,sha256=JfQoIU5J1jvrNKpO9k_t4Zj0y8PtteIfyoSQWx1yg2k,4379
171
178
  fusion_bench/method/pruning/__init__.py,sha256=g0poIEzp4kch1tJqeMQq4O3jtXm1hu_Wz4-bNV3ZPJY,312
172
179
  fusion_bench/method/pruning/llama_magnitude_prune.py,sha256=GX6KCvqOkcG9e20LwJpqu30y_OSWA1vW8NnjA_wUq9c,6320
@@ -229,12 +236,12 @@ fusion_bench/method/tall_mask/__init__.py,sha256=XINPP8PqGQ01he9p2RyHaKGyrcYoJuY
229
236
  fusion_bench/method/tall_mask/task_arithmetic.py,sha256=RX_JgEPwG52EPYGXWYGuq0LBeyJHMbVZn7Qy_4QmSsQ,4373
230
237
  fusion_bench/method/tall_mask/utils.py,sha256=Wlp8WcPwR_lCaBIZ9rgG6ewLfSzz3G7kPk9yj13pvls,8817
231
238
  fusion_bench/method/task_arithmetic/__init__.py,sha256=pSx_NV5Ra_6UXpyYWCi6ANQoAnEtymZt_X1dDN9wT4Y,96
232
- fusion_bench/method/task_arithmetic/task_arithmetic.py,sha256=yGMWk2--VlXTcQjDjnPdiug1q_rpjzu5SFvgCYDfTQ0,6479
239
+ fusion_bench/method/task_arithmetic/task_arithmetic.py,sha256=VnkJYjP1HIyWHqp5aqoI0v9MEwGAKrL-Xd_J2vmwuW0,6457
233
240
  fusion_bench/method/task_singular_vector/TSVC.py,sha256=yn4SrZNvtA6PoGYJmbmtNeDyDbGnRCgfZ7ZCg914AZU,410
234
- fusion_bench/method/task_singular_vector/TSVM.py,sha256=Sdgoi8xT0Hl19pmGdIuUS3D1DsVqSVD-Hipp-Sj_HoA,13652
241
+ fusion_bench/method/task_singular_vector/TSVM.py,sha256=1im81JpyIQjwSojtK_aWv9InmmS-tyH2p3VLG0gqwYA,13706
235
242
  fusion_bench/method/task_singular_vector/__init__.py,sha256=WMucyl9pu_Ev2kcdrfT4moqMMbzD7hHQVFME5Su5jMA,298
236
243
  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=WGM8wCICdGsNVpceHamQytZi-q4wzrCmGGQCYOm67mI,29146
244
+ fusion_bench/method/task_singular_vector/utils/TSVM_utils.py,sha256=zwpQjrzjpbOCNc6ZR6XARY3_vUkxlppCriLPFOqucgQ,29129
238
245
  fusion_bench/method/task_singular_vector/utils/__init__.py,sha256=Mep62TnXJscBEFZ6QDsI28cWmfygt8EPwjQdfUJzEZQ,315
239
246
  fusion_bench/method/task_singular_vector/utils/task_singular_interference.py,sha256=tXsFwx8eomzu00nSp95CjjWZX82zq32ff2Q6VM_29CM,1348
240
247
  fusion_bench/method/ties_merging/__init__.py,sha256=9u9teBbdILbupr9jbwk-qCXSzssCssC5FUV2BfpyZM4,67
@@ -275,18 +282,18 @@ fusion_bench/mixins/__init__.py,sha256=2_mAT0VHiUYGyWJyiDSxcFmI4Qt64Y2qlNu1Z11fg
275
282
  fusion_bench/mixins/clip_classification.py,sha256=Ifc3R_RO1yb-nbT_lipfNudQS3iiB3G_trNMS1dEfRU,11329
276
283
  fusion_bench/mixins/fabric_training.py,sha256=ZmycEhCaNCgVi5oM9m0q6msxgk3quowmFvDAcvskFrg,13017
277
284
  fusion_bench/mixins/hydra_config.py,sha256=rfT-XPUKV_U3nvuTVsKLmSmEiieoSIsbhxE5_-E0er0,5508
278
- fusion_bench/mixins/lightning_fabric.py,sha256=Ezg4WRhfXBQYM5ndErWWX1vvKLmYBfpDf0wyQIB0nCY,9237
279
- fusion_bench/mixins/openclip_classification.py,sha256=O45HzgLXNvlQr5RVpfIGsYdIQ0tY5g_68KB0MTqsZWU,290
285
+ fusion_bench/mixins/lightning_fabric.py,sha256=zRmT5iQfUwsg4zQHOypOLhPz7ft5fbOuTA2BtmWUbYo,12680
286
+ fusion_bench/mixins/openclip_classification.py,sha256=FGj5btxZD-qA1wOsRl9kSftylcOXz2bFj26vrcVw_HQ,6196
280
287
  fusion_bench/mixins/pyinstrument.py,sha256=I8CLVRUK6G_U8S5x-netmtAcy6m9uLB0UGB1AokbheU,5108
281
288
  fusion_bench/mixins/rich_live.py,sha256=bzUu4F90bq9x8DCY8rZmLz7sfmZiFH0GPIoY1O2ysHg,2970
282
- fusion_bench/mixins/serialization.py,sha256=z73Mmq952TIdPwwZ8cRdl3n0_uc9lqylFI9fxKesREs,13260
289
+ fusion_bench/mixins/serialization.py,sha256=GjbIzAB4LXTZWLgumGqAKoRwoPINFnoWwiQdPLd4c1E,13262
283
290
  fusion_bench/mixins/simple_profiler.py,sha256=QA4fZhD-uL06fZaoqBQowI0c_qrAUhWszFteyznFfUw,5391
284
291
  fusion_bench/mixins/optim/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
285
292
  fusion_bench/mixins/optim/adamw_with_warmup.py,sha256=qTnRl8GVVIfaplOFBHnJFuZUbxPZRWRGHGNzm_EDhDE,1421
286
293
  fusion_bench/modelpool/PeftModelForSeq2SeqLM.py,sha256=rxPKTTWno3KAcTTEfydPpXx1b0EJa8PLbqrberweFF8,2108
287
294
  fusion_bench/modelpool/__init__.py,sha256=qDlBPrWFW-Z-LByzmfqP1ozYhWx2lYAEjhqjKF4EAbY,2307
288
- fusion_bench/modelpool/base_pool.py,sha256=WzAJf1Quj7DAPVycBnwE-LQ9ddv1rZ8qPid7R71QZdA,15501
289
- fusion_bench/modelpool/convnext_for_image_classification.py,sha256=m9MxFgfzNjGnHOU6gufaTPgkk67lifNNwW03nHUxXKo,7377
295
+ fusion_bench/modelpool/base_pool.py,sha256=vg4IyLrunnGLUfM9x52EsT9eqUrT2Lz2EngtmTUQy6o,16781
296
+ fusion_bench/modelpool/convnext_for_image_classification.py,sha256=iqeWc959VHrHyJNDkMdbYgy-kYdcOsIdFBNnr9X0Src,7494
290
297
  fusion_bench/modelpool/dinov2_for_image_classification.py,sha256=Wd60J5Ji4KwXUYTPcYYXuYWrcpDlh7pjGZ-zjjRqYio,7496
291
298
  fusion_bench/modelpool/huggingface_automodel.py,sha256=OJ6EyYyjNv1_Bhjn-zli-e__BJ0xVa4Fx9lhXVb-DJo,552
292
299
  fusion_bench/modelpool/huggingface_gpt2_classification.py,sha256=j8nicVwtoLXY4RPE2dcepeEB3agBKkkH-xA3yMj1czw,2014
@@ -298,20 +305,20 @@ fusion_bench/modelpool/causal_lm/causal_lm.py,sha256=FbatPI6aAJbaT5qa4Get2I0i8fx
298
305
  fusion_bench/modelpool/clip_vision/__init__.py,sha256=3b9gN2bWUsoA1EmpitnIMnIlX7nklxbkn4WJ0QJtS2c,43
299
306
  fusion_bench/modelpool/clip_vision/modelpool.py,sha256=ENQfAAwQ3NFEyDv0C313HA0h5yF6QyvT0_IOe9cDQ40,9250
300
307
  fusion_bench/modelpool/openclip_vision/__init__.py,sha256=QDmAitKqUwRygN9QncdS_kGWZdfTKL4uUifC8xh9c10,47
301
- fusion_bench/modelpool/openclip_vision/modelpool.py,sha256=2MieB4PMvg85DaiYu49m3BzuBjib1xozJHTpYyHhRTs,11102
308
+ fusion_bench/modelpool/openclip_vision/modelpool.py,sha256=-RXn3iKr-w13-rOITWR7_01t7-d1F2JTrlcLJh12XxI,11652
302
309
  fusion_bench/modelpool/seq2seq_lm/__init__.py,sha256=FnfSMHcwNHDQEMdB2HdK4WphQ6MufsRLUkczuALjM4Q,57
303
310
  fusion_bench/modelpool/seq2seq_lm/modelpool.py,sha256=yfa_B5TUIkuC1fTn4xD3HHnFPd6AYE-HWpfB8ZrShB8,8819
304
311
  fusion_bench/modelpool/seq_classification_lm/__init__.py,sha256=_VB9nlR_gm6IEXNMsNR3VnzFiCpxNGuAGF39rZ9DpBA,129
305
312
  fusion_bench/modelpool/seq_classification_lm/reward_model.py,sha256=NKf-eoei1GdU4ojKSpN5_kQwax4uUEStnlKyh8qOrNg,540
306
313
  fusion_bench/modelpool/seq_classification_lm/seq_classification_lm.py,sha256=t9wXHFwa7V2XC3ajxt4_bSsxMTDKW4nebvdxhG7VeLM,3435
307
314
  fusion_bench/models/__init__.py,sha256=TURxx0Hnv3LBz2VFN36Y6ZfIOxvAGbKro5zhn6rtwP4,893
308
- fusion_bench/models/hf_clip.py,sha256=1xdcAQtkHYJzLhOSlJl24qhMiwC_jdhp2Va-eN5X9vs,7499
315
+ fusion_bench/models/hf_clip.py,sha256=Rc2MJ5ESd8kSckhD668HxCb_GwvqAHNqbwD4jFDkblA,8254
309
316
  fusion_bench/models/hf_utils.py,sha256=1gu9Z1zR5tvImGo6N9iQodNPnFA3wg7ndxYcDutQKCU,5558
310
- fusion_bench/models/parameter_dict.py,sha256=HCkTJCz23pYN1_Hhegx8gglOtrnzVKJPMeg9_rUhe18,3630
317
+ fusion_bench/models/parameter_dict.py,sha256=d-0q-h4t4FxBHXyNMDBM0lMuqJ5woHrlWj-bSGsXK3w,6490
311
318
  fusion_bench/models/rankone_moe.py,sha256=aY8IDM-ct7qKYH8ukBUsa_VDkDgGNtCqyNtNKlDTUTc,12046
312
319
  fusion_bench/models/separate_io.py,sha256=5AJlCxkHdVVffITnIRlF3ZIaKLRWDhJESVQN1lX-ZhU,3835
313
320
  fusion_bench/models/sparse_we_moe.py,sha256=mFvwYzuwhAfvJ2HhUNRhSu1pbexEP1FsVWXHDxTVUJs,15261
314
- fusion_bench/models/utils.py,sha256=RSvk_WCk80L9aH70MsDRyDQUMO9pIOC64FsbT9PBtu0,3110
321
+ fusion_bench/models/utils.py,sha256=BnXWSzWGXr17d5LdBzQFjZykyACWuoyWYeY45Y7zmms,10685
315
322
  fusion_bench/models/we_moe.py,sha256=KVRz9z-ddk2lhzpLRm0UMOS6L4pw7L4B9oN99gyW78U,7263
316
323
  fusion_bench/models/chat_templates/__init__.py,sha256=v9vKrCfBgZ3UsMBQatZv1Z-ayPualBl5ciV0aO3p3iY,85
317
324
  fusion_bench/models/chat_templates/llama_3_Instruct.py,sha256=E6grNPECr0r1KDPIGW_DmpKQw5-Dh5WbMiTaHWDXwXo,4008
@@ -362,14 +369,16 @@ fusion_bench/models/modeling_smile_qwen2/__init__.py,sha256=nmoMLVQu8N0EYe85mXGm
362
369
  fusion_bench/models/modeling_smile_qwen2/configuration_smile_qwen2.py,sha256=aekcpLcUGo4e7GkOtaxKClpIU5byyY-LQNDb-sMeyNc,621
363
370
  fusion_bench/models/modeling_smile_qwen2/modeling_smile_qwen2.py,sha256=zRkmQP0-dh9A-woFgiT9wOR6nzAtwsiD_QmNSq-NLgE,36889
364
371
  fusion_bench/models/modeling_smile_qwen2/register.py,sha256=wnKrpprP1KCruswOQcrrIJSUWYbaPHKIaduvPjF_SV4,378
372
+ fusion_bench/models/modulator/__init__.py,sha256=QJBXW9JOBbhVcXtR8TIbu_IwLrP_isF-SBqJkNxQ_do,48
373
+ fusion_bench/models/modulator/base.py,sha256=9WUWjKvYXJ9HAs-tYGWsTot4oT90LcefCwsrll7DsvI,4124
365
374
  fusion_bench/models/nyuv2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
366
375
  fusion_bench/models/nyuv2/aspp.py,sha256=Nl-Kx9YmGp0BNpDedo9cYbynOwI4SUyILWN2VgiPDIc,2495
367
376
  fusion_bench/models/nyuv2/lightning_module.py,sha256=SLtC0yL6455uKeb-o07MR6v-xE4BTKm7B0E2ayQwEBU,5436
368
377
  fusion_bench/models/nyuv2/resnet.py,sha256=PcCfBhEsxm7W8cu3epBbIbCYFARPrPTamIa3TtUAVa0,14305
369
378
  fusion_bench/models/nyuv2/resnet_dilated.py,sha256=4EXB6vrBJS307YP6k-TRY1dFJ50LURcTuzqN4tZzYRk,3125
370
379
  fusion_bench/models/open_clip/__init__.py,sha256=zT2sGAT98Py5vXMckZF4aD8MYEICEWa2p7nRg4IrS0w,192
371
- fusion_bench/models/open_clip/modeling.py,sha256=YOCsM1RfvhqJkUzwK9T4WqX1NW7LyAIi0UnN6ERQ-rk,5775
372
- fusion_bench/models/open_clip/utils.py,sha256=YM_vGQSxIDoB2euHG54hhRGIcINJfR0NxNT5U42KRCw,10394
380
+ fusion_bench/models/open_clip/modeling.py,sha256=Z9H1r-faxqp60eQ1vAW3Vuc4SgAkA0pCQXAYNMLR2ow,8351
381
+ fusion_bench/models/open_clip/utils.py,sha256=omwypFHchva6aTZ4BmHXb4NTspZaWZEKac17utbXQCo,10788
373
382
  fusion_bench/models/open_clip/variables_and_paths.py,sha256=_OBcKvZwSGvYSmgKtXOuekEJI-btW94Ia-BQ9n4isfY,1231
374
383
  fusion_bench/models/smile_moe/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
375
384
  fusion_bench/models/smile_moe/linear_from_hf_config.py,sha256=4vzYYjDHGOf1IO7gO0dzQC1xqcwEij9M7d4tVZm-7dY,11919
@@ -382,6 +391,7 @@ fusion_bench/models/wrappers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
382
391
  fusion_bench/models/wrappers/ensemble.py,sha256=T-DAKrAm-ciZwV6Hbt8uASbjtoQpHTlvVyan3rhk_8k,11632
383
392
  fusion_bench/models/wrappers/layer_wise_fusion.py,sha256=T1sbujx_84Pj5yHFy5QqfipT6v3p96gUmnMgyy4lG0c,12560
384
393
  fusion_bench/models/wrappers/layer_wise_fusion_doge_ta.py,sha256=q5Hc4BtLpAawMbxsWJRL-8OR-x7994Jhr9IyN7vKZ9o,16930
394
+ fusion_bench/models/wrappers/switch.py,sha256=fDxbZA1m_9-zVgCpm51Tk8-Mmfnglsh4V8YsSBbuOZ4,2953
385
395
  fusion_bench/models/wrappers/task_wise_fusion.py,sha256=iCrevrkG4uTr3U8_hgT_xEY4epnEK0EJO8yg-uEMIUI,17836
386
396
  fusion_bench/optim/__init__.py,sha256=JS7J2VjrM2LdkiFCxuQnIuFwBsWiPyFb7QuEU6V2bPY,845
387
397
  fusion_bench/optim/exception.py,sha256=fMgo1heiqfGhuI5RIbf30BwWSShn5RQiyeb30QtfTI0,1607
@@ -392,20 +402,21 @@ fusion_bench/optim/lr_scheduler/linear_warmup.py,sha256=Dvy_TCUuAQHlbDF2jo2_502A
392
402
  fusion_bench/optim/lr_scheduler/utils/__init__.py,sha256=GfZk9VYL3cFE1Qy2xQpGc1GCgnjySk5-D7EVRZ-C05Q,29
393
403
  fusion_bench/optim/lr_scheduler/utils/visualization.py,sha256=Ea1n9ElNizAe0iUnjynyfteuZunv2-UBMN_NfEU2imA,3490
394
404
  fusion_bench/programs/__init__.py,sha256=YFlvpDC6y2Vm66VSlHKD1vu5nRDQRYNR_Nkn_61xqiI,605
395
- fusion_bench/programs/base_program.py,sha256=Bl_bv8SawEUc-GBTtZFMoii0y-r-0hOXBAJkQFexWCU,3475
396
- fusion_bench/programs/fabric_fusion_program.py,sha256=wIHNpLUw6uAXpAasJRAMWut55hF_EGFShxn70zRRvfk,12449
405
+ fusion_bench/programs/base_program.py,sha256=0xjYvul5jR5OAKKpd4QpeBje91hgfHF8Im_fJ7083e4,3595
406
+ fusion_bench/programs/fabric_fusion_program.py,sha256=CpMplceJU-IsOs1IDoWgoMyuja8Jl8GtvzrxzzHKPTE,12608
397
407
  fusion_bench/programs/fusion_program.py,sha256=qLyA3FHJUMM1L3mlYn4jlnZzv9OKguWM5aGGIoLts2I,11309
398
408
  fusion_bench/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
399
- fusion_bench/scripts/cli.py,sha256=t3YFuscJluxxNdXawW8FOaYH2fKn7m_6bXNlJ8KcZZg,3414
400
- fusion_bench/scripts/imgui.py,sha256=r9Glbfbwu3JCsX9TKQFwcHarvwA_G7ff0jWBUPW1S1U,7613
409
+ fusion_bench/scripts/cli.py,sha256=S-AMwYUREGzMbcQ3dAHxknJP0pp6Ich2aTSF4SpF0So,3427
410
+ fusion_bench/scripts/imgui.py,sha256=P8YGem3XnyN0J4esuXTnBhB7Qp7uY6GGdJWhre29Xgo,7611
401
411
  fusion_bench/scripts/nyuv2_mtl_train.py,sha256=W1C45R9NdF4O-UjCx1bUxRTdFE0-FlRpwJHZ5gY18rI,3602
402
- fusion_bench/scripts/webui.py,sha256=ROvZUIj-hR4JLgCiWEKGc25LMtAjaMAZLJ5ckDYt-w4,21513
412
+ fusion_bench/scripts/webui.py,sha256=xMZXbHGKPI3ns3p1BIomVR31QyNoAb-5sdrvjlgTeq8,21511
403
413
  fusion_bench/scripts/clip/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
404
414
  fusion_bench/scripts/clip/convert_checkpoint.py,sha256=zncgRAhInFpJDSHIm3GO4F6BzgsdAQVj3LLmV7g-JiQ,1221
405
415
  fusion_bench/taskpool/__init__.py,sha256=n5jUUMI1TDK0g72PpFLlajqZ6FwEKjyfQLY4hnYlQ4I,1479
406
416
  fusion_bench/taskpool/base_pool.py,sha256=bscjOzl-6ex3YlhUCFhhpEh6T7LYepZP-X-2NQCRCTg,4331
407
417
  fusion_bench/taskpool/dummy.py,sha256=6lm_wAVn0J6ibHS5vrgZmMvEt07s30RJVFLVkpxcPe8,6008
408
418
  fusion_bench/taskpool/gpt2_text_classification.py,sha256=PCNdc2SNGUFGxJ0snmwrnjTdSwmDt9fs7Pe0eDjdvaw,6091
419
+ fusion_bench/taskpool/image_classification.py,sha256=MyP2D0d-pUCvbhHprSDPRq58B_yfj-AyiiM45DT0jJI,9452
409
420
  fusion_bench/taskpool/nyuv2_taskpool.py,sha256=xR2DOyE9nUg-jlshZnvyVwCOOAhbE7-AObrQ2LbHAKk,3405
410
421
  fusion_bench/taskpool/resnet_for_image_classification.py,sha256=f6hZH29137oJ0IOi0o5kfAzcwpo6-oKZlFmC2H0aBF4,7706
411
422
  fusion_bench/taskpool/clip_vision/__init__.py,sha256=ItdyWYy2A5xQKzh1dXi9kbQTBigwkDDdP2EHDwhG9WI,276
@@ -458,30 +469,30 @@ fusion_bench/tasks/flan_t5_text_generation/glue_evaluation.py,sha256=-B1wqVGp3wZ
458
469
  fusion_bench/tasks/flan_t5_text_generation/glue_load_dataset.py,sha256=sVihXHbqwi8IlDpiIxzvmDv-Ob7WKvi23GIRYbBUKOc,1833
459
470
  fusion_bench/tasks/flan_t5_text_generation/glue_preprocessors.py,sha256=GhRmGmcJGF4oVgZQarsBtx8GNKrNEZUkrillNz3iBuY,13183
460
471
  fusion_bench/tasks/flan_t5_text_generation/glue_prompt_templates.py,sha256=mKMTXIr5o-BqS_Hvv1bbMvvjQLLeKNVw7BKS9qgQ8Dw,1890
461
- fusion_bench/utils/__init__.py,sha256=EvrvupFGAzxll_jO0HYk1-I6jCHqDrIwZ5vswlR-9Pw,5149
472
+ fusion_bench/utils/__init__.py,sha256=Fngm67MS6XgoeIDkE7dbQ0rUU-Qf1ielnZsl66usPDs,5593
462
473
  fusion_bench/utils/cache_utils.py,sha256=-bTZijQgl4BuAx0VSJFD-bSDOXuq3o0NkrOaiLiyofU,4795
463
- fusion_bench/utils/data.py,sha256=QAXpsvzHOgfAf6G_Pe2a5HOKUAP8Mxz77avujQI9Fd8,10027
474
+ fusion_bench/utils/data.py,sha256=nZqH68LmbE9029JULNDRAloZ3FJ2JjTDJsLiDvhIbO0,10020
464
475
  fusion_bench/utils/devices.py,sha256=IyUBaWbnZGDsAxI97LEioUj-JIjYTzxQo_EhyKY3RZM,9566
465
- fusion_bench/utils/dict.py,sha256=ZCK0CRRT_B1Z18WY_GOYcmth7k5x9Jn1k7XhAVWRu98,1379
466
- fusion_bench/utils/dtype.py,sha256=z6UlPGF9dzG4Ik8rXGf59PJk_RKzG6Trp8O6wcBS9PU,4360
476
+ fusion_bench/utils/dict.py,sha256=y2on21QIFEWgR32Jalbcb6nmkAJXb6gMrKuVi9NsyQE,1990
477
+ fusion_bench/utils/dtype.py,sha256=sL6kRT40KtKAGYMaLP4_23tfQ-pTohDy7O0DaV7MBD4,4815
467
478
  fusion_bench/utils/expr.py,sha256=zwHNrtIbOMnIChU-0ZI5qLbDva8zvHbizL-4F2TwM14,2386
468
479
  fusion_bench/utils/fabric.py,sha256=qKcJ6Xj-6rEGy35dsUPHzxZT6az9RkSNcyBQl1uOv0M,6050
469
480
  fusion_bench/utils/functools.py,sha256=7_tYJ2WD88_2DDuOOj5aZz3cYuslYH5tsVyIgCeLtmk,1318
470
- fusion_bench/utils/hydra_utils.py,sha256=TklUDKDEZlg4keI-TEZiqh4gFjr9-61Rt1RMlqkoSGk,1174
481
+ fusion_bench/utils/hydra_utils.py,sha256=-7wMwOZOLIoKp_aXu64UU5x6c-mTRO55uQzox2XZkDg,3455
471
482
  fusion_bench/utils/instantiate_utils.py,sha256=UNfx188feTDrMSgp-ocLHetj6uD6axZcC46dRfBMtko,17884
472
483
  fusion_bench/utils/json.py,sha256=XZvEqBGpq-e0MaKkkX-1_PD8xMf6IDLAn4BrAF7IeiU,4552
473
484
  fusion_bench/utils/lazy_imports.py,sha256=s-1ABhPyyHs7gW4aodCzu3NySzILzTL7kVNZ0DZRXJA,6156
474
485
  fusion_bench/utils/lazy_state_dict.py,sha256=mJaiAtKB1vlNUAoQILnnCmU80FGJ8MSwmdPpmdhOyDE,22206
475
- fusion_bench/utils/misc.py,sha256=xntIUj4cwgx10y7Z1YqXT0zU4nDHfnKRK_M9biWgLH4,5780
486
+ fusion_bench/utils/misc.py,sha256=WjK8PskxhBjV4n_LNVJ1qPfMDGwkMPghyx0UhiKtbhc,5810
476
487
  fusion_bench/utils/modelscope.py,sha256=P8fV6Eff8oP0LVGIFGbLvuk8MBteysN438djZ6ZEfE4,10699
477
- fusion_bench/utils/packages.py,sha256=m2E0ryIMI0NwWR9vUHkK9FtZEwA1G-A4dYOf87olli4,2217
478
- fusion_bench/utils/parameters.py,sha256=ufEDOYJwcQQxLfveK8hBAGwpu5J3LA_cTWiDgZ2zkJ0,11788
488
+ fusion_bench/utils/packages.py,sha256=iacHgcrYvirWD8M9qZgX2EtY8ZUfH2xzGtABohxZ7cI,2283
489
+ fusion_bench/utils/parameters.py,sha256=Up0DcFAomPery9kG5QI9v8BGcTWATacLp8jE_P4Mp28,12966
479
490
  fusion_bench/utils/path.py,sha256=piznok_znXkTY71VBwJrxBlXureYOdQnMfvqaZ26qvc,2643
480
491
  fusion_bench/utils/pylogger.py,sha256=1Uy_LkHkbrYdt1g5Ge_eAh2YoCJwn3U3Ndouz9sVA6g,3419
481
- fusion_bench/utils/rich_utils.py,sha256=CJKL1vIHm2EznWa4e7ExmY5-lRtRRHLd7ZFPcn2acUs,9664
492
+ fusion_bench/utils/rich_utils.py,sha256=y3Kj6CxmGAtDlI0M9fVTMJgXjas2IKP725Ivn81ZV-A,10698
482
493
  fusion_bench/utils/set.py,sha256=_43ZvGKJ_BK9sUslsSNhi7xEfuAQuyj3vViImnGpnCY,134
483
- fusion_bench/utils/state_dict_arithmetic.py,sha256=bXO3zewO3KDzRmTaznlsnURIoSlcW5V5IhuXGtI_nxk,41234
484
- fusion_bench/utils/tensorboard.py,sha256=9fkgNYR9LM38nPNkudcxL9TjLUseW-280M0k2nLff7o,1669
494
+ fusion_bench/utils/state_dict_arithmetic.py,sha256=kkX0larPMkz4W0Wzv49NpEKTzzVNS6ReCOL0hUjidlM,45789
495
+ fusion_bench/utils/tensorboard.py,sha256=Hv900B328n3A9znsH84XqzAWCCxqIZJVyiI6XWqNSV8,2260
485
496
  fusion_bench/utils/timer.py,sha256=adBpA_XjpCuVvL6uyCtKhAFRzk4SXsr8T8P5kQNz0x8,5012
486
497
  fusion_bench/utils/type.py,sha256=2iu8PQzSzI2KopYwg4Pay7qpq7s_LKkl6Rhj-tjG3u0,630
487
498
  fusion_bench/utils/validation.py,sha256=-pUbATmeuinfceB7PNljCYgMk9gUQKwNn1dHvkuevtE,6082
@@ -492,8 +503,8 @@ fusion_bench/utils/plot/token_notebook.py,sha256=bsntXf46Zz_RavTxNiB9c3-KvHw7LFw
492
503
  fusion_bench/utils/strenum/__init__.py,sha256=id9ORi1uXrDxhbmVxitJ1KDwLS4H3AAwFpaK5h1cQzw,8531
493
504
  fusion_bench/utils/strenum/_name_mangler.py,sha256=o11M5-bURW2RBvRTYXFQIPNeqLzburdoWLIqk8X3ydw,3397
494
505
  fusion_bench/utils/strenum/_version.py,sha256=6JQRo9LcvODbCOeVFYQb9HNJ_J9XiG_Zbn8ws2A3BV8,18466
495
- fusion_bench-0.2.30.dist-info/licenses/LICENSE,sha256=nhnOJlw4CPuPVE0qvkGmxfFgHmKi-6nzXvTu8t0NUdg,1066
496
- fusion_bench_config/README.md,sha256=Lc8YSBJ5oxf9KV5kKDivJ9LRyGuraGQPmBbgbdVA-j4,703
506
+ fusion_bench-0.2.32.dist-info/licenses/LICENSE,sha256=nhnOJlw4CPuPVE0qvkGmxfFgHmKi-6nzXvTu8t0NUdg,1066
507
+ fusion_bench_config/README.md,sha256=oHbaJW_stRvcWHqj-h6t2de20rZwjYxTE1u6AY5Vwj8,1101
497
508
  fusion_bench_config/clip-vit-base-patch32_robustness_corrupted.yaml,sha256=pZ5dFgg5n1W9cKdNyGNa7b4yPd4aQSu2iR2-yw9hhbY,442
498
509
  fusion_bench_config/fabric_model_fusion.yaml,sha256=kSQbhBsKypVFA3rmkdhY9BITnZWDXJof-I35t473_U0,2646
499
510
  fusion_bench_config/llama_full_finetune.yaml,sha256=2xBhxEJxLZNDYc_9X8TtpXMRu85ksJxjkfqsz_xn5Yo,195
@@ -596,19 +607,19 @@ fusion_bench_config/dataset/text_generation/test/gsm8k_question_label.yaml,sha25
596
607
  fusion_bench_config/dataset/text_generation/train/CodeAlpaca-20k.yaml,sha256=4lb37lxTUStAR8eXhNxp3RONwSOYJI0bKY-hViZnjtE,94
597
608
  fusion_bench_config/dataset/text_generation/train/gsm8k.yaml,sha256=gP-xAZQxHHqTEf_Dgbi4F_SQDgGZFeddwMFsvcE1WW0,90
598
609
  fusion_bench_config/dataset/text_generation/train/gsm8k_question_label.yaml,sha256=6BhKgApz8LhdDyATqCsaonBo0Q99o1uM22F0yj_pJi4,178
599
- fusion_bench_config/fabric/auto.yaml,sha256=PoYC5vtDogZ3Ce9H8fv2nlLTTT-q6hMPW-7CwSQ-g08,652
610
+ fusion_bench_config/fabric/auto.yaml,sha256=jlAgdPmyRGWl37FJjBYSchN3kwtfjwfUrvNtEELggzI,668
600
611
  fusion_bench_config/fabric/llama_ddp.yaml,sha256=bOOuK5BPKmScE6yh5xY59qlawlMk2sRzsipW7GDQJWs,705
601
612
  fusion_bench_config/fabric/llama_fsdp.yaml,sha256=pTvz0k79dSOVAAlvU0T1kNd8TNCwz2FGjDOujBtQ_Ks,574
602
613
  fusion_bench_config/fabric/llama_peft_fsdp.yaml,sha256=AosSmY4624iahKbTWY681BsZTC1ul78x9aHZ9zHS81s,579
603
614
  fusion_bench_config/fabric/loggers/csv_logger.yaml,sha256=ZgcRy1kW-nTrNsXjljvjArdPLgB_H38I64wkh4UNaH0,362
604
- fusion_bench_config/fabric/loggers/mlflow_logger.yaml,sha256=iu_3Y57hRuc-FjJGoTDlcRqxq3K6U2vHBaBvhOPp8hk,71
615
+ fusion_bench_config/fabric/loggers/mlflow_logger.yaml,sha256=0GT4RJ0-e2oqlo19u3IaFknqODy1_35ki-EMfcp85B0,229
605
616
  fusion_bench_config/fabric/loggers/swandb_logger.yaml,sha256=Z5T06kyfwXYuB0Tkkj_S_k62JAb3WSvDql_GUjN8ZvQ,256
606
617
  fusion_bench_config/fabric/loggers/tensorboard_logger.yaml,sha256=wBfGo2zb4OG4e-Zx3SjanagvfUBxz41Sz-cyoNtLaZs,368
607
618
  fusion_bench_config/fabric/loggers/wandb_logger.yaml,sha256=awIrv7gJRZrbar_tbKpd_MTCqzzPjFhXizWfOyqZeos,202
608
619
  fusion_bench_config/fabric/strategy/deepspeed.yaml,sha256=zcSUeHVaATy92oTTRx3_hWQkCB3BPR7YOIt_U1gimCU,343
609
620
  fusion_bench_config/fabric/strategy/llama_fsdp.yaml,sha256=WBx05GFUCuEtF-H7LhlTq95VZeaIg36hqntw478qJng,307
610
621
  fusion_bench_config/fabric/strategy/llama_peft_fsdp.yaml,sha256=4NTFnpZTEByH4Z6f-nwDtS4GUFtcluja27hXKWNRUiE,347
611
- fusion_bench_config/hydra/default.yaml,sha256=Fpi3pV1hqPoPk5QdBncse6NlNOAl2YHzD44LvRNbzq4,256
622
+ fusion_bench_config/hydra/default.yaml,sha256=bmDolgyshoLe9zJLQ6SBn2Hif8WNWX15Skc_ND7m2fU,511
612
623
  fusion_bench_config/hydra/help/fusion_bench_help.yaml,sha256=v8s891Cr5wyxBXGDn_VBBwwRmb0JXOL874Sl-zNoCWA,1880
613
624
  fusion_bench_config/hydra/job_logging/rich_logging.yaml,sha256=_dYGeFTCqaPrRowLXBNMXwzYhw8ns1TkQFfALwK1aCw,441
614
625
  fusion_bench_config/method/depth_upscaling.yaml,sha256=86YqczaMzZftymLy_k2cb-GMy4C42yTxxP4c4htZTBs,1230
@@ -635,6 +646,7 @@ fusion_bench_config/method/classification/image_classification_finetune_test.yam
635
646
  fusion_bench_config/method/concrete_subspace/clip_concrete_layer_wise_adamerging.yaml,sha256=r0zR1WenY1fYba6mEBAoHJZKcx1x7L2cQmEA_54NTYM,739
636
647
  fusion_bench_config/method/concrete_subspace/clip_concrete_task_arithmetic.yaml,sha256=eNoqcY1iMbs0Y5kKi_ya3rmQQMHqU7ht3EU7G_xmwN0,746
637
648
  fusion_bench_config/method/concrete_subspace/clip_concrete_task_wise_adamerging.yaml,sha256=P3mwQQewFFiqZNYJp8c02Sf8zBuStKInr_Yn74OCOxI,738
649
+ fusion_bench_config/method/concrete_subspace/clip_concrete_tsvm.yaml,sha256=rRA-TIG1SCl2cSA27ZHWVujhvfpJjzsJ6SZausb9O9g,1129
638
650
  fusion_bench_config/method/concrete_subspace/clip_post_defense_AWM.yaml,sha256=pHkZoUKesiGifxaY5BAltCnjceDVQcxyW-LRDGgzang,837
639
651
  fusion_bench_config/method/concrete_subspace/clip_post_defense_SAU.yaml,sha256=grOw6PdcEHh0iYUEDEBFKk53jsToksHx4L7Dv003wHE,879
640
652
  fusion_bench_config/method/concrete_subspace/clip_safe_concrete_layer_wise_adamerging.yaml,sha256=lkCtwN_Xo1WcoGC0mkrfiJ2WwmqeNsKO_cCEUnRA1pk,913
@@ -645,6 +657,8 @@ fusion_bench_config/method/dare/ties_merging.yaml,sha256=7gDW4XpezrsccsbJGqqKrbX
645
657
  fusion_bench_config/method/dawe/dawe_for_clip.yaml,sha256=99P5xpp1YGvIwXGxDcxRtJMLE2FhvEFmFBQjOMEcGoc,1023
646
658
  fusion_bench_config/method/doge_ta/doge_ta.yaml,sha256=CtZI3YPMJNDy225yhOJbSiMKlsc-X5nCFzmVh0dvr-w,78
647
659
  fusion_bench_config/method/dop/dop.yaml,sha256=ZgdjuVfTj83kAvrS4RrPgGX7d_QQ7d1lIMlzhjiVeUc,954
660
+ fusion_bench_config/method/dop/dop_general.yaml,sha256=xTuJlQ52I61AI4nX_tjkdhwl6M7VTdWpLVwsihx6_SE,1045
661
+ fusion_bench_config/method/emr_merging/emr_merging.yaml,sha256=L3ks8gIcrX4izeYtc8bwdWsd0jWknZTHkYuAfbU6bec,53
648
662
  fusion_bench_config/method/ensemble/max_model_predictor.yaml,sha256=ugO9FbEYqQk3RkX7wUDE9UOg-4D0F4Rezv0O-7hTeRg,476
649
663
  fusion_bench_config/method/ensemble/simple_ensemble.yaml,sha256=kfPAaPVQIet9dYThKNsEBfe9gHdeCREnsM-snSOPahM,546
650
664
  fusion_bench_config/method/ensemble/weighted_ensemble.yaml,sha256=LhlxU2P_inxR8MB0Z62phHWj5S4qxD7ITG4Ly-GUcQo,770
@@ -674,6 +688,7 @@ fusion_bench_config/method/lm_finetune/peftfinetune_sft.yaml,sha256=LjGwfTiiC5iQ
674
688
  fusion_bench_config/method/model_stock/model_stock.yaml,sha256=4KHAFCjL4AQ5dxkv7IGkUTxE8g-GCoxDkA3BbnlzQC0,530
675
689
  fusion_bench_config/method/moe_pruner/moe_pruner.yaml,sha256=OYMYLKvLlNEht7BK9phaTEvAE1ySaVi-pvjYiT-OTGw,442
676
690
  fusion_bench_config/method/opcm/opcm.yaml,sha256=7NBOGo6W1FDbqdkT8gfM5PI2kHfqB8ofMfgcxVI1suM,686
691
+ fusion_bench_config/method/opcm/opcm_general.yaml,sha256=qDfVy7ycPNBHfPV22kiByi2JHsTBClEHj1e9ena7xUo,763
677
692
  fusion_bench_config/method/opcm/task_arithmetic.yaml,sha256=WL_nVXhZWV9fe_ttChShkjYZVJnOCzvZ3i7NBppYsxk,743
678
693
  fusion_bench_config/method/opcm/ties_merging.yaml,sha256=1-xR0dVEEFJue9r-oBk1ZfGmGM9vCu4cJBG5aZnJ3C8,917
679
694
  fusion_bench_config/method/opcm/weight_average.yaml,sha256=n-eyxVkpRanlRJdFWFK3kppiO_W1S99WNjyjdBLDnw0,668
@@ -894,6 +909,7 @@ fusion_bench_config/modelpool/CausalLMPool/mergebench/gemma-2-2b.yaml,sha256=SOD
894
909
  fusion_bench_config/modelpool/CausalLMPool/mergebench/gemma-2-9b-it.yaml,sha256=zwInWJS8yrhch4vOL1ypRKNWWpJKlhQsyY0Ln14CC-M,389
895
910
  fusion_bench_config/modelpool/CausalLMPool/mergebench/gemma-2-9b.yaml,sha256=ufmu4b3lyxn2XLDMVYxP-bKwYaGTjB5-JoYXLG8v8tY,368
896
911
  fusion_bench_config/modelpool/ConvNextForImageClassification/convnext-base-224.yaml,sha256=gcXV5WIYe9Ep-54fjgT9HqbCBY7UiqbqkHvoNCQx62Y,259
912
+ fusion_bench_config/modelpool/ConvNextForImageClassification/convnext-base-224_8-tasks.yaml,sha256=hSS1XqY_t9oTO2bkB3MYyHXupImSHJla6uy-iHWqswI,852
897
913
  fusion_bench_config/modelpool/Dinov2ForImageClassification/dinov2-base-imagenet1k-1-layer.yaml,sha256=jxe6rvV37FBGsV-Pdnyxe-G-Vw-HzOXuT2NMHKBSBOU,270
898
914
  fusion_bench_config/modelpool/OpenCLIPVisionModelPool/README.md,sha256=DC0HF-isCHshipHTC0Rof6GvjTUa0i2DVQZKrklQQlU,2416
899
915
  fusion_bench_config/modelpool/OpenCLIPVisionModelPool/ViT-B-16_TA8.yaml,sha256=jbJqqciORJQknpSzh2zKiFm6VKDOsmaSk9XfPCVmHGg,1220
@@ -1015,12 +1031,13 @@ fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_sun397
1015
1031
  fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_svhn.yaml,sha256=2AqMiNCRRunLIrssHvFzu1lUzOaQn8uOHM9yjrQq-_A,109
1016
1032
  fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip_rankone_wemoe_clip-vit-classification_TA8.yaml,sha256=DNm1LRlQS9KbukEl6oEZzWLizyaOBcYZ2r7L8ZQtnJc,434
1017
1033
  fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip_sparse_wemoe_clip-vit-classification_TA8.yaml,sha256=EjN3Pu1F_7EuZrk-geyL4qohqJ5-F2UFjWjj2V57ju0,433
1034
+ fusion_bench_config/taskpool/ImageClassificationTaskPool/convnext-base-224_8-tasks.yaml,sha256=T3oqzZAAwuZ8XBG7YjDRI8BWN3VJW8EzDAJVYO2trzM,389
1018
1035
  fusion_bench_config/taskpool/LMEvalHarnessTaskPool/lm_eval.yaml,sha256=3q-KMuFaMSdxLOxzomrruDmu2pJo8oQD95S7y3S20_4,415
1019
1036
  fusion_bench_config/taskpool/OpenCLIPVisionModelTaskPool/ViT-B-16_TA8.yaml,sha256=GjpiiRownrBCpl-TNwWRW2PYePbF-Cl99jlLNPrK5T4,1017
1020
1037
  fusion_bench_config/taskpool/OpenCLIPVisionModelTaskPool/ViT-B-32_TA8.yaml,sha256=WwiYMQKehtJixDPnu5o3vcWe4yJksXTWRqOzm3uVWXQ,1017
1021
1038
  fusion_bench_config/taskpool/OpenCLIPVisionModelTaskPool/ViT-L-14_TA8.yaml,sha256=xGRt0J9joXTzWUew6DvoYprAWlPXhaVFw5AX4im5VQw,1017
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,,
1039
+ fusion_bench-0.2.32.dist-info/METADATA,sha256=2OSKvbBaXvzS3FWlhHM_ACrtgLRPo9qncQXlFPFrdMY,26331
1040
+ fusion_bench-0.2.32.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
1041
+ fusion_bench-0.2.32.dist-info/entry_points.txt,sha256=f7HrhfWplbDOgyf0Yfz53VZ_ajUfMNcNJqGnO7OD8QY,123
1042
+ fusion_bench-0.2.32.dist-info/top_level.txt,sha256=BuO4TL6iHL_2yPBUX9-LlIrHRczA_BNMIFwweK0PQEI,13
1043
+ fusion_bench-0.2.32.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.9.0)
2
+ Generator: setuptools (80.10.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,3 +1,3 @@
1
1
  [console_scripts]
2
- fusion_bench = fusion_bench.scripts.cli:main
2
+ fusion_bench = fusion_bench.scripts.cli:_hydra_main
3
3
  fusion_bench_webui = fusion_bench.scripts.webui:main
@@ -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: