当前位置: 首页 > news >正文

济南行业网站建设余姚网站公司

济南行业网站建设,余姚网站公司,网站建设费用初步预算,网站开发技术案例pytorch卷积层与池化层输出的尺寸的计算公式详解 注#xff1a;这篇blog写的不够完善#xff0c;在后面的CNN网络分析padding和stride详细讲了公式#xff0c;感兴趣的可以移步这里#xff1a;卷积神经网络中的填充(padding)和步幅(stride) 要设计卷积神经网络的结构这篇blog写的不够完善在后面的CNN网络分析padding和stride详细讲了公式感兴趣的可以移步这里卷积神经网络中的填充(padding)和步幅(stride) 要设计卷积神经网络的结构必须匹配层与层之间的输入与输出的尺寸这就需要较好的计算输出尺寸 先列出公式 卷积后池化后尺寸计算公式 (图像尺寸-卷积核尺寸 2*填充值)/步长1 (图像尺寸-池化窗尺寸 2*填充值)/步长1即 卷积神将网络的计算公式为 N(W-F2P)/S1 其中 N输出大小 W输入大小 F卷积核大小 P填充值的大小 S步长大小例Conv2d后面给出实例来讲解计算方法: class torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride1, padding0, dilation1, groups1, biasTrue)卷积一层的几个参数: in_channels3:表示的是输入的通道数RGB型的通道数是3. out_channels:表示的是输出的通道数设定输出通道数这个是可以根据自己的需要来设置的 kernel_size12:表示卷积核的大小是12x12的也就是上面的 F12 stride4:表示的是步长为4也就是上面的S4 padding2:表示的是填充值的大小为2也就是上面的P2实例 cove1d用于文本数据只对宽度进行卷积对高度不进行卷积 cove2d用于图像数据对宽度和高度都进行卷积 import torch from torch.autograd import Variable #torch.autograd提供了类和函数用来对任意标量函数进行求导。 import torch.nn as nn import torch.nn.functional as F class MNISTConvNet(nn.Module):def __init__(self):super(MNISTConvNet, self).__init__() 这是对继承自父类的属性进行初始化。而且是用父类的初始化方法来初始化继承的属性。 也就是说子类继承了父类的所有属性和方法父类属性自然会用父类方法来进行初始化。 #定义网络结构self.conv1 nn.Conv2d(1, 10, 5)self.pool1 nn.MaxPool2d(2, 2)self.conv2 nn.Conv2d(10, 20, 5)self.pool2 nn.MaxPool2d(2, 2)self.fc1 nn.Linear(320, 50)self.fc2 nn.Linear(50, 10)def forward(self, input):x self.pool1(F.relu(self.conv1(input)))x self.pool2(F.relu(self.conv2(x))).view(320)x self.fc2(self.fc1(x))return xnet MNISTConvNet() print(net) input Variable(torch.randn(1, 1, 28, 28)) out net(input) print(out.size())我们在这个实例中抽出网络结构部分 self.conv1 nn.Conv2d(1, 10, 5)self.pool1 nn.MaxPool2d(2, 2)self.conv2 nn.Conv2d(10, 20, 5)self.pool2 nn.MaxPool2d(2, 2)self.fc1 nn.Linear(320, 50)self.fc2 nn.Linear(50, 10)def forward(self, input):x self.pool1(F.relu(self.conv1(input)))x self.pool2(F.relu(self.conv2(x))).view(320)x self.fc2(self.fc1(x))网络结构为 conv2d--maxpool2d--conv2d--maxpool2d--fullyconnect--fullyconnect输入图片大小为input Variable(torch.randn(1, 1, 28, 28)) 即28*28的单通道图片即1*28*28 接下来我们分层解析每一层网络的输入和输出 1conv2d(1,10,5) N输出大小 W输入大小 28*28 F卷积核大小 5*5 P填充值的大小 0默认值 S步长大小 1默认值N(W-F2P)/S1(28-5 2*0)/1 1 24 输出为10*24*24Conv2d(输入通道数, 输出通道数, kernel_size长和宽)当卷积核为方形时只写一个就可以卷积核不是方形时长和宽都要写如下 self.conv1 nn.Conv2d(2, 4, 52)2MaxPool2d(2, 2) MaxPool 最大池化层池化层在卷积神经网络中的作用在于特征融合和降维。池化也是一种类似的卷积操作只是池化层的所有参数都是超参数是学习不到的。maxpooling有局部不变性而且可以提取显著特征的同时降低模型的参数从而降低模型的过拟合。只提取了显著特征而舍弃了不显著的信息是的模型的参数减少了从而一定程度上可以缓解过拟合的产生。 class torch.nn.MaxPool2d(kernel_size, strideNone, padding0, dilation1, return_indicesFalse, ceil_modeFalse)N输出大小 W输入大小 24*24 F卷积核大小 5*5 P填充值的大小 0默认值 S步长大小 1默认值N(W-F2P)/S1(24-2 2*0)/2 1 12 输出为10*12*123conv2d(10,20,5) N输出大小 W输入大小 12*12 F卷积核大小 5*5 P填充值的大小 0默认值 S步长大小 1默认值N(W-F2P)/S1(12-5 2*0)/1 1 8 输出为20*8*84MaxPool2d(2, 2) N输出大小 W输入大小 8*8 F卷积核大小 5*5 P填充值的大小 0默认值 S步长大小 1默认值N(W-F2P)/S1(8-2 2*0)/2 1 4 输出为20*4*45fully-connect Linear(320, 50) 输入20*4*4320 输出506fully-connect Linear(50, 10) 输入50 输出10所以整个实例的训练过程数据流动为 def forward(self, input):x self.pool1(F.relu(self.conv1(input)))x self.pool2(F.relu(self.conv2(x))).view(320)x self.fc2(self.fc1(x))激活函数Relu在神经网络中的作用是通过加权的输入进行非线性组合产生非线性决策边界 简单的来说就是增加非线性作用。 在深层卷积神经网络中使用激活函数同样也是增加非线性主要是为了解决sigmoid函数带来的梯度消失问题。
http://www.pierceye.com/news/797996/

