当前位置: 首页 > news >正文

小土堆pytorch--现有网络模型的使用及修改

现有网络模型的使用及修改

  • 一级目录
    • 二级目录
      • 三级目录
  • 现有网络模型的使用及修改
    • 1.VGG16模型
      • VGG16网络模型简介
      • **核心特点**
      • **网络结构细节**
      • **优缺点与应用**
      • **变种与后续发展**
    • 2. 使用vgg16模型

一级目录

二级目录

三级目录

现有网络模型的使用及修改

1.VGG16模型

VGG16网络模型简介

VGG16是2014年由牛津大学视觉几何组(Visual Geometry Group, VGG)提出的卷积神经网络(CNN)模型,在当年的ImageNet大规模视觉识别挑战赛(ILSVRC)中获得亚军。它以结构简洁、层次深、特征表达能力强著称,是深度学习领域的经典模型之一,常用于图像分类、目标检测等任务的特征提取。

核心特点

  1. 深度结构

    • 16个可训练的权重层组成(包括13个卷积层和3个全连接层),网络层次较深,通过堆叠多个小尺寸卷积核(3×3)来增加网络深度和非线性表达能力。
    • 相比早期使用大尺寸卷积核(如AlexNet的11×11)的模型,VGG16通过小卷积核的组合(两个3×3卷积核相当于1个5×5的感受野,三个3×3相当于1个7×7的感受野),在减少参数的同时增强特征提取能力。
  2. 简洁的网络设计

    • 整体结构统一,采用卷积层+池化层交替堆叠的模式:
      • 卷积层:均使用3×3卷积核,步长为1, padding为1(保持特征图尺寸不变),激活函数为ReLU。
      • 池化层:均使用2×2最大池化(Max Pooling),步长为2,用于下采样和减少计算量。
  3. 全连接层与分类

    • 最后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(pretrained=False)
vgg_true = torchvision.models.vgg16(pretrained=True) # 预训练,保留参数print(vgg_true)

在这里插入图片描述
可以看到vgg网络模型有1000个特征输出
我们可以通过一下方法对网络模型的结构进行修改,让网络模型有10个特征输出

import torchvision
from torch import nnvgg16_false = torchvision.models.vgg16(pretrained=False)
vgg16_true = torchvision.models.vgg16(pretrained=True) # 预训练,保留参数# print(vgg_true)
train_data = torchvision.datasets.CIFAR10("./das",train=True, transform=torchvision.transforms.ToTensor(),download=True)vgg16_true.classifier.add_module('add_linear', nn.Linear(1000,10)) # 添加一层
print(vgg16_true)

在这里插入图片描述

相关文章:

  • 在PyTorch中,有了y = x + y,为什么还需要y += x,有什么好处呢?
  • cursor使用mcp
  • 基于Matlab实现各种光谱数据预处理
  • 数据库相关问题
  • 工控安全审计与网络流量监控系统的协同防御
  • 字节跳动推出开源多模态模型 BAGEL 从图像生成到世界建模
  • Solana账户创建与Rust实践全攻略
  • 什么是Windows内存压缩? win10/11系统启用和禁用内存压缩的教程
  • 图标变白,开始菜单栏无法打开程序(以jupyter为例)
  • 让jupyter notebook显示目录
  • Lua中的`self`参数:揭秘隐藏的“对象上下文”
  • Word 目录自动换行后错位与页码对齐问题解决教程
  • Spring Security Token 认证原理
  • AG32 DMAC实现内部MCU与FPGA通信【知识库】
  • 智慧康养护理:科技重塑老龄化社会的健康守护体系
  • idea 控制台 彩色打印日志
  • Redis学习打卡-Day8-Redis实践
  • 新型隐球菌脑膜炎智能诊疗系统技术方案
  • Linux中磁盘分区与挂载
  • linux 通过命令将 MinIO 桶的权限设置为 Custom(自定义策略)
  • 做网站镜像/百度seo关键词优化工具
  • 海南省城乡与住房建设厅网站/吴中seo网站优化软件
  • 福州网站建设培训/成人培训机构
  • 长沙做网站微联讯点靠谱/金戈西地那非片
  • 山西省建设厅网站查询/东莞网站推广大全
  • 深圳定制网站制作招聘网/什么是百度搜索推广