50、实战 - 利用 conv + bn + relu + add 写一个残差结构

上一节介绍了残差结构,还不清楚的同学可以返回上一节继续阅读。

到了这里,一个残差结构需要的算法基本都介绍完了,至少在 Resnet 这种神经网络中的残差结构是这样的。

本节我们做一个实战,基于之前几节中手写的 conv / bn 算法,来搭建一个残差结构。其中,relu 的实现和 add 的实现很简单。

relu 算法的实现用 python 来写就一行:

def ComputeReluLayer(img):res = np.maximum(0, img)return res

其中 img 是 relu 的输入数据,取输入数据和零的最大值即可, res 就是经过 relu 激活的结果。

而加法节点的实现就更简单,在 python 中就一个加法操作符就可以完成。

残差结构图

先看一下 resnet 中的残差结构图,在resnet50中,有两种残差结构,一种是如下的结构。

图中红框标注的是其中一种残差结构,这个结构的特点是左侧分支有3个卷积,每个卷积后面有一个 relu 激活函数。

你可能会问,左侧最后的一个卷积后面没有 relu 啊,这是因为左侧最后的一个卷积会和右侧的一个卷积相加,加完之后的结果再做 relu,实际上也相当于卷积后面都会有个relu。只要在卷积后面有一个 relu 激活函数,

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/318316.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

StratifiedGroupKFold解释和代码实现

StratifiedGroupKFold解释和代码实现 文章目录 一、StratifiedGroupKFold解释和代码实现是什么?二、 实验数据设置2.1 实验数据生成代码2.2 代码结果 三、实验代码3.1 实验代码3.2 实验结果3.3 结果解释 四、样本类别类别不平衡 一、StratifiedGroupKFold解释和代码…

AUTOSAR软件架构描述文档,AUTOSAR_EXP_LayeredSoftwareArchitecture

AUTOSAR软件架构描述文档,我们常见的经典的CP架构及OS双核等架构描述 下载链接:https://www.autosar.org/fileadmin/standards/R21-11/CP/AUTOSAR_EXP_LayeredSoftwareArchitecture.pdf

每日一练:LeeCode-503. 下一个更大元素 II (中)【单调栈】

本文是力扣LeeCode-503. 下一个更大元素 II 学习与理解过程,本文仅做学习之用,对本题感兴趣的小伙伴可以出门左拐LeeCode。 给定一个循环数组 nums ( nums[nums.length - 1] 的下一个元素是 nums[0] ),返回 nums 中每个…

【hyperledger-fabric】部署和安装

简介 对hyperledger-fabric进行安装,话不多说,直接开干。但是需要申明一点,也就是本文章全程是开着加速器进行的资源操作,所以对于没有开加速器的情况可能会由于网络原因导致下载资源失败。 资料提供 1.官方部署文档在此&#…

动手学深度学习一:环境安装与数据学习

2024,重新开始深度学习。 第一步:李沐动手学深度学习 课程网址:https://courses.d2l.ai/zh-v2/ 包含教材和视频网址链接 Jupyter notebook安装 目前在本地先使用cpu版本pytorch,我的本地已经安装好conda,跟着教材创建…

闭着眼睛都要会的Linux命令

😄作者简介: 小曾同学.com,一个致力于测试开发的博主⛽️,主要职责:测试开发、CI/CD 如果文章知识点有错误的地方,还请大家指正,让我们一起学习,一起进步。 😊 座右铭:不…

互联网加竞赛 Yolov安全帽佩戴检测 危险区域进入检测 - 深度学习 opencv

1 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 Yolov安全帽佩戴检测 危险区域进入检测 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分工作量:3分创新点:4分 该项目较为新颖&am…

从零开始了解大数据(七):总结

系列文章目录 从零开始了解大数据(一):数据分析入门篇-CSDN博客 从零开始了解大数据(二):Hadoop篇-CSDN博客 从零开始了解大数据(三):HDFS分布式文件系统篇-CSDN博客 从零开始了解大数据(四):MapReduce篇-CSDN博客 从零开始了解大…

1_并发编程_线程的基本概念和线程终止及线程问题排查

1.线程的运行状态 在Java中,线程的状态一共是6种状态,分别是 NEW:初始状态,线程被构建,但是还没有调用start方法 RUNNABLED:运行状态,JAVA线程把操作系统中的就绪和运行两种状态统一称为“运行…

c++day6

vector容器主要的功能函数&#xff1a; #include <iostream> #include <vector> using namespace std;int main() {//无参构造vector <int> v1;//有参构造vector <int> v2(5,99);//判空cout<<v1.empty()<<endl;//1cout<<v2.empty()…

c++编程要养成的好习惯

1、缩进 你说有缩进看的清楚还是没缩进看的清楚 2、i和i i运行起来和i更快 3、 n%20和n&1 不要再用n%20来判断n是不是偶数了&#xff0c;又慢又土&#xff0c;用n&10&#xff0c;如果n&10就说明n是偶数 同理&#xff0c;n&11说明n是奇数 4、*2和<<…

uniapp选择android非图片文件的方案踩坑记录

这个简单的问题我遇到下面6大坑&#xff0c;原始需求是选择app如android的excel然后读取到页面并上传表格数据json 先看看效果 uniapp 选择app excel文件读取 1.uniapp自带不支持 uniapp选择图片和视频非常方便自带已经支持可以直接上传和读取 但是选择word excel的时候就出现…