Base-Pytorch-Trainer

Project structure

.
├── configs: Put configure files
├── dataset: Put dataset files
├── submissions: Put submission files
├── src
│   └── main
│       ├── data: Put data-processing code
│       ├── engine: Put trainer, predicter, and splitter code
│       ├── model: Put model code
│       ├── options: Put argparse code
│       ├── predict.py: Predict entry
│       ├── split_dataset.py: Split dataset entry
│       └── train.py: Train entry
├── do_predict.sh
├── do_split_dataset.sh
├── do_tensorboard.sh
└── do_train.sh

Tips

If you are using pycharm, set src/main as sources root.

How to use

1, Install requirements

pip install tensorboard

conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch pyyaml

2, Put your dataset to ./dataset

A generic dataset folder where the images are arranged in this way by default:

root/train_images/label1/xxx.png
root/train_images/label1/xxx.png
...
root/train_images/label2/xxx.png
root/train_images/label2/xxx.png
...
...
root/test_images/xxy.png
root/test_images/xxy.png
...

3, Set your parameter

You can set parameter on config/xxx.yaml which will be set as default parameter.

Then, you can override parameter on shell script.

4, Split dataset

Running Script ./do_split_dataset.sh

5, Create model

Create your model on src/main/model

6, Train

Running Script ./do_train.sh

7, Predict

Running Script ./do_predict.sh

Every row of submission file should already have ID

GitHub

View Github