CNN 参数计算
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 参数计算的更多相关文章
- 卷积神经网络(CNN)张量(图像)的尺寸和参数计算(深度学习)
分享一些公式计算张量(图像)的尺寸,以及卷积神经网络(CNN)中层参数的计算. 以AlexNet网络为例,以下是该网络的参数结构图. AlexNet网络的层结构如下: 1.Input: 图 ...
- PCB参数计算神器-Saturn PCB Design Toolkit下载及安装指南
进行PCB设计,特别是高频高速设计时,难免会涉及到PCB相关参数的计算及设置,如:VIA的过流能力,VIA的寄生电容.阻抗等,导线的载流能力,两相互耦合信号线间的串扰,波长等参数. 这里向大家介绍一款 ...
- Go 初体验 - 令人惊叹的语法 - defer.3 - defer 函数参数计算时机
defer 函数的参数计算时机 定义一个 defer 函数,接收参数 n: 调用: 输出: 有点惊讶,为什么不是 100 200 200? go 语言里,defer 函数的参数是在定义位置被计算的,也 ...
- 关于LeNet-5卷积神经网络 S2层与C3层连接的参数计算的思考???
https://blog.csdn.net/saw009/article/details/80590245 关于LeNet-5卷积神经网络 S2层与C3层连接的参数计算的思考??? 首先图1是LeNe ...
- LeNet-5网络结构及训练参数计算
经典神经网络诞生记: 1.LeNet,1998年 2.AlexNet,2012年 3.ZF-net,2013年 4.GoogleNet,2014年 5.VGG,2014年 6.ResNet,201 ...
- 01、BUCK电路的参数计算
案例:设计一个Buck电路,满足如下性能指标要求:一.性能指标要求 1.输入电压 2.输出电压 3.输出电压纹波 4.电流纹波 5.开关频率 二.需要计算的参数 三.BUCK电路拓扑 ...
- 坐标转换7参数计算工具——arcgis 地理处理工具案例教程
坐标转换7参数计算工具--arcgis 地理处理工具案例教程 商务合作,科技咨询,版权转让:向日葵,135-4855_4328,xiexiaokui#qq.com 不接受个人免费咨询. 提供API,独 ...
- printf:函数参数计算从右向左,从左向右?
造冰箱的大熊猫@cnblogs 2019/8/3 1.问题 某天写了如下代码: unsigned char ReadByteFromFile ( FILE * fp ) { unsigned char ...
- SSD训练网络参数计算
一个预测层的网络结构如下所示: 可以看到,是由三个分支组成的,分别是"PriorBox"层,以及conf.loc的预测层,其中,conf与loc的预测层的参数是由PriorBox的 ...
随机推荐
- Leetcode 1029. 可被 5 整除的二进制前缀
1029. 可被 5 整除的二进制前缀 显示英文描述 我的提交返回竞赛 用户通过次数467 用户尝试次数662 通过次数477 提交次数1964 题目难度Easy 给定由若干 0 和 1 组成的 ...
- Oracle Cursor用法总结
cursor分为三种,一是直接声明为cursor变量,二是首先声明类型再声明变量,三是声明为sys_refcursor. (1)直接声明 declare cursor emp_cur is sele ...
- 部署java项目到服务器
1.首先判断服务器是什么系统 linux,windows 2.如果是linux使用SSH进行链接 3.如果是windows使用远程桌面进行链接 1.windows+R->mstsc进行远程桌面的 ...
- [LeetCode] 112. Path Sum ☆(二叉树是否有一条路径的sum等于给定的数)
Path Sum leetcode java 描述 Given a binary tree and a sum, determine if the tree has a root-to-leaf pa ...
- virtualenv 运行python 解决依赖冲突问题 尤其是django那种蛋疼的版本问题
Create a python virtual environment and install python dependencies. cd evalai virtualenv venv sourc ...
- hibernate配置log
hibernate依赖jboss-logging,通过它选择对应的对应的日志包,选择的逻辑课查看具体代码org.jboss.logging.LoggerProviders. 先通过系统变量(org.j ...
- @Configuration的使用 和作用
1从spring4.0以后,@Spring boot Application就包含了@ComponentScan,@ComponentScan就不用写了 2@MapperScan(basePackag ...
- bash 调试
bashdb test.sh step edit visual 跳到那一行 R restart http://www.ibm.com/developerworks/cn/linux/l-cn-she ...
- awk 中 fieldwidths使用方法
AWK中的FIELDWIDTHS是一个很好用的变量,这个变量可以指定字符串按照怎么样的宽度进行展示 实例一: 要求: 032130 032131 146230 035048 222049 095070 ...
- Python Django 之 基于JQUERY的AJAX 登录页面
一.基于Jquery的Ajax的实现 1.url 2.vews 3.templates