Skip to content

Commit 52b87c1

Browse files
committed
Add requirements.txt and README.md
1 parent 6646fdc commit 52b87c1

File tree

2 files changed

+49
-0
lines changed

2 files changed

+49
-0
lines changed

README.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# PassTheTorch
2+
Framework for reproducible and trackable Machine-Learning experiments.
3+
This project's aim is to allow independent coding of ML models, data loaders, progress tracking and hyperparameter optimization
4+
5+
## Setup
6+
```sh
7+
git clone https://ctrl-q/pass-the-torch
8+
cd pass-the-torch
9+
pip install -r requirements.txt
10+
```
11+
## Models
12+
* The base classes for all models are defined in [models/base.py](models/base.py)
13+
* The other files in that folder are provided as examples
14+
15+
16+
## Experiments
17+
All possible experiments are stored in the [experiments](experiments) folder. <br>
18+
Some hyperparameters are common to all experiments and some are particular to an experiment <br><br>
19+
All hyperparameters except for `datapath` and `trials` can be specified as:
20+
1. a value
21+
1. a tuple of 2 values, which will be interpreted as a range*
22+
1. a list of multiple values, which will be interpreted as a discrete list of choices*
23+
24+
All hyperparams that are lists or tuples will be tuned via [scikit-optimize](https://scikit-optimize.github.io/) for *`trials`* iterations
25+
26+
\* Please quote tuples or lists in the command line. *e.g.* --lr (0.001, 0.1) -> --lr '(0.001, 0.1)' <br>
27+
28+
Training progress will be available via [tensorboardX](https://tensorboardx.readthedocs.io/)
29+
30+
31+
## Utils
32+
Can be used to store any code for preparing your data for training, _e.g._ for dataloaders, logging, or anything else you could think of.
33+
34+
## Configuration
35+
* Add your own model to the [models](models) folder. The model should subclass `PyTorchModel` or `SKLearnModel`
36+
37+
## Running
38+
1. Choose an experiment from the [experiments](experiments) folder
39+
1. Run `"python3 -m experiments.<experiment_name> -h"` to get the list of hyperparameters*
40+
1. Run `"python3 -m experiments.<experiment_name>"` with hyperparams specified**
41+
42+
The experiments will be saved in the following path: `<experiment name>/<hyphen-separated hyperparams in the same order as in the argparse>`
43+
44+
\* All experiments **must** be run from this folder, and **not** from the [experiments](experiments) folder <br>
45+
\*\* The double quotes are needed

requirements.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
scikit-learn>=1.1.0
2+
scikit-optimize>=0.5.2
3+
tensorboardX>=1.8
4+
torchvision>=0.4.0

0 commit comments

Comments
 (0)