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

青海省交通建设管理局网站清远市seo广告优化

青海省交通建设管理局网站,清远市seo广告优化,诸城网站开发,树莓派架设wordpressMobileNet 文章目录MobileNet1. MobileNet概述2. 深度可分离卷积#xff08;depthwise separable convolution#xff09;2.1 深度可分离卷积通俗理解2.2 深度可分离卷积对于参数的优化3. MobileNet网络结构4. 代码实现4.1 卷积块4.2 深度可分离卷积块4.3 MobileNet定义4.4 完…MobileNet 文章目录MobileNet1. MobileNet概述2. 深度可分离卷积depthwise separable convolution2.1 深度可分离卷积通俗理解2.2 深度可分离卷积对于参数的优化3. MobileNet网络结构4. 代码实现4.1 卷积块4.2 深度可分离卷积块4.3 MobileNet定义4.4 完整代码1. MobileNet概述 网络专注于移动端或者嵌入式设备中的轻量级CNN相比于传统卷积神经网络在准确率小幅度降低的前提下大大减少模型参数与运算量。 传统卷积与DW卷积Depthwise Conv的差异在传统卷积中每个卷积核的channel与输入特征矩阵的channel相等每个卷积核都会与输入特征矩阵的每一个维度进行卷积运算输出特征矩阵channel等于卷积核的个数。而在DW卷积中每个卷积核的channel都是等于1的每个卷积核只负责输入特征矩阵的一个channel卷积核的个数输入特征矩阵的channel数输出特征矩阵的channel数 MobileNet模型是Google针对手机等嵌入式设备提出的一种轻量级的深层神经网络其使用的核心思想便是深度可分离卷积 depthwise separable convolution 2. 深度可分离卷积depthwise separable convolution 2.1 深度可分离卷积通俗理解 传统的三通道卷积过程如下 那么深度可分离卷积能用到轻量级的网络中保证效率减少参数量其具体是如何巧妙设计优化的下图为深度可分离卷积的运作过程。 深度可分离卷积分为两个部分Depthwise Convolution 深度卷积、Pointwise Convolution点卷积这是两个不同的卷积过程传统三通道卷积的过程是一个卷积核的厚度有三层每一层与输入的feature map的每一层做加权求和从而生成输出的一个通道故输出通道数取决于卷积核的数量卷积核的通道数等同于输入feature map的通道数对齐 而Depthwise Convolution不同其卷积核的厚度只有1对于输入的feature map特征图谱的每一个通道都有一个不同的厚度为1的卷积核相对应卷积核数量与输入通道数对应每个卷积核都只对对应通道的feature map做卷积操作这样得到的每一个通道的卷积操作得到一个1通道的feature map这样深度卷积之后的输出通道数与输入通道数一致。下图中绿色、红色、黄色表示的不同的通道数为1的卷积核。 点卷积Pointwise Convolution是采用1×11\times11×1大小的卷积核此时的卷积核是传统卷积核其通道数与输入通道数相同分别遍历输入的所有通道得到的输出通道取决于卷积核的个数点卷积与传统卷积方式相同只是卷积核使用1×11\times11×1起到一个改变通道数的作用直观意义上讲就是加厚输出的feature map其实际的意义在于由于深度卷积的方式对于特征提取不够明显再通过点卷积进行一些信息补偿在保证参数量减少的情况下尽可能的让网络的效果保持一个可观的水平。 2.2 深度可分离卷积对于参数的优化 举例说明优化的效果由于MobileNet是用于嵌入式设备等受限的设备上的网络其参数肯定是大幅度降低的。 有下列场景   使用3×33\times33×3大小的卷积层输入通道数为16输出通道数为32. 使用传统卷积的方式需要32个3×33\times33×3的卷积核对16个通道中的每一层数据进行卷积计算最后得到32个输出通道的feature map所需要的参数量为 16×32×3×3460816\times 32\times 3\times 34608 16×32×3×34608   采用深度可分离卷积由于输入的通道数为16那么采用16个3×33\times33×3大小的卷积核对16个通道的feature map分别卷积得到一个16通道的输出feature map为了得到所需要的32通道的输出采用点卷积的方式使用32个1×11\times11×1大小的卷积核遍历16个通道的输入feature map那么参数量为 16×3×316×32×1×165616\times 3\times 316\times 32\times 1\times 1656 16×3×316×32×1×1656   通过上述实验对比参数量确实大大减少。 注意深度可分离卷积指的是深度卷积Depthwise Conv点卷积Pointwise Conv而并不是一个dwDepthwise的缩写就是一个深度可分离卷积这个概念混淆度很高 3. MobileNet网络结构 一个深度可分离卷积的结构如下所示 首先对输入做深度卷积Depthwise Conv深度卷积的特点是是卷积核的个数与处理的输入通道数一致同时每个卷积核通道数都是1每个1通道卷积核去卷积输入feature map里的一个通道的数据导致深度卷积处理之后输入与输出的通道数总是不变的。 深度卷积之后就是BN层BN层为Batch Normalization对数据做归一化处理再通过激活函数接下来是一个1×11\times11×1的Conv层其就是点卷积的层使用1×11\times11×1的卷积核进行卷积操作改变通道数再进行归一化和激活输出。 BN的作用以及应用过程已经在笔者的博文《CV学习笔记-Inception》中详细介绍不再赘述。 MobileNet的网络结构图如下所示 在此不进行逐层分析仅对初始几层进行分析后面的读者可以自行推导计算过程一致。 首先输入为224×224×3224\times 224\times 3224×224×3卷积核的shape为3×3×3×323\times 3\times 3\times 323×3×3×32通过卷积核的shape能够看出本次卷积操作采用的是一个传统的卷积计算卷积核的通道数为3个数为32那么得到的输出为112×112×32112\times 112\times 32112×112×32stride步长为2此处的通道数32与卷积采用的卷积核个数32对应之后经过Conv dw层这个是深度卷积层dw即Depthwise输入feature map为112×112×32112\times 112\times 32112×112×32所用卷积核shape为3×3×323\times 3\times 323×3×32注意与上面一层的卷积层相区别少了一个维度因为每一个卷积核的通道数为1每个1通道卷积核只需要卷积feature map中的一个通道的数据故经过深度卷积之后的输出通道数不变输出的feature map为112×112×32112\times 112\times 32112×112×32然后通过一个点卷积层卷积核shape为1×1×32×641\times 1\times 32\times 641×1×32×64即使用64个1×1×1×321\times 1\times 1 \times 321×1×1×32的卷积核进行卷积操作点卷积卷积的方式与传统的卷积相同只是在尺寸上采用的1×11\times 11×1的卷积核用点卷积的方式改变通道数输出的feature map shape为112×112×64112\times 112\times 64112×112×64接下来就可以留给读者推算了深度可分离卷积部分已经作出了分析。 4. 代码实现 4.1 卷积块 代码按照传统的Conv-BN-Relu组合拳进行卷积块的定义padding采用same方式 def _conv_block(inputs, filters, kernel(3, 3), strides(1, 1)):x Conv2D(filters, kernel,paddingsame,use_biasFalse,stridesstrides,nameconv1)(inputs)x BatchNormalization(nameconv1_bn)(x)return Activation(relu6, nameconv1_relu)(x)4.2 深度可分离卷积块 深度可分离卷积分为深度卷积和点卷积x DepthwiseConv2D([params])即为深度卷积块的定义使用的是DepthwiseConv2D()在深度卷积完成BNRelu后紧接着接上了一个点卷积模块x Conv2D(pointwise_conv_filters,(1, 1))使用1×11\times 11×1卷积核来改变通道数。 def _depthwise_conv_block(inputs, pointwise_conv_filters,depth_multiplier1, strides(1, 1), block_id1):x DepthwiseConv2D((3, 3),paddingsame,depth_multiplierdepth_multiplier,stridesstrides,use_biasFalse,nameconv_dw_%d % block_id)(inputs)x BatchNormalization(nameconv_dw_%d_bn % block_id)(x)x Activation(relu6, nameconv_dw_%d_relu % block_id)(x)x Conv2D(pointwise_conv_filters, (1, 1),paddingsame,use_biasFalse,strides(1, 1),nameconv_pw_%d % block_id)(x)x BatchNormalization(nameconv_pw_%d_bn % block_id)(x)return Activation(relu6, nameconv_pw_%d_relu % block_id)(x)4.3 MobileNet定义 按照MobileNet的网络结构将其复现成python程序整合的就是上面定义的卷积模块和深度可分离卷积模块。预训练权重文件可以在网络上下载 def MobileNet(input_shape[224,224,3],depth_multiplier1,dropout1e-3,classes1000):img_input Input(shapeinput_shape)# 224,224,3 - 112,112,32x _conv_block(img_input, 32, strides(2, 2))# 112,112,32 - 112,112,64x _depthwise_conv_block(x, 64, depth_multiplier, block_id1)# 112,112,64 - 56,56,128x _depthwise_conv_block(x, 128, depth_multiplier,strides(2, 2), block_id2)# 56,56,128 - 56,56,128x _depthwise_conv_block(x, 128, depth_multiplier, block_id3)# 56,56,128 - 28,28,256x _depthwise_conv_block(x, 256, depth_multiplier,strides(2, 2), block_id4)# 28,28,256 - 28,28,256x _depthwise_conv_block(x, 256, depth_multiplier, block_id5)# 28,28,256 - 14,14,512x _depthwise_conv_block(x, 512, depth_multiplier,strides(2, 2), block_id6)# 14,14,512 - 14,14,512x _depthwise_conv_block(x, 512, depth_multiplier, block_id7)x _depthwise_conv_block(x, 512, depth_multiplier, block_id8)x _depthwise_conv_block(x, 512, depth_multiplier, block_id9)x _depthwise_conv_block(x, 512, depth_multiplier, block_id10)x _depthwise_conv_block(x, 512, depth_multiplier, block_id11)# 14,14,512 - 7,7,1024x _depthwise_conv_block(x, 1024, depth_multiplier,strides(2, 2), block_id12)x _depthwise_conv_block(x, 1024, depth_multiplier, block_id13)# 7,7,1024 - 1,1,1024x GlobalAveragePooling2D()(x)x Reshape((1, 1, 1024), namereshape_1)(x)x Dropout(dropout, namedropout)(x)x Conv2D(classes, (1, 1),paddingsame, nameconv_preds)(x)x Activation(softmax, nameact_softmax)(x)x Reshape((classes,), namereshape_2)(x)inputs img_inputmodel Model(inputs, x, namemobilenet_1_0_224_tf)model_name mobilenet_1_0_224_tf.h5model.load_weights(model_name)return model4.4 完整代码 本代码完成了一个图片的识别图片如下可以重命名为elephant.jpg输入网络运行。 #-------------------------------------------------------------# # MobileNet的网络部分 #-------------------------------------------------------------# import warnings import numpy as np# from keras.preprocessing import imagefrom keras.models import Model from keras.layers import DepthwiseConv2D,Input,Activation,Dropout,Reshape,BatchNormalization,GlobalAveragePooling2D,GlobalMaxPooling2D,Conv2D from keras.applications.imagenet_utils import decode_predictions from keras.utils import image_utils as image from keras import backend as Kdef MobileNet(input_shape[224,224,3],depth_multiplier1,dropout1e-3,classes1000):img_input Input(shapeinput_shape)# 224,224,3 - 112,112,32x _conv_block(img_input, 32, strides(2, 2))# 112,112,32 - 112,112,64x _depthwise_conv_block(x, 64, depth_multiplier, block_id1)# 112,112,64 - 56,56,128x _depthwise_conv_block(x, 128, depth_multiplier,strides(2, 2), block_id2)# 56,56,128 - 56,56,128x _depthwise_conv_block(x, 128, depth_multiplier, block_id3)# 56,56,128 - 28,28,256x _depthwise_conv_block(x, 256, depth_multiplier,strides(2, 2), block_id4)# 28,28,256 - 28,28,256x _depthwise_conv_block(x, 256, depth_multiplier, block_id5)# 28,28,256 - 14,14,512x _depthwise_conv_block(x, 512, depth_multiplier,strides(2, 2), block_id6)# 14,14,512 - 14,14,512x _depthwise_conv_block(x, 512, depth_multiplier, block_id7)x _depthwise_conv_block(x, 512, depth_multiplier, block_id8)x _depthwise_conv_block(x, 512, depth_multiplier, block_id9)x _depthwise_conv_block(x, 512, depth_multiplier, block_id10)x _depthwise_conv_block(x, 512, depth_multiplier, block_id11)# 14,14,512 - 7,7,1024x _depthwise_conv_block(x, 1024, depth_multiplier,strides(2, 2), block_id12)x _depthwise_conv_block(x, 1024, depth_multiplier, block_id13)# 7,7,1024 - 1,1,1024x GlobalAveragePooling2D()(x)x Reshape((1, 1, 1024), namereshape_1)(x)x Dropout(dropout, namedropout)(x)x Conv2D(classes, (1, 1),paddingsame, nameconv_preds)(x)x Activation(softmax, nameact_softmax)(x)x Reshape((classes,), namereshape_2)(x)inputs img_inputmodel Model(inputs, x, namemobilenet_1_0_224_tf)model_name mobilenet_1_0_224_tf.h5model.load_weights(model_name)return modeldef _conv_block(inputs, filters, kernel(3, 3), strides(1, 1)):x Conv2D(filters, kernel,paddingsame,use_biasFalse,stridesstrides,nameconv1)(inputs)x BatchNormalization(nameconv1_bn)(x)return Activation(relu6, nameconv1_relu)(x)def _depthwise_conv_block(inputs, pointwise_conv_filters,depth_multiplier1, strides(1, 1), block_id1):x DepthwiseConv2D((3, 3),paddingsame,depth_multiplierdepth_multiplier,stridesstrides,use_biasFalse,nameconv_dw_%d % block_id)(inputs)x BatchNormalization(nameconv_dw_%d_bn % block_id)(x)x Activation(relu6, nameconv_dw_%d_relu % block_id)(x)x Conv2D(pointwise_conv_filters, (1, 1),paddingsame,use_biasFalse,strides(1, 1),nameconv_pw_%d % block_id)(x)x BatchNormalization(nameconv_pw_%d_bn % block_id)(x)return Activation(relu6, nameconv_pw_%d_relu % block_id)(x)def relu6(x):return K.relu(x, max_value6)def preprocess_input(x):x / 255.x - 0.5x * 2.return xif __name__ __main__:model MobileNet(input_shape(224, 224, 3))img_path elephant.jpgimg image.load_img(img_path, target_size(224, 224))x image.img_to_array(img)x np.expand_dims(x, axis0)x preprocess_input(x)print(Input image shape:, x.shape)preds model.predict(x)print(np.argmax(preds))print(Predicted:, decode_predictions(preds,1)) # 只显示top1 实验输出
文章转载自:
http://www.morning.dhyzr.cn.gov.cn.dhyzr.cn
http://www.morning.ghxkm.cn.gov.cn.ghxkm.cn
http://www.morning.sxmbk.cn.gov.cn.sxmbk.cn
http://www.morning.kwcnf.cn.gov.cn.kwcnf.cn
http://www.morning.bkpbm.cn.gov.cn.bkpbm.cn
http://www.morning.pxlsh.cn.gov.cn.pxlsh.cn
http://www.morning.kxrld.cn.gov.cn.kxrld.cn
http://www.morning.tzzkm.cn.gov.cn.tzzkm.cn
http://www.morning.bdwqy.cn.gov.cn.bdwqy.cn
http://www.morning.jokesm.com.gov.cn.jokesm.com
http://www.morning.mcfjq.cn.gov.cn.mcfjq.cn
http://www.morning.pswqx.cn.gov.cn.pswqx.cn
http://www.morning.rlfr.cn.gov.cn.rlfr.cn
http://www.morning.qxycf.cn.gov.cn.qxycf.cn
http://www.morning.hxgly.cn.gov.cn.hxgly.cn
http://www.morning.xoaz.cn.gov.cn.xoaz.cn
http://www.morning.mhcft.cn.gov.cn.mhcft.cn
http://www.morning.zkbxx.cn.gov.cn.zkbxx.cn
http://www.morning.zpnfc.cn.gov.cn.zpnfc.cn
http://www.morning.dtrzw.cn.gov.cn.dtrzw.cn
http://www.morning.rgzc.cn.gov.cn.rgzc.cn
http://www.morning.rlqml.cn.gov.cn.rlqml.cn
http://www.morning.cnqff.cn.gov.cn.cnqff.cn
http://www.morning.hlmkx.cn.gov.cn.hlmkx.cn
http://www.morning.mllmm.cn.gov.cn.mllmm.cn
http://www.morning.byzpl.cn.gov.cn.byzpl.cn
http://www.morning.wgcng.cn.gov.cn.wgcng.cn
http://www.morning.xxwhz.cn.gov.cn.xxwhz.cn
http://www.morning.rqqmd.cn.gov.cn.rqqmd.cn
http://www.morning.wslpk.cn.gov.cn.wslpk.cn
http://www.morning.llfwg.cn.gov.cn.llfwg.cn
http://www.morning.pqbkk.cn.gov.cn.pqbkk.cn
http://www.morning.cbqqz.cn.gov.cn.cbqqz.cn
http://www.morning.mwwnz.cn.gov.cn.mwwnz.cn
http://www.morning.mxtjl.cn.gov.cn.mxtjl.cn
http://www.morning.fldsb.cn.gov.cn.fldsb.cn
http://www.morning.hclplus.com.gov.cn.hclplus.com
http://www.morning.rdkgw.cn.gov.cn.rdkgw.cn
http://www.morning.lffrh.cn.gov.cn.lffrh.cn
http://www.morning.mywmb.cn.gov.cn.mywmb.cn
http://www.morning.zcqbx.cn.gov.cn.zcqbx.cn
http://www.morning.btwrj.cn.gov.cn.btwrj.cn
http://www.morning.qphdp.cn.gov.cn.qphdp.cn
http://www.morning.iknty.cn.gov.cn.iknty.cn
http://www.morning.rcwzf.cn.gov.cn.rcwzf.cn
http://www.morning.ntwfr.cn.gov.cn.ntwfr.cn
http://www.morning.xplng.cn.gov.cn.xplng.cn
http://www.morning.mzhjx.cn.gov.cn.mzhjx.cn
http://www.morning.cpfbg.cn.gov.cn.cpfbg.cn
http://www.morning.swlwf.cn.gov.cn.swlwf.cn
http://www.morning.rrhfy.cn.gov.cn.rrhfy.cn
http://www.morning.hpdpp.cn.gov.cn.hpdpp.cn
http://www.morning.zhmgcreativeeducation.cn.gov.cn.zhmgcreativeeducation.cn
http://www.morning.ntffl.cn.gov.cn.ntffl.cn
http://www.morning.tpbhf.cn.gov.cn.tpbhf.cn
http://www.morning.dwmmf.cn.gov.cn.dwmmf.cn
http://www.morning.dwmtk.cn.gov.cn.dwmtk.cn
http://www.morning.sqfrg.cn.gov.cn.sqfrg.cn
http://www.morning.wdlyt.cn.gov.cn.wdlyt.cn
http://www.morning.gqfks.cn.gov.cn.gqfks.cn
http://www.morning.sgfnx.cn.gov.cn.sgfnx.cn
http://www.morning.rzbcz.cn.gov.cn.rzbcz.cn
http://www.morning.byjwl.cn.gov.cn.byjwl.cn
http://www.morning.hzqjgas.com.gov.cn.hzqjgas.com
http://www.morning.mxdiy.com.gov.cn.mxdiy.com
http://www.morning.cwnqd.cn.gov.cn.cwnqd.cn
http://www.morning.rpsjh.cn.gov.cn.rpsjh.cn
http://www.morning.hqrkq.cn.gov.cn.hqrkq.cn
http://www.morning.mnmrx.cn.gov.cn.mnmrx.cn
http://www.morning.nytqy.cn.gov.cn.nytqy.cn
http://www.morning.ndhxn.cn.gov.cn.ndhxn.cn
http://www.morning.mslhq.cn.gov.cn.mslhq.cn
http://www.morning.lhptg.cn.gov.cn.lhptg.cn
http://www.morning.xrtsx.cn.gov.cn.xrtsx.cn
http://www.morning.cprbp.cn.gov.cn.cprbp.cn
http://www.morning.lcqrf.cn.gov.cn.lcqrf.cn
http://www.morning.gwhjy.cn.gov.cn.gwhjy.cn
http://www.morning.pqcsx.cn.gov.cn.pqcsx.cn
http://www.morning.rptdz.cn.gov.cn.rptdz.cn
http://www.morning.wfkbk.cn.gov.cn.wfkbk.cn
http://www.tj-hxxt.cn/news/271436.html

