CNN 时间计算复杂度与空间复杂度

即,连续个数与参数个数, 每一个连接都意味着一个计算, 每一个参数都意味一个存储单元。 只计算主要部分。

CNN局部连接与权值共享

如图所示:

全连接:如左图所示,全连接情况下,输入图片为1000x1000像素的图片, 隐藏层为同样的1000x1000个神经元(即1M);每个神经元都与所有的输入像素相连接,总计10^12权值(即,可训练参数);

局部连接:如右图所示,局部连接情况下,输入图片为1000x1000像素的图片, 隐藏层为同样的1000x1000个神经元,卷积核10x10;每个神经元都与输入像素上对应的10x10范围内相连接,总计1000x1000x10x10=10^8权值(即,可训练参数);

权值共享:如右图所示,在局部连接的基础上, 每个神经元都与输入像素上对应的10x10范围内相连接,这个10x10的卷积核(即100个权值)在这层所有神经元间共享, 总计100权值(即,可训练参数);

空间复杂度

空间复杂度即模型的参数数量,体现为模型本身的体积。

$ Space \sim O(K^2 * Cin * Cout) $

  • 空间复杂度只与卷积核的尺寸K、通道数C相关。而与输入图片尺寸无关。

    即:卷积核为K^2个参数, 输入通道Cin是多通道时, 卷积核就自动broadcast成了K^2 * Cin; 当输出多个通道时,再乘以通道数 Cout

计算时间复杂度

时间复杂度即模型的运算次数。

单个卷积层的时间复杂度:$ Time \sim O(M^2 * K^2 * Cin * Cout) $

注1:为了简化表达式中的变量个数,这里统一假设输入和卷积核的形状都是正方形。

注2:严格来讲每层应该还包含1个Bias参数,这里为了简洁就省略了。

M:输出特征图(Feature Map)的尺寸。
K:卷积核(Kernel)的尺寸。
Cin:输入通道数。
Cout:输出通道数。
输出特征图尺寸又由输入尺寸X、卷积核尺寸K、Padding、 Stride,dilation 这几个参数所决定。

CNN 参数计算的更多相关文章

  1. 卷积神经网络(CNN)张量(图像)的尺寸和参数计算(深度学习)

    分享一些公式计算张量(图像)的尺寸,以及卷积神经网络(CNN)中层参数的计算. 以AlexNet网络为例,以下是该网络的参数结构图. AlexNet网络的层结构如下: 1.Input:       图 ...

  2. PCB参数计算神器-Saturn PCB Design Toolkit下载及安装指南

    进行PCB设计,特别是高频高速设计时,难免会涉及到PCB相关参数的计算及设置,如:VIA的过流能力,VIA的寄生电容.阻抗等,导线的载流能力,两相互耦合信号线间的串扰,波长等参数. 这里向大家介绍一款 ...

  3. Go 初体验 - 令人惊叹的语法 - defer.3 - defer 函数参数计算时机

    defer 函数的参数计算时机 定义一个 defer 函数,接收参数 n: 调用: 输出: 有点惊讶,为什么不是 100 200 200? go 语言里,defer 函数的参数是在定义位置被计算的,也 ...

  4. 关于LeNet-5卷积神经网络 S2层与C3层连接的参数计算的思考???

    https://blog.csdn.net/saw009/article/details/80590245 关于LeNet-5卷积神经网络 S2层与C3层连接的参数计算的思考??? 首先图1是LeNe ...

  5. LeNet-5网络结构及训练参数计算

    经典神经网络诞生记: 1.LeNet,1998年 2.AlexNet,2012年 3.ZF-net,2013年 4.GoogleNet,2014年 5.VGG,2014年 6.ResNet,201 ...

  6. 01、BUCK电路的参数计算

    案例:设计一个Buck电路,满足如下性能指标要求:一.性能指标要求  1.输入电压  2.输出电压  3.输出电压纹波  4.电流纹波  5.开关频率  二.需要计算的参数  三.BUCK电路拓扑   ...

  7. 坐标转换7参数计算工具——arcgis 地理处理工具案例教程

    坐标转换7参数计算工具--arcgis 地理处理工具案例教程 商务合作,科技咨询,版权转让:向日葵,135-4855_4328,xiexiaokui#qq.com 不接受个人免费咨询. 提供API,独 ...

  8. printf:函数参数计算从右向左,从左向右?

    造冰箱的大熊猫@cnblogs 2019/8/3 1.问题 某天写了如下代码: unsigned char ReadByteFromFile ( FILE * fp ) { unsigned char ...

  9. SSD训练网络参数计算

    一个预测层的网络结构如下所示: 可以看到,是由三个分支组成的,分别是"PriorBox"层,以及conf.loc的预测层,其中,conf与loc的预测层的参数是由PriorBox的 ...

随机推荐

  1. UI基础七:给普通其他界面的PRODUCT 添加标准的搜索帮助

    在使用的组件中添加组件对象 Outbound Plug中添加外向连接:OP_PRODUCT METHOD op_product. DATA: lv_title TYPE string, lr_cont ...

  2. 函数使用八:BP_EVENT_RAISE

    此函数是关联触发一个已经定义的事件,这个事件可以放到SM36里设置JOB,这样就做成了一个事件触发JOB的东西. Import EVENTID                    事件ID ,对应S ...

  3. vs 2017 Integrated Security 为sspi 含义

    关于sql连接语句中的Integrated Security=SSPI解决方法:即:Security Support Provider Interface设置Integrated Security为 ...

  4. 开发Web应用(1)(二十)

    静态资源访问 在我们开发Web应用的时候,需要引用大量的js.css.图片等静态资源. 默认配置 Spring Boot默认提供静态资源目录位置需置于classpath下,目录名需符合如下规则: /s ...

  5. js原生回到顶部

    <!DOCTYPE html><html><head> <meta content="测试demo" name="Keyword ...

  6. Java Web(六) JSP

    现在的Java Web开发已经很少使用JSP脚本了,业务逻辑都交给Servlet处理,JSP只负责显示视图,所以接下来的内容就对JSP脚本不做叙述了... JSP概述 JSP全名为Java Serve ...

  7. CAD绘制室外台阶步骤5.4

    1.在CAD的平面上用PL命令绘制台阶,如图: 绘制好了之后.进入三维模型,“工具""移位”选择台阶,回车,"Z"回车,输入数值“-450”如图 2.输入命令“ ...

  8. JS 浮点型计算的精度问题 推荐的js 库 推荐的类库 Numeral.js 和 accounting.js

    推荐的类库 Numeral.js 和 accounting.js 文章来自 http://www.css88.com/archives/7324#more-7324

  9. vue-9-动画

    transition: <div id="demo"> <button v-on:click="show = !show"> Toggl ...

  10. 如何在ubuntu上搭建hustoj?

    1.安装MySQL apt-get install mysql-server mysql-client 安装的过程会弹出一个框,输入sql密码,按TAB切换到ok 2.安装apache2 apt-ge ...