ConvNeXt网络模型

ConvNeXt架构详解 ConvNeXt 是一种现代化的卷积神经网络架构,结合了 ResNet 的经典设计和 Vision Transformer 的创新元素。通过一系列巧妙的调整和优化,ConvNeXt 证明了卷积网络在处理视觉任务时依然可以与 Transformer 相媲美,甚至在某些场景下有更好的计算效率和性能表现。 阅读详情

ConvNeXt网络模型

在这里插入图片描述
在这里插入图片描述

目录

一、理论知识

二、pytorch实现convnext

正文:

一、理论知识

1.对transformer的所有嫁接全部用在convnext上面
2.去papers with code上找方法中的的transformer的论文,把他们的设计论文全部拿过来自己弄一个
3.可以把convnext对于transformer的模仿用在其他网络模型上面
4.convnext作者谈到:更好的训练的策略和技术使得transfoemer效果更好
5.以swin-transformer的训练方法,训练别的网络
6.作者将resnet50的模块数3.4.6.3改为3.3.9.3
7.更换stem
在这里插入图片描述

组卷积数和输入特征矩阵的通道数一样
在这里插入图片描述
在这里插入图片描述
但是上面的改进使得正确率下降了,之后便模仿transformer增加输入特征矩阵的通道数,增加输入通道数后,正确率提升了。

将模块改变成中间大,两头小的模型(resnet就是两头大,中间小的瓶颈结构)
在这里插入图片描述
10.,
将depthwise conv上移,把两个11的卷积核移动到第二和第三的位置,之前在第一和第三的位置,这也就实现了,中间粗,两头细,
11.
并且最大卷积核的大小为77的,77卷积核的大小和transformer的窗口大小一样。
12.
把下采样改变成2*2卷积核,步长为2的卷积层
13.
在papers with code的视觉模块中找到使用transformer的论文,寻找使用pytorch写的代码,将transformer替换成convnext
14.
在方法中直接找transformer相关的论文,把transformer替换成convnext
15.把也就是视觉模块中的任务中的所有网络模型,换成convnext,所有图片处理论文中,只要是没有使用到transformer的,全部换成convNEXt。
16.
后面有时间再做transformer出来图片分类,识别等的任务
在这里插入图片描述
在这里插入图片描述

二、pytorch实现convnext

ConvNeXt自己重写了LayerNorm方法,pytorch官方的代码默认是从最后一个维度进开始做normalization。但是ConvNeXt是对channels维度进行normalization处理的。如果channels维度是放在最后面的,就可以直接使用官方的normalization代码,但是如果channels维度不是放在最后的话,就不能直接去使用了。
2.
在这里插入图片描述
3.
在这里插入图片描述
4.
在这里插入图片描述
5.
下面的代码实现的是图中1*1的卷积层
在这里插入图片描述
在这里插入图片描述
.6.
layer scale是通过gamma实现的
在这里插入图片描述
它的元素个数是和输入特征矩阵的channels相同的
在这里插入图片描述
7.

在这里插入图片描述
8.
调整通道顺序,把channels调整到最后面去。当channels在在最后时,就可以直接使用我们搭建的norm层了

在这里插入图片描述
默认搭建的norm层是channels_last格式
在这里插入图片描述

对每个通道的数据进行缩放
在这里插入图片描述
10.
还原通道顺序
在这里插入图片描述
11.
在这里插入图片描述
在这里插入图片描述
12.
在这里插入图片描述
13.
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
14.

保存每一个stage保存的block
在这里插入图片描述
15.
初始值是0,最终值是我们传入的drop_path_rate,总共有sum(depths)个数,也就是把depths相加。
。在这里插入图片描述
这里的depths对应的是每一个block构建的次数,求和就是对所有的block求和。
在这里插入图片描述

cur是坐标
在这里插入图片描述
17.

在这里插入图片描述
在这里插入图片描述
18.
每个stage中的block都是通过之前定义好的Block类去创建一个新的block对象,然后再添加进去。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
21.
在这里插入图片描述
22.
在这里插入图片描述
在这里插入图片描述
23.
在这里插入图片描述

