Resources:
ML-SYSTEM DESIGN Go through the slides and read the attached research papers.
Some links from this reddit-thread
A Recommender system using the ideas from - NCF
- Hydra: Here's a good tutorial
- Pytorch-lightning(For a well structured code-base)
- Wand(for hyperparmeter tuning and experment tracking)
- Githooks,testing,styling.(Good practices)
Extra: Not really necessary for every research project.
Data-Versioning: DVC
Containerizaiton: Docker
Summary
For mac M1 users to install sklearn.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Now change the path, use your user name
echo 'eval $(/opt/homebrew/bin/brew shellenv)' >> /Users/"YOUR USER NAME"/.zprofile
eval $(/opt/homebrew/bin/brew shellenv)
brew install openblas
export OPENBLAS=$(/opt/homebrew/bin/brew --prefix openblas)
export CFLAGS="-falign-functions=8 ${CFLAGS}"
# ^ no need to add to .zshrc, just doing this once.
pip install scikit-learn # ==0.24.1 if you want
Flags
Multirun flag
eg:python main.py lr=1e-3,1e-2 wd=1e-4,1e-2 -m
Print config
eg:python main.py --cfg job
Modify
eg:python train.py data.batch_size=4
Create a flag and set it.
eg:python train.py +trainer.fast_dev_run=True
Remove a flag
eg:python train.py ~trainer.gpus
- Pytorch-lightning+Hydra for configuration.