相关文章:

  • 网站开发选择什么软件互联网营销设计
  • 网站推广结束语如何评价一个网站做的好不好
  • 连云港做网站推广网站建设为什么需要备案
  • 网站建站步骤在越南做一个网站怎么做
  • 怎么在word里做网站wordpress 父页面跳转
  • 网站添加验证码WordPress食谱小程序
  • 网站打包app公明做网站
  • 服装网站设计策划工业设计最吃香的专业
  • 东莞找公司网站ui界面设计说明范文
  • 淘宝网页版手机登录保定seo外包服务商
  • 网站开发 总结报告想给公司做网站怎么做
  • 思创医惠网站建设wordpress熊掌号号主页展现
  • 网站设置的参数新兴县城乡建设局网站登录
  • 网站未备案或已封禁六安城市网官网
  • 信息产业部网站备案系统建立一个网站的流程
  • 门户网站建站多少钱功能性质网站
  • 网站关键词是什么意思易网网站多少
  • 网站建设培训 上海网站建设公司有前途吗
  • 做普通网站选择什么服务器企业vi设计公司哪家好
  • 嘉兴本地推广网站如何查看网站是否开启gzip
  • 网站菜单导航制作教程畅言 wordpress插件
  • 太原网站建设联系方式免费创建网站教程
  • 有服务器自己怎么做网站深圳财务小公司网站
  • 装修装饰网站建设东莞环保公司
  • 网站开发大公司需要资格证吗申请域名免费
  • 建设维护网站未签订合同网站上线之前做哪些工作
  • dede 网站图标网站安装php
  • 网站管理更新维护湖南网站建设策划
  • 桥头东莞网站建设网站建设的开发方式和费用
  • 无锡网站优化哪家好wordpress会员内容