建站全过程,wordpress close,亚马逊做品牌备案自有网站,创世网站VGG全称是Visual Geometry Group#xff0c;因为是由Oxford的Visual Geometry Group提出的。AlexNet问世之后#xff0c;很多学者通过改进AlexNet的网络结构来提高自己的准确率#xff0c;主要有两个方向#xff1a;小卷积核和多尺度。而VGG的作者们则选择了另外一个方向因为是由Oxford的Visual Geometry Group提出的。AlexNet问世之后很多学者通过改进AlexNet的网络结构来提高自己的准确率主要有两个方向小卷积核和多尺度。而VGG的作者们则选择了另外一个方向即加深网络深度。 卷积网络的输入是224 * 224的RGB图像整个网络的组成是非常格式化的基本上都用的是3 * 3的卷积核以及 2 * 2的max pooling少部分网络加入了1 * 1的卷积核。因为想要体现出“上下左右中”的概念3*3的卷积核已经是最小的尺寸了。 import torch
import torch.nn as nn# 定义VGG模型
class VGG(nn.Module):def __init__(self, num_classes1000):super(VGG, self).__init__()self.features nn.Sequential(nn.Conv2d(3, 64, kernel_size3, padding1),nn.ReLU(inplaceTrue),nn.Conv2d(64, 64, kernel_size3, padding1),nn.ReLU(inplaceTrue),nn.MaxPool2d(kernel_size2, stride2),nn.Conv2d(64, 128, kernel_size3, padding1),nn.ReLU(inplaceTrue),nn.Conv2d(128, 128, kernel_size3, padding1),nn.ReLU(inplaceTrue),nn.MaxPool2d(kernel_size2, stride2),nn.Conv2d(128, 256, kernel_size3, padding1),nn.ReLU(inplaceTrue),nn.Conv2d(256, 256, kernel_size3, padding1),nn.ReLU(inplaceTrue),nn.Conv2d(256, 256, kernel_size3, padding1),nn.ReLU(inplaceTrue),nn.MaxPool2d(kernel_size2, stride2),nn.Conv2d(256, 512, kernel_size3, padding1),nn.ReLU(inplaceTrue),nn.Conv2d(512, 512, kernel_size3, padding1),nn.ReLU(inplaceTrue),nn.Conv2d(512, 512, kernel_size3, padding1),nn.ReLU(inplaceTrue),nn.MaxPool2d(kernel_size2, stride2),nn.Conv2d(512, 512, kernel_size3, padding1),nn.ReLU(inplaceTrue),nn.Conv2d(512, 512, kernel_size3, padding1),nn.ReLU(inplaceTrue),nn.Conv2d(512, 512, kernel_size3, padding1),nn.ReLU(inplaceTrue),nn.MaxPool2d(kernel_size2, stride2))self.avgpool nn.AdaptiveAvgPool2d((7, 7))self.classifier nn.Sequential(nn.Linear(7 * 7 * 512, 4096),nn.ReLU(inplaceTrue),nn.Dropout(),nn.Linear(4096, 4096),nn.ReLU(inplaceTrue),nn.Dropout(),nn.Linear(4096, num_classes))def forward(self, x):x self.features(x)x self.avgpool(x)x torch.flatten(x, 1)x self.classifier(x)return x# 创建VGG模型实例
model VGG()