上海网站建设域名国内室内设计师排名

张小明 2026/3/2 19:53:58
上海网站建设域名,国内室内设计师排名,网站设计公司 -,个人怎样申请网站描述 残差网络是现代卷积神经网络的一种#xff0c;有效的抑制了深层神经网络的梯度弥散和梯度爆炸现象#xff0c;使得深度网络训练不那么困难。 下面以cifar-10-batches-py数据集#xff0c;实现一个ResNet18的残差网络#xff0c;通过继承nn.Module实现残差块#xff0…描述残差网络是现代卷积神经网络的一种有效的抑制了深层神经网络的梯度弥散和梯度爆炸现象使得深度网络训练不那么困难。下面以cifar-10-batches-py数据集实现一个ResNet18的残差网络通过继承nn.Module实现残差块Residual Block网络模型类。定义BlockResNetBlock派生至nn.Module需要自己实现forward函数。torch.nn.Module是nn中十分重要的类包含网络各层的定义及forward方法可以从这个类派生自己的模型类。nn.Module重要的函数forward(self,*input)forward函数为前向传播函数需要自己重写它用来实现模型的功能并实现各个层的连接关系__call__(self, *input, **kwargs) __call__()的作用是使class实例能够像函数一样被调用以“对象名()”的形式使用__repr__(self)__repr__函数为Python的一个内置函数它能把一个对象用字符串的形式表达出来__init__(self)构造函数自定义模型的网络层对象一般在这个函数中定义。classResNetBlock(nn.Module):def__init__(self,input_channels,num_channels,stride1): 构造函数定义网络层 super().__init__()self.conv1nn.Conv2d(input_channels,num_channels,kernel_size3,padding1,stridestride)self.btn1nn.BatchNorm2d(num_channels)self.conv2nn.Conv2d(num_channels,num_channels,kernel_size3,padding1,stride1)self.btn2nn.BatchNorm2d(num_channels)ifstride!1:self.downsamplenn.Conv2d(input_channels,num_channels,kernel_size1,stridestride)else:self.downsamplelambdax:xdefforward(self,X): 实现反向传播 Yself.btn1(self.conv1(X))Ynn.functional.relu(Y)Yself.btn2(self.conv2(Y))Yself.downsample(X)returnnn.functional.relu(Y)定义模型ResNet同样派生于nn.Module与ResNetBlock类似需要实现forward。torch.nn.Sequential是PyTorch 中一个用于构建顺序神经网络模型的容器类它将多个神经网络层或模块按顺序组合在一起简化模型搭建过程。‌Sequential器会严格按照添加的顺序执行内部的子模块前向传播时自动传递数据适用于简单神经网络的构建。classResNet(nn.Module):def__init__(self,layer_dism,num_class10): 构造函数定义预处理model构建block层 super(ResNet,self).__init__()# 预处理self.stemnn.Sequential(nn.Conv2d(3,64,3,1),# 3x30x30nn.BatchNorm2d(64),nn.ReLU(),nn.MaxPool2d(2,2)# 64x15x15)self.layer1self.build_resblock(64,64,layer_dism[0])self.layer2self.build_resblock(64,128,layer_dism[1],2)self.layer3self.build_resblock(128,256,layer_dism[2],2)self.layer4self.build_resblock(256,512,layer_dism[3],2)self.avgpoolnn.AvgPool2d(1,1)self.btnnn.Flatten()self.fcnn.Linear(512,num_class)defbuild_resblock(self,input_channels,num_channels,block,stride1):res_blocknn.Sequential()res_block.append(ResNetBlock(input_channels,num_channels,stride))for_inrange(1,block):res_block.append(ResNetBlock(num_channels,num_channels,stride))returnres_blockdefforward(self,X):outself.stem(X)outself.layer1(out)outself.layer2(out)outself.layer3(out)outself.layer4(out)outself.avgpool(out)returnself.fc(self.btn(out))模型训练加载数据使用torchvision.datasets加载本地数据如果本地没有数据可以设置downloadTrue自动下载。# 定义数据转换transformtransforms.Compose([transforms.ToTensor(),# 将PIL图像转换为Tensortransforms.Normalize((0.5,0.5,0.5),(0.5,0.5,0.5))# 归一化])# 加载CIFAR-10训练集trainsettorchvision.datasets.CIFAR10(rootrD:\dwload,trainTrue,downloadFalse,transformtransform)trainloaderth.utils.data.DataLoader(trainset,batch_size16,shuffleFalse,num_workers2)# 加载CIFAR-10测试集testsettorchvision.datasets.CIFAR10(rootrD:\dwload,trainFalse,downloadFalse,transformtransform)testloaderth.utils.data.DataLoader(testset,batch_size16,shuffleFalse,num_workers2)模型初始化模型初始化是确保网络能够有效学习的关键步骤一个好的初始值会使模型收敛速度提高使模型准确率更精确。torch.nn.init模块提供了一系列的权重初始化函数torch.nn.init.uniform_ 均匀分布torch.nn.init.normal_ 正态分布torch.nn.init.constant_初始化为指定常数torch.nn.init.kaiming_uniform_凯明均匀分布torch.nn.init.kaiming_normal_凯明正态分布torch.nn.init.xavier_uniform_Xavier均匀分布torch.nn.init.xavier_normal_Xavier正态分布在初始化时最好不要将模型的参数初始化为0因为这样会导致梯度消失进而影响训练效果。可以将模型初始化为一个很小的值如0.010.001等。definitialize_weight(m):ifisinstance(m,nn.Conv2d)orisinstance(m,nn.Linear):nn.init.kaiming_normal_(m.weight,modefan_out,nonlinearityrelu)# mode权重方差计算方式可选 fan_in 或 fan_out输入、输出神经元数量# nonlinearity激活函数类型用于调整计算公式 一般是relu、leaky_reluifm.biasisnotNone:nn.init.constant_(m.bias,0)[2,2,2,2] 参数分别代表四个block的中的残差块数量可以仔细看一下build_resblock函数resnet_18ResNet([2,2,2,2])resnet_18.apply(initialize_weight)# 初始化模型loss_crossnn.CrossEntropyLoss()trainerth.optim.SGD(resnet_18.parameters())训练训练过程比较漫长这里训练只有20轮测试精度0.51。如果有N卡加持的话可以适当调高epoch精度能进一步提高。forepochinrange(0,20):running_loss0.0forinputs,labelsintrainloader:trainer.zero_grad()outputsresnet_18(inputs)lossloss_cross(outputs,labels)loss.backward()trainer.step()running_lossloss.item()print(f[{epoch1}] ev loss:{running_loss/3125})running_loss0.0
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

