|
| 1 | +> [!TIP] |
| 2 | +> 🌟 If you like this template, please give it a star! 🌟 |
| 3 | +> |
| 4 | +> 📜 If you use this template, borrow some of its code, or refer to it, please cite it as shown on GitHub! 📜 |
| 5 | +
|
1 | 6 | > [!IMPORTANT] |
2 | 7 | > **TEMPLATE TODO:** |
3 | 8 | > Replace the title below with your project title, then delete this note. |
4 | 9 |
|
5 | | -# Python Machine Learning Research Project Template |
| 10 | +# Python Machine Learning Research Template |
6 | 11 |
|
7 | 12 | ## Overview |
8 | 13 |
|
|
13 | 18 | A template for starting Python machine-learning research |
14 | 19 | projects with hardware acceleration featuring: |
15 | 20 |
|
16 | | -- Reproducible environments on major platforms with hardware acceleration with a great development experience |
| 21 | +- ✅ Reproducible environments on major platforms with hardware acceleration with a great development experience |
17 | 22 | covering multiple use cases: |
18 | | - - local machines, e.g., macOS (+ Apple Silicon/MPS) and Linux/Windows WSL (+ NVIDIA GPU). |
19 | | - - Remote Linux servers with GPUs, e.g., VMs on cloud providers and IC and RCP HaaS at EPFL. |
20 | | - - Managed clusters supporting OCI containers with GPUs, e.g., the EPFL IC and RCP Run:ai (Kubernetes) clusters |
| 23 | + - 💻 local machines, e.g., macOS (+ Apple Silicon/MPS) and Linux/Windows WSL (+ NVIDIA GPU). |
| 24 | + - 🌐 Remote Linux servers with GPUs, e.g., VMs on cloud providers and IC and RCP HaaS at EPFL. |
| 25 | + - ☁️ Managed clusters supporting OCI containers with GPUs, e.g., the EPFL IC and RCP Run:ai (Kubernetes) clusters |
21 | 26 | and the SCITAS Slurm clusters. |
22 | | -- Python project packaging following the |
| 27 | +- 📦 Python project packaging following the |
23 | 28 | [PyPA packaging guidelines](https://packaging.python.org/en/latest/tutorials/packaging-projects/) to avoid hacky |
24 | 29 | imports. |
25 | | -- Experiment management, tracking, and sharing with [Hydra](https://hydra.cc/) |
| 30 | +- 📊 Experiment management, tracking, and sharing with [Hydra](https://hydra.cc/) |
26 | 31 | and [Weights & Biases](https://wandb.ai/site). |
27 | | -- Checkpointing setup for research experiments compatible with Weights & Biases. |
28 | | -- Code quality with [pre-commit](https://pre-commit.com) hooks. |
| 32 | +- 💾 Checkpointing setup for research experiments compatible with Weights & Biases. |
| 33 | +- 🧹 Code quality with [pre-commit](https://pre-commit.com) hooks. |
29 | 34 |
|
30 | | -The template makes collaboration and open-sourcing straightforward, avoiding setup issues and |
| 35 | +🤝 The template makes collaboration and open-sourcing straightforward, avoiding setup issues and |
31 | 36 | [maximizing impact](https://medium.com/paperswithcode/ml-code-completeness-checklist-e9127b168501#a826). |
32 | | -The practices in this template earned its authors |
| 37 | + |
| 38 | +🏆 The practices in this template earned its authors |
33 | 39 | an [Outstanding Paper (Honorable Mention)](https://openreview.net/forum?id=E0qO5dI5aEn) |
34 | 40 | at the [ML Reproducibility Challenge 2022](https://paperswithcode.com/rc2022). |
35 | 41 |
|
36 | | -Projects made with the template would look like |
| 42 | +📌 Projects made with the template would look like |
37 | 43 | [this toy project](https://github.com/skandermoalla/pytoych-benchmark) |
38 | 44 | or [this paper](https://github.com/CLAIRE-Labo/no-representation-no-trust) whose curves have been exactly reproduced |
39 | | -(exact same numbers) on multiple different platforms (EPFL Kubernetes cluster, VM on GCP, HPC cluster with Apptainer), |
| 45 | +(exact same numbers) on multiple different platforms (EPFL Kubernetes cluster, VM on GCP, HPC cluster with Apptainer). |
40 | 46 |
|
41 | | -Follow this README to get started with the template. |
| 47 | +📖 Follow this README to get started with the template. |
42 | 48 |
|
43 | 49 | For a brief discussion of the template's design choices, features, and a Q&A check `template/README.md` file. |
44 | 50 |
|
@@ -94,6 +100,7 @@ Remember to get back to this root one after finishing each step. |
94 | 100 | 4. Edit the `LICENSE` file, or delete it and remember to add one when open-sourcing your code. |
95 | 101 | [(Some help here).](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository) |
96 | 102 | A simple change if you're fine with the MIT license is to replace the `2022 Skander Moalla` with your year and name. |
| 103 | + Same for the `CITATION.cff` file. |
97 | 104 | Commit. |
98 | 105 | 5. Set up and edit the development environment instructions for the methods and platforms you will use and support. |
99 | 106 | Each method supports a group of use cases: |
@@ -294,7 +301,7 @@ pre-commit run --all-files |
294 | 301 |
|
295 | 302 | This project is licensed under the LICENSE file in the root directory of the project. |
296 | 303 |
|
297 | | -The initial code of this repository has been initiated by the [Python Machine Learning Research Project Template](https://github.com/CLAIRE-Labo/python-ml-research-template) |
| 304 | +The initial code of this repository has been initiated by the [Python Machine Learning Research Template](https://github.com/CLAIRE-Labo/python-ml-research-template) |
298 | 305 | with the LICENSE.ml-template file. |
299 | 306 |
|
300 | 307 | Additional LICENSE files may be present in subdirectories of the project. |
0 commit comments