deep_learning_template
deep_learning_template copied to clipboard
Deep Learning Template in PyTorch
Features
- Easy distributed training.
trainer=Trainer(...)
trainer.to_distributed()
trainer.fit()
- Easy distributed inference.
trainer=Trainer(...)
trainer.to_distributed()
trainer.get_preds()
- Learning-rate finder helps you find best learning rate.
trainer=Trainer(...)
trainer.find_lr()

Install
- install PyTorch according to https://pytorch.org/
- pip install -r requirements.txt
- sh build_and_install.sh
Training and inference example for MNIST
- Find learning-rate.
python train_net.py --config-file configs/mnist/defaults.yaml --mode findlr
- Training.
# single gpu
python train_net.py --config-file configs/mnist/defaults.yaml --num-gpus 1
# multi-gpu distributed training.
python train_net.py --config-file configs/mnist/defaults.yaml --num-gpus 4
- Inference and evaluation.
# single gpu
python train_net.py --config-file configs/mnist/defaults.yaml --mode eval --num-gpus 1
# multi-gpu distributed inference.
python train_net.py --config-file configs/mnist/defaults.yaml --mode eval --num-gpus 4
Extend by your own dataset.
-
Configs
-
Dataset
-
Override torch.utils.dataset.Dataset
Create a new Python file in deep_learning_template/data/datasets.
The dataset must accept ds_len and transforms as parameter at least.
-
Register
Add in deep_learning_template/data/datasets/_init_.py
-
Define in PathCatalog:deep_learning_template/config/paths_catalog.py
Add in DATASET.
Add in get method.
-
-
Trainer
Add a new file in deep_learning_template/trainer.
Register in deep_learning_template/trainer/build.py
-
Loss
Define in deep_learning_template/loss/build.py
-
Metrics
Add new file in deep_learning_template/metric.
Register in deep_learning_template/metric/build.py
-
Model
Add new file in deep_learning_template/modeling/models.
Register in deep_learning_template/modeling/models/models.py
All models must accept cfg as parameter only.
-
Evaluator
Define in deep_learning_template/evaluators/build.py