模型如何压缩?使用轻量化的模型压缩技术剪枝(pruning)

news2024/11/15 11:11:05

深度学习模型参数太多,本地服务器部署没有问题,但是如果部署到移动端、边缘端,像手机、树莓派等,它们的性能不能满足,所以我们要压缩模型大小,让他们可以部署到边缘端

模型压缩:使用轻量化的模型压缩技术,如剪枝(pruning)和量化(quantization),来减小深度学习模型大小

  • 通过剪枝可以去除冗余的权重参数和不必要的神经元,从而减小模型的尺寸。
  • 量化可以将浮点数权重参数转换为更小的整数,从而减少存储和计算开销。

可以类比人脑

在这里插入图片描述

深度学习模型有点玄学,最好还是在一开始设计好模型,比后期做剪枝操作要强

在这里插入图片描述

剪枝的一些操作:

  • 聚类,效果不好
    在这里插入图片描述

  • 大网络训练作为小网络的先验知识(不常用)
    在这里插入图片描述

  • SVD,中间加上一个层(两个全连接层之间,减少参数)
    在这里插入图片描述

剪枝是什么?

在这里插入图片描述

在这里插入图片描述

如何减少模型中无用的特征图

在这里插入图片描述

在这里插入图片描述

常规套路:Conv + BN + Relu激活函数

  • BN的作用是为了防止卷积之后的梯度消失或者梯度爆炸

在这里插入图片描述

在这里插入图片描述

剪枝常用的正则化函数

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
Learning Efficient Convolutional Networks through Network Slimming

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/498460.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Redis 布隆过滤器总结

Redis 布隆过滤器总结 适用场景 大数据判断是否存在来实现去重:这就可以实现出上述的去重功能,如果你的服务器内存足够大的话,那么使用 HashMap 可能是一个不错的解决方案,理论上时间复杂度可以达到 O(1) 的级别,但是…

Flutter 开发的那些小细节

Flutter 创建应用的小注意 包名 每当创建一个新的 Flutter 应用时,一些 Flutter IDE 插件会请你输入一个类似 com.example 的包名,包名(在 iOS 里叫 Bundle ID)一般都是公司域名的反写。如果你的应用打算上架商店,建…

NetApp 7-mode下Autosupport日志的收集

前面介绍过NetApp Cluster mode下autosupport日志的收集方法,最近遇到很多7-mode下客户扔出一个有故障指示灯的照片,然后让你判断问题的case。NetApp没有一个命令能很清晰的把所有的和硬件有关的问题列出来的命令。客户随之就说,要不输入一条…

【操作系统OS】学习笔记第三章 内存管理【哈工大李治军老师】

基于本人观看学习 哈工大李治军老师主讲的操作系统课程 所做的笔记&#xff0c;仅进行交流分享。 特此鸣谢李治军老师&#xff0c;操作系统的神作&#xff01; 如果本篇笔记帮助到了你&#xff0c;还请点赞 关注 支持一下 ♡>&#x16966;<)!! 主页专栏有更多&#xff0…

《机器学习算法竞赛实战》-chapter6模型融合

模型融合 模型融合常常是竞赛取得胜利的关键&#xff01; 具有差异性的模型融合往往能给结果带来很大的提升。虽然并不是每次使用模型融合都能起到很大的作用&#xff0c;但是就平常的竞赛经验而言&#xff0c;尤其是在最终成绩相差不大的情况下&#xff0c;模型融合的方法往往…

法规标准-GB/T 39265标准解读(2020版)

GB/T 39265是做什么的&#xff1f; GB/T 39265全名为道路车辆 盲区检测系统性能要求及试验方法&#xff0c;其中主要是对BSD系统的性能要求及测试步骤进行了介绍。本文仅解读M1、N1类车辆相关内容。 一般要求 系统开启与关闭 1.BSD系统应具备手动开启和关闭的功能 2.手动关…

巧用 exports 和 typeVersions 提升 npm 包用户使用体验

默认导出 对于开发一个 JavaScript 三方库供外部使用而言&#xff0c;package.json是其中不可缺少的一部分 一般而言&#xff0c;对于库开发者来说&#xff0c;我们会在package.json中指定我们的导出入口。一般而言会涉及两个字段main和export&#xff0c;它们会涉及到当前模…

开关电源基础03:正激和反激开关电源拓扑(2)-半桥和全桥拓扑

说在开头&#xff1a;关于薛定谔的波动方程&#xff08;3&#xff09; 波动方程在矩阵派的内部也大受欢迎&#xff0c;首先是海森堡的老师索末菲&#xff0c;然后是建立矩阵力学的核心人物之一的另一位老师&#xff1a;马克思.玻恩。玻恩在薛定谔方程刚出来时就赞扬了他的成就…

宕机了?!DolphinScheduler 高可用和 Failover 机制关键时刻保命