专业做pc+手机网站上海市建设项目施工审图网站

百度网盘直链解析工具为您提供一键式下载加速方案,让您彻底告别网盘限速困扰。这个高效的Python工具能够提取文件的真实下载地址,配合专业下载软件实现满速下载,是提升工作效率的必备利器。 【免费下载链接】baidu-wangpan-parse 获取百度网盘…

张小明 2026/1/20 7:29:19 网站建设

如何制作一个网站做淘宝券企业网站管理系统设计报告

EmotiVoice能否实现多人对话自动配音?流水线设计 在动画制作、广播剧生产或游戏开发中,一个长期困扰内容创作者的问题是:如何高效地为多角色对话配上风格各异、情感丰富的语音?传统方式依赖真人配音演员,不仅成本高昂&…

张小明 2026/1/20 7:28:49 网站建设

优秀网页设计网站可以免费建立网站吗

从全员上阵到专家分工:AI模型的效率革命 【免费下载链接】Ring-flash-linear-2.0 项目地址: https://ai.gitcode.com/hf_mirrors/inclusionAI/Ring-flash-linear-2.0 在人工智能大模型飞速发展的今天,一个不容忽视的矛盾日益凸显:模型…

张小明 2026/1/20 7:28:17 网站建设

智能免费建站免费ppt成品网站

苏州仓储服务商哪家强?权威排名出炉,速看!引言在现代物流体系中,仓储服务作为关键环节,对企业的运营效率和成本控制起着至关重要的作用。苏州作为长三角地区的重要经济中心,拥有众多仓储服务商。那么&#…

张小明 2026/1/20 7:27:47 网站建设

做团购的家居网站有哪些wordpress过滤插件

用户体验调研问卷:LobeChat设计有效题目 在AI助手逐渐成为日常生产力工具的今天,用户不再满足于“能对话”的基础功能,而是期待一个懂我、顺手、可靠的智能伙伴。从ChatGPT掀起的交互革命开始,行业标准已被重新定义——流畅的打字…

张小明 2026/1/20 7:27:16 网站建设

先做网站还是先域名备案从做系统后以前的网站打不开了

第一章:检索重排序的 Dify 结果过滤在构建基于大语言模型的应用时,检索增强生成(RAG)系统常面临检索结果相关性不足的问题。Dify 作为低代码 AI 应用开发平台,提供了灵活的结果过滤与重排序机制,可有效提升…

张小明 2026/1/20 7:26:45 网站建设