• 模型需要的参数计算


    https://www.pianshen.com/article/76371333833/

    关于卷积层,全连接层,池化层的相关输出参数计算

     
     
     
     
     

    目录

    说明

    全连接层FC,全连接NN

    卷积Convolutional

    模型占用显存的计算 


    为了更好的说明问题,另一个文中进行说明,本文内容都是一些概念/理论的东西,都是抄的。

    https://blog.csdn.net/weixin_39875161/article/details/88364442

    说明

    kernel  == filter

    feature map ×n == output

    Depth == channel

    符号 参数说明
    Wi / H/ Ci Width / Height / Depth of input
    W Width of feature map
    H Height of feature map
    D Depth of feature map
    F Szie of filters
    K Number of th filters
    S Strip of filter

    全连接层FC,全连接NN

    全连接 :每个神经元与前后相邻层的每一个神经元都有连接关系,输入是特征,输出为预测的结果。

    • 参数个数: FC前层 × FC后层
    • 计算量/乘法计算次数/times :  FC前层 × FC后层

    待优化的参数过多, 容易导致模型过拟合。 为避免这种现象, 实际应用中一般不会将原始图片直接喂入全连接网络
    将会产生大量的参数,是整个网络最大的累赘。

    卷积Convolutional

    卷积,是提取特征的过程,也可以说成是压缩数据。有三个参数,卷积核/卷积层中神经元感知域大小kernel,滑动步长strip,填充方法padding:same/valid。

    例: 输入是 7×7,滤波器是 3×3,步长为 1,填充为 0,那么就能得到一个 5×5的输出。如果输入量是 32x32x3,核是 5x5x3,不用全零填充,输出是(32-5+1)/1=28。如果要让输出量保持在 32x32x3, 可以对该层加一个大小为 2 的零填充。 可以根据需求计算出需要填充几层零。 32=(32-5+2P) /1 +1, 计算出 P=2, 即需填充 2,如下图。

    • 卷积核的个数  :   卷积核的个数=最终的featuremap的个数  = D   通过上图可以看出来,他是作者自己订的。
    • 参数的个数/Space: 卷积核的尺寸 x 卷积的深度x输出深度 = F x F x D x K
    • 输出尺寸  :( 输入数据体尺寸-卷积核+2*零填充的数量)/步长+1 = (Wi - W + 1)/S + 1
    • 计算量/乘法计算次数/times  :  输入图像的尺寸x 卷卷积的尺寸 x 输入深度 x 输出深度= Wi x Hi x F x F x Di x D

    普通的cnn来说 卷积的深度 == 输入数据的深度

    模型占用显存的计算 

    下面是抄得


    显存的占用主要是Model本身和每一层的output。

    计算方法

    image


     

     
    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
    本文链接:https://blog.csdn.net/weixin_39875161/article/details/87859169
  • 相关阅读:
    docker进入交互界面
    FCN训练注意事项
    centos7 常用命令
    vim锁定,不能动
    爬虫三之beautifulsoup
    爬虫二之Requests
    爬虫一之基本操作
    MathType的配置问题;将word中的公式转换为mathtype格式失败,缺少OMML2MML.XSL
    神经网络实现Discuz验证码识别
    修改linux环境变量配置文件
  • 原文地址:https://www.cnblogs.com/shuimuqingyang/p/14006773.html
Copyright © 2020-2023  润新知