相关文章:

  • 网站图片上的分享怎么做用ps给旅游网站做前端网页
  • 重庆梁平网站建设公司平昌县住房和城乡建设局网站
  • 中国网站建设的利弊wordpress动态cdn
  • 黑龙江营商环境建设局网站做网站总结体会
  • 成都搭建企业网站网站怎么做seo_
  • 企业做网站报价试析媒体网站品牌建设
  • 免费网站建设价格费用flash做ppt的模板下载网站有哪些
  • 网站域名审核时间学校网站建设总结报告
  • 企业网站建设方案 ppt公司门户网站的设计与实现
  • 宜宾做网站host wordpress
  • 织梦可以做移动网站吗自己的品牌怎么做加盟推广
  • 网站安全检测方法合同管理软件
  • 设计网站推广方案世界500强企业名单
  • 聊城高端网站建设价格wordpress文章调用链接
  • 做网站域名还重要吗北京网站建设公司华网制作作
  • 自己做网站要多少钱建站工具 开源
  • 请打开123720的网站百度在国外做购物网站
  • 哪个网站比较好wordpress后台乱了是怎么回事
  • 如何建网站免费建设银行企业网站
  • 海南做网站的公司有哪些提升学历官网
  • 建站行业最新消息在吗做网站商城
  • 淄博市建设业协会网站奉贤做网站
  • flash型网站wordpress博客 手机网页 wap
  • 网站创建时间查询网站首页被k 做跳转
  • 乐清网站艰涩纯文字logo在线制作
  • 深圳网站建设 设计首选深圳市杭州建设银行网站首页
  • 网站注册流程合肥网站推广优化
  • 江津哪个网站可以做顺风车筑龙网登录
  • 网站建设前的分析第一小节内容广州哪里能买森海塞尔
  • seo网站推广实例股票指数是什么意思