My DL project template
The folder structure suggested by CS230 course:
data/
train/
dev/
test/
experiments/
model/
*.py
build_dataset.py
train.py
search_hyperparams.py
synthesize_results.py
evaluate.py
The folder structure suggested by PyTorch Template Project:
pytorch-template/
│
├── train.py - main script to start training
├── test.py - evaluation of trained model
├── config.json - config file
│
├── base/ - abstract base classes
│ ├── base_data_loader.py - abstract base class for data loaders
│ ├── base_model.py - abstract base class for models
│ └── base_trainer.py - abstract base class for trainers
│
├── data_loader/ - anything about data loading goes here
│ └── data_loaders.py
│
├── data/ - default directory for storing input data
│
├── model/ - models, losses, and metrics
│ ├── loss.py
│ ├── metric.py
│ └── model.py
│
├── saved/ - default checkpoints folder
│ └── runs/ - default logdir for tensorboardX
│
├── trainer/ - trainers
│ └── trainer.py
│
└── utils/
├── util.py
├── logger.py - class for train logging
├── visualization.py - class for tensorboardX visualization support
└── ...
The following folder structure suggested by Github PyTorch Project Template
├── agents
| └── dcgan.py
| └── condensenet.py
| └── mnist.py
| └── dqn.py
| └── example.py
| └── base.py
| └── erfnet.py
|
├── configs
| └── dcgan_exp_0.py
| └── condensenet_exp_0.py
| └── mnist_exp_0.py
| └── dqn_exp_0.py
| └── example_exp_0.py
| └── erfnet_exp_0.py
|
├── data
|
├── datasets
| └── cifar10.py
| └── celebA.py
| └── mnist.py
| └── example.py
| └── voc2012.py
|
├── experiments
|
├── graphs
| └── models
| | └── custome_layers
| | | └── denseblock.py
| | | └── layers.py
| | |
| | └── dcgan_discriminator.py
| | └── dcgan_generator.py
| | └── erfnet.py
| | └── erfnet_imagenet.py
| | └── condensenet.py
| | └── mnist.py
| | └── dqn.py
| | └── example.py
| |
| └── losses
| | └── loss.py
|
├── pretrained_weights
|
├── tutorials
|
├── utils
| └── assets
|
├── main.py
└── run.sh
The following folder structure suggested by Cookiecutter Data Science
├── LICENSE
├── Makefile
├── README.md
├── data
│ ├── external
│ ├── interim
│ ├── processed
│ └── raw
├── docs
│ ├── Makefile
│ ├── commands.rst
│ ├── conf.py
│ ├── getting-started.rst
│ ├── index.rst
│ └── make.bat
├── models
├── notebooks
├── references
├── reports
│ └── figures
├── requirements.txt
├── src
│ ├── __init__.py
│ ├── data
│ │ └── make_dataset.py
│ ├── features
│ │ └── build_features.py
│ └── model
│ ├── predict_model.py
│ └── train_model.py
└── tox.ini
Reference
- CS230: Introducing the Project Code Examples
- CS230: Introduction to PyTorch Code Examples
- Github CS230: Introduction to PyTorch Code Examples
- PyTorch Project Template: Do it the smart way
- Github PyTorch Project Template
- Deep Learning With PyTorch
- Cookiecutter Data Science
- Organizing machine learning projects: project management guidelines
- How to Start a Data Science Project in Python
- Cookiecutter Data Science — Organize your Projects — Atom and Jupyter