最后的全连接层,num_classes:需要分类的个数
在这里插入图片描述
25.
在这里插入图片描述

在这里插入图片描述
26.
i=1时
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

完成了下图的部分
在这里插入图片描述
在这里插入图片描述
28.
在倒数第一个和倒数第二个维度上求均值,其实就是H,W维度。其实就是在做global average pooling的操作,操作后就变成了N,C 格式了

在这里插入图片描述
最后再经过norm的处理,返回之后就是下面的x
在这里插入图片描述
在这里插入图片描述
29.
在这里插入图片描述
30.
在这里插入图片描述
在这里插入图片描述
31.
根据自己的数据集图片的大小自己设置
在这里插入图片描述
32.

在这里插入图片描述
33.
目录地址需要自己修改
在这里插入图片描述

在这里插入图片描述
35.
预训练权重名称在这里插入图片描述
在这里插入图片描述

default = False 训练所有的权重
default = True 冻结除全连接层的所有权重,之后的训练只会训练全连接层的权重

在这里插入图片描述

导入的模型要和训练的模型保持一致
在这里插入图片描述

你需要预测的图片的存储位置,这个图片可以是随便的一张图片,但是图片的size要和代码中的保持一致

在这里插入图片描述
39.
在预测时,会自动载入正确率最高的模型权重
在这里插入图片描述

