{"repo":"csinva/cookiecutter-ml-research","free":true,"listed":false,"github":"https://github.com/csinva/cookiecutter-ml-research","clone":"git clone https://github.com/csinva/cookiecutter-ml-research.git","description":"A logical, reasonably standardized, but flexible project structure for conducting ml research 🍪","language":"Jupyter Notebook","stars":19,"topics":["ai","artificial-intelligence","classification","data-science","machine-learning","ml","ml-tooling","modeling","natural-language-processing","python"],"license":"MIT","category":"machine-learning","readme_excerpt":"This is an evolving repo optimized for machine-learning projects aimed at designing a new algorithm. They require sweeping over different hyperparameters, comparing to baselines, and iteratively refining an algorithm. Based of cookiecutter-data-science. Organization - src : contains main code for modeling (e.g. model architecture) - experiments : code for runnning experiments (e.g. loading data, training models, evaluating models) - scripts : scripts for hyperparameter sweeps (python scripts that launch jobs in experiments folder with different hyperparams) - notebooks : jupyter notebooks for analyzing results and making figures - tests : unit tests Setup - setup using uv (requires installing uv then run a script using uv run ). - this installs a package named src for importing - see pyproject.toml for dependencies, not all are required - example run: run uv run scripts/01 train basic models.py (which calls experiments/01 train model.py ) then view the results in notebooks/01 model results.ipynb - keep tests upated and run using uv run pytest Features - scripts sweep over hyperparameters using easy-to-specify python code - experiments automatically cache runs that have already completed - caching uses the ( non-default ) arguments in the argparse namespace - notebooks can easily evaluate results aggregated over multiple experiments using pandas Guidelines - See some useful packages here - Avoid notebooks whenever possible (ideally, only for analyzing results, making figures) ","default_branch":null,"files":null,"tree":[],"storefront":"/r/csinva","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/csinva/cookiecutter-ml-research/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}