hydraflow 0.3.4__py3-none-any.whl → 0.3.5__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
hydraflow/__init__.py CHANGED
@@ -1,5 +1,6 @@
1
1
  """Integrate Hydra and MLflow to manage and track machine learning experiments."""
2
2
 
3
+ from .config import select_config
3
4
  from .context import chdir_artifact, chdir_hydra_output, log_run, start_run, watch
4
5
  from .mlflow import list_runs, search_runs, set_experiment
5
6
  from .progress import multi_tasks_progress, parallel_progress
@@ -26,6 +27,7 @@ __all__ = [
26
27
  "multi_tasks_progress",
27
28
  "parallel_progress",
28
29
  "search_runs",
30
+ "select_config",
29
31
  "set_experiment",
30
32
  "start_run",
31
33
  "watch",
hydraflow/config.py CHANGED
@@ -99,3 +99,32 @@ def _convert(value: Any) -> Any:
99
99
  return list(value)
100
100
 
101
101
  return value
102
+
103
+
104
+ def select_config(config: object, names: list[str]) -> dict[str, Any]:
105
+ """Select the given parameters from the configuration object.
106
+
107
+ This function selects the given parameters from the configuration object
108
+ and returns a new configuration object containing only the selected parameters.
109
+
110
+ Args:
111
+ config (object): The configuration object to select parameters from.
112
+ names (list[str]): The names of the parameters to select.
113
+
114
+ Returns:
115
+ DictConfig: A new configuration object containing only the selected parameters.
116
+
117
+ """
118
+ if not isinstance(config, DictConfig):
119
+ cfg = OmegaConf.structured(config)
120
+
121
+ return {name: _get(cfg, name) for name in names}
122
+
123
+
124
+ def _get(config: DictConfig, name: str) -> Any:
125
+ """Get the value of the given parameter from the configuration object."""
126
+ if "." not in name:
127
+ return config.get(name)
128
+
129
+ prefix, name = name.split(".", 1)
130
+ return _get(config.get(prefix), name)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: hydraflow
3
- Version: 0.3.4
3
+ Version: 0.3.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
@@ -1,6 +1,6 @@
1
- hydraflow/__init__.py,sha256=HVVsSRK2BXtHdoueFNRva924th49_lCV5zYb2c8qdaw,811
1
+ hydraflow/__init__.py,sha256=p0GzgI2RYXuaBdgoDgmihkn2esUlcbPJlSwoXBdbZEw,866
2
2
  hydraflow/asyncio.py,sha256=-i1C8KAmNDImrjHnk92Csaa1mpjdK8Vp4ZVaQV-l94s,6634
3
- hydraflow/config.py,sha256=dRG4cFqDH0vBX109q0C46jiXdvbYoYgu651D6KlmmxQ,3021
3
+ hydraflow/config.py,sha256=mQYEW_-kr-5cz64hGxI_gkK8XK_54M-3DX-YlE44A9A,3992
4
4
  hydraflow/context.py,sha256=p1UYHvSCPrp10cBn9TUI9mXMv0h_I0Eou24Wp1rZZ0k,8740
5
5
  hydraflow/mlflow.py,sha256=JELqXFCJ9MsEJaQWT5dyleTFk8BHL7cQwW_gzhkPoIg,8729
6
6
  hydraflow/param.py,sha256=CO-6PRlnHo-7hlY_P6j_cGlC7vPY6t-Rr7p3OqeqDyU,1995
@@ -10,7 +10,7 @@ hydraflow/run_collection.py,sha256=OiPibp8zM4gpsvqpHr9sBh4_1zmHRuXfPcmen7xND-s,2
10
10
  hydraflow/run_data.py,sha256=qeFX1iRvNAorXA9QQIjzr0o2_82TI44eZKp7llKG8GI,1549
11
11
  hydraflow/run_info.py,sha256=sMXOo20ClaRIommMEzuAbO_OrcXx7M1Yt4FMV7spxz0,998
12
12
  hydraflow/utils.py,sha256=qNN0JDbQJweTkcRMpZwMXTIuK_LVpoDJ2rOwfe01f3U,3500
13
- hydraflow-0.3.4.dist-info/METADATA,sha256=DJuHernRtS9IjpWRqCIt-yDXdFBDioSf3f3-T15D-yI,3840
14
- hydraflow-0.3.4.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
15
- hydraflow-0.3.4.dist-info/licenses/LICENSE,sha256=IGdDrBPqz1O0v_UwCW-NJlbX9Hy9b3uJ11t28y2srmY,1062
16
- hydraflow-0.3.4.dist-info/RECORD,,
13
+ hydraflow-0.3.5.dist-info/METADATA,sha256=UVUeGwlz9ZcdqOX-tWJ3MJX1KD05i4lkPj455J2vAik,3840
14
+ hydraflow-0.3.5.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
15
+ hydraflow-0.3.5.dist-info/licenses/LICENSE,sha256=IGdDrBPqz1O0v_UwCW-NJlbX9Hy9b3uJ11t28y2srmY,1062
16
+ hydraflow-0.3.5.dist-info/RECORD,,