Infinite Red's battle-tested React Native project boilerplate, along with a CLI, component/model generators, and more! 9 years of continuous development and...
# Reproducible ImageNet training with Ignite
In this example, we provide script and tools to perform reproducible experiments on training neural networks on ImageNet
dataset.
Features:
- Distributed training with native automatic mixed precision
- Experiments tracking with [ClearML](https://github.com/allegroai/clearml)
| Model | Training Top-1 Accuracy | Training Top-5 Accuracy | Test Top-1 Accuracy | Test Top-5 Accuracy |
| --------- | ----------------------- | ----------------------- | ------------------- | ------------------- |
| ResNet-50 | 78% | 92% | 77% | 94% |
| Experiment | Model | Training Top-1 Accuracy | Training Top-5 Accuracy | Test Top-1 Accuracy | Test Top-5 Accuracy | ClearML Link |
| -------------- | ----- | ----------------------- | ----------------------- | ------------------- | ------------------- | ------------ |
| configs/???.py |
## Setup
```
pip install -r requirements.txt
```
### Docker
For docker users, you can use the following images to run the example:
```bash
docker pull pytorchignite/vision:latest
```
and install other requirements as suggested above
## Usage
Please, export the `DATASET_PATH` environment variable for the ImageNet dataset.
```bash
export DATASET_PATH=/path/to/imagenet
# e.g. export DATASET_PATH=/data/ where "train", "val", "meta.bin" are located
```
### Training
#### Single GPU
- Adjust batch size for your GPU type in the configuration file: `configs/baseline_resnet50.py` or `configs/baseline_resnet50.py`
Run the following command:
```bash
CUDA_VISIBLE_DEVICES=0 python -u main.py training configs/baseline_resnet50.py
```
#### Multiple GPUs
- Adjust total batch size for your GPUs in the configuration file: `configs/baseline_resnet50.py` or `configs/baseline_resnet50.py`
```bash
OMP_NUM_THREADS=1 torchrun --nproc_per_node=2 main.py training configs/baseline_resnet50.py
```
## Acknowledgements
Trainings were done using credits provided by [trainml.ai](trainml.ai) platform.