【知识蒸馏】deeplabv3 logit-based 知识蒸馏实战,对剪枝的模型进行蒸馏训练
本文将对【模型剪枝】基于DepGraph(依赖图)完成复杂模型的一键剪枝 文章中剪枝的模型进行蒸馏训练
一、逻辑蒸馏步骤
- 加载教师模型
- 定义蒸馏loss
- 计算蒸馏loss
- 正常训练
二、代码
1、加载教师模型
教师模型使用未进行剪枝,并且已经训练好的原始模型。
teacher_model = torch.load('./logs/before_prune.pth', map_location=device)
2、定义蒸馏loss
分割和分类的loss,都是用的softmax。
import torch.nn.functional as F
import torch.nn as nn
# 蒸馏温度
Tempature = 2
def KD_loss(teacher_pred, student_pred):t_p = F.softmax(teacher_pred / Tempature, dim=1)s_p = F.log_softmax(student_pred / Tempature, dim=1)return nn.KLDivLoss(reduction='mean')(s_p, t_p) * (Tempature ** 2)
3、 计算蒸馏loss
teacher_outputs = t_model(imgs)
# 蒸馏loss
soft_loss = KD_loss(teacher_outputs, outputs)
# 总loss = 蒸馏loss*alpha + 原学生模型loss*(1-alpha)
alpha = 0.9
all_loss = loss * (1 - alpha) + soft_loss * alpha
4、正常训练
all_loss.backward()
用剪枝前训练好的模型对剪枝后模型进行蒸馏训练,训练后测试效果如下:

相关文章:
【知识蒸馏】deeplabv3 logit-based 知识蒸馏实战,对剪枝的模型进行蒸馏训练
本文将对【模型剪枝】基于DepGraph(依赖图)完成复杂模型的一键剪枝 文章中剪枝的模型进行蒸馏训练 一、逻辑蒸馏步骤 加载教师模型定义蒸馏loss计算蒸馏loss正常训练 二、代码 1、加载教师模型 教师模型使用未进行剪枝,并且已经训练好的原始模型。 teacher_mod…...
02.爬虫---HTTP基本原理
02.HTTP基本原理 1.URI 和 URL 的区别2.HTTP 和 HTTPS 的区别3.请求过程 1.URI 和 URL 的区别 URL(Uniform Resource Locator)即-统一资源定位符 URL是用来定位和访问互联网上资源的独特标识,它包括了资源的位置(如IP地址或域名&a…...
HTTP响应的基本概念
目录 HTTP响应中的一些信息 HTTPS HTTP响应中的一些信息 状态码:描述了这次HTTP请求是否成功,以及失败的原因。 1)200 ---OK 表示这次访问成功了。 2)404 ---Not Found 表示客户端请求的资源在服务器这边不存在。 3&a…...
链栈的存储
单向链表在栈中的存储 typedef struct StackNode {SElemType data;struct StackNode* next; }StackNode, *LinkStack; LinkStack S; //链栈初始化 void InitStack(LinkStack& S) {S NULL;return OK; } //判断链栈是否为空 Status StackEmpty(LinkStack S) {if (S NU…...
常见网络协议及端口号
https://www.cnblogs.com/Snail-yellow/p/17722411.html 常见的网络协议-腾讯云开发者社区-腾讯云 常见的网络协议知识整理_五种常用的网络协议-CSDN博客 端口 协议 常见的网络协议_计算机网络协议有哪些csdn-CSDN博客 协议 常见的网络协议知…...
几张自己绘制的UML图
全部来源于公司项目,使用建模工具 Enterprise Architect。自己做的其余文档(含绘图),因保密协议不便于公开。...
[读论文]精读Self-Attentive Sequential Recommendation
论文链接:https://arxiv.org/abs/1808.09781 其他解读文章:https://mp.weixin.qq.com/s/cRQi3FBi9OMdO7imK2Y4Ew 摘要 顺序动态是许多现代推荐系统的一个关键特征,这些系统试图根据用户最近执行的操作来捕获用户活动的“上下文”。为了捕捉…...
HTML静态网页成品作业(HTML+CSS)——动漫海绵宝宝介绍网页(5个页面)
🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有5个页面。 二、作品演示 三、代…...
开放式耳机2024超值推荐!教你如何选择蓝牙耳机!
开放式耳机的便利性让它在我们的日常生活中变得越来越重要。它让我们摆脱了传统耳机的限制,享受到了更多的自由。不过,市面上的开放式耳机种类繁多,挑选一款既实用又实惠的产品确实需要一些小窍门。作为一位对开放式耳机颇有研究的用户&#…...
程序员搞副业的障碍有那些?
利用信息差是最常见的商业模式 在这个世界上,没有什么是所有人都知道的,信息差总是存在的。 无论是经验、技巧、知识,甚至是常识,都可能是信息差的源泉,而存在信息差的地方就意味着有赚钱的商机。 面对用户需求的金…...
windows7的ie11降级到ie8
重点是要在程序管理窗口中“查看已安装的更新”打开当前系统中已安装更新列表,找到两个IE11的更新(见下图“卸载文件“)并卸载掉,这样windows功能中的ie11才会变成ie8. 打开控制面板 进入面板,点击程序,进…...
楼房vr安全逃生模拟体验让你在虚拟环境中亲身体验火灾的紧迫与危险
消防VR安全逃生体验系统是深圳VR公司华锐视点引入了前沿的VR虚拟现实、web3d开发和多媒体交互技术,为用户打造了一个逼真的火灾现场应急逃生模拟演练环境。 相比传统的消防逃生模拟演练,消防VR安全逃生体验系统包含知识讲解和模拟实训演练,体…...
rust 学习--所有权
所有权是rust的核心功能。 Rust 是通过所有权来管理内存回收的 栈(Stack) 栈是后进先出的 栈中存储的数据在编译时是固定内存大小的数据 数据移除栈叫出栈,数据存入栈叫入栈 入栈要比在堆上分配内存块,入栈时分配器无需为存储…...
关于Git 的基本概念和使用方式
Git是一个分布式版本控制系统,用于跟踪和管理代码的改动。它具有以下基本概念和使用方式: 1. 仓库(Repository):Git使用仓库来存储代码和相关的历史记录。仓库可以是本地的,也可以是远程的。本地仓库保存在…...
《计算机网络微课堂》1-6 计算机体系结构
常见的计算机网络体系结构 从本节课开始,我们要用 4 次课的时间来介绍有关计算机网络体系结构的知识,具体包含以下内容: 一,常见的计算机网络体系结构二,计算机网络体系结构分层的必要性三,计算机网络体系…...
大模型的灵魂解读:Anthropic AI的Claude3 Sonnet可解释性研究
大模型技术论文不断,每个月总会新增上千篇。本专栏精选论文重点解读,主题还是围绕着行业实践和工程量产。若在某个环节出现卡点,可以回到大模型必备腔调重新阅读。而最新科技(Mamba,xLSTM,KAN)则提供了大模型领域最新技…...
大模型框架:vLLM
目录 一、vLLM 介绍 二、安装 vLLM 2.1 使用 GPU 进行安装 2.2 使用CPU进行安装 2.3 相关配置 三、使用 vLLM 3.1 离线推理 3.2 适配OpenAI-API的API服务 一、vLLM 介绍 vLLM是伯克利大学LMSYS组织开源的大语言模型高速推理框架。它利用了全新的注意力算法「PagedAtten…...
SQL 使用心得【持续更新】
COUNT(字段) 不会统计 NULL 值,但是COUNT(*)会只要有子查询,就需要给子查询定义别名!where 后面的条件表达式中不能存在聚合函数,但是 Having 可以聚合函数基本上都是需要配合 group…...
基于Spring Boot的高校图书馆管理系统
项目和论文都有企鹅号2583550535 基于Spring Boot的图书馆管理系统||图书管理系统_哔哩哔哩_bilibili 第1章 绪论... 1 1.1 研究背景和意义... 1 1.2 国内外研究现状... 1 第2章 相关技术概述... 2 2.1 后端开发技术... 2 2.1.1 SpringBoot 2 2.1.2 MySQL.. 2 2.1.3 My…...
python(4) : pip安装使用国内源
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests...
Vulnhub-DC-1
1.信息收集 使用工具nmap扫描主机端口 这是Drupal是使用PHP语言编写的开源内容管理框架(CMF),它由内容管理系统(CMS)和PHP开发框架(Framework)共同构成 Web指纹扫描 发现是:drupal…...
美团外卖mtgsig与waimai_sign双层签名逆向解析
1. 这不是“爬虫教程”,而是一份反向工程现场笔记你搜到这篇内容,大概率正卡在某个调试窗口前:抓包看到mtgsig和waimai_sign两个参数像两堵墙,无论怎么改请求头、换UA、清缓存,返回永远是{"code":403,"…...
搞定这 5 个全栈电商项目,面试别再用 Todo-List 凑数了
找独立开发练手项目或者写简历项目时,最忌讳两件事:一是太简单(纯前端 Mock 数据,点两下就没了),二是太假(一上来就硬套微服务、消息队列、高并发,结果自己根本Hold不住)…...
Unity/Unreal开发者必看:用手机和陀螺仪实验,5分钟搞懂万向节死锁(附避坑指南)
Unity/Unreal开发者实战指南:用手机陀螺仪5分钟破解万向节死锁当你调试第一人称视角时,角色突然卡在墙面无法转动;当无人机模型在俯冲90度时失控乱转——这些很可能都是万向节死锁(Gimbal Lock)在作祟。作为实时3D开发中最恼人的数学陷阱之一…...
用Python复现Nature论文:仅需100次循环数据,提前预测锂电池寿命(附完整代码与数据集)
用Python实战预测锂电池寿命:从数据特征到模型部署全解析锂电池作为现代能源存储的核心组件,其寿命预测一直是工业界和学术界关注的焦点。传统方法往往需要等待电池出现明显容量衰减才能进行判断,而最新研究表明,通过分析早期循环…...
LoRa物联网与动态基线算法在养殖体温监测中的实战应用
1. 项目概述:为什么我们需要一个智能体温监测系统?在规模化养殖场里干了十几年,我见过太多因为体温异常没被及时发现而导致的损失。一头育肥猪突然不吃食,等饲养员第二天巡栏发现时,可能已经高烧好几天,继发…...
通过Taotoken实现Hermes Agent自定义模型供应商接入
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 通过Taotoken实现Hermes Agent自定义模型供应商接入 Hermes Agent是一个流行的AI智能体开发框架,它支持通过配置自定义…...
Windows 11 LTSC安装微软商店的终极解决方案:3步恢复完整应用生态
Windows 11 LTSC安装微软商店的终极解决方案:3步恢复完整应用生态 【免费下载链接】LTSC-Add-MicrosoftStore Add Windows Store to Windows 11 24H2 LTSC 项目地址: https://gitcode.com/gh_mirrors/ltscad/LTSC-Add-MicrosoftStore LTSC-Add-MicrosoftStor…...
MaxEnt建模总失败?别急着换数据,先检查ArcGIS裁剪栅格这1个像素的坑
MaxEnt建模失败?ArcGIS栅格裁剪的1像素陷阱与精准修复指南当你花费数小时整理好WorldClim气候数据、本地DEM高程和物种分布数据,满心期待地点击MaxEnt的运行按钮时,屏幕上突然跳出"Error projecting, two layers have different geograp…...
【Midjourney霓虹效果终极指南】:20年AI视觉工程师亲授5大参数组合+3类光源建模公式,97%新手一周内复刻赛博朋克海报
更多请点击: https://kaifayun.com 第一章:霓虹美学的视觉原理与Midjourney适配性解析 霓虹美学源于20世纪都市夜景中的荧光灯管、电子广告与赛博朋克文化,其核心视觉特征包括高饱和度冷暖对比、边缘辉光(glow)、深色…...
