Skip to main content

Nimrod

python pytorch hydra 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

Install using Pip

Install package:

pip install slg-nimrod

Install espeak for LM:

brew install espeak #macos

Install Spacy english model

python -m spacy download en_core_web_sm

Usage

Download test data on which to run example recipes:

# if not already installed on your system
git lfs install 
# update changes
git lfs fetch --all
# copy the actual data
git lfs checkout
# or just
git lfs pull # combing both steps above into one (like usual git pull)

Check recipes in recipes/ folder. E.g. for a simple digit recognizer on MNIST:

git clone https://github.com/slegroux/nimrod.git
cd nimrod/recipes/images/mnist
python train.py datamodule.num_workers=8 trainer.max_epochs=20 trainer.accelerator='mps' loggers='tensorboard'
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

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

cd .devcontainer
docker-compose up
docker-compose down

Develop

pip install -e .

Hyperparameter tuning

to compare training results on different model parameters:

cd nimrod/recipes/images/mnist
python train.py --multirun model.n_h=16,64,256 loggers='tensorboard' trainer.max_epochs=5

Server

st webapp

Run a simple digit recognizer webapp with GUI

cd server
./run_st_app.sh

Authors

2023 Sylvain Le Groux sylvain.legroux@gmail.com

Metadata

Release files for slg-nimrod 0.0.11

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for slg-nimrod 0.0.11
File Size Uploaded
slg_nimrod-0.0.11.tar.gz 65.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for slg-nimrod 0.0.11
File Interpreter ABI Platform
slg_nimrod-0.0.11-py3-none-any.whl Python 3 none any Details

Total release size: 147.7 kB

Release files / slg_nimrod-0.0.11.tar.gz

Download URL slg_nimrod-0.0.11.tar.gz
Size 65.6 kB
Tags Source
SHA-256 checksum
How to use checksums
a014813ce14ca7324ca900ec4b2507089a5b590820d1c93b86385ad4c8e0f0a7
BLAKE2b-256 checksum
How to use checksums
95d569e38a67f0e744ab2edf642ad7c339cf31db73f52a0c13315225c3e4b07d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Release files / slg_nimrod-0.0.11-py3-none-any.whl

Download URL slg_nimrod-0.0.11-py3-none-any.whl
Size 82.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c2d45dc68f53b6f090125198944f4812a7db8dd95793f423667da9a9b6176f0b
BLAKE2b-256 checksum
How to use checksums
3e6ec95c949890b1d0010e5161894f4359ed51414ea23292a4aec4369c246c82
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Release history Release notifications | RSS feed

This release

0.0.11 This release

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page