Classification

Below you will find all the latest image classification models. By convention, model names starting with lowercase are pretrained on imagenet while uppercase are not (vanilla). To load one of the pretrained models with your own number of classes use the models.model_utils.get_model(...) function and specify the name of the model exactly like the pretrained model method name (e.g. if the method name reads pywick.models.classification.dpn.dualpath.dpn68 then use dpn68 as the model name for models.model_utils.get_model(...).

Note: Since Pywick v0.6.5 we include 200+ models from rwightman’s repo which can be used by simply specifying the appropriate model name (all lowercase) in the yaml configuration file!

BatchNormInception

Implementation of BNInception as described in this paper.

class pywick.models.classification.bn_inception.BNInception(num_classes=1000)[source]
pywick.models.classification.bn_inception.bninception(pretrained='imagenet')[source]

Pretrained BNInception

DualPathNet

PyTorch implementation of Dual Path Networks. Based on original MXNet implementation with many ideas from another PyTorch implementation.

This implementation is compatible with the pretrained weights from cypw’s MXNet implementation.

class pywick.models.classification.dpn.dualpath.DPN(small=False, num_init_features=64, k_r=96, groups=32, b=False, k_sec=(3, 4, 20, 3), inc_sec=(16, 32, 24, 128), num_classes=1000, test_time_pool=False)[source]
pywick.models.classification.dpn.dualpath.dpn68(num_classes=1000, pretrained=False, test_time_pool=True)[source]

Pretrained DPN68 model

pywick.models.classification.dpn.dualpath.dpn68b(num_classes=1000, pretrained=False, test_time_pool=True)[source]

Pretrained DPN68b model

pywick.models.classification.dpn.dualpath.dpn98(num_classes=1000, pretrained=False, test_time_pool=True)[source]

Pretrained DPN98 model

pywick.models.classification.dpn.dualpath.dpn131(num_classes=1000, pretrained=False, test_time_pool=True)[source]

Pretrained DPN131 model

pywick.models.classification.dpn.dualpath.dpn107(num_classes=1000, pretrained=False, test_time_pool=True)[source]

Pretrained DPN107 model

FBResnet

Facebook implementation of ResNet

class pywick.models.classification.fbresnet.FBResNet(block, layers, num_classes=1000)[source]
pywick.models.classification.fbresnet.FBResNet18(num_classes=1000)[source]

Constructs a ResNet-18 model.

Args:
num_classes
pywick.models.classification.fbresnet.FBResNet34(num_classes=1000)[source]

Constructs a ResNet-34 model.

Args:
num_classes
pywick.models.classification.fbresnet.FBResNet50(num_classes=1000)[source]

Constructs a ResNet-50 model.

Args:
num_classes
pywick.models.classification.fbresnet.FBResNet101(num_classes=1000)[source]

Constructs a ResNet-101 model.

Args:
num_classes
pywick.models.classification.fbresnet.fbresnet152(num_classes=1000, pretrained='imagenet')[source]

Constructs a ResNet-152 model.

Args:
pretrained (bool): If True, returns a model pre-trained on ImageNet

Inception_Resv2_wide

Inception Resnet V2 Wide implementation

class pywick.models.classification.inception_resv2_wide.InceptionResV2(num_classes=1000)[source]

InceptionResnetV2

InceptionResNetV2 model architecture from the “InceptionV4, Inception-ResNet…” paper.

class pywick.models.classification.inceptionresnet_v2.InceptionResNetV2(num_classes=1001)[source]
pywick.models.classification.inceptionresnet_v2.inceptionresnetv2(num_classes=10, pretrained='imagenet')[source]

InceptionV4

class pywick.models.classification.inception_v4.InceptionV4(num_classes=1001)[source]
pywick.models.classification.inception_v4.inceptionv4(num_classes=10, pretrained='imagenet')[source]

NASNet

NASNetALarge model architecture from the “NASNet” paper.

pywick.models.classification.nasnet.nasnetalarge(pretrained='imagenet')[source]

pretrained NASNet

class pywick.models.classification.nasnet.NASNetALarge(num_classes=1001)[source]

NASNet_mobile

NASNet Mobile following the paper: Learning Transferable Architectures for Scalable Image Recognition

pywick.models.classification.nasnet_mobile.nasnetamobile(pretrained='imagenet')[source]

Pretrained version of NASNet_mobile

class pywick.models.classification.nasnet_mobile.NASNetAMobile(num_classes=1001, stem_filters=32, penultimate_filters=1056, filters_multiplier=2)[source]

NASNetAMobile (4 @ 1056)

PNASNnet

PNASNet-5 model architecture from the “Progressive Neural Architecture Search” paper.

pywick.models.classification.pnasnet.pnasnet5large(pretrained='imagenet')[source]

Pretrained PNASNet

class pywick.models.classification.pnasnet.PNASNet5Large(num_classes=1001)[source]

Polynet

PolyNet architecture from the paper PolyNet: A Pursuit of Structural Diversity in Very Deep Networks.

class pywick.models.classification.poly_net.PolyNet(num_classes=1000)[source]
pywick.models.classification.poly_net.polynet(pretrained='imagenet')[source]

Pretrained PolyNet model

Pyramid_Resnet

Implementation from paper: Deep Pyramidal Residual Networks. Not pretrained.

pywick.models.classification.pyramid_resnet.PyResNet18(pretrained=None, **kwargs)[source]

Not Pretrained

pywick.models.classification.pyramid_resnet.PyResNet34(pretrained=None, **kwargs)[source]

Not Pretrained

class pywick.models.classification.pyramid_resnet.PyResNet(block, layers, in_shape=(3, 256, 256), num_classes=17)[source]
make_layer(block, planes, blocks, stride=1)[source]

Resnet_preact

Preact_Resnet models. Not pretrained.

pywick.models.classification.resnet_preact.PreactResnet110(num_classes)[source]
pywick.models.classification.resnet_preact.PreactResnet164_bottleneck(num_classes)[source]

Resnet_swish

Resnet model combined with Swish activation function

class pywick.models.classification.resnet_swish.ResNet_swish(block, layers, num_classes=1000)[source]
pywick.models.classification.resnet_swish.ResNet18_swish(pretrained=False, **kwargs)[source]

Constructs a ResNet-18 model. Not pretrained.

pywick.models.classification.resnet_swish.ResNet34_swish(pretrained=False, **kwargs)[source]

Constructs a ResNet-34 model. Not pretrained.

pywick.models.classification.resnet_swish.ResNet50_swish(pretrained=False, **kwargs)[source]

Constructs a ResNet-50 model. Not pretrained.

pywick.models.classification.resnet_swish.ResNet101_swish(pretrained=False, **kwargs)[source]

Constructs a ResNet-101 model. Not pretrained.

pywick.models.classification.resnet_swish.ResNet152_swish(pretrained=False, **kwargs)[source]

Constructs a ResNet-152 model. Not pretrained.

Resnext

Implementation of paper: Aggregated Residual Transformations for Deep Neural Networks.

class pywick.models.classification.resnext.ResNeXt50_32x4d(num_classes=1000)[source]
pywick.models.classification.resnext.resnext50_32x4d(num_classes=1000, pretrained='imagenet')[source]

Pretrained Resnext50_32x4d model

class pywick.models.classification.resnext.ResNeXt101_32x4d(num_classes=1000)[source]
pywick.models.classification.resnext.resnext101_32x4d(pretrained='imagenet')[source]

Pretrained Resnext101_32x4d model

class pywick.models.classification.resnext.ResNeXt101_64x4d(num_classes=1000)[source]
pywick.models.classification.resnext.resnext101_64x4d(pretrained='imagenet')[source]

Pretrained ResNeXt101_64x4d model

SENet

SENet implementation as described in: Squeeze-and-Excitation Networks.

class pywick.models.classification.senet.SENet(block, layers, groups, reduction, dropout_p=0.2, inplanes=128, input_3x3=True, downsample_kernel_size=3, downsample_padding=1, num_classes=1000)[source]
pywick.models.classification.senet.senet154(num_classes=1000, pretrained='imagenet')[source]

Pretrained SENet154 model

pywick.models.classification.senet.se_resnet50(num_classes=1000, pretrained='imagenet')[source]

Pretrained SEResNet50 model

pywick.models.classification.senet.se_resnet101(num_classes=1000, pretrained='imagenet')[source]

Pretrained SEResNet101 model

pywick.models.classification.senet.se_resnet152(num_classes=1000, pretrained='imagenet')[source]

Pretrained SEResNet152 model

pywick.models.classification.senet.se_resnext50_32x4d(num_classes=1000, pretrained='imagenet')[source]

Pretrained SEResNext50 model

pywick.models.classification.senet.se_resnext101_32x4d(num_classes=1000, pretrained='imagenet')[source]

Pretrained SEResNext101 model

WideResnet

Implementation of WideResNet as described in: Wide Residual Networks.

class pywick.models.classification.wideresnet.WideResNet(pooling, f, params)[source]
pywick.models.classification.wideresnet.wideresnet50(pooling)[source]

XCeption

Ported to pytorch thanks to [tstandley](https://github.com/tstandley/Xception-PyTorch)

@author: tstandley Adapted by cadene

Creates an Xception Model as defined in:

Francois Chollet Xception: Deep Learning with Depthwise Separable Convolutions.

class pywick.models.classification.xception1.Xception(num_classes=1000)[source]
pywick.models.classification.xception1.xception(pretrained='imagenet')[source]

Pretrained Xception model.