# 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/5a/ad/978b6a3642a272a269a8e7fa878f71cb7b9dd2f60c043d51a84597a4b659/elias-0.4.10.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.10",
"project_urls": {
"Homepage": "https://github.com/tobias-kirschstein/elias"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "818f5e1e9d9ff751bf93a6f6f16a0d7aed6202bafae177b9920361b399ac6da6",
"md5": "9fab0499505e733cc638e3f3653e53fd",
"sha256": "84da9ae663cadd1fe8dbc9bc27fbfac5070d92992988f02c95550bdb49550b36"
},
"downloads": -1,
"filename": "elias-0.4.10-py3-none-any.whl",
"has_sig": false,
"md5_digest": "9fab0499505e733cc638e3f3653e53fd",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 53676,
"upload_time": "2024-11-12T15:46:23",
"upload_time_iso_8601": "2024-11-12T15:46:23.077960Z",
"url": "https://files.pythonhosted.org/packages/81/8f/5e1e9d9ff751bf93a6f6f16a0d7aed6202bafae177b9920361b399ac6da6/elias-0.4.10-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5aad978b6a3642a272a269a8e7fa878f71cb7b9dd2f60c043d51a84597a4b659",
"md5": "b07658f0b20618d24d80a0e64a6737ae",
"sha256": "c4f056777d6cc0c7c72cbd49b9e0075f6b66666a4ac843edaf002a7f42a63386"
},
"downloads": -1,
"filename": "elias-0.4.10.tar.gz",
"has_sig": false,
"md5_digest": "b07658f0b20618d24d80a0e64a6737ae",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 44727,
"upload_time": "2024-11-12T15:46:24",
"upload_time_iso_8601": "2024-11-12T15:46:24.437588Z",
"url": "https://files.pythonhosted.org/packages/5a/ad/978b6a3642a272a269a8e7fa878f71cb7b9dd2f60c043d51a84597a4b659/elias-0.4.10.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-12 15:46:24",
"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"
}