点击蓝字 关注我们 高可用性是 Apache DolphinScheduler 的特性之一。它通过冗余来避免单点问题&#xff0c;所有组件天然支持横向扩容&#xff1b;但仅仅保证了冗余还不够&#xff0c;当系统中有节点宕机时&#xff0c;还需要有故障转移机制能够自动将宕机节点正在处理的工作转…

【react 全家桶】高级指引(上)

本人大二学生一枚&#xff0c;热爱前端&#xff0c;欢迎来交流学习哦&#xff0c;一起来学习吧。 <专栏推荐> &#x1f525;&#xff1a;js专栏 &#x1f525;&#xff1a;vue专栏 &#x1f525;&#xff1a;react专栏 文章目录 12 【react高级指引&#xff08;上&…

I.MX6Q-SDB开发板移植ubuntu

I.MX6Q-SDB开发板移植ubuntu 0.前言一、准备工作二、ubuntu移植1.下载ubuntu发布的根文件系统2.根文件系统的简单修改3.板卡适配设置4.打包根文件系统 三、烧写镜像1.dd命令2.uuu工具3.mfgtool工具4.i.mx6q-sdb的拨码设置&#xff1a; 四、大无语事件 0.前言 这两天收拾杂货堆&…

密码学【java】初探究加密方式之数字签名

文章目录 前言1 数字签名简介2 基本原理3 数字证书4 网页加密5 edge的网站连接图标6 代码实现7 keytool工具使用7.1 常用命令&#xff1a;7.2 生成私钥公钥[未实践成功]7.3 导出公钥 前言 有关keytool的使用部分&#xff0c;未实现&#xff0c;先记录下来&#xff01;&#xf…

『python爬虫』12. 模拟登陆之cookie的使用(保姆级图文)

目录 session1. 模拟登陆取得cookie2. 在登录的情况下继续取得书架上的数据3. 在已经有cookie的情况下直接请求总结 欢迎关注 『python爬虫』 专栏&#xff0c;持续更新中 欢迎关注 『python爬虫』 专栏&#xff0c;持续更新中 session session和我们之前用的request十分相似&…

AWS Lambda - 同步/异步调用,事件源,目标

Hello大家好&#xff0c;我们今天继续讨论AWS Lambda的内容。 同步调用 Lambda函数有三种调用方式。 第一种方式是同步调用。 当我们使用API、CLI以及API网关等调用函数时&#xff0c;就是同步调用。 当您同步调用函数时&#xff0c;Lambda会运行该函数并等待响应&#xff…

微服务---Redis入门篇-Redis的常见命令和客户端使用

Redis快速入门 Redis的常见命令和客户端使用 1.初识Redis Redis是一种键值型的NoSql数据库&#xff0c;这里有两个关键字&#xff1a; 键值型 NoSql 其中键值型&#xff0c;是指Redis中存储的数据都是以key、value对的形式存储&#xff0c;而value的形式多种多样&#xf…

易视腾iS-E5-NGH_3798MV100_MT7601_卡刷固件包_当贝纯净桌面

易视腾iS-E5-NGH_3798MV100_MT7601_卡刷固件包_当贝纯净桌面 特点&#xff1a; 1、适用于对应型号的电视盒子刷机&#xff1b; 2、开放原厂固件屏蔽的市场安装和u盘安装apk&#xff1b; 3、修改dns&#xff0c;三网通用&#xff1b; 4、大量精简内置的没用的软件&#xff0…

单链表OJ题:LeetCode--206.反转链表

朋友们、伙计们&#xff0c;我们又见面了&#xff0c;今天给大家带来的是LeetCode中206题&#xff1a;反转链表 数 据 结 构&#xff1a;数据结构专栏 作 者&#xff1a;stackY、 C 语 言 &#xff1a;C语言专栏 LeetCode &#xff1a;LeetCode刷题训练营 LeetCod…

TiDB实战篇-数据库热点问题

形成热点的原因 主要是因为数据插入进去的时候是按顺序加数据的。 数据分裂以后还是在一个store上面&#xff0c;就会形成读写热点。 没有走索引全表扫描的情况。 定位热点 如果有热点&#xff0c;那么它的查询语句应该是比较多的&#xff0c;容易在这个地方找到对应的热点问…

Leetcode434. 字符串中的单词数

Every day a leetcode 题目来源&#xff1a;434. 字符串中的单词数 解法1&#xff1a;istringstream 我们知道&#xff0c;C默认通过空格&#xff08;或回车&#xff09;来分割字符串输入&#xff0c;即区分不同的字符串输入。 istringstream类用于执行C风格的串流的输入操…

Flowable入门

Flowable初体验 Flowable是什么 Flowable 是一个使用 Java 编写的轻量级业务流程引擎&#xff0c;常用于需要人工审批相关的业务&#xff0c;比如请假、报销、采购等业务。 为什么要使用工作流呢&#xff1f; 对于复杂的业务流程&#xff0c;通过数据库的状态字段难以控制和…