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.
you need python <3.12
pip install slg-nimrodCheck recipes in recipes/ folder. E.g. for a simple digit recognizer
on MNIST:
git clone https://github.com/slegroux/nimrod.git
python train.py experiment=mnist_mlp data.num_workers=8 trainer.max_epochs=20
head config/train.yamlAll 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
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/bashYou can also use docker-compose to define services and volumes
cd .devcontainer
docker-compose up
docker-compose downpip install -e .to compare training results on different model parameters:
cd nimrod/recipes/images/mnist
python train.py --multirun model.n_h=16,64,256 logger='tensorboard' trainer.max_epochs=5Run a simple digit recognizer webapp with GUI
cd server
./run_st_app.sh2023 Sylvain Le Groux sylvain.legroux@gmail.com
