译者:BXuan694

models子包定义了以下模型架构:

你可以通过调用以下构造函数构造随机权重的模型:

import torchvision.models as models
resnet18 = models.resnet18()
alexnet = models.alexnet()
vgg16 = models.vgg16()
squeezenet = models.squeezenet1_0()
densenet = models.densenet161()
inception = models.inception_v3()
torch.utils.model_zoopretrained=True
import torchvision.models as models
resnet18 = models.resnet18(pretrained=True)
alexnet = models.alexnet(pretrained=True)
squeezenet = models.squeezenet1_0(pretrained=True)
vgg16 = models.vgg16(pretrained=True)
densenet = models.densenet161(pretrained=True)
inception = models.inception_v3(pretrained=True)
TORCH_MODEL_ZOOtorch.utils.model_zoo.load_url()
model.train()model.eval()train()eval()
mean = [0.485, 0.456, 0.406]std = [0.229, 0.224, 0.225]
normalize = transforms.Normalize(mean=[0.485, 0.456, 0.406],
                                 std=[0.229, 0.224, 0.225])

在imagenet的示例中可以看到标准化的一个应用。

下表是ImageNet单次224x224中心裁剪的错误率。

网络 Top-1错误率(%) Top-5错误率(%)
AlexNet 43.45 20.91
VGG-11 30.98 11.37
VGG-13 30.07 10.75
VGG-16 28.41 9.62
VGG-19 27.62 9.12
带有批标准化的VGG-11 29.62 10.19
带有批标准化的VGG-13 28.45 9.63
带有批标准化的VGG-16 26.63 8.50
带有批标准化的VGG-19 25.76 8.15
ResNet-18 30.24 10.92
ResNet-34 26.70 8.58
ResNet-50 23.85 7.13
ResNet-101 22.63 6.44
ResNet-152 21.69 5.94
SqueezeNet 1.0 41.90 19.58
SqueezeNet 1.1 41.81 19.38
Densenet-121 25.35 7.83
Densenet-169 24.00 7.00
Densenet-201 22.80 6.43
Densenet-161 22.35 6.20
Inception v3 22.55 6.44

Alexnet

torchvision.models.alexnet(pretrained=False, **kwargs)

AlexNet模型,参见论文《One weird trick…》 。

参数: pretrained (bool) – 如果设置为True,返回ImageNet预训练模型

VGG

torchvision.models.vgg11(pretrained=False, **kwargs)

VGG11模型。(论文中的“A”模型)

参数: pretrained (bool) – 如果设置为True,返回ImageNet预训练模型
torchvision.models.vgg11_bn(pretrained=False, **kwargs)

VGG11模型,�带有批标准化。(论文中的“A”模型)

参数: pretrained (bool) – 如果设置为True,返回ImageNet预训练模型
torchvision.models.vgg13(pretrained=False, **kwargs)

VGG13模型。(论文中的“B”模型)

参数: pretrained (bool) – 如果设置为True,返回ImageNet预训练模型
torchvision.models.vgg13_bn(pretrained=False, **kwargs)

VGG13模型,�带有批标准化。(论文中的“B”模型)

参数: pretrained (bool) – 如果设置为True,返回ImageNet预训练模型
torchvision.models.vgg16(pretrained=False, **kwargs)

VGG16模型。(论文中的“D”模型)

参数: pretrained (bool) – 如果设置为True,返回ImageNet预训练模型
torchvision.models.vgg16_bn(pretrained=False, **kwargs)

VGG16模型,�带有批标准化。(论文中的“D”模型)

参数: pretrained (bool) – 如果设置为True,返回ImageNet预训练模型
torchvision.models.vgg19(pretrained=False, **kwargs)

VGG19模型。(论文中的“E”模型)

参数: pretrained (bool) – 如果设置为True,返回ImageNet预训练模型
torchvision.models.vgg19_bn(pretrained=False, **kwargs)

VGG19模型,�带有批标准化。(论文中的“E”模型)

参数: pretrained (bool) – 如果设置为True,返回ImageNet预训练模型

ResNet

torchvision.models.resnet18(pretrained=False, **kwargs)

构造ResNet-18模型。

参数: pretrained (bool) – 如果设置为True,返回ImageNet预训练模型
torchvision.models.resnet34(pretrained=False, **kwargs)

构造ResNet-34模型。

参数: pretrained (bool) – 如果设置为True,返回ImageNet预训练模型
torchvision.models.resnet50(pretrained=False, **kwargs)

构造ResNet-50模型。

参数: pretrained (bool) – 如果设置为True,返回ImageNet预训练模型
torchvision.models.resnet101(pretrained=False, **kwargs)

构造ResNet-101模型。

参数: pretrained (bool) – 如果设置为True,返回ImageNet预训练模型
torchvision.models.resnet152(pretrained=False, **kwargs)

构造ResNet-152模型。

参数: pretrained (bool) – 如果设置为True,返回ImageNet预训练模型

SqueezeNet

torchvision.models.squeezenet1_0(pretrained=False, **kwargs)
参数: pretrained (bool) – 如果设置为True,返回ImageNet预训练模型
torchvision.models.squeezenet1_1(pretrained=False, **kwargs)

SqueezeNet 1.1模型,参见SqueezeNet官方仓库。SqueezeNet 1.1比SqueezeNet 1.0节约2.4倍的计算量,参数也略少,然而精度未做牺牲。

参数: pretrained (bool) – 如果设置为True,返回ImageNet预训练模型

DenseNet

torchvision.models.densenet121(pretrained=False, **kwargs)
参数: pretrained (bool) – 如果设置为True,返回ImageNet预训练模型
torchvision.models.densenet169(pretrained=False, **kwargs)
参数: pretrained (bool) – 如果设置为True,返回ImageNet预训练模型
torchvision.models.densenet161(pretrained=False, **kwargs)
参数: pretrained (bool) – 如果设置为True,返回ImageNet预训练模型
torchvision.models.densenet201(pretrained=False, **kwargs)
参数: pretrained (bool) – 如果设置为True,返回ImageNet预训练模型

Inception v3

torchvision.models.inception_v3(pretrained=False, **kwargs)
参数: pretrained (bool) – 如果设置为True,返回ImageNet预训练模型