CV中常用Backbone-2:ConvNeXt模型详解 提到的论文中可能在学术上可以提供的参考意义不大,毕竟都是拿来主义,先不管他为什么这样只要能够起到好的作用那他就是好的模型(🤪🤪🤪🤪🤪),另外一点值得注意的是在convNeXt论文出发点是:通过实验来证明Vit效果好的原因不是因为attention本身,而是因为transform的超大感受野和各种trick(我在卷积上使用Vit的操作,结果也可以实现这个效果,卷积不输你Vit! 阅读详情

相关推荐

【实验】ConvNeXt+UperNet

我的需求:复现convnext网络模型(convnext+upernet),部署到自己的框架代码中,用于遥感语义分割任务(vaihingen数据集)。

小染的学习笔记 1728

ConvNeXt网络介绍,搭建以及训练

ConvNeXt网络介绍 今年(2022)一月份,Facebook AI Research和UC Berkeley一起发表了一篇文章A ConvNet for the 2020s,在文章中提出了ConvNeXt纯卷积神经网络,它对标的是2021年非常火的Swin Transformer,通过一系列实验比对,在相同的FLOPs下,ConvNeXt相比Swin Transformer拥有更快的推理速度以及更高的准确率,在ImageNet 22K上ConvNeXt-XL达到了87.8%的准确率,参看下图。 原

博客首页 2万+

第15章:ConvNeXt图像分类实战:遥感场景分类【包含本地网页部署、迁移学习】

它通过借鉴Transformer的设计思想,对传统CNN进行了改进,使其在图像分类等任务中表现优异,甚至超越了Vision Transformers(ViT)ConvNeXt 实现的model部分代码如下面所示,这里如果采用官方预训练权重的话,会自动导入官方提供的最新版本(ImageNet)的权重。:使用更大的卷积核(如7x7)来扩大感受野,类似于Transformer中自注意力机制捕捉全局信息的能力。:借鉴MobileNetV2的倒置瓶颈设计,先扩展通道数再进行深度卷积,最后压缩通道数,提升计算效率。

Henry的博客 1908

ConvNext详解

MAE的自监督框架是,首先对图像进行随机的掩蔽,然后使用神经网络尝试重构掩蔽部分,并与原图进行对比,计算损失。

qq_52053775的博客 5777

CVPR 2022|从原理和代码详解FAIR的惊艳之作:全新的纯卷积模型ConvNeXt...

CVPR 2022|从原理和代码详解FAIR的惊艳之作:全新的纯卷积模型ConvNeXt

jacke121的专栏 4049

YOLOv5改进 | 独家创新篇 | 利用MobileNetV4的UIB模块二次创新C3(全网独家首发)

本文给大家带来的改进机制是利用的UIB模块二次创新C3其中UIB模块来自2024.5月发布的网络,其是一种高度优化的神经网络架构,专为移动设备设计。它最新的改动总结主要有两点采用了通用反向瓶颈(UIB,也就是本文利用的结构)和针对移动加速器优化的Mobile MQA注意力模块(一种全新的注意力机制)。我将其用于C3的二次创新在V5n上参数量为130W,计算量为3.3GFLOPs,非常适用于想要轻量化网络模型的读者来使用,同时本文结构为本专栏独家创新。欢迎大家订阅我的专栏一起学习YOLO!

Snu77的博客 1844

深度学习网络模型——ConvNeXt网络详解、ConvNeXt网络训练花分类数据集整体项目实现

深度学习网络模型——ConvNeXt网络详解、ConvNeXt网络训练花分类数据集整体项目实现

guoqingru0311的博客 4990

ConvNeXt:Pytorch实现

虽然ConvNeXt模型模型本身没有任何的创新,但是其对于各种各样结构的使用值得我们去思索。

走在深度学习前沿的小宋 1428

图像识别经典论文汇总(按年份排,并附论文和模型链接)

图像识别经典论文汇总

weixin_45703331的博客 8109

【软考高项】五十一、常见必会的几种进度网络图(单代号、双代号、七格图、横道图)

软考高项计算题进度网络图画图介绍

有莘不破的博客 3万+

std::map看来可以被淘汰了?可以用vector来替代,而且更好

vector的优势在于内存连续,可以先std::sort,然后std::lower_bound,或者std::binary_search。而std::map,insert的时候,需要new出内存。

tumu_C的博客 1013

10 ConvNeXt

仅是个人笔记,代码学习资源来源B站博主。

weixin_63510030的博客 574

Win10家庭版如何添加本地用户和组

在众多Windows版本中,Windows 10以其丰富的功能和卓越的性能吸引了大量用户。然而,对于使用Win10家庭版的用户来说,他们可能会遇到一些功能上的限制,特别是在用户和组管理方面。虽然家庭版在某些高级功能上有所缩减,但我们仍然可以通过一些技巧来实现对本地用户和组的管理。本文将详细介绍如何在Win10家庭版中添加本地用户和组,以便用户能够更好地管理计算机资源。

nntxthml的博客 4543

工业缺陷检测实战——磁瓦表面缺陷分类

工业缺陷检测实战——磁瓦表面缺陷分类

修行之路 1035

安卓刷Windows太难?这款手机平板双系统刷机工具,小白也能轻松拿捏!(小白福音!手机平板专用,一键搞定安卓刷 Windows 双系统!)

安卓刷Windows太难?这款手机平板双系统刷机工具,小白也能轻松拿捏!(小白福音!手机平板专用,一键搞定安卓刷 Windows 双系统!)

XiaoqiangClub的博客 4634

使用C# HslCommunication库实现三菱PLC通信(含完整代码示例)

在工业自动化开发中,上位机与PLC的通信是关键环节。HslCommunication库是一个开源的.NET工业通信库,支持三菱、西门子、欧姆龙等多个品牌PLC的通信协议。本文将演示如何通过库实现C#程序与三菱PLC的通信,并提供完整的代码示例。

StevenChen的博客 2264

CV中常用Backbone-2:ConvNeXt模型详解及其代码

提到的论文中可能在学术上可以提供的参考意义不大,毕竟都是拿来主义,先不管他为什么这样只要能够起到好的作用那他就是好的模型(🤪🤪🤪🤪🤪),另外一点值得注意的是在convNeXt论文出发点是:通过实验来证明Vit效果好的原因不是因为attention本身,而是因为transform的超大感受野和各种trick(我在卷积上使用Vit的操作,结果也可以实现这个效果,卷积不输你Vit!原创作者: Big-Yellow。

weixin_29596789的博客 163

1 四种防反接电路——multisim仿真

摘要:防反接电路可防止电源反接损坏器件,主要有四种方案:1)二极管串联(低成本,适用小电流);2)整流桥(无极性输入,但效率低);3)保险丝+稳压管(低损耗但需更换);4)MOS管方案(大电流、高效率,主流选择)。选型需考虑电流、压降和成本,MOS管因其低导通电阻(毫欧级)成为大电流应用的首选。口诀:"小电流二极管,大电流用MOS"可快速指导设计。

