hydraflow 0.14.2__py3-none-any.whl → 0.14.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-0.14.2.dist-info → hydraflow-0.14.3.dist-info}/METADATA +77 -6
- {hydraflow-0.14.2.dist-info → hydraflow-0.14.3.dist-info}/RECORD +5 -5
- {hydraflow-0.14.2.dist-info → hydraflow-0.14.3.dist-info}/WHEEL +0 -0
- {hydraflow-0.14.2.dist-info → hydraflow-0.14.3.dist-info}/entry_points.txt +0 -0
- {hydraflow-0.14.2.dist-info → hydraflow-0.14.3.dist-info}/licenses/LICENSE +0 -0
@@ -1,7 +1,7 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: hydraflow
|
3
|
-
Version: 0.14.
|
4
|
-
Summary:
|
3
|
+
Version: 0.14.3
|
4
|
+
Summary: HydraFlow seamlessly integrates Hydra and MLflow to streamline ML experiment management. It combines Hydra's configuration management with MLflow's tracking capabilities, offering automated experiment tracking, versioning, and a rich CLI interface. Perfect for ML researchers and teams who need reproducibility while scaling experiments.
|
5
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
|
@@ -28,13 +28,20 @@ License: MIT License
|
|
28
28
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
29
29
|
SOFTWARE.
|
30
30
|
License-File: LICENSE
|
31
|
+
Keywords: ai,data-science,deep-learning,experiment-tracking,hydra,machine-learning,mlflow,mlops,research
|
31
32
|
Classifier: Development Status :: 4 - Beta
|
33
|
+
Classifier: Environment :: Console
|
34
|
+
Classifier: Intended Audience :: Developers
|
35
|
+
Classifier: Intended Audience :: Science/Research
|
32
36
|
Classifier: License :: OSI Approved :: MIT License
|
37
|
+
Classifier: Operating System :: OS Independent
|
33
38
|
Classifier: Programming Language :: Python
|
34
39
|
Classifier: Programming Language :: Python :: 3.10
|
35
40
|
Classifier: Programming Language :: Python :: 3.11
|
36
41
|
Classifier: Programming Language :: Python :: 3.12
|
37
42
|
Classifier: Programming Language :: Python :: 3.13
|
43
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
44
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
38
45
|
Requires-Python: >=3.10
|
39
46
|
Requires-Dist: hydra-core>=1.3
|
40
47
|
Requires-Dist: mlflow>=2.15
|
@@ -50,6 +57,7 @@ Description-Content-Type: text/markdown
|
|
50
57
|
[![Python Version][python-v-image]][python-v-link]
|
51
58
|
[![Build Status][GHAction-image]][GHAction-link]
|
52
59
|
[![Coverage Status][codecov-image]][codecov-link]
|
60
|
+
[![Documentation Status][docs-image]][docs-link]
|
53
61
|
|
54
62
|
<!-- Badges -->
|
55
63
|
[pypi-v-image]: https://img.shields.io/pypi/v/hydraflow.svg
|
@@ -60,6 +68,8 @@ Description-Content-Type: text/markdown
|
|
60
68
|
[GHAction-link]: https://github.com/daizutabi/hydraflow/actions?query=event%3Apush+branch%3Amain
|
61
69
|
[codecov-image]: https://codecov.io/github/daizutabi/hydraflow/coverage.svg?branch=main
|
62
70
|
[codecov-link]: https://codecov.io/github/daizutabi/hydraflow?branch=main
|
71
|
+
[docs-image]: https://readthedocs.org/projects/hydraflow/badge/?version=latest
|
72
|
+
[docs-link]: https://daizutabi.github.io/hydraflow/
|
63
73
|
|
64
74
|
## Overview
|
65
75
|
|
@@ -80,6 +90,8 @@ machine learning workflows.
|
|
80
90
|
checkpoints and configuration files, with MLflow.
|
81
91
|
- **Seamless Integration**: Easily integrate Hydra and MLflow in your machine learning
|
82
92
|
projects with minimal setup.
|
93
|
+
- **Rich CLI Interface**: Command-line tools for managing experiments and viewing results.
|
94
|
+
- **Cross-Platform Support**: Works consistently across different operating systems.
|
83
95
|
|
84
96
|
## Installation
|
85
97
|
|
@@ -89,7 +101,7 @@ You can install Hydraflow via pip:
|
|
89
101
|
pip install hydraflow
|
90
102
|
```
|
91
103
|
|
92
|
-
##
|
104
|
+
## Quick Start
|
93
105
|
|
94
106
|
Here is a simple example to get you started with Hydraflow:
|
95
107
|
|
@@ -100,6 +112,7 @@ from dataclasses import dataclass
|
|
100
112
|
from typing import TYPE_CHECKING
|
101
113
|
|
102
114
|
import hydraflow
|
115
|
+
import mlflow
|
103
116
|
|
104
117
|
if TYPE_CHECKING:
|
105
118
|
from mlflow.entities import Run
|
@@ -107,15 +120,73 @@ if TYPE_CHECKING:
|
|
107
120
|
|
108
121
|
@dataclass
|
109
122
|
class Config:
|
110
|
-
|
111
|
-
|
123
|
+
"""Configuration for the ML training experiment."""
|
124
|
+
# Training hyperparameters
|
125
|
+
learning_rate: float = 0.001
|
126
|
+
batch_size: int = 32
|
127
|
+
epochs: int = 10
|
128
|
+
|
129
|
+
# Model architecture parameters
|
130
|
+
hidden_size: int = 128
|
131
|
+
dropout: float = 0.1
|
132
|
+
|
133
|
+
# Dataset parameters
|
134
|
+
train_size: float = 0.8
|
135
|
+
random_seed: int = 42
|
112
136
|
|
113
137
|
|
114
138
|
@hydraflow.main(Config)
|
115
139
|
def app(run: Run, cfg: Config):
|
116
|
-
"""
|
140
|
+
"""Train a model with the given configuration.
|
141
|
+
|
142
|
+
This example demonstrates how to:
|
143
|
+
|
144
|
+
1. Define a configuration using dataclasses
|
145
|
+
2. Use Hydraflow to integrate with MLflow
|
146
|
+
3. Track metrics and parameters automatically
|
147
|
+
|
148
|
+
Args:
|
149
|
+
run: MLflow run for the experiment corresponding to the Hydra app.
|
150
|
+
This `Run` instance is automatically created by Hydraflow.
|
151
|
+
cfg: Configuration for the experiment's run.
|
152
|
+
This `Config` instance is originally defined by Hydra, and then
|
153
|
+
automatically passed to the app by Hydraflow.
|
154
|
+
"""
|
155
|
+
# Training loop
|
156
|
+
for epoch in range(cfg.epochs):
|
157
|
+
# Simulate training and validation
|
158
|
+
train_loss = 1.0 / (epoch + 1)
|
159
|
+
val_loss = 1.1 / (epoch + 1)
|
160
|
+
|
161
|
+
# Log metrics to MLflow
|
162
|
+
mlflow.log_metrics({
|
163
|
+
"train_loss": train_loss,
|
164
|
+
"val_loss": val_loss
|
165
|
+
}, step=epoch)
|
166
|
+
|
167
|
+
print(f"Epoch {epoch}: train_loss={train_loss:.4f}, val_loss={val_loss:.4f}")
|
117
168
|
|
118
169
|
|
119
170
|
if __name__ == "__main__":
|
120
171
|
app()
|
121
172
|
```
|
173
|
+
|
174
|
+
This example demonstrates:
|
175
|
+
|
176
|
+
- Configuration management with Hydra
|
177
|
+
- Automatic experiment tracking with MLflow
|
178
|
+
- Parameter logging and metric tracking
|
179
|
+
- Type-safe configuration with dataclasses
|
180
|
+
|
181
|
+
## Documentation
|
182
|
+
|
183
|
+
For detailed documentation, including advanced usage examples and API reference,
|
184
|
+
visit our [documentation site](https://daizutabi.github.io/hydraflow/).
|
185
|
+
|
186
|
+
## Contributing
|
187
|
+
|
188
|
+
We welcome contributions! Please see our [contributing guide](CONTRIBUTING.md) for details.
|
189
|
+
|
190
|
+
## License
|
191
|
+
|
192
|
+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
@@ -18,8 +18,8 @@ hydraflow/executor/conf.py,sha256=icGbLDh86KgkyiGXwDoEkmZpgAP3X8Jmu_PYqJoTooY,42
|
|
18
18
|
hydraflow/executor/io.py,sha256=yZMcBVmAbPZZ82cAXhgiJfj9p8WvHmzOCMBg_vtEVek,1509
|
19
19
|
hydraflow/executor/job.py,sha256=JX6xX9ffvHB7IiAVIfzVRjjnWKaPDxBgqdZf4ZO14CY,4651
|
20
20
|
hydraflow/executor/parser.py,sha256=_Rfund3FDgrXitTt_znsTpgEtMDqZ_ICynaB_Zje14Q,14561
|
21
|
-
hydraflow-0.14.
|
22
|
-
hydraflow-0.14.
|
23
|
-
hydraflow-0.14.
|
24
|
-
hydraflow-0.14.
|
25
|
-
hydraflow-0.14.
|
21
|
+
hydraflow-0.14.3.dist-info/METADATA,sha256=Y5fO4HFC2fgqhQnkB5k4mwITsCrq3DCFCSKNJcpa1y4,7460
|
22
|
+
hydraflow-0.14.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
23
|
+
hydraflow-0.14.3.dist-info/entry_points.txt,sha256=XI0khPbpCIUo9UPqkNEpgh-kqK3Jy8T7L2VCWOdkbSM,48
|
24
|
+
hydraflow-0.14.3.dist-info/licenses/LICENSE,sha256=IGdDrBPqz1O0v_UwCW-NJlbX9Hy9b3uJ11t28y2srmY,1062
|
25
|
+
hydraflow-0.14.3.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|