# Experiment Library and Setup (ELIAS)
## 1. Main functionalities
### `Config` class
Intuitive dataclass extension that addresses issues commonly encountered in research projects.
A `Config` has the following features:
- Easily **persistable** to a file (JSON or YAML)
- Stored configs are **human-readable and editable**
- Special support for storing **enums** and **inheritance structures**
- **Backward compatibility** to allow loading older persisted configs
TODO: Overview image of benefits of using Config over regular dataclass
Philosophy for stored config file types:
- Everything should be human-readable
- JSON for configs that may be viewed often (statistics, preprocessing/training configs, evaluation results)
- YAML for configs that have to be edited (run specifications)
### Experiment Workflow Utilities
To speed up the experimentation process with utility classes the `elias` library assumes the following workflow:
Stage | Input | Output | Utility
---|---|---|---
Data Preprocessing | <ul><li>Processing Configuration</li> <li>Raw Data</li></ul> | <ul><li>Preprocessed Data (.p, .p.gz, .json, .npy, ...)</li> <li>Data Statistics (stats.json)</li> <li>Preprocessing Config (config.json)</li></ul> | DataFolder -> DataManager
Training/Fitting | <ul><li>Preprocessed Data</li> <li>Hyperparameters</li></ul> | <ul><li>Model checkpoints</li> <li>Hyperparameter configs</li></ul> | ModelManager -> RunManager
Evaluation | <ul><li>Trained model</li><li>Evaluation Config</li></ul> | <ul><li>Evaluation Config</li> <li>Evaluation Results</li></ul> | RunManager -> EvaluationManager
Manual Analysis | Any model/data | Plots, statistics, images | AnalysisFolder -> AnalysisManager
Raw data
{
"_id": null,
"home_page": "https://github.com/tobias-kirschstein/elias",
"name": "elias",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": null,
"author": "Tobias Kirschstein",
"author_email": "tobias.kirschstein@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/b7/70/eac572b613ade0563e89a8cada39b876d8418c0b8c1d73d930d192e03175/elias-0.4.12.tar.gz",
"platform": null,
"description": "# Experiment Library and Setup (ELIAS)\n\n## 1. Main functionalities\n\n### `Config` class\nIntuitive dataclass extension that addresses issues commonly encountered in research projects. \nA `Config` has the following features:\n - Easily **persistable** to a file (JSON or YAML)\n - Stored configs are **human-readable and editable**\n - Special support for storing **enums** and **inheritance structures**\n - **Backward compatibility** to allow loading older persisted configs\n\nTODO: Overview image of benefits of using Config over regular dataclass\n\nPhilosophy for stored config file types:\n - Everything should be human-readable\n - JSON for configs that may be viewed often (statistics, preprocessing/training configs, evaluation results)\n - YAML for configs that have to be edited (run specifications)\n\n### Experiment Workflow Utilities\nTo speed up the experimentation process with utility classes the `elias` library assumes the following workflow:\n \nStage | Input | Output | Utility\n---|---|---|---\nData Preprocessing | <ul><li>Processing Configuration</li> <li>Raw Data</li></ul> | <ul><li>Preprocessed Data (.p, .p.gz, .json, .npy, ...)</li> <li>Data Statistics (stats.json)</li> <li>Preprocessing Config (config.json)</li></ul> | DataFolder -> DataManager\nTraining/Fitting | <ul><li>Preprocessed Data</li> <li>Hyperparameters</li></ul> | <ul><li>Model checkpoints</li> <li>Hyperparameter configs</li></ul> | ModelManager -> RunManager\nEvaluation | <ul><li>Trained model</li><li>Evaluation Config</li></ul> | <ul><li>Evaluation Config</li> <li>Evaluation Results</li></ul> | RunManager -> EvaluationManager\nManual Analysis | Any model/data | Plots, statistics, images | AnalysisFolder -> AnalysisManager\n\n\n",
"bugtrack_url": null,
"license": null,
"summary": "ELIAS experiment library for facilitating machine learning projects",
"version": "0.4.12",
"project_urls": {
"Homepage": "https://github.com/tobias-kirschstein/elias"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "891394b2a7d3e19cc376bb698bf2f579bbf880a217fa296493d17c2f0cd56d8f",
"md5": "2529b7fa245338ed517c193464b092c0",
"sha256": "2c6338196d2e69cda3d0092aa6d46a9c086b6ca19788ebc21568169bd3a85019"
},
"downloads": -1,
"filename": "elias-0.4.12-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2529b7fa245338ed517c193464b092c0",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 53831,
"upload_time": "2024-12-16T15:59:35",
"upload_time_iso_8601": "2024-12-16T15:59:35.123878Z",
"url": "https://files.pythonhosted.org/packages/89/13/94b2a7d3e19cc376bb698bf2f579bbf880a217fa296493d17c2f0cd56d8f/elias-0.4.12-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b770eac572b613ade0563e89a8cada39b876d8418c0b8c1d73d930d192e03175",
"md5": "35db46d3ec2a4d8da74cd25fd511b07a",
"sha256": "50f97aeb92787e38b707ced419b30813e785bb26f0f20070156912b5d1dd1a30"
},
"downloads": -1,
"filename": "elias-0.4.12.tar.gz",
"has_sig": false,
"md5_digest": "35db46d3ec2a4d8da74cd25fd511b07a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 44853,
"upload_time": "2024-12-16T15:59:37",
"upload_time_iso_8601": "2024-12-16T15:59:37.746873Z",
"url": "https://files.pythonhosted.org/packages/b7/70/eac572b613ade0563e89a8cada39b876d8418c0b8c1d73d930d192e03175/elias-0.4.12.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-16 15:59:37",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "tobias-kirschstein",
"github_project": "elias",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "elias"
}