iis怎么添加网站,wordpress一键ssl,和田地网站seo,wordpress路由重写事例现有网络模型的使用及修改 一级目录二级目录三级目录 现有网络模型的使用及修改1.VGG16模型VGG16网络模型简介**核心特点****网络结构细节****优缺点与应用****变种与后续发展** 2. 使用vgg16模型 一级目录
二级目录
三级目录
现有网络模型的使用及修改
1.VGG16模型
VGG16… 现有网络模型的使用及修改 一级目录二级目录三级目录 现有网络模型的使用及修改1.VGG16模型VGG16网络模型简介**核心特点****网络结构细节****优缺点与应用****变种与后续发展** 2. 使用vgg16模型 一级目录
二级目录
三级目录
现有网络模型的使用及修改
1.VGG16模型
VGG16网络模型简介
VGG16是2014年由牛津大学视觉几何组Visual Geometry Group, VGG提出的卷积神经网络CNN模型在当年的ImageNet大规模视觉识别挑战赛ILSVRC中获得亚军。它以结构简洁、层次深、特征表达能力强著称是深度学习领域的经典模型之一常用于图像分类、目标检测等任务的特征提取。
核心特点 深度结构 由16个可训练的权重层组成包括13个卷积层和3个全连接层网络层次较深通过堆叠多个小尺寸卷积核3×3来增加网络深度和非线性表达能力。相比早期使用大尺寸卷积核如AlexNet的11×11的模型VGG16通过小卷积核的组合两个3×3卷积核相当于1个5×5的感受野三个3×3相当于1个7×7的感受野在减少参数的同时增强特征提取能力。 简洁的网络设计 整体结构统一采用卷积层池化层交替堆叠的模式 卷积层均使用3×3卷积核步长为1 padding为1保持特征图尺寸不变激活函数为ReLU。池化层均使用2×2最大池化Max Pooling步长为2用于下采样和减少计算量。 全连接层与分类 最后3层为全连接层前两层各有4096个神经元第三层有1000个神经元对应ImageNet的1000类分类任务通过Softmax激活函数输出分类概率。
网络结构细节
以下是VGG16的层结构概览以输入224×224 RGB图像为例
层类型尺寸/数量说明输入层224×224×3输入图像RGB三通道卷积块1卷积层64×3×3×22个3×3卷积核输出64通道ReLU激活最大池化层2×2步长2输出尺寸变为112×112×64卷积块2卷积层128×3×3×22个3×3卷积核输出128通道ReLU激活最大池化层2×2步长2输出尺寸变为56×56×128卷积块3卷积层256×3×3×33个3×3卷积核输出256通道ReLU激活最大池化层2×2步长2输出尺寸变为28×28×256卷积块4卷积层512×3×3×33个3×3卷积核输出512通道ReLU激活最大池化层2×2步长2输出尺寸变为14×14×512卷积块5卷积层512×3×3×33个3×3卷积核输出512通道ReLU激活最大池化层2×2步长2输出尺寸变为7×7×512全连接层全连接层4096神经元ReLU激活Dropout防止过拟合全连接层4096神经元ReLU激活Dropout全连接层1000神经元Softmax激活输出分类概率
优缺点与应用 优点 结构简单、层次分明易于复现和修改是研究CNN网络深度影响的经典基准。特征表达能力强预训练权重可迁移到其他视觉任务如目标检测、图像分割中进行迁移学习。 缺点 参数总量较大约1.38亿参数计算复杂度高训练需要大量显存和时间。全连接层占参数比例高对输入图像尺寸敏感需固定为224×224。 应用场景 图像分类如ImageNet、目标检测如Faster R-CNN中作为特征提取骨干网络、图像特征提取等。
变种与后续发展
VGG系列还包括VGG11、VGG13、VGG19等变种主要区别在于卷积层的数量如VGG19有19个权重层。尽管VGG模型在现代任务中逐渐被更高效的网络如ResNet、EfficientNet取代但其设计思想如小卷积核堆叠、层次化特征提取对后续CNN发展具有深远影响。
2. 使用vgg16模型
import torchvision
from torch import nnvgg16 torchvision.models.vgg16(pretrainedFalse)
vgg_true torchvision.models.vgg16(pretrainedTrue) # 预训练保留参数print(vgg_true)可以看到vgg网络模型有1000个特征输出 我们可以通过一下方法对网络模型的结构进行修改让网络模型有10个特征输出
import torchvision
from torch import nnvgg16_false torchvision.models.vgg16(pretrainedFalse)
vgg16_true torchvision.models.vgg16(pretrainedTrue) # 预训练保留参数# print(vgg_true)
train_data torchvision.datasets.CIFAR10(./das,trainTrue, transformtorchvision.transforms.ToTensor(),downloadTrue)vgg16_true.classifier.add_module(add_linear, nn.Linear(1000,10)) # 添加一层
print(vgg16_true)