mostlyai-engine 1.0.0__tar.gz → 1.0.1__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.
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/PKG-INFO +7 -4
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/README.md +5 -2
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/__init__.py +1 -1
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_language/training.py +2 -2
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_tabular/training.py +2 -2
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/training.py +2 -2
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/pyproject.toml +2 -2
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/.gitignore +0 -0
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/LICENSE +0 -0
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_common.py +0 -0
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_dtypes.py +0 -0
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_encoding_types/__init__.py +0 -0
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_encoding_types/language/__init__.py +0 -0
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_encoding_types/language/text.py +0 -0
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_encoding_types/tabular/__init__.py +0 -0
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_encoding_types/tabular/categorical.py +0 -0
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_encoding_types/tabular/character.py +0 -0
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_encoding_types/tabular/datetime.py +0 -0
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_encoding_types/tabular/itt.py +0 -0
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_encoding_types/tabular/lat_long.py +0 -0
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_encoding_types/tabular/numeric.py +0 -0
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_language/__init__.py +0 -0
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_language/common.py +0 -0
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_language/encoding.py +0 -0
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_language/engine/__init__.py +0 -0
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_language/engine/base.py +0 -0
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_language/engine/hf_engine.py +0 -0
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_language/engine/vllm_engine.py +0 -0
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_language/formatron_utils.py +0 -0
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_language/generation.py +0 -0
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_language/lstm.py +0 -0
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_language/tokenizer_utils.py +0 -0
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_memory.py +0 -0
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_tabular/__init__.py +0 -0
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_tabular/argn.py +0 -0
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_tabular/common.py +0 -0
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_tabular/encoding.py +0 -0
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_tabular/fairness.py +0 -0
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_tabular/generation.py +0 -0
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_training_utils.py +0 -0
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_workspace.py +0 -0
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/analysis.py +0 -0
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/domain.py +0 -0
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/encoding.py +0 -0
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/generation.py +0 -0
- {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/splitting.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mostlyai-engine
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.1
|
|
4
4
|
Summary: Synthetic Data - Engine
|
|
5
5
|
Project-URL: Homepage, https://github.com/mostly-ai/mostlyai-engine
|
|
6
6
|
Project-URL: Documentation, https://mostly-ai.github.io/mostlyai-engine/
|
|
@@ -29,7 +29,7 @@ Requires-Dist: numpy<2,>=1.26.3
|
|
|
29
29
|
Requires-Dist: opacus<2,>=1.5.2
|
|
30
30
|
Requires-Dist: pandas~=2.2.0
|
|
31
31
|
Requires-Dist: peft<0.12,>=0.11.1
|
|
32
|
-
Requires-Dist: psutil<6,>=5.9.
|
|
32
|
+
Requires-Dist: psutil<6,>=5.9.5
|
|
33
33
|
Requires-Dist: pyarrow>=16.0.0
|
|
34
34
|
Requires-Dist: rich<14,>=13.9.4
|
|
35
35
|
Requires-Dist: setuptools<76,>=75.0.0
|
|
@@ -105,7 +105,10 @@ engine.split( # split data as PQT files for `trn` + `val
|
|
|
105
105
|
)
|
|
106
106
|
engine.analyze(workspace_dir=ws) # generate column-level statistics to `{ws}/ModelData/tgt-stats/stats.json`
|
|
107
107
|
engine.encode(workspace_dir=ws) # encode training data to `{ws}/OriginalData/encoded-data`
|
|
108
|
-
engine.train(
|
|
108
|
+
engine.train( # train model and store to `{ws}/ModelStore/model-data`
|
|
109
|
+
workspace_dir=ws,
|
|
110
|
+
max_training_time=1, # limit TRAIN to 1 minute for demo purposes
|
|
111
|
+
)
|
|
109
112
|
engine.generate(workspace_dir=ws) # use model to generate synthetic samples to `{ws}/SyntheticData`
|
|
110
113
|
pd.read_parquet(ws / "SyntheticData") # load synthetic data
|
|
111
114
|
```
|
|
@@ -138,7 +141,7 @@ engine.analyze(workspace_dir=ws) # generate column-level statistics to `{ws
|
|
|
138
141
|
engine.encode(workspace_dir=ws) # encode training data to `{ws}/OriginalData/encoded-data`
|
|
139
142
|
engine.train( # train model and store to `{ws}/ModelStore/model-data`
|
|
140
143
|
workspace_dir=ws,
|
|
141
|
-
max_training_time=
|
|
144
|
+
max_training_time=1, # limit TRAIN to 1 minute for demo purposes
|
|
142
145
|
)
|
|
143
146
|
engine.generate(workspace_dir=ws) # use model to generate synthetic samples to `{ws}/SyntheticData`
|
|
144
147
|
pd.read_parquet(ws / "SyntheticData") # load synthetic data
|
|
@@ -58,7 +58,10 @@ engine.split( # split data as PQT files for `trn` + `val
|
|
|
58
58
|
)
|
|
59
59
|
engine.analyze(workspace_dir=ws) # generate column-level statistics to `{ws}/ModelData/tgt-stats/stats.json`
|
|
60
60
|
engine.encode(workspace_dir=ws) # encode training data to `{ws}/OriginalData/encoded-data`
|
|
61
|
-
engine.train(
|
|
61
|
+
engine.train( # train model and store to `{ws}/ModelStore/model-data`
|
|
62
|
+
workspace_dir=ws,
|
|
63
|
+
max_training_time=1, # limit TRAIN to 1 minute for demo purposes
|
|
64
|
+
)
|
|
62
65
|
engine.generate(workspace_dir=ws) # use model to generate synthetic samples to `{ws}/SyntheticData`
|
|
63
66
|
pd.read_parquet(ws / "SyntheticData") # load synthetic data
|
|
64
67
|
```
|
|
@@ -91,7 +94,7 @@ engine.analyze(workspace_dir=ws) # generate column-level statistics to `{ws
|
|
|
91
94
|
engine.encode(workspace_dir=ws) # encode training data to `{ws}/OriginalData/encoded-data`
|
|
92
95
|
engine.train( # train model and store to `{ws}/ModelStore/model-data`
|
|
93
96
|
workspace_dir=ws,
|
|
94
|
-
max_training_time=
|
|
97
|
+
max_training_time=1, # limit TRAIN to 1 minute for demo purposes
|
|
95
98
|
)
|
|
96
99
|
engine.generate(workspace_dir=ws) # use model to generate synthetic samples to `{ws}/SyntheticData`
|
|
97
100
|
pd.read_parquet(ws / "SyntheticData") # load synthetic data
|
|
@@ -21,7 +21,7 @@ from mostlyai.engine.generation import generate
|
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
__all__ = ["split", "analyze", "encode", "train", "generate"]
|
|
24
|
-
__version__ = "1.0.
|
|
24
|
+
__version__ = "1.0.1"
|
|
25
25
|
|
|
26
26
|
# suppress specific warning related to os.fork() in multi-threaded processes
|
|
27
27
|
warnings.filterwarnings("ignore", category=DeprecationWarning, message=".*multi-threaded.*fork.*")
|
|
@@ -197,8 +197,8 @@ def _calculate_val_loss(model: PreTrainedModel | GradSampleModule, val_dataloade
|
|
|
197
197
|
def train(
|
|
198
198
|
*,
|
|
199
199
|
model: str = "MOSTLY_AI/LSTMFromScratch-3m",
|
|
200
|
-
max_training_time: float =
|
|
201
|
-
max_epochs: float = 100.0,
|
|
200
|
+
max_training_time: float = 14400.0, # 10 days
|
|
201
|
+
max_epochs: float = 100.0, # 100 epochs
|
|
202
202
|
batch_size: int | None = None,
|
|
203
203
|
gradient_accumulation_steps: int | None = None,
|
|
204
204
|
enable_flexible_generation: bool = True,
|
|
@@ -339,8 +339,8 @@ def _calculate_average_trn_loss(trn_sample_losses: list[torch.Tensor], n: int |
|
|
|
339
339
|
def train(
|
|
340
340
|
*,
|
|
341
341
|
model: str = "MOSTLY_AI/Medium",
|
|
342
|
-
max_training_time: float =
|
|
343
|
-
max_epochs: float = 100.0,
|
|
342
|
+
max_training_time: float = 14400.0, # 10 days
|
|
343
|
+
max_epochs: float = 100.0, # 100 epochs
|
|
344
344
|
batch_size: int | None = None,
|
|
345
345
|
gradient_accumulation_steps: int | None = None,
|
|
346
346
|
max_sequence_window: int = 100,
|
|
@@ -26,8 +26,8 @@ from mostlyai.engine._workspace import resolve_model_type
|
|
|
26
26
|
def train(
|
|
27
27
|
*,
|
|
28
28
|
model: str | None = None,
|
|
29
|
-
max_training_time: float =
|
|
30
|
-
max_epochs: float = 100.0,
|
|
29
|
+
max_training_time: float = 14400.0, # 10 days
|
|
30
|
+
max_epochs: float = 100.0, # 100 epochs
|
|
31
31
|
batch_size: int | None = None,
|
|
32
32
|
gradient_accumulation_steps: int | None = None,
|
|
33
33
|
enable_flexible_generation: bool = True,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "mostlyai-engine"
|
|
3
|
-
version = "1.0.
|
|
3
|
+
version = "1.0.1"
|
|
4
4
|
description = "Synthetic Data - Engine"
|
|
5
5
|
authors = [{ name = "MOSTLY AI", email = "dev@mostly.ai" }]
|
|
6
6
|
requires-python = ">=3.10,<3.13"
|
|
@@ -27,7 +27,7 @@ dependencies = [
|
|
|
27
27
|
"torch==2.5.1; sys_platform == 'darwin'",
|
|
28
28
|
"pyarrow>=16.0.0",
|
|
29
29
|
"joblib>=1.3.0,<2",
|
|
30
|
-
"psutil>=5.9.
|
|
30
|
+
"psutil>=5.9.5,<6", # upgrade when colab psutil is updated
|
|
31
31
|
"tokenizers>=0.20.1,<0.21",
|
|
32
32
|
"transformers>=4.45.2,<5",
|
|
33
33
|
"datasets>=2.20.0,<3",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_encoding_types/language/__init__.py
RENAMED
|
File without changes
|
{mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_encoding_types/language/text.py
RENAMED
|
File without changes
|
{mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_encoding_types/tabular/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_encoding_types/tabular/character.py
RENAMED
|
File without changes
|
{mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_encoding_types/tabular/datetime.py
RENAMED
|
File without changes
|
{mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_encoding_types/tabular/itt.py
RENAMED
|
File without changes
|
{mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_encoding_types/tabular/lat_long.py
RENAMED
|
File without changes
|
{mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_encoding_types/tabular/numeric.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_language/engine/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_language/engine/hf_engine.py
RENAMED
|
File without changes
|
{mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_language/engine/vllm_engine.py
RENAMED
|
File without changes
|
{mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_language/formatron_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_language/tokenizer_utils.py
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|