# Nimrod
<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->
[![python](https://img.shields.io/badge/-Python_3.7_%7C_3.8_%7C_3.9_%7C_3.10-blue?logo=python&logoColor=white)](https://github.com/pre-commit/pre-commit)
[![pytorch](https://img.shields.io/badge/PyTorch_1.10+-ee4c2c?logo=pytorch&logoColor=white)](https://pytorch.org/get-started/locally/)
[![hydra](https://img.shields.io/badge/Config-Hydra_1.3-89b8cd)](https://hydra.cc/)
[![pre-commit](https://img.shields.io/badge/Pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white.png)](https://github.com/pre-commit/pre-commit)
## Description
This is a repo with minimal tooling, modules, models and recipes to get
easily get started with deep learning training and experimentation with
an emphasis on speech, audio and language modeling.
## Install
you need python \<3.12
``` sh
pip install slg-nimrod
```
## Usage
Check recipes in `recipes/` folder. For instance:
``` bash
git clone https://github.com/slegroux/nimrod.git
cd nimrod/recipes/images/mnist
python train.py datamodule.num_workers=10 trainer.max_epochs=20 trainer.accelerator='gpu'
head conf/train.yaml
```
All the parameters of the experiment are editable and read from a .yaml
file which details:
- data and logging directory paths
- data module with data source path and batching parameters
- model architecture
- trainer with hardware acceleration and number of epochs
- callbacks for early stopping and automatic logging to Wandb
## Docker
You might want to use docker containers for reproductible development
environment or run your project in the cloud
``` bash
make container
docker pull slegroux/nimrod
docker run -it --rm -p 8888:8888 slegroux/nimrod /bin/bash
```
You can also use docker-compose to define services and volumes
``` bash
cd .devcontainer
docker-compose up
docker-compose down
```
## Develop
``` bash
pip install -e .
```
## Authors
2023 Sylvain Le Groux <sylvain.legroux@gmail.com>
Raw data
{
"_id": null,
"home_page": "https://github.com/slegroux/nimrod",
"name": "slg-nimrod",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "nbdev jupyter notebook python",
"author": "Sylvain Le Groux",
"author_email": "slegroux@ccrma.stanford.edu",
"download_url": "https://files.pythonhosted.org/packages/c2/58/44ddedee7ae03d4da13b00c644b84cda52fd036e1781799c1cbcc8f56c51/slg_nimrod-0.0.8.tar.gz",
"platform": null,
"description": "# Nimrod\n\n<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->\n\n[![python](https://img.shields.io/badge/-Python_3.7_%7C_3.8_%7C_3.9_%7C_3.10-blue?logo=python&logoColor=white)](https://github.com/pre-commit/pre-commit)\n[![pytorch](https://img.shields.io/badge/PyTorch_1.10+-ee4c2c?logo=pytorch&logoColor=white)](https://pytorch.org/get-started/locally/)\n[![hydra](https://img.shields.io/badge/Config-Hydra_1.3-89b8cd)](https://hydra.cc/)\n[![pre-commit](https://img.shields.io/badge/Pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white.png)](https://github.com/pre-commit/pre-commit)\n\n## Description\n\nThis is a repo with minimal tooling, modules, models and recipes to get\neasily get started with deep learning training and experimentation with\nan emphasis on speech, audio and language modeling.\n\n## Install\n\nyou need python \\<3.12\n\n``` sh\npip install slg-nimrod\n```\n\n## Usage\n\nCheck recipes in `recipes/` folder. For instance:\n\n``` bash\ngit clone https://github.com/slegroux/nimrod.git\ncd nimrod/recipes/images/mnist\npython train.py datamodule.num_workers=10 trainer.max_epochs=20 trainer.accelerator='gpu'\nhead conf/train.yaml\n```\n\nAll the parameters of the experiment are editable and read from a .yaml\nfile which details:\n\n- data and logging directory paths\n- data module with data source path and batching parameters\n- model architecture\n- trainer with hardware acceleration and number of epochs\n- callbacks for early stopping and automatic logging to Wandb\n\n## Docker\n\nYou might want to use docker containers for reproductible development\nenvironment or run your project in the cloud\n\n``` bash\nmake container\ndocker pull slegroux/nimrod\ndocker run -it --rm -p 8888:8888 slegroux/nimrod /bin/bash\n```\n\nYou can also use docker-compose to define services and volumes\n\n``` bash\ncd .devcontainer\ndocker-compose up\ndocker-compose down\n```\n\n## Develop\n\n``` bash\npip install -e .\n```\n\n## Authors\n\n2023 Sylvain Le Groux <sylvain.legroux@gmail.com>\n",
"bugtrack_url": null,
"license": "Apache Software License 2.0",
"summary": "minimal deep learning framework",
"version": "0.0.8",
"project_urls": {
"Homepage": "https://github.com/slegroux/nimrod"
},
"split_keywords": [
"nbdev",
"jupyter",
"notebook",
"python"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ea706a15879e9badabc5e503312f9f9fae1b0b9b2d1f5e3c42f0ec0b5f10b9cd",
"md5": "3107bf29bdb84de03f1804c17791dac9",
"sha256": "ffb7de947d2fef5230e2426205c055ac6e0fb55ed7fdbd203ecca7c0c1976469"
},
"downloads": -1,
"filename": "slg_nimrod-0.0.8-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3107bf29bdb84de03f1804c17791dac9",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 62818,
"upload_time": "2023-10-17T20:29:31",
"upload_time_iso_8601": "2023-10-17T20:29:31.004877Z",
"url": "https://files.pythonhosted.org/packages/ea/70/6a15879e9badabc5e503312f9f9fae1b0b9b2d1f5e3c42f0ec0b5f10b9cd/slg_nimrod-0.0.8-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c25844ddedee7ae03d4da13b00c644b84cda52fd036e1781799c1cbcc8f56c51",
"md5": "03224230630a78380ea2d422905eec59",
"sha256": "e04ec0f0e3fbe9ecf173dec7d6f73f101b5fd6d130dd8407d655527835242264"
},
"downloads": -1,
"filename": "slg_nimrod-0.0.8.tar.gz",
"has_sig": false,
"md5_digest": "03224230630a78380ea2d422905eec59",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 45854,
"upload_time": "2023-10-17T20:29:33",
"upload_time_iso_8601": "2023-10-17T20:29:33.493908Z",
"url": "https://files.pythonhosted.org/packages/c2/58/44ddedee7ae03d4da13b00c644b84cda52fd036e1781799c1cbcc8f56c51/slg_nimrod-0.0.8.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-10-17 20:29:33",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "slegroux",
"github_project": "nimrod",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "slg-nimrod"
}