深度学习基础知识干货 | 卷积模型的Memory, Params, Flop是如何计算的?

🐧大模型系列篇章

💖 多模态大模型 🔎 GroundingDINO 论文总结
💖 端到端目标检测 🔎 从DETR 到 GroundingDINO 🔥
💖 多模态大模型 👉 CLIP论文总结
💖 多模态大模型 👉 EVA-CLIP
💚 生成模型 👉 从 VAE 到 Diffusion Model (上)
💚 生成模型 👉 从 VAE 到 Diffusion Model (下)🔥
💧 天气大模型

🐧深度学习基础知识篇

💖 深度学习基础知识干货 🔎 Batch Normalization 批量归一化
💖 深度学习基础知识干货 🔎 卷积模型的Memory, Params, Flop是如何计算的?
💖 深度学习基础知识干货 🔎 Cross-Entropy Loss 多分类损失函数
💖 深度学习基础知识干货 🔎 Videos 动作检测
💖 深度学习基础知识干货 🔎 目标检测(Object Detection): 你需要知道的一些概念
💖 深度学习基础知识干货 🔎 微调(fine-tuning)和泛化(generalization)
💖 深度学习基础知识干货 🔎 Group Convolution / Depthwise Convolution 轻量模型的必有的卷积
💖 深度学习基础知识干货 🔎 Gradient checkpointing
💖 深度学习基础知识干货 🔎 Softmax中温度(temperature)参数
💖 深度学习基础知识干货 🔎 什么是few-shot learning

欢迎订阅专栏,第一时间掌握最新科技
大模型系列篇章 专栏链接
深度学习基础知识 专栏链接


在这里插入图片描述

图片中的卷积的memory, params, flop是怎么计算的呢?

Memory

内存:存储每一层输出的元素 = C * H * W = 64 * 56 * 56 = 200704 个元素
有200704个元素,每个元素4个字节(假如说32-bit 浮点数哈)
KB = 输出元素的个数 * 每个元素的大小 / 1024
= 200704 * 4 / 1024
= 784

Params

权重的形状 = c_out * (c_in * k * k) = 64 * 3 * 11 * 11
偏差 = c_out = 64
权重的数量 = 权重的形状 + output的偏差 = 64 * 3 * 11 * 11 + 64 = 23296

Flop

浮点运算的数量(乘法 + 加法)= 每一层输出的元素个数 * 每一个元素的运算量 = (c_out * H * W) * (c_in * K * K) = (64 * 56 * 56) * (3 * 11 * 11) = 72855552

池化层

池化层起到缩小(downsample) H / W 的作用.
他没有可学习的参数

来看一下AlexNet

  • 大部分的计算量都在卷积层(一个一个的点乘)
  • 全连接层的参数量是最大的
  • 前几层的卷积层的output(h,w比较大)比较大,占的memory大。
    在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值