Training Techniques | Weight Decay, SGD with Momentum |
---|---|
Architecture | 1x1 Convolution, Bottleneck Residual Block, Batch Normalization, Convolution, Global Average Pooling, Residual Block, Residual Connection, ReLU, Max Pooling, Softmax |
ID | resnet101 |
SHOW MORE |
Training Techniques | Weight Decay, SGD with Momentum |
---|---|
Architecture | 1x1 Convolution, Bottleneck Residual Block, Batch Normalization, Convolution, Global Average Pooling, Residual Block, Residual Connection, ReLU, Max Pooling, Softmax |
ID | resnet152 |
SHOW MORE |
Training Techniques | Weight Decay, SGD with Momentum |
---|---|
Architecture | 1x1 Convolution, Bottleneck Residual Block, Batch Normalization, Convolution, Global Average Pooling, Residual Block, Residual Connection, ReLU, Max Pooling, Softmax |
ID | resnet18 |
SHOW MORE |
Training Techniques | Weight Decay, SGD with Momentum |
---|---|
Architecture | 1x1 Convolution, Bottleneck Residual Block, Batch Normalization, Convolution, Global Average Pooling, Residual Block, Residual Connection, ReLU, Max Pooling, Softmax |
ID | resnet34 |
SHOW MORE |
Training Techniques | Weight Decay, SGD with Momentum |
---|---|
Architecture | 1x1 Convolution, Bottleneck Residual Block, Batch Normalization, Convolution, Global Average Pooling, Residual Block, Residual Connection, ReLU, Max Pooling, Softmax |
ID | resnet50 |
SHOW MORE |
Residual Networks, or ResNets, learn residual functions with reference to the layer inputs, instead of learning unreferenced functions. Instead of hoping each few stacked layers directly fit a desired underlying mapping, residual nets let these layers fit a residual mapping. They stack residual blocks ontop of each other to form network: e.g. a ResNet-50 has fifty layers using these blocks.
To load a pretrained model:
import torchvision.models as models
resnet18 = models.resnet18(pretrained=True)
Replace the model name with the variant you want to use, e.g. resnet18
. You can find
the IDs in the model summaries at the top of this page.
To evaluate the model, use the image classification recipes from the library.
python train.py --test-only --model='<model_name>'
You can follow the torchvision recipe on GitHub for training a new model afresh.
@article{DBLP:journals/corr/HeZRS15,
author = {Kaiming He and
Xiangyu Zhang and
Shaoqing Ren and
Jian Sun},
title = {Deep Residual Learning for Image Recognition},
journal = {CoRR},
volume = {abs/1512.03385},
year = {2015},
url = {http://arxiv.org/abs/1512.03385},
archivePrefix = {arXiv},
eprint = {1512.03385},
timestamp = {Wed, 17 Apr 2019 17:23:45 +0200},
biburl = {https://dblp.org/rec/journals/corr/HeZRS15.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
MODEL | TOP 1 ACCURACY | TOP 5 ACCURACY |
---|---|---|
ResNet-152 | 78.31% | 94.06% |
ResNet-101 | 77.37% | 93.56% |
ResNet-50 | 76.15% | 92.87% |
ResNet-34 | 73.3% | 91.42% |
ResNet-18 | 69.76% | 89.08% |