Tech stack, documentation, frameworks and monitoring
Machine Learning Tech Stack
- Pytorch
- Keras
- fastai
- sklearn
- LightGBM
- XGBoost
Tracking runs and experiments
- We are going to stick with Weights and Biases for logging and tracking everything
Hyperparameter tuning
- For fastai, finding the optimal learning rate
Learner.lr_find() - For Keras, we use
keras_tuner - Never did any hyperparameter tuning with Pytorch
- For boosting based methods
- Random Search
- Grid Search
- Bayesian Search: Colab Notebook
- Guide from Neptune.ai on different tools having hyperparameter tuning frameworks
Notebook documentation (nbdev1)
- Document notebooks as you go along
- Allows for creation of Python APIs with ease
- Will migrate to
nbdev2in the near future - Allow code and documentation to live closer to each other
- It is setup with CI so that modules can be tested as we go along and so that things don't break once the project becomes too big
- Ease of writing unit tests in the notebook
nbdev2will allow exporting unit tests to a module so that it can be integrated withunittestandpytest
Notebook documentation (nbdev2)
- All existing projects in
nbdev1have been migrated tonbdev2. nbdev2is not backwards compatible withnbdev1
Dev Documentation
- Docusaurus
- Dropbox
- Word documents

Designing end to end ML Sytems
This needs to be looked at and a tool needs to be chosen.
- MLFlow
- Metaflow
- Ray
Prototyping
- For quick prototyping and creating simple web apps, we intend to use streamlit
- Other frameworks that we have explored in the past include
wavefromh2o.ai. - Something we haven't tried is
gradio