XU157303764的博客 1547

理解ConvNeXt网络(结合代码)

ConvNeXt网络本身没有什么亮点,全是应用的现有的方法来进行网络的调整,特别是大量细节的设计都是参考了swin transformer的网络结构的。并且ConvNeXt是以ResNet50网络为backbone来进行调整的,所以ConvNeXt的网络结构非常简单,一目了然,理解起来也是非常容易的。并且不仅精度比swin Transformer高,推理速度还快。综合来说,ConvNeXt是一个非常好的文章。这里放上我看到的一个网友对ConvNeXt网络的评价。“感觉这篇论文的思路是照着swin-

Orange_sparkle的博客 2万+

使用mid360运行lio-livox对比fast-lio2

msg_type为激光雷达发出的数据格式,有livox自定义数据类型格式CustomMsg和ros标准的PointCloud2格式,因此首先需要确定激光雷达端配置的是哪种格式。可以从激光雷达的ros驱动中看到驱动端有三种格式可以选,驱动端的数字2对应lio-livox中的1,驱动端的0对应lio-livox的格式0。如果使用的是Ubuntu18.04编译完成后运行直接成功,如果使用20.04运行会报错,需要修改以下源代码。针对livox-mid360 运行lio-livox的一些问题。

z1872385的博客 1221

智驾车载以太网(18)-switch之报文转发和vlan处理流程

本文详细解析了交换机中报文处理和转发流程:1)通过目标MAC查找转发端口,源MAC创建ARL条目;2)VLAN标签处理包括tagged/untagged帧判断、默认VID标记等5种处理方式;3)完整转发流程包含CRC校验、IQ封装、VLAN和ARL表查询、端口向量计算及优先级队列发送。文中还涉及TCAM修改VLAN、802.1q多种模式处理等细节,省略了流量控制等次要流程。该过程实现了基于MAC和VLAN的高效二层交换。

mitugaoyang1993的博客 37

32_ConvNeXt网络详解

ConvNeXt是一种计算机视觉模型,由Meta AI(前Facebook AI)的研究人员在2022年提出,它旨在探索卷积神经网络(CNN)在图像识别任务上的潜力,尤其是在与当时流行的Vision Transformer(ViT)模型相比较时。ConvNeXt设计的核心目标是结合Transformer模型中的设计理念,如大 kernel size、层归一化位置、 MLP结构等,来升级传统的卷积神经网络架构,从而在不牺牲效率的情况下,达到或超越基于Transformer的模型的性能。

技术博客 6686

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

深度 详细 理解ConvNeXt网络代码(结合代码)

使用PyTorch复现ConvNext:从Resnet到ConvNext的完整步骤详解

张齐贤的博客 5110

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

【亲测免费】 ConvNeXt 项目安装和配置指南

### 项目基础介绍 ConvNeXt 是由 Facebook AI Research (FAIR) 开发的一个卷积神经网络 (ConvNet) 模型。该项目旨在提供一个高效、准确且可扩展的卷积网络模型,适用于各种计算机视觉任务,如图像分类、目标检测和语义分割。ConvNeXt 模型完全基于标准的卷积网络模块构建,设计简单且易于使用。 ### 主要编程语言 该项目主要使用 Python 编程语言...

gitblog_09571的博客 634

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

【网络结构设计】8、ConvNeXt | 卷积神经网络还有很大的优化空间

文章目录一、背景二、方法2.1 训练方法2.2 宏观设计2.3 ResNeXt-ify:79.5%→80.5%2.4 Inverted Bottleneck: 80.5%→80.6%2.5 Large Kernel Sizes2.6 微观设计三、实验五、结论 论文链接:https://arxiv.org/pdf/2201.03545.pdf 代码链接:https://github.com/facebookresearch/ConvNeXt 一、背景 2020年出现了 ViT,是基于 Transformer

呆呆的猫的博客 6583
上一篇: pytorch 基础知识2.0
下一篇: CIFAR10图像识别
QT-Smile
博客等级 码龄11年 4万+粉丝 548原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值