特征提取网络之Densnet
文章目录
- 前言
- 1.网络结构
- 2.结构解析
- 3.优点
前言
记录下Densnet
论文地址:https://arxiv.org/pdf/1608.06993.pdf
1.网络结构
和resnet结构类似,output size表示输出分辨率大小,res2net121前面几层输入输出通道数对应resnet50,最后一层为输出还是1024。前面经过一个7x7卷积(带有BN+relu)+最大池化。后面输出C2,C3,C4,C5.layers那列每层下的小括号里的数字表示层卷积的步长。
2.结构解析
对于后面的输出C2,C3,C4,C5通道数。输入3维,经过conv1+pool,变为
残差块(拼接不是相加)
bn_size =4,growth_rate=32
class _DenseBlock(nn.Sequential):def __init__(self, num_layers, num_input_features, bn_size, growth_rate, drop_rate):super(_DenseBlock, self).__init__()for i in range(num_layers):layer = _DenseLayer(num_input_features + i * growth_rate, growth_rate, bn_size, drop_rate)self.add_module('denselayer%d' % (i + 1), layer) #往module里加模块
num_input_features = 输入通道+i * growth_rate
残差块组成:由代码可知,一个BN+Relu+1x1卷积,一个BN+Relu+3x3卷积。注意步长根据上面的结构图变化。
class _DenseLayer(nn.Sequential):def __init__(self, num_input_features, growth_rate, bn_size, drop_rate):super(_DenseLayer, self).__init__()self.add_module('norm1', nn.BatchNorm2d(num_input_features)),self.add_module('relu1', nn.ReLU(inplace=True)),self.add_module('conv1', nn.Conv2d(num_input_features, bn_size *growth_rate, kernel_size=1, stride=1, bias=False)), #num_input_features=输入通道*() self.add_module('norm2', nn.BatchNorm2d(bn_size * growth_rate)),self.add_module('relu2', nn.ReLU(inplace=True)),self.add_module('conv2', nn.Conv2d(bn_size * growth_rate, growth_rate, # 128-32kernel_size=3, stride=1, padding=1, bias=False)),self.drop_rate = drop_ratedef forward(self, x):new_features = super(_DenseLayer, self).forward(x)if self.drop_rate > 0:new_features = F.dropout(new_features, p=self.drop_rate, training=self.training)return torch.cat([x, new_features], 1) #[64,32],[96,32]
Transition Layer层:一个BN+Relu+1x1卷积(压缩通道,减少一半),一个kernel_size=2的AvgPool2d(下采样,降低分辨率)。
class _Transition(nn.Sequential):def __init__(self, num_input_features, num_output_features, filter_size=1):super(_Transition, self).__init__()self.add_module('norm', nn.BatchNorm2d(num_input_features))self.add_module('relu', nn.ReLU(inplace=True))self.add_module('conv', nn.Conv2d(num_input_features, num_output_features,kernel_size=1, stride=1, bias=False))self.add_module('pool', nn.AvgPool2d(kernel_size=2, stride=2))
3.优点
(1) 相比ResNet拥有更少的参数数量.
(2) 旁路加强了特征的重用.
(3) 网络更易于训练,并具有一定的正则效果.
(4) 缓解了gradient vanishing和model degradation的问题.
特征提取网络之Densnet相关推荐
- yolov4源码_YOLOv4特征提取网络——CSPDarkNet结构解析及PyTorch实现
1 YOLOv4目标检测模型 自从Redmon说他不在更新YOLO系列之后,我一度以为这么好用的框架就要慢慢淡入历史了,事实是我多虑了.YOLOv4在使用YOLO Loss的基础上,使用了新的back ...
- 【YOLOV4】(7) 特征提取网络代码复现(CSPDarknet53+SPP+PANet+Head),附Tensorflow完整代码
各位同学好,今天和大家分享一下如何使用 TensorFlow 构建YOLOV4目标检测算法的特征提取网络. 完整代码在我的Gitee中,有需要的自取:https://gitee.com/dgvv4/y ...
- 基于并行附加特征提取网络的SSD地面小目标检测模型
人工智能技术与咨询 来源:<电子学报> ,作者李宝奇等 摘 要: 针对SSD原始附加特征提取网络(Original Additional Feature Extraction Networ ...
- 小白入门计算机视觉系列——ReID(二):baseline构建:基于PyTorch的全局特征提取网络(Finetune ResNet50+tricks)
ReID(二):baseline构建:基于PyTorch的全局特征提取网络(Finetune ResNet50+tricks) 本次带来的是计算机视觉中比较热门的重点的一块,行人重识别(也叫Perso ...
- YOLOX加强特征提取网络Panet分析
在上一篇文章中,分享了YOLOX的CSPDarknet网络,详见YOLOX backbone--CSPDarknet的实现 在CSPDarknet中,有三个层次的输出, 分别是dark5(20x20x ...
- Attention is all your need 谷歌的超强特征提取网络——Transformer
过年放了七天假,每年第一件事就是立一个flag--希望今年除了能够将技术学扎实之外,还希望能够将所学能够用来造福社会,好像flag立得有点大了.没关系,套用一句电影台词为自己开脱一下--人没有梦想,和 ...
- 深度学习核心技术精讲100篇(十一)-Google利器超强特征提取网络(Transformer)
前言 谷歌于2017年提出 Transformer网络架构,此网络一经推出就引爆学术界.目前,在NLP领域,Transformer模型被认为是比CNN,RNN都要更强的特征提取器. Transform ...
- 损失函数及特征提取网络
损失函数 Faster Rcnn损失函数:https://blog.csdn.net/Mr_health/article/details/84970776 SSD损失函数:https://www.cn ...
- 使用特异性特征提取网络辅助分类任务
让r=a 2a=r0 这样就能将上面的方程简化为r0**2(1-O)=0 直接使用激活函数将网络输出O范围归一化为0-1之间. 将每个类别使用这个函数的不同r0进行计算加到一起进行反向传播 为了每个类 ...
最新文章
- break, continue, goto, return语句详解
- EXCEL-常用函数总结
- 003_Color色彩
- 数据挖掘 —— 无监督学习(关联)
- java冒泡排序算法代码降序_冒泡排序(起泡排序)算法及其C语言实现
- [XSY3383]多线程(笛卡尔树,DP)
- php找不到phpmyadmin,phpMyAdmin 安装配置方法和问题解决
- AWS再迎大师加盟:Java之父James Gosling决定效力
- python列表框_Python列表框
- 随想录(单片机和步进电机学习笔记)
- Office文件嵌入特殊字体
- PAT 乙级 1008. 数组元素循环右移问题 (20) Java版
- react轮播图插件_React 基础面试题 - 和你随便聊聊 React
- VCL组件DevExpress VCL v21.2 - PDF Viewer、图像列表编辑器升级
- element-ui校验表单只能输入数字
- 使用Docker一键部署MongoDB
- 【IoT】战略规划管理:BLM模型连载三之进化篇
- 前端一键换肤换肤简单探索
- 将figma的设计图上传到蓝湖
- python音频 降噪_从视频中提取音频数据,然后应用傅里叶对音频降噪(python)...