ResNet网络

ResNet网络

一.手写ResNet网络

(1)对于残差块有两种:

1.有1*1卷积层

Y=Y+conv_1x1(X)

2.无1*1卷积层

Y=Y+X

image

(2)整体ResNet架构

image

import torch
from d2l import torch as d2l
from torch import nn
from torch.nn import functional as F
#1.单个ResNet块(残差块)
class Residual(nn.Module):#每个残差快包含两个卷积层def __init__(self,in_chanels,out_chanels,use_1x1convd=False,strides=1):super().__init__()if use_1x1convd==True:#用了1*1卷积层self.conv1x1=nn.Conv2d(in_chanels,out_chanels,1,stride=strides)else:self.conv1x1 =None#没用1*1卷积层#卷积层self.convd1=nn.Conv2d(in_chanels,out_chanels,3,padding=1,stride=strides)self.convd2=nn.Conv2d(out_chanels,out_chanels,3,padding=1)#批量归一化层self.bn1=nn.BatchNorm2d(out_chanels)self.bn2=nn.BatchNorm2d(out_chanels)def forward(self,X):#前向函数Y=F.relu(self.bn1(self.convd1(X)))Y=self.bn2(self.convd2(Y))if self.conv1x1 is not None:X=self.conv1x1(X)Y=Y+Xreturn F.relu(Y)
#ResNet网络构造(有5个stage)
b1=nn.Sequential(nn.Conv2d(1,64,7,2,3),nn.BatchNorm2d(64),nn.ReLU(),nn.MaxPool2d(3,2,1)
)
#多个残差块连接
def resnet_block(in_chanels,outchanels,num_residuals,first_block=False):#残差块数blk=[]for i in range(num_residuals):if i==0 and first_block==False:#通道数*2,高宽减半blk.append(Residual(in_chanels,outchanels,use_1x1convd=True,strides=2))else:blk.append(Residual(outchanels,outchanels))#通道数不变,高宽不变return blk
b2=nn.Sequential(*resnet_block(64,64,2,first_block=True)#通道数不变,高宽不变
)
#下面几步的第一块都要通道数*2
b3=nn.Sequential(*resnet_block(64,128,2)
)
b4=nn.Sequential(*resnet_block(128,256,2 )
)
b5=nn.Sequential(*resnet_block(256,512,2)
)
net=nn.Sequential(b1,b2,b3,b4,b5,nn.AdaptiveAvgPool2d((1,1)),#表示输出特征图的空间尺寸为 1x1(即高 = 1,宽 = 1)。例如:若输入是 (512, 7, 7)(通道数 = 512,高 = 7,宽 = 7),经过该层后会输出 (512, 1, 1)。若输入是 (512, 14, 14),输出仍为 (512, 1, 1)。nn.Flatten(),nn.Linear(512,10)
)
X=torch.rand((1,1,224,224))
for layer in net:X=layer(X)print(layer.__class__.__name__,X.shape)

 

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

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

相关文章

复旦附中英语期中考卷错题分析

错题共13道 1.不知道dream to do是口语化用法,所以选了此选项 2.不知道expectation后面加不同介词的用法,expectation of+具体期望的内容,expectation for+对某人的期望 3.现在完成进行时语法没完全学完 4.状语从句…

expectation后面的固定搭配

1. expectation of Expectation of用于强调对某事物或某结果的预期,通常后接具体期望的内容,如名词或动名词。例如:There is a high expectation of success in this project. 这句话表达了对项目成功的高期望。 2.…

079_尚硅谷_双分支基本使用

079_尚硅谷_双分支基本使用1.双分支的基本语法 2.双分支的基本语法案例

