文章目录

  • 前言
  • 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 =4growth_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相关推荐

  1. yolov4源码_YOLOv4特征提取网络——CSPDarkNet结构解析及PyTorch实现

    1 YOLOv4目标检测模型 自从Redmon说他不在更新YOLO系列之后,我一度以为这么好用的框架就要慢慢淡入历史了,事实是我多虑了.YOLOv4在使用YOLO Loss的基础上,使用了新的back ...

  2. 【YOLOV4】(7) 特征提取网络代码复现(CSPDarknet53+SPP+PANet+Head),附Tensorflow完整代码

    各位同学好,今天和大家分享一下如何使用 TensorFlow 构建YOLOV4目标检测算法的特征提取网络. 完整代码在我的Gitee中,有需要的自取:https://gitee.com/dgvv4/y ...

  3. 基于并行附加特征提取网络的SSD地面小目标检测模型

    人工智能技术与咨询 来源:<电子学报> ,作者李宝奇等 摘 要: 针对SSD原始附加特征提取网络(Original Additional Feature Extraction Networ ...

  4. 小白入门计算机视觉系列——ReID(二):baseline构建:基于PyTorch的全局特征提取网络(Finetune ResNet50+tricks)

    ReID(二):baseline构建:基于PyTorch的全局特征提取网络(Finetune ResNet50+tricks) 本次带来的是计算机视觉中比较热门的重点的一块,行人重识别(也叫Perso ...

  5. YOLOX加强特征提取网络Panet分析

    在上一篇文章中,分享了YOLOX的CSPDarknet网络,详见YOLOX backbone--CSPDarknet的实现 在CSPDarknet中,有三个层次的输出, 分别是dark5(20x20x ...

  6. Attention is all your need 谷歌的超强特征提取网络——Transformer

    过年放了七天假,每年第一件事就是立一个flag--希望今年除了能够将技术学扎实之外,还希望能够将所学能够用来造福社会,好像flag立得有点大了.没关系,套用一句电影台词为自己开脱一下--人没有梦想,和 ...

  7. 深度学习核心技术精讲100篇(十一)-Google利器超强特征提取网络(Transformer)

    前言 谷歌于2017年提出 Transformer网络架构,此网络一经推出就引爆学术界.目前,在NLP领域,Transformer模型被认为是比CNN,RNN都要更强的特征提取器. Transform ...

  8. 损失函数及特征提取网络

    损失函数 Faster Rcnn损失函数:https://blog.csdn.net/Mr_health/article/details/84970776 SSD损失函数:https://www.cn ...

  9. 使用特异性特征提取网络辅助分类任务

    让r=a 2a=r0 这样就能将上面的方程简化为r0**2(1-O)=0 直接使用激活函数将网络输出O范围归一化为0-1之间. 将每个类别使用这个函数的不同r0进行计算加到一起进行反向传播 为了每个类 ...

最新文章

  1. break, continue, goto, return语句详解
  2. EXCEL-常用函数总结
  3. 003_Color色彩
  4. 数据挖掘 —— 无监督学习(关联)
  5. java冒泡排序算法代码降序_冒泡排序(起泡排序)算法及其C语言实现
  6. [XSY3383]多线程(笛卡尔树,DP)
  7. php找不到phpmyadmin,phpMyAdmin 安装配置方法和问题解决
  8. AWS再迎大师加盟:Java之父James Gosling决定效力
  9. python列表框_Python列表框
  10. 随想录(单片机和步进电机学习笔记)
  11. Office文件嵌入特殊字体
  12. PAT 乙级 1008. 数组元素循环右移问题 (20) Java版
  13. react轮播图插件_React 基础面试题 - 和你随便聊聊 React
  14. VCL组件DevExpress VCL v21.2 - PDF Viewer、图像列表编辑器升级
  15. element-ui校验表单只能输入数字
  16. 使用Docker一键部署MongoDB
  17. 【IoT】战略规划管理:BLM模型连载三之进化篇
  18. 前端一键换肤换肤简单探索
  19. 将figma的设计图上传到蓝湖
  20. python音频 降噪_从视频中提取音频数据,然后应用傅里叶对音频降噪(python)...

热门文章

  1. Win10 ssh远程关机
  2. 【深度】关于互联网广告的思考
  3. COM编程之三 QueryInterface
  4. word python_word_python
  5. 【亲子手工】创建圣诞镇
  6. 在win10环境下安装vmware软件后没有vmnet1、vmnet8虚拟网卡义
  7. 3DMax用的啥子语言?英文还是中文,到底哪个更好?
  8. linux复制整个内容快捷键,linux复制快捷键_Linux系统快捷键最全合集
  9. Manjaro配置攻略
  10. VBox 下win10 不能调节分辨率问题