Skip to content

Commit 2fe1bd6

Browse files
authored
Merge pull request Cadene#67 from creafz/polynet
Add PolyNet
2 parents 6cc8eb6 + 428bae9 commit 2fe1bd6

File tree

7 files changed

+517
-7
lines changed

7 files changed

+517
-7
lines changed

README.md

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ News:
5252
- [InceptionV4](https://github.com/Cadene/pretrained-models.pytorch#inception)
5353
- [NASNet-A-Large](https://github.com/Cadene/pretrained-models.pytorch#nasnet)
5454
- [NASNet-A-Mobile](https://github.com/Cadene/pretrained-models.pytorch#nasnet)
55+
- [PolyNet](https://github.com/Cadene/pretrained-models.pytorch#polynet)
5556
- [ResNeXt101_32x4d](https://github.com/Cadene/pretrained-models.pytorch#resnext)
5657
- [ResNeXt101_64x4d](https://github.com/Cadene/pretrained-models.pytorch#resnext)
5758
- [ResNet101](https://github.com/Cadene/pretrained-models.pytorch#torchvision)
@@ -118,7 +119,7 @@ import pretrainedmodels
118119

119120
```python
120121
print(pretrainedmodels.model_names)
121-
> ['fbresnet152', 'bninception', 'resnext101_32x4d', 'resnext101_64x4d', 'inceptionv4', 'inceptionresnetv2', 'alexnet', 'densenet121', 'densenet169', 'densenet201', 'densenet161', 'resnet18', 'resnet34', 'resnet50', 'resnet101', 'resnet152', 'inceptionv3', 'squeezenet1_0', 'squeezenet1_1', 'vgg11', 'vgg11_bn', 'vgg13', 'vgg13_bn', 'vgg16', 'vgg16_bn', 'vgg19_bn', 'vgg19', 'nasnetalarge', 'nasnetamobile', 'cafferesnet101', 'senet154', 'se_resnet50', 'se_resnet101', 'se_resnet152', 'se_resnext50_32x4d', 'se_resnext101_32x4d']
122+
> ['fbresnet152', 'bninception', 'resnext101_32x4d', 'resnext101_64x4d', 'inceptionv4', 'inceptionresnetv2', 'alexnet', 'densenet121', 'densenet169', 'densenet201', 'densenet161', 'resnet18', 'resnet34', 'resnet50', 'resnet101', 'resnet152', 'inceptionv3', 'squeezenet1_0', 'squeezenet1_1', 'vgg11', 'vgg11_bn', 'vgg13', 'vgg13_bn', 'vgg16', 'vgg16_bn', 'vgg19_bn', 'vgg19', 'nasnetalarge', 'nasnetamobile', 'cafferesnet101', 'senet154', 'se_resnet50', 'se_resnet101', 'se_resnet152', 'se_resnext50_32x4d', 'se_resnext101_32x4d', 'cafferesnet101', 'polynet']
122123
```
123124

124125
- To print the available pretrained settings for a chosen model:
@@ -206,6 +207,8 @@ NASNet-A-Large | [Tensorflow](https://github.com/tensorflow/models/tree/master/r
206207
[NASNet-A-Large](https://github.com/Cadene/pretrained-models.pytorch#nasnet) | Our porting | 82.566 | 96.086
207208
SENet154 | [Caffe](https://github.com/hujie-frank/SENet) | 81.32 | 95.53
208209
[SENet154](https://github.com/Cadene/pretrained-models.pytorch#senet) | Our porting | 81.304 | 95.498
210+
PolyNet | [Caffe](https://github.com/CUHK-MMLAB/polynet) | 81.29 | 95.75
211+
[PolyNet](https://github.com/Cadene/pretrained-models.pytorch#polynet) | Our porting | 81.002 | 95.624
209212
InceptionResNetV2 | [Tensorflow](https://github.com/tensorflow/models/tree/master/slim) | 80.4 | 95.3
210213
InceptionV4 | [Tensorflow](https://github.com/tensorflow/models/tree/master/slim) | 80.2 | 95.3
211214
[SE-ResNeXt101_32x4d](https://github.com/Cadene/pretrained-models.pytorch#senet) | Our porting | 80.236 | 95.028
@@ -261,7 +264,9 @@ NASNet-A-Mobile | [Tensorflow](https://github.com/tensorflow/models/tree/master/
261264
[SqueezeNet1_0](https://github.com/Cadene/pretrained-models.pytorch#torchvision) | [Pytorch](https://github.com/pytorch/vision#models) | 58.108 | 80.428
262265
[Alexnet](https://github.com/Cadene/pretrained-models.pytorch#torchvision) | [Pytorch](https://github.com/pytorch/vision#models) | 56.432 | 79.194
263266

264-
Note: the Pytorch version of ResNet152 is not a porting of the Torch7 but has been retrained by facebook.
267+
Notes:
268+
- the Pytorch version of ResNet152 is not a porting of the Torch7 but has been retrained by facebook.
269+
- For the PolyNet evaluation each image was resized to 378x378 without preserving the aspect ratio and then the central 331×331 patch from the resulting image was used.
265270

266271
Beware, the accuracy reported here is not always representative of the transferable capacity of the network on other tasks and datasets. You must try them all! :P
267272

@@ -357,6 +362,12 @@ Source: [Caffe repo of Jie Hu](https://github.com/hujie-frank/SENet)
357362
- `se_resnext50_32x4d(num_classes=1000, pretrained='imagenet')`
358363
- `se_resnext101_32x4d(num_classes=1000, pretrained='imagenet')`
359364

365+
#### PolyNet
366+
367+
Source: [Caffe repo of the CUHK Multimedia Lab](https://github.com/CUHK-MMLAB/polynet)
368+
369+
- `polynet(num_classes=1000, pretrained='imagenet')`
370+
360371

361372
#### TorchVision
362373

examples/imagenet_eval.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,11 @@
5252
parser.add_argument('-e', '--evaluate', dest='evaluate', default=True,
5353
action='store_true', help='evaluate model on validation set')
5454
parser.add_argument('--pretrained', default='imagenet', help='use pre-trained model')
55-
55+
parser.add_argument('--do-not-preserve-aspect-ratio',
56+
dest='preserve_aspect_ratio',
57+
help='do not preserve the aspect ratio when resizing an image',
58+
action='store_false')
59+
parser.set_defaults(preserve_aspect_ratio=True)
5660
best_prec1 = 0
5761

5862

@@ -110,7 +114,11 @@ def main():
110114
int(round(max(model.input_size) / scale)),
111115
model.input_size))
112116

113-
val_tf = pretrainedmodels.utils.TransformImage(model, scale=scale)
117+
val_tf = pretrainedmodels.utils.TransformImage(
118+
model,
119+
scale=scale,
120+
preserve_aspect_ratio=args.preserve_aspect_ratio
121+
)
114122

115123
val_loader = torch.utils.data.DataLoader(
116124
datasets.ImageFolder(valdir, val_tf),

pretrainedmodels/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,3 +50,4 @@
5050
from .models.senet import se_resnet152
5151
from .models.senet import se_resnext50_32x4d
5252
from .models.senet import se_resnext101_32x4d
53+
from .models.polynet import polynet

pretrainedmodels/models/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,3 +52,5 @@
5252
from .senet import se_resnet152
5353
from .senet import se_resnext50_32x4d
5454
from .senet import se_resnext101_32x4d
55+
56+
from .polynet import polynet

0 commit comments

Comments
 (0)