模型压缩:剪枝 📅 发布时间:2026/7/9 7:14:46 👁️ 浏览次数: 剪枝基于深度神经网络他有大量的参数量才能达到SOTA但是仿照生物的神经网络将稠密的神经连接变为稀疏的也能达到SOTA效果。举例模型class LeNet(nn.Module): def __init__(self): super(LeNet, self).__init__() # 1: 图像的输入通道(1是黑白图像), 6: 输出通道数量, 3 * 3: 卷积核的尺寸 self.conv1 nn.Conv2d(1, 6, 3) self.conv2 nn.Conv2d(6, 16, 3) self.fc1 nn.Linear(16 * 5 * 5, 120) self.fc2 nn.Linear(120, 84) self.fc3 nn.Linear(84, 10) def forward(self, x): x F.max_pool2d(F.relu(self.conv1(x)), (2, 2)) x F.max_pool2d(F.relu(self.conv2(x)), 2) x x.view(-1, int(x.nelement() / x.shape[0])) x F.relu(self.fc1(x)) x F.relu(self.fc2(x)) x self.fc3(x) return x1、无结构化的剪枝(随机剪枝)# module model.conv1 # prune.random_unstructured(module, nameweight, amount0.3) # print(list(module.named_parameters())) # print(list(module.named_buffers()))这种剪枝方式是随机的剪掉对应层的权值30%2、无结构化的剪枝l1剪枝:# prune.l1_unstructured(module, namebias, amount3)这种剪枝通过L1范数可以先剪掉对模型贡献最小的那一部分3、序列化剪枝prune.remove(module, weight)首先再剪枝后会生成weight_orig(存储在缓冲区模型之前未剪枝前的权重)与weight_mask(掩码,就是那些需要掩码)而weight是他俩个相乘这就导致降低了效率并且占用了内存所以remove以后就不存在这两个了而是变为weight。4、结构化剪枝多参数模块剪枝# for name, module in model.named_modules(): # # 对模型中所有的卷积层执行l1_unstructured剪枝操作, 选取20%的参数进行剪枝 # if isinstance(module, torch.nn.Conv2d): # prune.l1_unstructured(module, nameweight, amount0.2) # # 对模型中所有的全连接层执行ln_structured剪枝操作, 选取40%的参数进行剪枝 # elif isinstance(module, torch.nn.Linear): # prune.ln_structured(module, nameweight, amount0.4, n2, dim0)#bias只有1维没法用结构化剪枝这样可以处理模型的所有层不需要一个一个写但需要注意结构化剪枝是需要多维数据的一维的是不行的5、全局剪枝# # 构建参数集合, 决定哪些层, 哪些参数集合参与剪枝 # parameters_to_prune ( # (model.conv1, weight), # (model.conv2, weight), # (model.fc1, weight), # (model.fc2, weight), # (model.fc3, weight)) # # # 调用prune中的全局剪枝函数global_unstructured执行剪枝操作, 此处针对整体模型中的20%参数量进行剪枝 # prune.global_unstructured(parameters_to_prune, pruning_methodprune.L1Unstructured, amount0.2) # # # 最后打印剪枝后的模型的状态字典 # print(model.state_dict().keys()) # print( # Sparsity in conv1.weight: {:.2f}%.format( # 100. * float(torch.sum(model.conv1.weight 0)) # / float(model.conv1.weight.nelement()) # )) # # print( # Sparsity in conv2.weight: {:.2f}%.format( # 100. * float(torch.sum(model.conv2.weight 0)) # / float(model.conv2.weight.nelement()) # )) # # print( # Sparsity in fc1.weight: {:.2f}%.format( # 100. * float(torch.sum(model.fc1.weight 0)) # / float(model.fc1.weight.nelement()) # )) # # print( # Sparsity in fc2.weight: {:.2f}%.format( # 100. * float(torch.sum(model.fc2.weight 0)) # / float(model.fc2.weight.nelement()) # )) # # print( # Sparsity in fc3.weight: {:.2f}%.format( # 100. * float(torch.sum(model.fc3.weight 0)) # / float(model.fc3.weight.nelement()) # )) # # print( # Global sparsity: {:.2f}%.format( # 100. * float(torch.sum(model.conv1.weight 0) # torch.sum(model.conv2.weight 0) # torch.sum(model.fc1.weight 0) # torch.sum(model.fc2.weight 0) # torch.sum(model.fc3.weight 0)) # / float(model.conv1.weight.nelement() # model.conv2.weight.nelement() # model.fc1.weight.nelement() # model.fc2.weight.nelement() # model.fc3.weight.nelement()) # ))他是剪去总体的20%具体每一层剪多少有参数决定6、自定义剪枝
AI智能体入门指南:从小白到实战收藏,解锁数字员工新机遇! 本文详细介绍了AI智能体的概念、分类、核心能力(感知、记忆、推理、执行、优化)及关键技术(大模型、RAG、工具调用等)。文章还梳理了AI智能体的产业链结构,并展望了其在企业办公、工业制造、医疗健康、零售电商、文娱创… 2026/7/7 19:07:13
计科毕业设计创新的方向分享 1 引言 毕业设计是大家学习生涯的最重要的里程碑,它不仅是对四年所学知识的综合运用,更是展示个人技术能力和创新思维的重要过程。选择一个合适的毕业设计题目至关重要,它应该既能体现你的专业能力,又能满足实际应用需求ÿ… 2026/7/7 17:35:06
淘宝推广运营培训机构如何选?2026年这份深度评测榜单助你一臂之力! 淘宝推广运营培训机构如何选?2026年这份深度评测榜单助你一臂之力!1.1 行业背景随着电商市场竞争进入白热化阶段,无论是初入淘宝的新手卖家,还是寻求突破的成熟商家,都面临着流量获取成本攀升、平台规则快速迭代、运营… 2026/7/8 8:00:31
会说话的会议系统!xiaomu-meeting接入Hermes智能助手,开会就像多了个全能秘书 开会时,你最想要什么? 想象一下这个场景:你正在一场激烈的项目讨论会上,突然需要查看一份上个月的销售数据报表,手忙脚乱地翻找电脑文件夹;有人提到一个专业术语,你不太确定含义,但… 2026/7/9 7:13:47
【IEEE出版、往届2.5个月检索、中山大学主办】第六届计算机科学与区块链国际学术会议(CCSB 2026) 第六届计算机科学与区块链国际学术会议(CCSB 2026)将于2026年8月21日至23日在中国珠海隆重举行。本次会议将邀请国内外知名专家学者,围绕计算机科学、区块链及相关领域的前沿技术进展、创新研究成果与实际应用作专题报告,并安排深… 2026/7/9 7:11:46
基于语义缓存的LLM应用性能优化:从原理到工程实践 🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 如果你最近在关注大语言模型(LLM)的应用开发,尤其是RAG(检索增强生成)系统… 2026/7/9 7:11:46
2026 年零碳工厂企业能碳管控平台选型指南 在双碳战略全面落地、工业低碳转型加速推进的大环境下,零碳工厂建设已经成为制造企业绿色升级、提升市场竞争力的核心抓手。2026 年,五部门联合发布的零碳工厂建设指导意见全面落地执行,数字化能碳管控平台正式列为零碳工厂评审硬性准入条件。… 2026/7/9 7:09:46
GPT详细介绍 学习目标:本节内容需要大致了解GPT的架构原理、预训练任务、微调任务2018年6月, OpenAI公司发表了论文“Improving Language Understanding by Generative Pre-training”《用生成式预训练提高模型的语言理解力》, 推出了具有1.17亿个参数的GPT(Generati… 2026/7/9 7:03:45
5款国产大模型API接入实战:通义千问、文心一言、混元、盘古、ChatGLM 3.6B 成本与延迟对比 国产大模型API实战指南:成本、性能与选型策略在AI技术快速迭代的今天,国产大模型已从实验室走向产业应用。对于开发者而言,如何选择适合自身业务需求的大模型API服务,成为技术决策中的关键一环。本文将深入分析通义千问、文心一言… 2026/7/9 7:01:44
机器视觉与PLC集成:轮毂缺陷检测与字符识别误差控制在0.2mm内 机器视觉与PLC集成:轮毂缺陷检测与字符识别误差控制在0.2mm内的技术实现轮毂作为汽车关键零部件,其表面质量直接影响行车安全与美观。传统人工检测效率低且易漏检,而采用机器视觉与PLC集成方案可实现微米级精度检测。本文将深入解析高精度视觉… 2026/7/9 0:01:04
GBase 8a vs MySQL 8.0:ALTER TABLE语法与限制的5点关键差异对比 GBase 8a与MySQL 8.0:ALTER TABLE语法差异深度解析与实战指南1. 两种数据库的ALTER TABLE能力全景对比在数据库架构设计和运维过程中,表结构变更(DDL操作)是不可避免的需求。GBase 8a作为国产分析型数据库代表,与开源M… 2026/7/9 0:03:06
【大数据毕业设计】基于多源旅游数据的景区热度分析与推荐系统的设计与实现 基于 Django 的旅游偏好挖掘与景区推荐系统(源码+文档+远程调试,全bao定制等) 博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am… 2026/7/9 0:05:09
6个月转型AI工程师:实战路径与核心技能 1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公… 2026/7/7 11:26:57
TPAFE0808与PIC18F87K22的多通道信号采集方案 1. 项目背景与核心需求在工业自动化、医疗设备和科研仪器等领域,多通道信号采集与系统监测是基础且关键的技术需求。传统方案往往面临通道数量不足、信号调理复杂、系统集成度低等问题。TPAFE0808作为一款8通道模拟前端芯片,与PIC18F87K22微控制器的组合… 2026/7/8 20:15:17
STC3115与PIC18LF26K80构建高精度电池管理系统 1. STC3115与PIC18LF26K80在电池管理系统中的核心价值在现代电子设备中,电池管理系统(BMS)的重要性不亚于设备的核心处理器。STC3115作为一款高精度电池电量监测IC,与PIC18LF26K80微控制器的组合,构成了一个既能精确监控又能智能管理的完整解… 2026/7/8 14:25:08