PyTorch在torchvision库中提供了一组训练好的模型。这些模型大多数接受一个称为 pretrained 的参数,当这个参数为True 时,它会下载为ImageNet 分类问题调整好的权重。让我们看一下创建 VGG16模型的代码片段:
from torchvision import models
vgg = models.vggl6(pretrained=True)
现在有了所有权重已经预训练好且可马上使用的VGG16模型。当代码第一次运行时,可能需要几分钟,这取决于网络速度。权重的大小可能在500MB左右。我们可以通过打印快速查看下 VGG16模型。当使用现代架构时,理解这些网络的实现方式非常有用。我们来看看这个模型:
VGG(
(features): Sequential(
(0):Conv2d(3,64,kernel_size=(3,3),stride=(1,1),padding=(1,1))
(1):ReLU (inplace)
(2):Conv2d(64,64,kernel_size=(3,3),stride=(1,1),padding=(1,1))
(3):ReLU(inplace)
(4):MaxPool2d(size=(2,2),stride=(2,2),dilation=(1,1))
(5):Conv2d(64,128,kernel_size=(3,3),stride=(1,1),padding=(1,1))
(6):ReLU(inplace)
(7):Conv2d(128,128,kernel_size=(3,3),stride=(1,1),padding=(1,1))
(8):ReLU(inplace)
(9):MaxPool2d(size=(2,2),stride=(2,2),dilation=(1,1))
(10):Conv2d(128,256,kernel_size=(3,3),stride=(1,1),padding=(1,1))
(11):ReLU(inplace)
(12):Conv2d(256,256,kernel_size=(3,3),stride=(1,1),padding=(1,1))
(13):ReLU(inplace)
(14):Conv2d(256,256,kernel_size=(3,3),stride=(1,1),padding=(1,1))
(15):ReLU(inplace)
(16):MaxPool2d(size=(2,2)


3659

被折叠的 条评论
为什么被折叠?