【转】[C#] .net core 项目的目标框架设置

【转】[C#] .net core 项目的目标框架设置转自:https://learn.microsoft.com/zh-cn/dotnet/standard/frameworks 点图中 目标框架 旁边的问号,在微软官网看到了这个枚举:支持的目标框架目标框架通常被简称为 TFM。 …

nextcloud安装部署与升级

记一次nextcloud安装部署与升级的详细步骤。nextcloud 安装部署升级Nextcloud 是一款开源的私有云存储与协作平台,它不仅可以在本地或私有服务器上搭建,还能提供文件同步、共享、WebDAV、在线协作、日历、通讯录甚至…

2025 年切纸机厂家最新推荐榜,技术实力与市场口碑深度解析双蜗轮/程控/液压/大型切纸机厂家推荐

引言在印刷、包装等行业高速发展的当下,切纸机作为核心生产设备,其性能直接决定生产效率与产品品质。当前国内切纸机市场规模已达 26.03 亿元,企业数量近 50 家,但市场格局呈现 “新旧并存、优劣混杂” 的特点。部…

2025 年不锈钢板厂家最新推荐排行榜:聚焦头部企业竞争优势与选购要点解析

在当前不锈钢市场中,厂商数量繁杂且实力差距显著,采购者常面临产品质量不稳定、技术难以满足高端需求、交货延迟、服务不完善等问题,尤其在新能源、高端制造、海洋工程等领域,对不锈钢材料的要求更为严苛,选择可靠…

14 抽象类的介绍

14 抽象类的介绍抽象类 定义 用abstract修饰的类 public abstract class Milo{//约束public abstract void help();#让别人帮忙实现#只有方法名,没有方法实现#里面也可以有正常类拥有的普通方法#但抽象方法必须在抽象类…

2025 年台球桌厂家最新推荐榜,技术实力与市场口碑深度解析

引言随着台球运动在国内的普及,台球桌市场呈现爆发式增长,大小品牌鱼龙混杂,给消费者与采购方带来严峻的选择难题。部分品牌为压缩成本,采用劣质石板、低质台呢及未处理框架,导致台面易变形、击球轨迹偏移、设备寿…

详细介绍:ET2B08-0F65-EBD7多路电子切换开关芯片SOP-8单按键开关控制芯片

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

在运维工作中,在k8s集群使用命令查看etcd集群状态

在 Kubernetes (k8s) 集群中,etcd 是集群的核心键值存储,用于保存所有集群数据(如 Pod、Node、Service 状态等)。要检查 etcd 集群的健康状态,通常需要直接访问运行 etcd 的控制平面节点,因为 etcd 一般不对外暴…

还在发愁怎么配置VSCode?一篇文章教会你!

适合 OIer 的 VSCode 配置方法注:或许该文章更加适合算法竞赛选手,本文章推荐的配置方法比较偏向于算法竞赛选手风格。并且,Win7 及以下的用户请跳过,因为这不适用于 Win7 及以下版本。 由于算法竞赛常用语言为 c+…

鸿蒙设备开发-环境搭建

正在施工 说明 从gitee上直接搜索harmony即可,里面有快速入门的资料。 doc仓库里面。搭建的话,肯定是全量的标准系统。一个是IDE入门,一个是命令行入门,肯定是命令行入门了。 环境搭建 我用的服务器是 40核80线程 …

git使用手册

一、git常用命令 1、初始化配置 初始化本地仓库:git init 克隆远程仓库到本地:git clone <仓库URL> 设置全局用户名:git config --global user.name "your name" 设置全局邮箱:git config --globa…

常见的动态规划模型的初始化总结

一直都搞不太明白动态规划的初始化,所以开个博客总结一下。背包模型 设 \(f_{i, j}\) 为:以前 \(i\) 个物品,———— 求方案数 二维体积至多为 \(j\):\(f_{0,i}=1,0 \le i \le m\),其余为 \(0\)。 体积恰好为 \(…

GCD Tables

https://www.luogu.com.cn/problem/CF582A 这道题的核心做法是从大到小来算; 因为gcd(a,b)<=min(a,b),所以最大的数一定是序列中的数,现在看第二大的数:也必须是序列中的,第三大的:如果我们把两个 gcd(x,k) 都…

星际争霸1 EUD漏洞利用技术解析

本文详细分析了星际争霸1中Extended Unit Death(EUD)漏洞的技术原理,展示了如何利用该漏洞实现远程代码执行,包括内存布局分析、ROP链构建和shellcode注入等完整攻击链。利用星际争霸1 EUD漏洞 星际争霸(1998年发布…

实现更公平的机器学习技术探索

本文探讨了通过经验风险最小化理论实现更公平机器学习模型的三种技术方法,包括预处理、后处理和过程中处理,分析了在回归任务和深度学习中的应用,并提出了基于Wasserstein重心和分布距离度量的公平性改进方案。迈向…

TexSmart 文档处理器

TexSmart 文档处理器,自用工具@media only screen { #comment_form.commentform, #cnblogs_post_body::after, #footer, .postDesc, .esa-toolbar, .esa-contents, #blog_post_info_block, #blog-comments-place…

连续函数

连续函数1.基本定义 定义:设 \(f(x)\) 在 \(x_0\) 的某个领域内有定义,且 \(\lim_{x\to x_0} f(x) = f(x_0)\),则称 \(f(x)\) 在 \(x_0\) 连续。与极限类似,同样存在单侧连续。 \(C(a, b) = \{f(x) | f(x) 在 (a,b…