hydraflow 0.2.4__py3-none-any.whl → 0.2.5__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- hydraflow/runs.py +34 -0
- {hydraflow-0.2.4.dist-info → hydraflow-0.2.5.dist-info}/METADATA +2 -2
- {hydraflow-0.2.4.dist-info → hydraflow-0.2.5.dist-info}/RECORD +5 -5
- {hydraflow-0.2.4.dist-info → hydraflow-0.2.5.dist-info}/WHEEL +0 -0
- {hydraflow-0.2.4.dist-info → hydraflow-0.2.5.dist-info}/licenses/LICENSE +0 -0
hydraflow/runs.py
CHANGED
@@ -501,6 +501,33 @@ class RunCollection:
|
|
501
501
|
"""
|
502
502
|
return (func(download_artifacts(run_id=run.info.run_id)) for run in self._runs)
|
503
503
|
|
504
|
+
def group_by(
|
505
|
+
self, names: list[str] | None = None, *args
|
506
|
+
) -> dict[tuple[str, ...], RunCollection]:
|
507
|
+
"""
|
508
|
+
Group the runs by the specified parameter names and return a dictionary
|
509
|
+
where the keys are the parameter values and the values are the runs.
|
510
|
+
|
511
|
+
Args:
|
512
|
+
names (list[str] | None): The parameter names to group by.
|
513
|
+
*args: Additional positional arguments to specify parameter names.
|
514
|
+
|
515
|
+
Returns:
|
516
|
+
A dictionary where the keys are the parameter values and the values
|
517
|
+
are the runs.
|
518
|
+
"""
|
519
|
+
names = names[:] if names else []
|
520
|
+
names.extend(args)
|
521
|
+
|
522
|
+
grouped_runs = {}
|
523
|
+
for run in self._runs:
|
524
|
+
key = get_params(run, names)
|
525
|
+
if key not in grouped_runs:
|
526
|
+
grouped_runs[key] = []
|
527
|
+
grouped_runs[key].append(run)
|
528
|
+
|
529
|
+
return {key: RunCollection(runs) for key, runs in grouped_runs.items()}
|
530
|
+
|
504
531
|
|
505
532
|
def _param_matches(run: Run, key: str, value: Any) -> bool:
|
506
533
|
"""
|
@@ -765,6 +792,13 @@ def try_get_run(runs: list[Run], config: object | None = None, **kwargs) -> Run
|
|
765
792
|
raise ValueError(msg)
|
766
793
|
|
767
794
|
|
795
|
+
def get_params(run: Run, names: list[str] | None = None, *args) -> tuple[str, ...]:
|
796
|
+
names = names[:] if names else []
|
797
|
+
names.extend(args)
|
798
|
+
|
799
|
+
return tuple(run.data.params[name] for name in names)
|
800
|
+
|
801
|
+
|
768
802
|
def get_param_names(runs: list[Run]) -> list[str]:
|
769
803
|
"""
|
770
804
|
Get the parameter names from the runs.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: hydraflow
|
3
|
-
Version: 0.2.
|
3
|
+
Version: 0.2.5
|
4
4
|
Summary: Hydraflow integrates Hydra and MLflow to manage and track machine learning experiments.
|
5
5
|
Project-URL: Documentation, https://github.com/daizutabi/hydraflow
|
6
6
|
Project-URL: Source, https://github.com/daizutabi/hydraflow
|
@@ -48,7 +48,7 @@ Description-Content-Type: text/markdown
|
|
48
48
|
|
49
49
|
## Overview
|
50
50
|
|
51
|
-
Hydraflow is a
|
51
|
+
Hydraflow is a library designed to seamlessly integrate
|
52
52
|
[Hydra](https://hydra.cc/) and [MLflow](https://mlflow.org/), making it easier to
|
53
53
|
manage and track machine learning experiments. By combining the flexibility of
|
54
54
|
Hydra's configuration management with the robust experiment tracking capabilities
|
@@ -3,8 +3,8 @@ hydraflow/asyncio.py,sha256=yh851L315QHzRBwq6r-uwO2oZKgz1JawHp-fswfxT1E,6175
|
|
3
3
|
hydraflow/config.py,sha256=6TCKNQZ3sSrIEvl245T2udwFuknejyN1dMcIVmOHdrQ,2102
|
4
4
|
hydraflow/context.py,sha256=8Qn99yCSkCarDDthQ6hjgW80CBBIg0H7fnLvtw4ZXo8,7248
|
5
5
|
hydraflow/mlflow.py,sha256=gGr0fvFEllduA-ByHMeEamM39zVY_30tjtEbkSZ4lHA,3659
|
6
|
-
hydraflow/runs.py,sha256=
|
7
|
-
hydraflow-0.2.
|
8
|
-
hydraflow-0.2.
|
9
|
-
hydraflow-0.2.
|
10
|
-
hydraflow-0.2.
|
6
|
+
hydraflow/runs.py,sha256=41P2aIm7Alem3uKHd-JJdoDzzA4LwrO0rIIZKqZGmdc,31071
|
7
|
+
hydraflow-0.2.5.dist-info/METADATA,sha256=KDDgZxTmODbd9fSiwLrURTk7il53CQzGkpGrAshPp1s,4139
|
8
|
+
hydraflow-0.2.5.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
|
9
|
+
hydraflow-0.2.5.dist-info/licenses/LICENSE,sha256=IGdDrBPqz1O0v_UwCW-NJlbX9Hy9b3uJ11t28y2srmY,1062
|
10
|
+
hydraflow-0.2.5.dist-info/RECORD,,
|
File without changes
|
File without changes
|