小土堆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)

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/news/907122.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Oracle 正则表达式匹配(Oracle 11g)

1、连续2词汉字重复或3词汉字重复(不会忽略符号) ([^ \u4e00-\u9fa5\S]{2,3})\1 例如:阿富、 SELECT REGEXP_replace(阿富、阿富、 阿富汗、 , ([^ \u4e00-\u9fa5\S]{2,3})\1, 重复) FROM dual结果: 2、连续2词汉字重复或3词…

对话魔数智擎CEO柴磊:昇腾AI赋能,大小模型融合开启金融风控新范式

导读:#昇腾逐梦人# AI已经成为金融机构核心竞争力的关键要素。专注AI金融赛道的魔数智擎,通过大小模型融合,让AI成为银行的“金融风控专家”。 作者 | 小葳 图片来源 | 摄图 在AI涌向产业的时代赛跑中,开发者是绝对的主角。 昇腾…

IDEA使用Git进行commit提交到本地git空间后撤回到commit版本之前

一、前言 Git作为最流行和最全面的版本控制工具,非常好用,但是操作也会比SVN复杂一些。毕竟有得有失嘛,所以我选择Git,最近在工作中,一不小心吧一些无关紧要的文件commit了。还好在Push之前看到,不过就算P…

GitHub 趋势日报 (2025年05月26日)

本日报由 TrendForge 系统生成 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日整体趋势 Top 10 排名项目名称项目描述今日获星总星数语言1Fosowl/agenticSeek完全本地的马努斯AI。没有API,没有200美元的每…

Matlab实现LSTM-SVM时间序列预测,作者:机器学习之心

Matlab实现LSTM-SVM时间序列预测,作者:机器学习之心 目录 Matlab实现LSTM-SVM时间序列预测,作者:机器学习之心效果一览基本介绍程序设计参考资料 效果一览 基本介绍 该代码实现了一个结合LSTM和SVM的混合模型,用于时间…

深入解析Spring Boot与Redis集成:高效缓存与性能优化实践

深入解析Spring Boot与Redis集成:高效缓存与性能优化实践 引言 在现代Web应用开发中,缓存技术是提升系统性能的重要手段之一。Redis作为一款高性能的内存数据库,广泛应用于缓存、消息队列等场景。本文将深入探讨如何在Spring Boot项目中集成…

Jmeter一些元件使用的详细记录

1、csv数据文件处理 文件放在bin目录下,属于相对路径读取文件,如果使用绝对路径则需要改为l添加盘符的路径,如:D:/apach/jmeter/bin 说明: 当选择False时,如果请求的次数 大于 文件中的有效数据行数&…

使用 Cursor 从 0 到 1 开发一个全栈 chatbox 项目

大家好,我是 luckySnail,你肯定用过 AI 聊天工具。例如: Gemini,ChatGPT,claude AI 等产品,我们通过它们的 web 网站或者手机应用提出问题,得到答案。在之前如果你想要构建一个这样的 AI 聊天应…

嵌入式学习的第二十六天-系统编程-文件IO+目录

一、文件IO相关函数 1.read/write cp #include <fcntl.h> #include <sys/stat.h> #include <sys/types.h> #include <stdio.h> #include<unistd.h> #include<string.h>int main(int argc, char **argv) {if(argc<3){fprintf(stderr, …

SCADA|KingSCADA信创4.0-Win10安装过程

哈喽,你好啊,我是雷工! 现如今很多地方开始要求信创版, 最近就遇到一个现场要求用信创。 首先找官方要了最新的信创版安装包。 由于有之前安装组态王授权驱动装蓝屏的经历,此次特意问了下该标识win10的软件是否可以在win11系统上安装。 技术反馈win11专业版上可以安装…

AI时代新词-人工智能伦理审查(AI Ethics Review)

一、什么是人工智能伦理审查&#xff08;AI Ethics Review&#xff09;&#xff1f; 人工智能伦理审查&#xff08;AI Ethics Review&#xff09;是指在人工智能&#xff08;AI&#xff09;系统的开发、部署和使用过程中&#xff0c;对其可能涉及的伦理、法律和社会问题进行系…

GitLab 从 17.10 到 18.0.1 的升级指南

本文分享从 GitLab 中文本 17.10.0 升级到 18.0.1 的完整过程。 升级前提 查看当前安装实例的版本。有多种方式可以查看&#xff1a; 方式一&#xff1a; /help页面 可以直接在 /help页面查看当前实例的版本。以极狐GitLab SaaS 为例&#xff0c;在浏览器中输入 https://ji…

python:基础爬虫、搭建简易网站

一、基础爬虫代码&#xff1a; # 导包 import requests # 从指定网址爬取数据 response requests.get("http://192.168.34.57:8080") print(response) # 获取数据 print(response.text)二、使用FastAPI快速搭建网站&#xff1a; # TODO FastAPI 是一个现代化、快速…

从0开始学习R语言--Day10--时间序列分析数据

在数据分析中&#xff0c;我们经常会看到带有时间属性的数据&#xff0c;比如股价波动&#xff0c;各种商品销售数据&#xff0c;网站的网络用户活跃度等。一般来说&#xff0c;根据需求我们会分为两种&#xff0c;分析历史数据的特点和预测未来时间段的数据。 移动平均 移动平…

倚光科技在二元衍射面加工技术上的革新:引领光学元件制造新方向​

倚光科技二元衍射面加工技术&#xff08;呈现出细腻的光碟反射纹路&#xff09; 在光学元件制造领域&#xff0c;二元衍射面的加工技术一直是行业发展的关键驱动力之一。其精准的光相位调制能力&#xff0c;在诸多前沿光学应用中扮演着不可或缺的角色。然而&#xff0c;长期以来…

【redis原理篇】底层数据结构

SDS Redis是基于C语言实现的&#xff0c;但是Redis中大量使用的字符串并没有直接使用C语言字符串。 一、SDS 的设计动机 传统 C 字符串以 \0 结尾&#xff0c;存在以下问题&#xff1a; 性能瓶颈&#xff1a;获取长度需遍历字符数组&#xff0c;时间复杂度 O(n)。缓冲区溢出…

尚硅谷redis7 20-redis10大类型之zset

zset是redis中的有序集合【sorted set】 zset就是在set基础上&#xff0c;每个val值前加一个score分数值。 之前set是k1 v1 v2 v3现在zset是k1 score1 v1 score2 v2 向有序集合中加入一个元素和该元素的分数 ZADD key score member [score member...] 添加元素 127. 0. 0. …

STM32 SPI通信(软件)

一、SPI简介 SPI&#xff08;Serial Peripheral Interface&#xff09;是由Motorola公司开发的一种通用数据总线四根通信线&#xff1a;SCK&#xff08;Serial Clock&#xff09;、MOSI&#xff08;Master Output Slave Input&#xff09;、MISO&#xff08;Master Input Slav…

Kotlin Native与C/C++高效互操作:技术原理与性能优化指南

一、互操作基础与性能瓶颈分析 1.1 Kotlin Native调用原理 Kotlin Native通过LLVM编译器生成机器码,与C/C++的互操作基于以下核心机制: CInterop工具:解析C头文件生成Kotlin/Native绑定(.klib),自动生成类型映射和包装函数双向调用约定: Kotlin调用C:直接通过生成的绑…

云原生安全 SaaS :从基础到实践

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 1. 基础概念 什么是 SaaS&#xff1f; SaaS&#xff08;Software as a Service&#xff0c;软件即服务&#xff09;是一种基于云计算的软件交付模式。用…