paramflow 0.1.8__tar.gz → 0.2__tar.gz
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.
- {paramflow-0.1.8/paramflow.egg-info → paramflow-0.2}/PKG-INFO +15 -2
- {paramflow-0.1.8 → paramflow-0.2}/README.md +14 -1
- {paramflow-0.1.8 → paramflow-0.2}/paramflow/__pycache__/params.cpython-312.pyc +0 -0
- {paramflow-0.1.8 → paramflow-0.2}/paramflow/__pycache__/parser.cpython-312.pyc +0 -0
- {paramflow-0.1.8 → paramflow-0.2}/paramflow/params.py +2 -2
- {paramflow-0.1.8 → paramflow-0.2}/paramflow/parser.py +3 -2
- {paramflow-0.1.8 → paramflow-0.2/paramflow.egg-info}/PKG-INFO +15 -2
- {paramflow-0.1.8 → paramflow-0.2}/setup.py +1 -1
- {paramflow-0.1.8 → paramflow-0.2}/LICENSE +0 -0
- {paramflow-0.1.8 → paramflow-0.2}/MANIFEST.in +0 -0
- {paramflow-0.1.8 → paramflow-0.2}/paramflow/__init__.py +0 -0
- {paramflow-0.1.8 → paramflow-0.2}/paramflow/__pycache__/__init__.cpython-312.pyc +0 -0
- {paramflow-0.1.8 → paramflow-0.2}/paramflow/__pycache__/convert.cpython-312.pyc +0 -0
- {paramflow-0.1.8 → paramflow-0.2}/paramflow/__pycache__/frozen.cpython-312.pyc +0 -0
- {paramflow-0.1.8 → paramflow-0.2}/paramflow/__pycache__/frozen_test.cpython-312-pytest-8.3.4.pyc +0 -0
- {paramflow-0.1.8 → paramflow-0.2}/paramflow/__pycache__/params_test.cpython-312-pytest-8.3.4.pyc +0 -0
- {paramflow-0.1.8 → paramflow-0.2}/paramflow/convert.py +0 -0
- {paramflow-0.1.8 → paramflow-0.2}/paramflow/frozen.py +0 -0
- {paramflow-0.1.8 → paramflow-0.2}/paramflow.egg-info/SOURCES.txt +0 -0
- {paramflow-0.1.8 → paramflow-0.2}/paramflow.egg-info/dependency_links.txt +0 -0
- {paramflow-0.1.8 → paramflow-0.2}/paramflow.egg-info/requires.txt +0 -0
- {paramflow-0.1.8 → paramflow-0.2}/paramflow.egg-info/top_level.txt +0 -0
- {paramflow-0.1.8 → paramflow-0.2}/pyproject.toml +0 -0
- {paramflow-0.1.8 → paramflow-0.2}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: paramflow
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.2
|
|
4
4
|
Home-page: https://github.com/mduszyk/paramflow
|
|
5
5
|
Classifier: Programming Language :: Python :: 3
|
|
6
6
|
Classifier: License :: OSI Approved :: MIT License
|
|
@@ -45,6 +45,7 @@ pip install "paramflow[dotenv]"
|
|
|
45
45
|
```toml
|
|
46
46
|
[default]
|
|
47
47
|
learning_rate = 0.001
|
|
48
|
+
batch_size = 64
|
|
48
49
|
```
|
|
49
50
|
|
|
50
51
|
```app.py```
|
|
@@ -54,6 +55,18 @@ params = pf.load('params.toml')
|
|
|
54
55
|
print(params.learning_rate)
|
|
55
56
|
```
|
|
56
57
|
|
|
58
|
+
```shell
|
|
59
|
+
python app.py --help
|
|
60
|
+
usage: app.py [-h] [--learning_rate LEARNING_RATE] [--batch_size BATCH_SIZE]
|
|
61
|
+
|
|
62
|
+
options:
|
|
63
|
+
-h, --help show this help message and exit
|
|
64
|
+
--learning_rate LEARNING_RATE
|
|
65
|
+
learning_rate = 0.001
|
|
66
|
+
--batch_size BATCH_SIZE
|
|
67
|
+
batch_size = 64
|
|
68
|
+
```
|
|
69
|
+
|
|
57
70
|
## Meta-parameter Layering
|
|
58
71
|
Meta-parameter layering controls how ```paramflow.load``` reads its own configuration.
|
|
59
72
|
|
|
@@ -87,7 +100,7 @@ params = pf.load(['params.toml', 'env', '.env', 'args'])
|
|
|
87
100
|
|
|
88
101
|
Overwrite parameter value:
|
|
89
102
|
```shell
|
|
90
|
-
python print_params.py --profile dqn-adam --
|
|
103
|
+
python print_params.py --profile dqn-adam --learning_rate 0.0002
|
|
91
104
|
```
|
|
92
105
|
|
|
93
106
|
## ML hyper-parameters profiles
|
|
@@ -27,6 +27,7 @@ pip install "paramflow[dotenv]"
|
|
|
27
27
|
```toml
|
|
28
28
|
[default]
|
|
29
29
|
learning_rate = 0.001
|
|
30
|
+
batch_size = 64
|
|
30
31
|
```
|
|
31
32
|
|
|
32
33
|
```app.py```
|
|
@@ -36,6 +37,18 @@ params = pf.load('params.toml')
|
|
|
36
37
|
print(params.learning_rate)
|
|
37
38
|
```
|
|
38
39
|
|
|
40
|
+
```shell
|
|
41
|
+
python app.py --help
|
|
42
|
+
usage: app.py [-h] [--learning_rate LEARNING_RATE] [--batch_size BATCH_SIZE]
|
|
43
|
+
|
|
44
|
+
options:
|
|
45
|
+
-h, --help show this help message and exit
|
|
46
|
+
--learning_rate LEARNING_RATE
|
|
47
|
+
learning_rate = 0.001
|
|
48
|
+
--batch_size BATCH_SIZE
|
|
49
|
+
batch_size = 64
|
|
50
|
+
```
|
|
51
|
+
|
|
39
52
|
## Meta-parameter Layering
|
|
40
53
|
Meta-parameter layering controls how ```paramflow.load``` reads its own configuration.
|
|
41
54
|
|
|
@@ -69,7 +82,7 @@ params = pf.load(['params.toml', 'env', '.env', 'args'])
|
|
|
69
82
|
|
|
70
83
|
Overwrite parameter value:
|
|
71
84
|
```shell
|
|
72
|
-
python print_params.py --profile dqn-adam --
|
|
85
|
+
python print_params.py --profile dqn-adam --learning_rate 0.0002
|
|
73
86
|
```
|
|
74
87
|
|
|
75
88
|
## ML hyper-parameters profiles
|
|
Binary file
|
|
Binary file
|
|
@@ -44,13 +44,13 @@ def load(source: Optional[Union[str, List[str]]] = None,
|
|
|
44
44
|
profile_key: profile,
|
|
45
45
|
}
|
|
46
46
|
meta_env_parser = EnvParser(ENV_PREFIX, DEFAULT_PROFILE)
|
|
47
|
-
meta_args_parser = ArgsParser(ARGS_PREFIX, DEFAULT_PROFILE)
|
|
47
|
+
meta_args_parser = ArgsParser(ARGS_PREFIX, DEFAULT_PROFILE, add_help=False)
|
|
48
48
|
meta = deep_merge(meta, meta_env_parser(meta))
|
|
49
49
|
meta = deep_merge(meta, meta_args_parser(meta))
|
|
50
50
|
meta = freeze(meta)
|
|
51
51
|
|
|
52
52
|
if meta.source is None:
|
|
53
|
-
sys.exit('
|
|
53
|
+
sys.exit('source meta param is missing')
|
|
54
54
|
|
|
55
55
|
sources = list(meta.source) if isinstance(meta.source, list) else [meta.source]
|
|
56
56
|
if ENV_SOURCE not in sources and meta.env_prefix is not None:
|
|
@@ -124,16 +124,17 @@ class EnvParser(Parser):
|
|
|
124
124
|
|
|
125
125
|
class ArgsParser(Parser):
|
|
126
126
|
|
|
127
|
-
def __init__(self, prefix: str, default_profile: str, target_profile: str = None):
|
|
127
|
+
def __init__(self, prefix: str, default_profile: str, target_profile: str = None, **kwargs):
|
|
128
128
|
self.prefix = prefix
|
|
129
129
|
self.default_profile = default_profile
|
|
130
130
|
self.target_profile = target_profile
|
|
131
|
+
self.kwargs = kwargs
|
|
131
132
|
|
|
132
133
|
def __call__(self, params: Dict[str, any]) -> Dict[str, any]:
|
|
133
134
|
if self.target_profile is None and self.default_profile in params:
|
|
134
135
|
self.target_profile = self.default_profile
|
|
135
136
|
params = params.get(self.default_profile, params)
|
|
136
|
-
parser = argparse.ArgumentParser()
|
|
137
|
+
parser = argparse.ArgumentParser(**self.kwargs)
|
|
137
138
|
for key, value in params.items():
|
|
138
139
|
typ = type(value)
|
|
139
140
|
if typ is dict or typ is list or typ is bool or value is None:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: paramflow
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.2
|
|
4
4
|
Home-page: https://github.com/mduszyk/paramflow
|
|
5
5
|
Classifier: Programming Language :: Python :: 3
|
|
6
6
|
Classifier: License :: OSI Approved :: MIT License
|
|
@@ -45,6 +45,7 @@ pip install "paramflow[dotenv]"
|
|
|
45
45
|
```toml
|
|
46
46
|
[default]
|
|
47
47
|
learning_rate = 0.001
|
|
48
|
+
batch_size = 64
|
|
48
49
|
```
|
|
49
50
|
|
|
50
51
|
```app.py```
|
|
@@ -54,6 +55,18 @@ params = pf.load('params.toml')
|
|
|
54
55
|
print(params.learning_rate)
|
|
55
56
|
```
|
|
56
57
|
|
|
58
|
+
```shell
|
|
59
|
+
python app.py --help
|
|
60
|
+
usage: app.py [-h] [--learning_rate LEARNING_RATE] [--batch_size BATCH_SIZE]
|
|
61
|
+
|
|
62
|
+
options:
|
|
63
|
+
-h, --help show this help message and exit
|
|
64
|
+
--learning_rate LEARNING_RATE
|
|
65
|
+
learning_rate = 0.001
|
|
66
|
+
--batch_size BATCH_SIZE
|
|
67
|
+
batch_size = 64
|
|
68
|
+
```
|
|
69
|
+
|
|
57
70
|
## Meta-parameter Layering
|
|
58
71
|
Meta-parameter layering controls how ```paramflow.load``` reads its own configuration.
|
|
59
72
|
|
|
@@ -87,7 +100,7 @@ params = pf.load(['params.toml', 'env', '.env', 'args'])
|
|
|
87
100
|
|
|
88
101
|
Overwrite parameter value:
|
|
89
102
|
```shell
|
|
90
|
-
python print_params.py --profile dqn-adam --
|
|
103
|
+
python print_params.py --profile dqn-adam --learning_rate 0.0002
|
|
91
104
|
```
|
|
92
105
|
|
|
93
106
|
## ML hyper-parameters profiles
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{paramflow-0.1.8 → paramflow-0.2}/paramflow/__pycache__/frozen_test.cpython-312-pytest-8.3.4.pyc
RENAMED
|
File without changes
|
{paramflow-0.1.8 → paramflow-0.2}/paramflow/__pycache__/params_test.cpython-312-pytest-8.3.4.pyc
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|