【知識蒸餾】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()

用剪枝前訓練好的模型對剪枝后模型進行蒸餾訓練,訓練后測試效果如下:
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/14680.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/14680.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/14680.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

利用Python去除PDF水印

摘要 本文介紹了如何使用 Python 中的 PyMuPDF 和 OpenCV 庫來從 PDF 文件中移除水印,并將每個頁面保存為圖像文件的方法。我們將深入探討代碼背后的工作原理,并提供一個簡單的使用示例。 導言 簡介:水印在許多 PDF 文件中都很常見&#x…

全國數據庫管理系統設計賽-人大金倉內核實訓安排正式發布

作為數據庫領域國家隊,人大金倉積極響應國家戰略,通過賽題設計、內核技術支撐及賽前培訓等多方面,大力支持全國大學生計算機系統能力大賽-數據庫管理系統設計大賽成功舉辦。目前第二屆全國大賽正在火熱報名中,各種獎項等你來拿&am…

《web應用設計》第八次作業

我的小組長是姚若希,我們組課程設計的題目是:學生管理系統 ,我認領的功能模塊是:課程管理 2.查詢并分頁

Html5 + Css3筆記詳細匯總大全

Html5 + Css3知識點Gitee地址 html5css3知識點: 尚硅谷—HTML5+CSS3知識點 介紹 屬性 屬性:在標簽中(開始標簽或自結束標簽)還可以設置屬性 屬性是一個名值對(x=y) 屬性用來設置標簽中的內容如何顯示 屬性和標簽名或其它屬性應該使用空格隔開 屬性名不能瞎寫,應該根據文…

只需三步,即可配置HTTPS跳轉

HTTPS(全稱:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全為目標的HTTP通道,簡單講是HTTP的安全版。通過SSL/TLS協議對數據進行加密,保證了數據傳輸的安全,防止數據被截獲、…

UWB論文:Introduction to Impulse Radio UWB Seamless Access Systems(2):脈沖;超寬帶;測距;定位

3) 測距/接收器 像全球定位系統(GPS)這樣的系統依賴于單向測距One Way Ranging(OWR),其中多個衛星(代表固定節點,稱為錨點anchors)定期傳輸同步的無線電數據包集合,這允許…

sh控制臺輸入文字多行 按“# ? ?”結束

如果在Unix shell中輸入多行文字,那么這樣操作: 1. 打開您的終端(Terminal)。 2. 輸入您的文字,每行文字后按回車鍵。 3. 當您完成輸入所有文字后,輸入“# ? ?”然后按回車鍵,表示輸入結束。…

將Surface的分辨率減半以省電(二合一本\筆記本電腦適用)

【完全自定義分辨率教程】這篇教程用于將Surface之類的高分屏(高分辨率)的二合一本或筆記本等的分辨率調整為原來的一半,以實現省電等目的。 下載CRU(Custom Resolution Utility)解壓后,打開CRU.exe選擇當…

Java期末復習指南(1):知識點總結+思維導圖,考試速成!

🔖面向對象 📖 Java作為面向對象的編程語言,我們首先必須要了解類和對象的概念,本章的所有內容和知識都是圍繞類和對象展開的! ? 思維導圖1 ? 類和對象的概念 ? 簡單來說,類就是對具有相同特征的一類事…

(全面)Nginx格式化插件,Nginx生產工具,Nginx常用命令

目錄 🎫 前言 🎉 開篇福利 🎁 開篇福利 x2 Double happiness # 介紹 # 地址 # 下載 💻 命令及解析 # 整個文件系統中搜索名為nginx.conf的文件 # 編輯nginx.conf文件 # 重新加載配置文件 # 快速查找nginx.conf文件并使…

建筑施工突發事故應急處置vr安全培訓平臺

在不斷發展的時代背景下,掌握必要的應急安全知識已成為我們生活中不可或缺的一部分。由央企攜手我們華銳推出的3D線上應急宣教虛擬體驗館,標志著民眾應急安全教育的全新里程碑,不僅突破了傳統學習模式的局限,還讓每個人都能在靈活…

防火墻技術基礎篇:基于IP地址的轉發策略

防火墻技術基礎篇:基于IP地址的轉發策略的應用場景及實現 什么是基于IP地址的轉發策略? 基于IP地址的轉發策略是一種網絡管理方法,它允許根據目標IP地址來選擇數據包的轉發路徑。這種策略比傳統的基于目的地地址的路由更靈活,因…

深度學習之Python+OpenCV+Tensorflow實時人體檢測和計數

歡迎大家點贊、收藏、關注、評論啦 ,由于篇幅有限,只展示了部分核心代碼。 文章目錄 一項目簡介 二、功能三、系統四. 總結 一項目簡介 深度學習之PythonOpenCVTensorflow實時人體檢測和計數項目簡介 一、項目背景與意義 隨著科技的不斷發展&#xff…

Java - JsonPath 特殊場景解決方案

我們先看下JSONPath的使用,這里使用的是 GitHub - json-path/JsonPath: Java JsonPath implementation,其README中已經提供了相關的介紹和使用示例,這里再簡單介紹下,我們這里直接使用其中的示例數據。 {"store": {&quo…

macOS 安裝a d b

brew install android-platform-tools

Go微服務: 日志系統ELK的應用

概述 基于前文,我們已經了解并搭建完成ELK的所有環境了,現在我們來結合應用程序來使用ELK參考前文:https://active.blog.csdn.net/article/details/138898538 封裝日志模塊 在通用工具模塊: gitee.com/go-micro-services/common 這個包是通…

CTFHUB技能樹——SSRF(三)

目錄 URL Bypass 數字IP Bypass 302跳轉 Bypass DNS重綁定 Bypass SSRF繞過方法: (1) http://abc.com127.0.0.1 (2)添加端口號 http://127.0.0.1:8080 (3)短地址 htt…

限制U盤使用:企業數據安全的軟件解決方案

在當今數字化辦公環境中,U盤作為一種便捷的數據傳輸工具,其使用在企業內部非常普遍。然而,U盤的不當使用也給企業數據安全帶來了巨大風險。為了防止數據泄露和病毒傳播,企業需要采取有效的軟件解決方案來限制U盤的使用。本文將探討…

linux使用dockerCompose腳本化部署鏡像

1.根據實際修改docker-compose.yml文件: version: 3.5 services:#mysql數據庫腳本mysql:image: 鏡像名:版本 #需要查看本地鏡像進行填寫。同下container_name: mysql #容器名,同下restart: alwaysports:- 3306:3306 #第一個3306為主機…