# ImageNet **Repository Path**: hedilong/ImageNet ## Basic Information - **Project Name**: ImageNet - **Description**: This implements training of popular model architectures, such as AlexNet, ResNet and VGG on the ImageNet dataset(Now we supported alexnet, vgg, resnet, squeezenet, densenet) - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-01-18 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ImageNet This implements training of popular model architectures, such as AlexNet, SqueezeNet, ResNet, DenseNet and VGG on the ImageNet dataset(Now we supported alexnet, vgg, resnet, squeezenet, densenet). ## Requirements * PyTorch 0.4.0 * cuda && cudnn * Download the ImageNet dataset and move validation images to labeled subfolders * To do this, you can use the following script: [https://raw.githubusercontent.com/soumith/imagenetloader.torch/master/valprep.sh](https://raw.githubusercontent.com/soumith/imagenetloader.torch/master/valprep.sh) ## Training To train a model, run main.py with the desired model architecture and the path to the ImageNet dataset: ``` python main.py [imagenet-folder with train and val folders] -a alexnet --lr 0.01 ``` The default learning rate schedule starts at 0.01 and decays by a factor of 10 every 30 epochs. ## Usage ``` usage: main.py [-h] [-a ARCH] [--epochs N] [--start-epoch N] [-b N] [--lr LR] [--momentum M] [--weight-decay W] [-j N] [-m] [-p] [--print-freq N] [--resume PATH] [-e] DIR PyTorch ImageNet Training positional arguments: DIR path to dataset optional arguments: -h, --help show this help message and exit -a ARCH, --arch ARCH model architecture: alexnet | squeezenet1_0 | squeezenet1_1 | densenet121 | densenet169 | densenet201 | densenet201 | densenet161 | vgg11 | vgg11_bn | vgg13 | vgg13_bn | vgg16 | vgg16_bn | vgg19 | vgg19_bn | resnet18 | resnet34 | resnet50 | resnet101 | resnet152 (default: alexnet) --epochs N numer of total epochs to run --start-epoch N manual epoch number (useful to restarts) -b N, --batch-size N mini-batch size (default: 256) --lr LR, --learning-rate LR initial learning rate --momentum M momentum --weight-decay W, --wd W Weight decay (default: 1e-4) -j N, --workers N number of data loading workers (default: 4) -m, --pin-memory use pin memory -p, --pretrained use pre-trained model --print-freq N, -f N print frequency (default: 10) --resume PATH path to latest checkpoitn, (default: None) -e, --evaluate evaluate model on validation set ``` ## Result The results of a single model on ILSVRC-2012 validation set.
Model top1@prec (val) top5@prec (val) Parameters ModelSize(MB)
AlexNet 56.522% 79.066% 244
SqueezeNet1_0 58.092% 80.420% 5
SqueezeNet1_1 58.178% 80.624% 5
DenseNet121 74.434% 91.972% 32
DenseNet169 75.600% 92.806% 57
DenseNet201 76.896% 93.370% 81
DenseNet161 77.138% 93.560% 116
Vgg11 69.020% 88.628% 532
Vgg13 69.928% 89.246% 532
Vgg16 71.592% 90.382% 554
Vgg19 72.376% 90.876% 574
Vgg11_bn 70.370% 89.810% 532
Vgg13_bn 71.586% 90.374% 532
Vgg16_bn 73.360% 91.516% 554
Vgg19_bn 74.218% 91.842% 574
ResNet18 69.758% 89.078% 47
ResNet34 73.314% 91.420% 87
ResNet50 76.130% 92.862% 103
ResNet101 77.374% 93.546% 179
ResNet152 78.312% 94.046% 242
## Acknowledgement [PyTorch Examples](https://github.com/pytorch/examples/tree/master/imagenet) [AlexNet](https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf) [VGG](https://arxiv.org/abs/1409.1556) [ResNet](https://arxiv.org/abs/1512.03385) [SqueezeNet](https://arxiv.org/abs/1602.07360) [DenseNet](https://arxiv.org/pdf/1608.06993.pdf)