zoukankan      html  css  js  c++  java
  • 参数量与计算量

    例:输入是m*m*c的图像,卷积核大小是k*k,其输出是n*n*d,也表示卷积核的数量是d,其总参数是多少,总的乘法计算量是多少?

    总参数:c*k*k*d

    总乘法计算量:c*k*k*n*n*d

    解释如下:

      对于输出feature-map上某一个channel的点,经过如下两步得到:

      1. 卷积核k*k与输入的每个channel卷积,把每个channel上的内容加起来,就得到最后一个点。如下图1所示,那么输出feature-map上每个点的计算量为c*k*k

      2. 那么输出feature-map上有n*n*d个点,所以总乘法计算量:c*k*k*n*n*d

    图1 卷积

    一般地,我们可以将5*5拆成两个3*3,那么我们可以来比较一下这两者的计算量和参数量

    假设输入图像大小是5*5*1,最终都需要变成1*1*1

    那么对于5*5的核,我们的总参数量为:1*5*5*1=25,总的乘法计算量为1*5*5*1=25

    对于3*3的核:

      1. 5*5*1 --> 3*3*1,参数:1*3*3*1=9,计算量为:1*3*3*3*3*1=81

      2. 3*3*1 --> 1*1*1,参数:1*3*3*1=9,计算量为:1*3*3*1=9

      总的参数:18,总的计算量为:90

    核大小参数数目计算量
    5*5的核 25 25
    3*3的核 18 90

    但是,计算机读内存的速度比乘法的速度慢多了,所以我们宁愿多算几次,也不要多度一点内存数据

    参考:

    轻量化模型:SqueezeNet,MobileNet,ShuffleNet以及Xception

  • 相关阅读:
    每日随笔
    每日随笔
    每日随笔
    每日随笔
    nginx的Rewrite重写
    多台机器做动静分离
    单台机器动静分离
    四层负载均衡实践
    四层负载均衡特点
    四层负载均衡做端口转发
  • 原文地址:https://www.cnblogs.com/gezhuangzhuang/p/10922568.html
Copyright © 2011-2022 走看看