# 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/5c/c2/ef095923819b0eea7eff25dd1b86bbf18f3586a5b2275ae1c2d511a4eea5/elias-0.4.16.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.16",
"project_urls": {
"Homepage": "https://github.com/tobias-kirschstein/elias"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e40709f3dbb726427684439f73f3bfd24b768ae28bdf84c1e7869143c3b7a32a",
"md5": "f6fe0af00b060d3b6886ea35692f1ecd",
"sha256": "bfadcd72997dd3d8d1f3bb4fc9a2b18b9a0e2e89355d9f764f52b9c6993c650d"
},
"downloads": -1,
"filename": "elias-0.4.16-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f6fe0af00b060d3b6886ea35692f1ecd",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 56249,
"upload_time": "2025-02-13T15:24:01",
"upload_time_iso_8601": "2025-02-13T15:24:01.832451Z",
"url": "https://files.pythonhosted.org/packages/e4/07/09f3dbb726427684439f73f3bfd24b768ae28bdf84c1e7869143c3b7a32a/elias-0.4.16-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5cc2ef095923819b0eea7eff25dd1b86bbf18f3586a5b2275ae1c2d511a4eea5",
"md5": "6947db349d02928b81180d123127222c",
"sha256": "41e09a284719207a51b718b6afbe976c9081099f19e3990ad86137dbfe76f4b8"
},
"downloads": -1,
"filename": "elias-0.4.16.tar.gz",
"has_sig": false,
"md5_digest": "6947db349d02928b81180d123127222c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 46911,
"upload_time": "2025-02-13T15:24:04",
"upload_time_iso_8601": "2025-02-13T15:24:04.041558Z",
"url": "https://files.pythonhosted.org/packages/5c/c2/ef095923819b0eea7eff25dd1b86bbf18f3586a5b2275ae1c2d511a4eea5/elias-0.4.16.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-13 15:24:04",
"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"
}