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

成都保障房中心官方网站wordpress m1

成都保障房中心官方网站,wordpress m1,disqus wordpress,网站接入服务单位名称目录 一、网络介绍 1、全连接层存在的问题 2、NiN的解决方案(NiN块) 3、NiN架构 4、总结 二、代码实现 1、定义NiN卷积块 2、NiN模型 3、训练模型 一、网络介绍 NiN#xff08;Network in Network#xff09;是一种用于图像识别任务的卷积神经网络模型。它由谷歌研究…目录 一、网络介绍 1、全连接层存在的问题 2、NiN的解决方案(NiN块) 3、NiN架构 4、总结 二、代码实现 1、定义NiN卷积块 2、NiN模型 3、训练模型 一、网络介绍 NiNNetwork in Network是一种用于图像识别任务的卷积神经网络模型。它由谷歌研究员Min Lin、Qiang Chen和Shouyuan Chen于2013年提出。NiN的设计理念是通过引入“网络中的网络”结构来增强模型的表示能力。 1、全连接层存在的问题 在之前的网络比如AlexNet和VGGNet后面都用了几个比较大的全连接层全连接层中的参数相比于卷积层多得多一个网络的参数大多都在全连接层并且可以认为主要分布在卷积层之后的第一个全连接层。因此全连接层最大的问题是可能造成过拟合。 2、NiN的解决方案(NiN块) NiN的核心思想是使用1x1卷积层替代传统的全连接层。传统的卷积神经网络通常使用卷积层提取特征然后通过全连接层进行分类。而NiN则在卷积层中引入了一种称为“1x1卷积”的操作这个操作可以看作是在每个像素点上进行的全连接操作。通过使用1x1卷积NiN能够在卷积层中引入非线性增加模型的表达能力并且减少了参数的数量。 和VGG一样NiN也有自己的块NiN块每一个NiN块其实就相当于一个小的神经网络因为它具有卷积层和类似于全连接层的  卷积层因此叫网络中的网络。NiN块首先有一个卷积层然后后跟两个  的卷积层 的卷积层等价于全连接层。 3、NiN架构 全局池化层池化层的高和宽等于输入的高和宽一个通道得出一个值用这个值当作对类别的预测。 4、总结 二、代码实现 NiN的想法是将空间维度中的每个像素视为单个样本将通道维度视为不同特征feature。下图说明了VGG和NiN及它们的块之间主要架构差异。NiN块以一个普通卷积层开始后面是两个  的卷积层。NiN块第一层的卷积窗口形状通常由用户设置。随后的卷积窗口形状固定为 。 1、定义NiN卷积块 import torch from torch import nn from d2l import torch as d2ldef nin_block(in_channels, out_channels, kernel_size, strides, padding):return nn.Sequential(nn.Conv2d(in_channels, out_channels, kernel_size, strides, padding),nn.ReLU(),nn.Conv2d(out_channels, out_channels, kernel_size1), nn.ReLU(),nn.Conv2d(out_channels, out_channels, kernel_size1), nn.ReLU()) 2、NiN模型 最初的NiN网络是在AlexNet后不久提出的显然从中得到了一些启示。NiN使用窗口形状为、 和  的卷积层输出通道数量与AlexNet中的相同。每个NiN块后有一个最大池化层池化窗口形状为 步幅为2。 NiN和AlexNet之间的一个显著区别是NiN完全取消了全连接层。相反NiN使用一个个NiN块最后一个NiN块的输出通道数等于标签类别的数量。最后放一个全局平均池化层global average pooling layer生成一个对数几率logits。NiN设计的一个优点是它显著减少了模型所需参数的数量。然而在实践中这种设计有时会增加训练模型的时间。 net nn.Sequential(nin_block(1, 96, kernel_size11, strides4, padding0),nn.MaxPool2d(3, stride2),nin_block(96, 256, kernel_size5, strides1, padding2),nn.MaxPool2d(3, stride2),nin_block(256, 384, kernel_size3, strides1, padding1),nn.MaxPool2d(3, stride2),nn.Dropout(0.5),# 标签类别数是10nin_block(384, 10, kernel_size3, strides1, padding1), # 通道数先增加后减少1-96-256-384-10nn.AdaptiveAvgPool2d((1, 1)), # 注意这里的(1, 1)不是kernel_size而是output_size# 将四维的输出转成二维的输出其形状为(批量大小, 10)nn.Flatten()) # Flatten会把channel、height和width展平成一行 我们创建一个数据样本来查看每个块的输出形状。 X torch.rand(size(1, 1, 224, 224)) for layer in net:X layer(X)print(layer.__class__.__name__,output shape:\t, X.shape) Sequential output shape: torch.Size([1, 96, 54, 54]) MaxPool2d output shape: torch.Size([1, 96, 26, 26]) Sequential output shape: torch.Size([1, 256, 26, 26]) MaxPool2d output shape: torch.Size([1, 256, 12, 12]) Sequential output shape: torch.Size([1, 384, 12, 12]) MaxPool2d output shape: torch.Size([1, 384, 5, 5]) Dropout output shape: torch.Size([1, 384, 5, 5]) Sequential output shape: torch.Size([1, 10, 5, 5]) AdaptiveAvgPool2d output shape: torch.Size([1, 10, 1, 1]) Flatten output shape: torch.Size([1, 10]) 3、训练模型 我们使用Fashion-MNIST来训练模型。训练NiN与训练AlexNet、VGG时相似。 lr, num_epochs, batch_size 0.1, 10, 128 train_iter, test_iter d2l.load_data_fashion_mnist(batch_size, resize224) # 调节图片尺寸为224 d2l.train_ch6(net, train_iter, test_iter, num_epochs, lr, d2l.try_gpu()) loss 0.563, train acc 0.786, test acc 0.790 3087.6 examples/sec on cuda:0
http://www.zqtcl.cn/news/316322/

相关文章:

  • 石家庄网站做网站和县网页定制
  • 网站个人备案和企业备案潍坊公司注册网站
  • 建个网站的流程互联网裁员
  • 设置网站模板汉口网站建设公司
  • 网站对一个关键词做排名怎么做网站建设 图纸网
  • 什么网站比较吸引流量网页设计代码td
  • 克隆网站怎么做后台wordpress网站缩
  • 仁怀哪儿做网站泰安市建设局
  • 做网站和编程有关系吗手机怎么做电子书下载网站
  • 网站做关键词排名网站快速排名的方法
  • 有网站模板如何预览泉州app开发
  • 网站自助建站系统重庆皇华建设集团有限公司网站
  • 云速成美站做网站好吗汕头制作网站
  • 搜狗搜索网站提交入口在哪里做卖车网站
  • 河南省百城建设提质网站新人怎么做电商
  • 建设机械网站制作创建个人网站教案
  • 无锡网站推广装修风格大全2023新款
  • 在线设计logo免费网站如何在网站上添加qq
  • 高端网站建设哪里好网站建设与管理案例教程
  • 云南专业网站建设上海百度移动关键词排名优化
  • 如何搭建一个完整的网站wordpress 小程序开发
  • 外贸网站建设关键点为网站网站做代理被判缓刑
  • 网站免费正能量小说台州百度关键词优化
  • 保定自助建站做静态网站
  • 旅游网站对比模板免费招收手游代理
  • phpstudy网站建设教程wordpress破解管理员帐号
  • 商务网站规划与建设心得北京小程序制作首选华网天下
  • 果洛电子商务网站建设多少钱公司网站建设选什么服务器
  • 莱芜做网站公司网站建设表单教案
  • 建设酒类产品网站的好处遵义网站制作费用