hydraflow 0.5.1__py3-none-any.whl → 0.5.3__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.
- hydraflow/__init__.py +2 -0
- hydraflow/mlflow.py +7 -2
- hydraflow/run_info.py +2 -0
- hydraflow/utils.py +24 -2
- {hydraflow-0.5.1.dist-info → hydraflow-0.5.3.dist-info}/METADATA +2 -2
- hydraflow-0.5.3.dist-info/RECORD +14 -0
- hydraflow-0.5.1.dist-info/RECORD +0 -14
- {hydraflow-0.5.1.dist-info → hydraflow-0.5.3.dist-info}/WHEEL +0 -0
- {hydraflow-0.5.1.dist-info → hydraflow-0.5.3.dist-info}/licenses/LICENSE +0 -0
hydraflow/__init__.py
CHANGED
@@ -6,6 +6,7 @@ from .mlflow import list_runs, search_runs, set_experiment
|
|
6
6
|
from .run_collection import RunCollection
|
7
7
|
from .utils import (
|
8
8
|
get_artifact_dir,
|
9
|
+
get_artifact_path,
|
9
10
|
get_hydra_output_dir,
|
10
11
|
get_overrides,
|
11
12
|
load_config,
|
@@ -18,6 +19,7 @@ __all__ = [
|
|
18
19
|
"chdir_artifact",
|
19
20
|
"chdir_hydra_output",
|
20
21
|
"get_artifact_dir",
|
22
|
+
"get_artifact_path",
|
21
23
|
"get_hydra_output_dir",
|
22
24
|
"get_overrides",
|
23
25
|
"list_runs",
|
hydraflow/mlflow.py
CHANGED
@@ -37,6 +37,7 @@ def set_experiment(
|
|
37
37
|
prefix: str = "",
|
38
38
|
suffix: str = "",
|
39
39
|
uri: str | Path | None = None,
|
40
|
+
name: str | None = None,
|
40
41
|
) -> Experiment:
|
41
42
|
"""Set the experiment name and tracking URI optionally.
|
42
43
|
|
@@ -48,6 +49,7 @@ def set_experiment(
|
|
48
49
|
prefix (str): The prefix to prepend to the experiment name.
|
49
50
|
suffix (str): The suffix to append to the experiment name.
|
50
51
|
uri (str | Path | None): The tracking URI to use. Defaults to None.
|
52
|
+
name (str | None): The name of the experiment. Defaults to None.
|
51
53
|
|
52
54
|
Returns:
|
53
55
|
Experiment: An instance of `mlflow.entities.Experiment` representing
|
@@ -57,6 +59,9 @@ def set_experiment(
|
|
57
59
|
if uri is not None:
|
58
60
|
mlflow.set_tracking_uri(uri)
|
59
61
|
|
62
|
+
if name is not None:
|
63
|
+
return mlflow.set_experiment(name)
|
64
|
+
|
60
65
|
hc = HydraConfig.get()
|
61
66
|
name = f"{prefix}{hc.job.name}{suffix}"
|
62
67
|
return mlflow.set_experiment(name)
|
@@ -209,12 +214,12 @@ def _list_runs(
|
|
209
214
|
loc = experiment.artifact_location
|
210
215
|
|
211
216
|
if isinstance(loc, str):
|
212
|
-
if loc.startswith("file
|
217
|
+
if loc.startswith("file:"):
|
213
218
|
path = Path(mlflow.artifacts.download_artifacts(loc))
|
214
219
|
elif Path(loc).is_dir():
|
215
220
|
path = Path(loc)
|
216
221
|
else:
|
217
|
-
continue
|
222
|
+
continue # no cov
|
218
223
|
|
219
224
|
run_ids.extend(file.stem for file in path.iterdir() if file.is_dir())
|
220
225
|
|
hydraflow/run_info.py
CHANGED
hydraflow/utils.py
CHANGED
@@ -30,10 +30,32 @@ def get_artifact_dir(run: Run | None = None) -> Path:
|
|
30
30
|
"""
|
31
31
|
uri = mlflow.get_artifact_uri() if run is None else run.info.artifact_uri
|
32
32
|
|
33
|
-
if not
|
33
|
+
if not isinstance(uri, str):
|
34
34
|
raise NotImplementedError
|
35
35
|
|
36
|
-
|
36
|
+
if uri.startswith("file:"):
|
37
|
+
return Path(mlflow.artifacts.download_artifacts(uri))
|
38
|
+
|
39
|
+
if Path(uri).is_dir():
|
40
|
+
return Path(uri)
|
41
|
+
|
42
|
+
raise NotImplementedError
|
43
|
+
|
44
|
+
|
45
|
+
def get_artifact_path(run: Run | None, path: str) -> Path:
|
46
|
+
"""Retrieve the artifact path for the given run and path.
|
47
|
+
|
48
|
+
This function uses MLflow to get the artifact path for the given run and path.
|
49
|
+
|
50
|
+
Args:
|
51
|
+
run (Run | None): The run object. Defaults to None.
|
52
|
+
path (str): The path to the artifact.
|
53
|
+
|
54
|
+
Returns:
|
55
|
+
The local path to the artifact.
|
56
|
+
|
57
|
+
"""
|
58
|
+
return get_artifact_dir(run) / path
|
37
59
|
|
38
60
|
|
39
61
|
def get_hydra_output_dir(run: Run | None = None) -> Path:
|
@@ -1,8 +1,8 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: hydraflow
|
3
|
-
Version: 0.5.
|
3
|
+
Version: 0.5.3
|
4
4
|
Summary: Hydraflow integrates Hydra and MLflow to manage and track machine learning experiments.
|
5
|
-
Project-URL: Documentation, https://github.
|
5
|
+
Project-URL: Documentation, https://daizutabi.github.io/hydraflow/
|
6
6
|
Project-URL: Source, https://github.com/daizutabi/hydraflow
|
7
7
|
Project-URL: Issues, https://github.com/daizutabi/hydraflow/issues
|
8
8
|
Author-email: daizutabi <daizutabi@gmail.com>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
hydraflow/__init__.py,sha256=9XO9FD3uiTTPN6X6UAC9FtkJjEqUQZNqpoAmSrjUHfI,855
|
2
|
+
hydraflow/config.py,sha256=MNX9da5bPVDcjnpji7Cm9ndK6ura92pt361m4PRh6_E,4326
|
3
|
+
hydraflow/context.py,sha256=3g7OQXWcFvK6PVVbXpQg7Hr8nsJkF9pLFrXNi_3aV5A,5524
|
4
|
+
hydraflow/mlflow.py,sha256=h2S_A2wElr_1lAq0D1wkoEfdtDZpPuWFNRcO8mV_VrA,8932
|
5
|
+
hydraflow/param.py,sha256=c5sc6NwD6DKwZzVwprXzZD5FSi6qRgSHkc6TXBKQEdg,4502
|
6
|
+
hydraflow/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
7
|
+
hydraflow/run_collection.py,sha256=zPrlKwLuzqePj57pXbgKWrE03S_kjxTaxY9trItf6Gc,26772
|
8
|
+
hydraflow/run_data.py,sha256=dpyyfnuH9mCtIZeigMo1iFQo9bafMdEL4i4uI2l0UqY,1525
|
9
|
+
hydraflow/run_info.py,sha256=Jf5wrIjRLIV1-k-obHDqwKHa6j_ZonrY8od-rXlbtMo,1024
|
10
|
+
hydraflow/utils.py,sha256=oXjcyfQBbPzJNTh3_CbZfl23zgJS-mbNM9GAWBwsn8c,4349
|
11
|
+
hydraflow-0.5.3.dist-info/METADATA,sha256=8grWqDq2SBXtVljA72NnKJPJjwaWmjOOXIvGSOP5kqM,4700
|
12
|
+
hydraflow-0.5.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
13
|
+
hydraflow-0.5.3.dist-info/licenses/LICENSE,sha256=IGdDrBPqz1O0v_UwCW-NJlbX9Hy9b3uJ11t28y2srmY,1062
|
14
|
+
hydraflow-0.5.3.dist-info/RECORD,,
|
hydraflow-0.5.1.dist-info/RECORD
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
hydraflow/__init__.py,sha256=DKtFjTXHTgceX7rpWHiKqhcpG5xtGIseFvN28f7iwYo,807
|
2
|
-
hydraflow/config.py,sha256=MNX9da5bPVDcjnpji7Cm9ndK6ura92pt361m4PRh6_E,4326
|
3
|
-
hydraflow/context.py,sha256=3g7OQXWcFvK6PVVbXpQg7Hr8nsJkF9pLFrXNi_3aV5A,5524
|
4
|
-
hydraflow/mlflow.py,sha256=kWVK_Xw2hkRnTg33jSP3VW13UZF6_hBGhN52mPmLgvk,8753
|
5
|
-
hydraflow/param.py,sha256=c5sc6NwD6DKwZzVwprXzZD5FSi6qRgSHkc6TXBKQEdg,4502
|
6
|
-
hydraflow/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
7
|
-
hydraflow/run_collection.py,sha256=zPrlKwLuzqePj57pXbgKWrE03S_kjxTaxY9trItf6Gc,26772
|
8
|
-
hydraflow/run_data.py,sha256=dpyyfnuH9mCtIZeigMo1iFQo9bafMdEL4i4uI2l0UqY,1525
|
9
|
-
hydraflow/run_info.py,sha256=sMXOo20ClaRIommMEzuAbO_OrcXx7M1Yt4FMV7spxz0,998
|
10
|
-
hydraflow/utils.py,sha256=jbNrbtIfMqxE4LrdTNd1g7sF68XgAvydGqW5iAZ6n-c,3834
|
11
|
-
hydraflow-0.5.1.dist-info/METADATA,sha256=ZRMGo-8y9JiUSCijXQMeVkG9Gw0edDRgBdkptMDK0IU,4700
|
12
|
-
hydraflow-0.5.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
13
|
-
hydraflow-0.5.1.dist-info/licenses/LICENSE,sha256=IGdDrBPqz1O0v_UwCW-NJlbX9Hy9b3uJ11t28y2srmY,1062
|
14
|
-
hydraflow-0.5.1.dist-info/RECORD,,
|
File without changes
|
File without changes
|