The ML Platform Behind Uber's AI
Michelangelo AI: Uber's end-to-end machine learning platform.
Translation pending
Minimal DL framework for fast experimentation
Translation pending
Developer toolsJupyter Notebook · PythonGitHub @slegrouxOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
minimal deep learning framework
Translation pending
Loading the full README.
Read the full README ↗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.
Requires Python 3.10 to 3.12 (PyTorch 2.9).
pip install slg-nimrod
The core install covers the models, image and text datasets and training.
Optional stacks are extras: audio, diffusion, image, tracking.
nimrod.models.diffusion needs the diffusion extra, and
nimrod.models.ngram needs kenlm, installed separately
(https://github.com/kpu/kenlm). Install all extras with:
pip install "slg-nimrod[all]"
Check 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.yaml
All the parameters of the experiment are editable and read from a .yaml file which details:
You might want to use docker containers for reproductible development environment or run your project in the cloud
make docker-build
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
pip install -e .
to compare training results on different model parameters:
python train.py --multirun experiment=mnist_mlp model.nnet.n_h=16,64,256 logger=tensorboard trainer.max_epochs=5
Run a simple digit recognizer webapp with GUI
cd server
./run_st_app.sh
2023 Sylvain Le Groux [email protected]