当前位置:网站首页 > R语言数据分析 > 正文

resnet50网络结构代码(resnet50 结构)



Resnet50的代码不是由笔者编写,笔者只对代码进行讲解,方便后续使用。原作者博客链接。 为了节省篇幅这里不贴出代码,请访问原作者GitHub查看代码。

在阅读本博客前请先了解残差网络的结构和原理,推荐博客。

resnet50 结构详解 resnet50代码详解_resnet50 结构详解

resnet50 结构详解 resnet50代码详解_深度学习_02

从图中可以看到,Identity Block的输出和输入必须是有相同的形状(不然残差边和input不能相加),这导致卷积提取到的特征长、宽和维度不能发生变化,而Conv Block在残差边加入了卷积操作,可以对输入矩阵的形状进行调整,使得残差边和卷积可以进行相加。

resnet50 结构详解 resnet50代码详解_深度学习_03

:在的外围进行padding=0的填充,填充数量为3个像素点,最后得到的维度为224+3*2 = 230,所以x的维度为230,230,3。

输入图像的尺寸为[224, 224, 3],经过简单的卷积和池化操作后形状变为[56, 56, 64]。接下来,就是ResNet50网络的重点,Conv BlockIdentity Block。下面我们分别以第一次使用Conv Block和Identity Block为例,讲解这两个模块内部是如何操作的。

关于卷积与池化操作时的维度变化可以参考我之前的博客,在这里不做过多赘述,维度变化信息我写在了代码里。

Conv Block模块代码如下:

第一次调用Conv Block输入的维度为x.shape = [56, 56, 64],传入的参数为:
x = conv_block(x, 3, [64, 64, 256], stage=2, block=‘a’, strides=(1, 1))
则Conv Block内:
kernel_szie = 3
filter1 = 64
filter2 = 64
filter3 = 256
strides = (1,1)
stage和block是用来命名确定该层位置的参数。

为了便于查看,以下函数都直接将参数填入

  • 命名
  • 该模块内的第一次卷积操作
  • 该模块内的第二次卷积操作
  • 该模块内的第三次卷积操作

conv: [56, 56, 64] ==> [56, 56, 256], name = ‘res2a_branch2c’
BatchNor:形状不发生变化,name = ‘bn2a_branch2c’
输出矩阵的大小最终又回到了[56, 56, 256]

  • 残差边

conv: [56, 56, 64] ==> [56, 56, 256], name = ‘res2a_branch1’
BatchNor: 形状不变, name = ‘bn2a_branch1’
最终残差边的输出[56, 56, 256]和卷积层的输出[56, 56, 256]相加,经激活函数后输出。这一个Conv Block的输入和输出形状没有发生变化。

第一次输入的维度为x.shape = [56, 56, 256],传入的参数为:
x = identity_block(x, 3, [64, 64, 256], stage=2, block=‘b’)
则Conv Block内:
kernel_szie = 3
filter1 = 64
filter2 = 64
filter3 = 256
stage和block是用来命名确定该层位置的参数。

为了便于查看,以下函数都直接将参数填入

  • 命名
  • 该模块内的第一次卷积
  • 该模块内的第二次卷积
  • 该模块内的第三次卷积
  • 残差边
    Identity Block模块残差边不进行任何操作,将第三次卷积后的结果与输入相加,然后经过激活函数即得到输出结果。

ResNet50模型就是将很多个Conv Block和Identity Block进行堆叠,最后得到的输出矩阵大小为[7, 7, 2048],对该矩阵使用kernel_size为7的pooling即可将矩阵变为1维,接着节Dense层进行分类预测。

到此这篇resnet50网络结构代码(resnet50 结构)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • aw是什么软件(awr是什么软件)2025-04-11 17:36:09
  • yuv422和rgb哪个好(yuv422和rgb的区别)2025-04-11 17:36:09
  • aurocean什么档次(aurora什么品牌)2025-04-11 17:36:09
  • wifipr字典(wifi 字典)2025-04-11 17:36:09
  • ueditor教程(ueditor demo)2025-04-11 17:36:09
  • redhat价格(redhat 收费)2025-04-11 17:36:09
  • aurora是哪个国家的品牌(auroral是什么品牌)2025-04-11 17:36:09
  • resnet模型结构图(resnet 结构)2025-04-11 17:36:09
  • oracle查看锁表语句(oracle查看锁表原因)2025-04-11 17:36:09
  • ov turbo内存卡(ov内存卡是杂牌吗)2025-04-11 17:36:09
  • 全屏图片