【深度学习|DenseNet-121】Densely Connected Convolutional Networks内部结构和参数设置
【深度学习|DenseNet-121】Densely Connected Convolutional Networks内部结构和参数设置
【深度学习|DenseNet-121】Densely Connected Convolutional Networks内部结构和参数设置
文章目录
- 【深度学习|DenseNet-121】Densely Connected Convolutional Networks内部结构和参数设置
- 前言
- 1. 网络总体结构
- 2. 具体层次结构
- (1) 输入层(Input Layer)
- (2) 第一卷积层(Conv1)
- (3) Dense Block 1 (DB1)
- (4) Transition Layer 1 (TL1)
- (5) Dense Block 2 (DB2)
- (6) Transition Layer 2 (TL2)
- (7) Dense Block 3 (DB3)
- (8) Transition Layer 3 (TL3)
- (9) Dense Block 4 (DB4)
- (10) 全局平均池化层(Global Average Pooling)
- (11) 全连接层(Fully Connected Layer)
- 3. 参数设置
- 4. 总结
- 2025年计算机视觉研究进展与应用国际学术会议 (ACVRA 2025)
欢迎宝子们点赞、关注、收藏!欢迎宝子们批评指正!
祝所有的硕博生都能遇到好的导师!好的审稿人!好的同门!顺利毕业!
大多数高校硕博生毕业要求需要参加学术会议,发表EI或者SCI检索的学术论文会议论文:
可访问艾思科蓝官网,浏览即将召开的学术会议列表。会议详细信息可参考:https://ais.cn/u/mmmiUz
前言
DenseNet121 是 DenseNet(Densely Connected Convolutional Networks)架构中的一个重要版本,它采用了密集连接(dense connection)策略,其中每一层都与前面所有的层相连接。DenseNet121的“121”表示它包含121个卷积层。接下来,我将逐层详细说明 DenseNet121 的内部结构和参数设置。
1. 网络总体结构
DenseNet121 的总体架构分为以下几个主要部分:
- 卷积层(Convolutional Layer):最开始的卷积层(Conv1),用于对输入图像进行初步处理。
- 密集块(Dense Blocks):DenseNet121 包含4个密集块,每个密集块由若干个密集单元(Dense Units)组成。每个密集单元的输出连接到后续所有单元,并且每个密集单元的输入是所有前面单元的输出。
- 过渡层(Transition Layers):每个密集块之间会有一个过渡层,它包括一个1×1卷积层和一个2×2的平均池化层(Average Pooling)。
- 全局平均池化层(Global Average Pooling):在最后一个密集块后使用全局平均池化。
- 全连接层(Fully Connected Layer):全连接层用于输出预测结果。
2. 具体层次结构
(1) 输入层(Input Layer)
- 输入尺寸通常为 224×224×3,即输入的图像大小为224x224,具有3个颜色通道(RGB)。
(2) 第一卷积层(Conv1)
- 卷积层:1个卷积层,过滤器大小为7×7,步长为2,输出通道数为64。
- BatchNorm:进行批归一化,减少内部协方差偏移。
- ReLU 激活:应用ReLU激活函数。
- 池化层:3×3最大池化,步长为2,减小空间维度。
输入的大小为 224×224×3,经过这个层之后输出 112×112×64。
(3) Dense Block 1 (DB1)
- 层数:包含6个Dense Units。
- 每个Dense Unit:每个Dense Unit由3层组成:1×1卷积层(瓶颈层,减少通道数),3×3卷积层(标准卷积层,增加特征数量)。每个Dense Unit的输出特征图将与前面所有的输出特征图连接。
在Dense Block 1 之后,输出的特征图维度为 56×56×256。
(4) Transition Layer 1 (TL1)
- 1×1卷积层:用于降低通道数,通常减少至128个通道。
- 平均池化层:进行2×2平均池化,步长为2,减小空间维度。
输出的特征图维度为 28×28×128。
(5) Dense Block 2 (DB2)
- 层数:包含12个Dense Units。
- 每个Dense Unit:和第一个密集块相同,由1×1卷积层和3×3卷积层组成,每个单元的输出连接到所有前面的单元。
在Dense Block 2 之后,输出的特征图维度为 28×28×512。
(6) Transition Layer 2 (TL2)
- 1×1卷积层:减少通道数,通常减少至256个通道。
- 平均池化层:2×2平均池化,步长为2。
输出的特征图维度为 14×14×256。
(7) Dense Block 3 (DB3)
- 层数:包含24个Dense Units。
- 每个Dense Unit:同样是由1×1卷积和3×3卷积组成,每个单元的输出连接到前面的所有单元。
在Dense Block 3 之后,输出的特征图维度为 14×14×1024。
(8) Transition Layer 3 (TL3)
- 1×1卷积层:将通道数减少到512。
- 平均池化层:进行2×2的平均池化。
输出的特征图维度为 7×7×512。
(9) Dense Block 4 (DB4)
- 层数:包含16个Dense Units。
- 每个Dense Unit:继续由1×1卷积层和3×3卷积层构成,所有单元的输出继续连接。
在Dense Block 4之后,输出的特征图维度为 7×7×1024。
(10) 全局平均池化层(Global Average Pooling)
- 池化层:将特征图的每个通道进行平均池化,从 7×7×1024 压缩成 1×1×1024。
输出的维度为 1×1×1024。
(11) 全连接层(Fully Connected Layer)
- FC层:最后通过一个全连接层映射到目标类别数的维度。例如,在分类任务中,如果有1000个类别,则输出维度为1000。
3. 参数设置
- Growth Rate:每个Dense Unit的增长率(growth rate)通常设定为32,这表示每经过一个Dense Unit,输出的特征图的通道数将增加32个。
- Dropout:DenseNet121的实现中,通常会加入dropout层,防止过拟合。它的使用通常是0.2到0.5之间。
- 初始化方法:通常使用He初始化(He Initialization)来初始化卷积层,以避免梯度消失问题。
- 激活函数:在所有卷积层后应用ReLU激活函数。
- 批归一化:所有卷积层和全连接层后面都应用了批归一化(Batch Normalization)操作。
4. 总结
- DenseNet121 是一个非常高效且深度的神经网络,通过密集连接每个层的输出,使得模型能够有效地重用特征并减少参数量。尽管具有较多的层数,但由于密集连接,它的参数量相比于传统的深度神经网络(例如VGG)要少得多,且能够取得更好的性能。
2025年计算机视觉研究进展与应用国际学术会议 (ACVRA 2025)
- 2025 International Conference on Advances in Computer Vision Research and Applications
- 2025年2月28-3月2日 广州
- 会议官网:www.acvra.org
- EI检索稳定
- 接受/拒稿通知:投稿后1周左右
相关文章:
【深度学习|DenseNet-121】Densely Connected Convolutional Networks内部结构和参数设置
【深度学习|DenseNet-121】Densely Connected Convolutional Networks内部结构和参数设置 【深度学习|DenseNet-121】Densely Connected Convolutional Networks内部结构和参数设置 文章目录 【深度学习|DenseNet-121】Densely Connected Convolutional Networks内部结构和参数…...
数据结构与算法-要点整理
知识导图: 一、数据结构 包含:线性表(数组、队列、链表、栈)、散列表、树(二叉树、多路查找树)、图 1.线性表 数据之间就是“一对一“的逻辑关系。 线性表存储数据的实现方案有两种,分别是顺序存储结构和链式存储结构。 包含:数组、队列、链表、栈。 1.1 数组…...
Fort Firewall:全方位守护网络安全
Fort Firewall是一款专为 Windows 操作系统设计的开源防火墙工具,旨在为用户提供全面的网络安全保护。它基于 Windows 过滤平台(WFP),能够与系统无缝集成,确保高效的网络流量管理和安全防护。该软件支持实时监控网络流…...
Nginx实战技巧(Practical Tips for nginx)
引言 简介 Nginx(发音为 "engine-x")是一个高性能的HTTP和反向代理服务器. Nginx以其高并发处理能力、低资源消耗和灵活的配置而闻名,适用于高流量的Web服务器和应用程序。 Nginx的主要功能包括: HTTP服务器…...
YOLOv8:目标检测与实时应用的前沿探索
随着深度学习和计算机视觉技术的迅速发展,目标检测(Object Detection)一直是研究热点。YOLO(You Only Look Once)系列模型作为业界广受关注的目标检测框架,凭借其高效、实时的特点,一直迭代更新…...
解锁数字经济新动能:探寻 Web3 核心价值
随着科技的快速发展,我们正迈入一个全新的数字时代,Web3作为这一时代的核心构成之一,正在为全球数字经济带来革命性的变革。本文将探讨Web3的核心价值,并如何推动数字经济的新动能。 Web3是什么? Web3,通常…...
Lua 环境的安装
1.安装Lua运行环境 本人采用的是在windows系统中使用cmd指令方式进行安装,安装指令如下: winget install "lua for windows" 也曾使用可执行程序安装过,但由于电脑是加密电脑,最后都已失败告终。使用此方式安装可以安…...
Object类(2)
大家好,今天我们继续来看看Object类中一些成员方法,这些方法在实际中有很大的用处,话不多说,来看。 注:所有类都默认继承Object类的,所以可调用Object类中的方法,如equals,也可以发生…...
汽车网络信息安全-ISO/SAE 21434解析(中)
目录 第七章-分布式网络安全活动 1. 供应商能力评估 2. 报价 3. 网络安全职责界定 第八章-持续的网络安全活动 1. 网路安全监控 2. 网络安全事件评估 3. 漏洞分析 4. 漏洞管理 第九章-概念阶段 1. 对象定义 2. 网路安全目标 3. 网络安全概念 第十章 - 产品开发 第十…...
fatal error C1083: [特殊字符]ļ: openssl/opensslv.h: No such file or directory
一、环境 1. Visual Studio 2017 2. edk2:202305 3. Python:3.11.4 二、 fatal error C1083: 򿪰ļ: openssl/opensslv.h: No such file or directory 上图出现这个警告,不用管。 出现Done,说明编译成功。 执行上…...
C#System.Threading.Timer定时器意外回收注意事项
System.Threading.Timer定时器使用时会出现意外回收的情况。具体解释如下: 只要在使用 Timer,就必须保留对它的引用。对于任何托管对象,如果没有对 Timer 的引用,计时器会被垃圾回收。即使 Timer 仍处在活动状态,也会被回收。 实例对比测试 实例 定义两个类,其中一个…...
20.Word:小谢-病毒知识的科普文章❗【38】
目录 题目 NO1.2.3文档格式 NO4.5 NO6.7目录/图表目录/书目 NO8.9.10 NO11索引 NO12.13.14 每一步操作完,确定之后记得保存最后所有操作完记得再次删除空行 题目 NO1.2.3文档格式 样式的应用 选中应用段落段落→开始→选择→→检查→应用一个一个应用ctr…...
vue3底层原理和性能优化
Vue 3 在底层原理和性能优化方面做了许多改进,以下是一些主要的优化点和原理: 1. 虚拟 DOM 的改进 静态树提升:Vue 3 能够检测到静态组件(即不依赖响应式数据的组件)并将其提升到渲染函数之外,从而减少不…...
Ubuntu介绍、与centos的区别、基于VMware安装Ubuntu Server 22.04、配置远程连接、安装jdk+Tomcat
目录 ?编辑 一、Ubuntu22.04介绍 二、Ubuntu与Centos的区别 三、基于VMware安装Ubuntu Server 22.04 下载 VMware安装 1.创建新的虚拟机 2.选择类型配置 3.虚拟机硬件兼容性 4.安装客户机操作系统 5.选择客户机操作系统 6.命名虚拟机 7.处理器配置 8.虚拟机内存…...
金融级分布式数据库如何优化?PawSQL发布OceanBase专项调优指南
前言 OceanBase数据库作为国产自主可控的分布式数据库,在金融、电商、政务等领域得到广泛应用,优化OceanBase数据库的查询性能变得愈发重要。PawSQL为OceanBase数据库提供了全方位的SQL性能优化支持,助力用户充分发挥OceanBase数据库的性能潜…...
springboot 动态线程池
在Spring Boot中,可以使用ThreadPoolTaskExecutor类来创建动态线程池。以下是一个示例: 首先,需要在配置文件中配置线程池的属性,例如最小线程数、最大线程数、线程存活时间等。可以在application.properties或application.yml中…...
【PySide6快速入门】qrc资源文件的使用
文章目录 PySide6快速入门:qrc资源文件的使用前言什么是qrc文件?qrc文件的作用: qrc文件可以干什么?如何创建qrc文件?1. 创建.qrc文件2. 使用rcc工具编译.qrc文件 如何引用qrc文件并使用资源?示例代码&…...
【creo】CREO配置快捷键方式和默认单位
了解CREO工作目录设置 设置快捷方式启动目录,就能自动加载其中的配置。 一、通过键盘快捷方式 保存配置 creo_parametric_customization.ui 文件: 二、通过映射键录制 通过这种方式可以监听鼠标的点击事件。使用键盘快捷方式无法找到需要的动作时候可…...
STM32使用VScode开发
文章目录 Makefile形式创建项目新建stm项目下载stm32cubemx新建项目IED makefile保存到本地arm gcc是编译的工具链G++配置编译Cmake +vscode +MSYS2方式bilibiliMSYS2 统一环境配置mingw32-make -> makewindows环境变量Cmake CmakeListnijia 编译输出elfCMAKE_GENERATOR查询…...
数据结构与算法再探(六)动态规划
目录 动态规划 (Dynamic Programming, DP) 动态规划的基本思想 动态规划的核心概念 动态规划的实现步骤 动态规划实例 1、爬楼梯 c 递归(超时)需要使用记忆化递归 循环 2、打家劫舍 3、最小路径和 4、完全平方数 5、最长公共子序列 6、0-1背…...
企业级离线OCR深度解析:5大策略实现高性能文字识别
企业级离线OCR深度解析:5大策略实现高性能文字识别 【免费下载链接】Umi-OCR OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二维码。内置多国语言库…...
FinalBurn Neo技术指南:现代设备复刻街机厅沉浸体验全攻略
FinalBurn Neo技术指南:现代设备复刻街机厅沉浸体验全攻略 【免费下载链接】FBNeo FinalBurn Neo - We are Team FBNeo. 项目地址: https://gitcode.com/gh_mirrors/fb/FBNeo 如何在现代设备上复刻街机厅的沉浸体验?FinalBurn Neo(FBN…...
Comsol锂离子电池热管理模型
Comsol锂离子电池热管理模型 电化学热耦合模型: 风冷换热方形电池 绝热软包电池 石蜡相变换热圆柱电池模型 21700圆柱电池热失控模型(附带说明文档)一、引言随着电动汽车、储能系统等领域的快速发展,锂离子电池的应用越来越广泛。…...
建筑物缺陷分割图像识别
建筑物缺陷分割图像识别 README 项目概述 建筑物缺陷分割数据集分析数据概览关键信息总数量5213张图像,涵盖类别:裂缝、剥落、锈蚀、污渍数据集数量5200数据集格式YoloVOC;应用价值:支持建筑物缺陷自动分割与识别,用于…...
Ant Design X:AI赋能前端开发的革命性工具
1. Ant Design X:当设计系统遇上AI会发生什么? 第一次听说Ant Design X时,我正在为一个电商项目焦头烂额地调试聊天机器人组件。传统方案需要自己对接NLP服务、处理对话状态、设计交互逻辑...直到同事扔给我一个链接:"试试这…...
告别教材下载烦恼:国家中小学智慧教育平台电子课本解析工具如何实现3分钟高效获取
告别教材下载烦恼:国家中小学智慧教育平台电子课本解析工具如何实现3分钟高效获取 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具,帮助您从智慧教育平台中获取电子课本的 PDF 文件网址并进行下载,让您更方便地…...
软考软件评测师备考避坑指南:过来人告诉你这5个章节最容易丢分(附2024最新考纲解析)
软考软件评测师备考避坑指南:5个高频失分章节深度解析 第一次打开软件评测师考纲时,我盯着密密麻麻的知识点列表发愣——这哪是考试大纲,分明是软件工程领域的百科全书。作为经历过三次备考最终以87分通过的老考生,我深刻理解那种…...
杨立昆新模型杀疯了,1500万参数单GPU就能碾压大厂?
就在前几天,AI教父、图灵奖得主杨立昆刚发了个新模型,名叫LeWorldModel,论文一发出,整个圈子瞬间炸锅。说出来你们可能都不信——这货只有1500万参数,单块GPU几个小时就能训完,随便一个研究者都拉起来跑一遍…...
Ubuntu下ibus输入法全拼与双拼切换疑难解析+VNC远程输入法同步失效解决方案
1. 全拼与双拼模式切换问题解析 第一次在Ubuntu上使用ibus输入法时,很多人会发现输入"zhong"却出现"zang ong"这样的错误候选词。这其实是因为ibus默认启用了双拼模式,而大多数用户更习惯使用全拼输入。双拼模式要求每个汉字只需输…...
当条形图遇上极坐标:径向与圆形条形图的视觉革命
1. 设计原理这两种图表把传统的笛卡尔坐标系换成极坐标系:角度表示类别,半径或角度长度表示数值。1.1. 径向条形图径向条形图本质上是将传统条形图的直角坐标系转换为极坐标系。在极坐标系中,每个数据点不再由(x, y)定位,而是由(角…...
