【模型壓縮+推理加速】知識蒸餾綜述解讀

知識蒸餾綜述解讀

  • 論文: https://arxiv.org/abs/2006.05525

最近Deepseek R1的技術報告中,訓練部分提到使用了知識蒸餾,就像系統性的看看蒸餾算法的原理。看了很多的博客,很多都沒有詳細把知識蒸餾系統的講清楚。我們還是讀一下這篇 2021年的綜述 “Knowledge Distillation: A Survey” 。雖然這篇文章不是針對大模型的知識蒸餾綜述,但可以作為大模型蒸餾學習的入門。

這篇綜述寫的非常詳細,系統性總結了知識蒸餾的很多基礎知識,比如:知識的類型、蒸餾方案、師生結構、蒸餾算法。以及還有詳細的對比效果,充分說明各種蒸餾算法的優劣。


論文結構:

知識蒸餾綜述
├─ 1.Introduction
│  └─ 模型壓縮與加速
├─ 2.知識類型
│  ├─ 響應式知識(Soft Targets)
│  ├─ 特征式知識(中間層特征)
│  └─ 關系型知識(樣本/層間關系)
├─ 3.訓練方案
│  ├─ 離線蒸餾(預訓練教師)
│  ├─ 在線蒸餾(聯合優化)
│  └─ 自蒸餾(同網絡迭代)
├─ 4.教師-學生架構
│  ├─ 簡化結構
│  ├─ 量化結構
│  └─ 同構/異構設計
├─ 5.關鍵算法
│  ├─ 對抗蒸餾(GAN結合)
│  ├─ 多教師蒸餾
│  ├─ 圖基蒸餾
│  └─ 數據無蒸餾
├─ 6.性能對比
├─ 7.應用領域
│  ├─ 視覺識別(CIFAR10/100準確率提升0.33%-7.32%)
│  ├─ NLP(BERT壓縮)
│  └─ 語音識別(實時性優化)
└─ 8.挑戰與未來

也就是對應下圖

在這里插入圖片描述


1. Introduction

知識蒸餾的定義與發展

起源:Bucilua等 [2] 首次提出模型壓縮,通過大模型或集成模型指導小模型訓練。 正式提出:Hinton等 [5] 將其命名為“知識蒸餾”,強調通過“暗知識”(如Soft Targets)提升學生模型性能。


2. 知識類型(Knowledge)

知識蒸餾的核心是提取教師模型的知識并遷移到學生模型。如Fig 3 所示,知識類型可以分為響應式知識特征式知識關系型知識三類。

在這里插入圖片描述

2.1 響應式知識(Response-Based Knowledge)

在這里插入圖片描述

  • 定義:如Fig 4所示,直接模仿教師模型的輸出層響應(如分類概率)。
  • 核心方法
    • Soft Targets [5]:通過溫度參數 T T T 軟化logits,保留類間關聯信息。
      p ( z i , T ) = exp ? ( z i / T ) ∑ j exp ? ( z j / T ) p(z_i, T) = \frac{\exp(z_i / T)}{\sum_j \exp(z_j / T)} p(zi?,T)=j?exp(zj?/T)exp(zi?/T)?
    • 損失函數:KL散度(式1、3),強制學生輸出匹配教師的概率分布。
  • 應用場景:圖像分類(如CIFAR10實驗中,IRG方法通過響應式知識提升準確率2.33%)、目標檢測。
  • 局限性:依賴輸出層,忽略中間層的語義信息;僅適用于監督學習。

2.2 特征式知識(Feature-Based Knowledge)

在這里插入圖片描述

  • 定義:如Fig 6 所示,利用教師模型中間層的特征表示指導學生學習。
  • 核心方法
    • Fitnets [14]:直接匹配中間層特征(hint layer),使用L2損失。
    • Attention Transfer(AT) [16]:通過注意力圖傳遞知識,適用于深層網絡。
    • Feature Distillation(FT) [19]:通過“因子”(factors)簡化特征表示。
  • 損失函數
    L F e a D = L F ( Φ t ( f t ( x ) ) , Φ s ( f s ( x ) ) ) L_{FeaD} = \mathcal{L}_F\left(\Phi_t(f_t(x)), \Phi_s(f_s(x))\right) LFeaD?=LF?(Φt?(ft?(x)),Φs?(fs?(x)))
    其中 Φ \Phi Φ 處理特征尺寸差異, L F \mathcal{L}_F LF? 包括L2、L1、交叉熵等。
  • 挑戰
    • 如何選擇hint層(深層特征可能過擬合)。
    • 特征尺寸不匹配時的對齊問題(如ResNet與MobileNet)。

2.3 關系型知識(Relation-Based Knowledge)

在這里插入圖片描述

  • 定義:如Fig 7所示,捕捉教師模型中層間關系或樣本間的關聯。
  • 核心方法
    • FSP矩陣 [17]:通過Gram矩陣建模層間關系,使用Frobenius范數損失。
    • Instance Relation Graph(IRG) [7]:構建樣本關系圖,保留結構信息。
    • Similarity-Preserving(SP):匹配輸入對的激活相似性。
  • 損失函數
    L R e l D = L R 1 ( Ψ t ( f ^ t , f ˇ t ) , Ψ s ( f ^ s , f ˇ s ) ) L_{RelD} = \mathcal{L}_{R^1}\left(\Psi_t(\hat{f}_t, \check{f}_t), \Psi_s(\hat{f}_s, \check{f}_s)\right) LRelD?=LR1?(Ψt?(f^?t?,fˇ?t?),Ψs?(f^?s?,fˇ?s?))
    其中 Ψ \Psi Ψ 計算特征對的相似性, L R 1 \mathcal{L}_{R^1} LR1? 包括EM距離、Huber損失等。
  • 挑戰
    • 圖結構設計的復雜性(如如何定義節點和邊)。
    • 計算成本高(需處理大量樣本對)。

3. 蒸餾方案(Distillation Schemes)

在這里插入圖片描述

Fig 8 展示了知識蒸餾中三種典型的訓練方案,對應第三章中提到的離線蒸餾、在線蒸餾和自蒸餾:

  1. 離線蒸餾
    教師模型預先訓練完成后固定,學生模型通過模仿教師的輸出(如軟標簽或中間特征)進行學習。圖示中教師為紅色(已訓練),學生為黃色(待訓練),知識單向傳遞。該方案簡單易行,但可能因師生容量差距導致知識傳遞效率受限。

  2. 在線蒸餾
    教師與學生同時訓練,形成端到端框架。教師通常由學生的集合或動態更新的模型構成,如多網絡協作學習。圖示中兩者均為黃色,體現同步優化。此方案通過相互監督提升性能,但需平衡教師容量與訓練效率。

  3. 自蒸餾
    同一模型的不同部分或階段間進行知識傳遞。例如,利用深層特征監督淺層網絡,或不同訓練階段的模型狀態互導。圖示中教師與學生為同一模型(黃色),強調自我優化。該方案無需外部教師,但依賴模型內部結構設計。

這三種方案在圖示中通過顏色和箭頭區分:紅色代表預訓練完成的教師,黃色代表訓練中的模型,箭頭方向表示知識傳遞路徑。離線蒸餾為單向傳遞,在線蒸餾為雙向互動,自蒸餾則為模型內部循環。


4. 師生結構(Teacher-Student Architecture)

在這里插入圖片描述

如圖Fig 9, 展示了知識蒸餾中教師模型與學生模型之間的典型架構關系,主要分為四種類型:

  1. 簡化結構
    學生模型是教師模型的簡化版本,通過減少網絡層數或通道數來降低復雜度,同時保留核心功能。例如,將深層網絡縮短為淺層網絡,或減少每層的神經元數量。

  2. 量化結構
    學生模型與教師模型結構相同,但參數被量化(如降低浮點精度),從而減少存儲和計算需求,同時通過知識蒸餾保持性能。

  3. 相同結構
    學生模型與教師模型架構完全一致,常見于在線蒸餾或自蒸餾場景,通過協作學習或自我優化提升性能。

  4. 小型優化結構
    學生模型采用高效的基礎操作(如深度可分離卷積)或通過神經架構搜索(NAS)優化的全局結構,以在有限資源下最大化性能。

這些架構設計旨在彌合教師與學生之間的容量差距,確保知識有效傳遞。例如,簡化結構適用于離線蒸餾,量化結構結合模型壓縮,相同結構支持在線協作,而優化結構則通過算法設計提升效率。架構選擇需平衡模型復雜度與知識傳遞效果,以適應不同應用場景的需求。


5. 蒸餾算法

本章詳細介紹知識蒸餾的核心算法,按技術路線分為對抗蒸餾多教師蒸餾跨模態蒸餾等九類,分析其原理、方法及應用場景。

5.1 對抗蒸餾(Adversarial Distillation)

在這里插入圖片描述

如Fig 10 所示,結合生成對抗網絡(GAN)增強知識遷移,解決數據不足或噪聲問題。

  1. 生成對抗網絡生成數據

    • 結構:使用生成器(G)生成合成數據,用于增強訓練集或直接訓練學生模型。教師模型可能作為判別器(D)指導生成過程。
    • 應用:緩解數據不足問題,生成更具挑戰性的樣本以提升學生魯棒性。
  2. 判別器區分師生輸出

    • 結構:引入判別器(D)區分學生(S)和教師(T)的輸出(如logits或特征),迫使學生模仿教師分布。
    • 目標:通過對抗訓練縮小師生模型的分布差異,增強知識傳遞效果。
  3. 在線聯合優化

    • 結構:教師與學生同時訓練,判別器監督兩者的協同學習,形成動態優化循環。
    • 優勢:避免離線蒸餾的靜態知識傳遞,提升適應性和泛化能力。

5.2 多教師蒸餾(Multi-Teacher Distillation)

在這里插入圖片描述

Fig 11,展示了集成多個教師模型的知識,提升學生泛化性。該框架利用多個教師模型的知識訓練學生:

  1. 知識整合方式

    • 平均響應:直接平均多個教師的logits作為監督信號。
    • 特征融合:結合不同教師的中間特征或關系知識。
    • 動態選擇:按迭代或樣本動態選擇教師知識(如隨機選取教師)。
  2. 優勢

    • 多源知識互補,提升學生模型的多樣性和魯棒性。
    • 適用于跨領域、跨模態或多任務場景(如多語言翻譯)。

5.3 跨模態蒸餾(Cross-Modal Distillation)

在這里插入圖片描述

遷移不同模態(如圖像、文本)的知識,解決模態缺失問題。該框架實現不同模態間的知識遷移:

  1. 典型場景

    • 輸入模態轉換:例如從RGB圖像(教師)到深度圖像(學生)。
    • 輸出模態轉換:如從文本模態(教師)到視覺模態(學生)。
  2. 核心機制

    • 利用配對樣本(如同步的RGB和深度數據)傳遞標注信息。
    • 通過對抗學習或特征對齊彌合模態差異,確保知識有效遷移。

5.4 圖基蒸餾(Graph-Based Distillation)

在這里插入圖片描述

通過圖結構建模特征或樣本間關系。該框架通過圖結構建模數據關系以傳遞知識:

  1. 圖的構建方式

    • 特征圖關系:使用Gram矩陣或注意力機制建模層間特征關聯。
    • 樣本關系:通過相似度矩陣或圖神經網絡(GNN)捕捉樣本間的結構信息。
  2. 應用

    • 保持數據的流形結構,適用于圖像分類、動作識別等需保留關系的任務。

5.6 數據無蒸餾(Data-Free Distillation)

在這里插入圖片描述

在無真實數據情況下,基于教師特征生成合成數據。該框架在無真實數據時生成合成數據進行知識傳遞:

  1. 數據生成方法

    • GAN生成:通過GAN生成合成樣本,利用教師模型的特征分布指導生成。
    • 特征重構:基于教師的層激活或譜信息重建輸入數據。
  2. 挑戰

    • 生成數據的多樣性和質量直接影響學生模型的泛化能力。

5.7 量化蒸餾(Quantized Distillation)

在這里插入圖片描述

結合模型量化與知識蒸餾,降低計算成本。該框架結合量化技術壓縮模型:

  1. 量化與蒸餾結合

    • 教師量化:將高精度教師模型量化(如32位→8位),作為學生的監督源。
    • 學生量化:訓練低精度學生模型,通過蒸餾保留教師的知識。
  2. 優勢

    • 減少模型存儲和計算需求,同時通過知識蒸餾補償量化帶來的精度損失。

6. 性能對比

本章通過實驗對比不同知識蒸餾方法在CIFAR-10和CIFAR-100數據集上的性能,驗證蒸餾策略的有效性,并總結關鍵觀察。

6.1 實驗設置

  • 數據集
    • CIFAR-10:10類,5萬訓練/1萬測試圖像(32×32)。
    • CIFAR-100:100類,數據規模同上。
  • 評估指標:分類準確率(%)。
  • 對比方法:涵蓋離線、在線、自蒸餾及不同知識類型的典型算法(如FSP、DML、IRG等)。

6.2 主要實驗結果

第六章強調知識蒸餾的核心要素——知識類型(響應型、特征型、關系型)與蒸餾策略(離線、在線、自蒸餾)的協同作用。Table 5 的結果驗證了這一框架:

CIFAR-10 性能對比

在這里插入圖片描述

  1. 離線蒸餾(響應型 + 特征型知識)

    • 代表方法:FSP(關系型)、IRG(關系型)、SP(特征型)。
    • 表現:輕量化模型(如 ResNet8、ResNet20-x0.5)的準確率提升顯著(如 IRG 提升 2.33%)。
    • 第六章關聯:關系型知識(如特征間的空間關系、層間依賴)在壓縮模型中尤為關鍵,因其保留了數據的結構信息,彌補了師生容量差距。
  2. 在線蒸餾(動態知識交互)

    • 代表方法:DML(響應型)、PCL(響應型)。
    • 表現:師生同步優化使 ResNet32、ResNet110 的準確率進一步提升(如 PCL 提升 0.62%)。
    • 第六章關聯:在線策略通過動態調整教師(如多學生協作或迭代更新的教師),充分利用響應型知識的實時反饋,避免離線蒸餾的靜態局限性。
  3. 自蒸餾(內部知識遷移)

    • 代表方法:Xu & Liu(特征型)。
    • 表現:ResNet32 提升 0.90%,依賴模型內部深層特征對淺層的監督。
    • 第六章關聯:自蒸餾通過“溫故知新”機制(如淺層學習基礎特征,深層學習抽象知識),實現模型自優化,無需外部教師。
CIFAR-100 性能對比

在這里插入圖片描述

CIFAR100 的復雜性(100 類)凸顯了知識類型與任務適配的重要性,第六章強調多知識融合策略創新

  1. 離線蒸餾(多知識融合)

    • 代表方法:RKD(關系型 + 特征型)、SemCKD(特征型)。
    • 表現:復雜任務中,多知識融合(如 RKD 對 VGG11 提升 3.40%)優于單一知識類型,因關系型知識捕捉類間差異,特征型知識保留層次表征。
    • 第六章關聯:第六章指出,復雜任務需結合多層次知識(如淺層的低級特征與深層的語義關系),RKD 等方法通過聯合優化特征距離與關系矩陣,提升泛化能力。
  2. 在線蒸餾(動態適應類間差異)

    • 代表方法:DCM(響應型)、KDCL(響應型 + 特征型)。
    • 表現:MobileNet 在 DCM 下提升 4.87%,超越離線方法。
    • 第六章關聯:在線蒸餾的動態協作(如師生互導)更適應多類場景的分布變化,通過實時調整知識傳遞路徑,優化類間邊界的學習。
  3. 自蒸餾(結構設計驅動)

    • 代表方法:Tf-KD(特征型)、CS-KD(關系型)。
    • 表現:ResNet18 提升 2.72%,依賴模型內部的層次化監督(如跨階段特征對齊)。
    • 第六章關聯:自蒸餾的有效性依賴架構設計(如第六章提到的 ABF 融合模塊、HCL 層次對比損失),通過結構化知識傳遞(如空間權重分配、多尺度特征對齊)增強模型深度表達。

7. Applications

  • 計算機視覺:知識蒸餾用于壓縮復雜視覺模型(如目標檢測),使其適配邊緣設備(如無人機、安全攝像頭)的實時推理需求。
  • 自然語言處理(NLP):通過蒸餾生成輕量級NLP模型(如文本分類、翻譯),支持聊天機器人、移動設備等實時場景的高效部署。
  • 邊緣計算:輕量化模型經蒸餾后可在資源受限的邊緣設備(如物聯網終端)運行,支撐實時視頻分析、圖像處理等邊緣智能應用。
  • 推薦系統:蒸餾技術優化推薦模型的計算效率,使其更靈活地分布式部署,基于用戶行為數據提供個性化服務。
  • 異常檢測:構建輕量級蒸餾模型識別網絡流量或用戶行為中的異常模式,提升網絡安全威脅檢測的速度與能效。
  • 數據安全:結合知識蒸餾與圖譜技術,強化敏感內容識別、異常行為監測,應用于數據防護、態勢感知等安全解決方案。
  • 多模態與跨任務遷移:通過原型引導或特征增強,實現跨模態(如圖像-文本)或跨任務(如分類-檢測)的知識遷移,拓展模型泛化能力。
  • 量子計算:探索蒸餾技術優化量子模型表示,提升量子硬件上的算法運行效率,推動量子計算的實際應用落地。

8. 挑戰和方向

核心挑戰
  1. 師生能力鴻溝:教師模型難以完美捕捉數據分布,學生因容量限制導致知識傳遞效率受限。
  2. 數據偏差放大:生成數據質量依賴教師與種子數據,易引入偏差或模式單一問題。
  3. 隱私與通信瓶頸:聯邦學習中需平衡隱私保護與通信效率,異構設備差異加劇技術難度。
  4. 計算存儲成本:大型教師模型訓練開銷大,學生模型壓縮(如量化)易損精度。
  5. 知識適配性不足:不同任務(如圖像/文本)需定制知識類型(響應/特征/關系),通用方法缺失。
  6. 可解釋性與倫理:學生繼承黑箱決策邏輯,缺乏透明度,且需約束偏好/價值對齊風險。
未來方向
  1. 抽象知識遷移:轉向推理模式、偏好對齊等高層知識,適配LLM等復雜模型。
  2. 自監督蒸餾創新:結合自監督學習,利用無標簽數據提升泛化,降低標注依賴。
  3. 多模態跨領域融合:突破模態差異,實現圖像-文本-語音等多源知識協同遷移。
  4. 聯邦隱私蒸餾:設計隱私保護協議(如差分隱私),優化分布式場景下的知識交互。
  5. 邊緣智能優化:結合量化/剪枝,開發輕量化框架,適配物聯網設備實時推理。
  6. 強化學習結合:引入獎勵模型(如DPO、RRHF),優化生成質量與對齊性,拓展對話系統應用。
  7. 可解釋性增強:設計可視化機制(如特征重要性傳播),提升模型透明度與倫理合規。
  8. 硬件協同設計:針對專用硬件(TPU、量子計算)優化蒸餾策略,提升計算效率。

引用

[1] Bashivan, P., et al. (2019). Teacher-Guided Neural Architecture Search. ICCV.

[2] Bucilua, C., et al. (2006). Model Compression. SIGKDD.

[3] Chung, J., et al. (2020). Adversarial Knowledge Distillation. NeurIPS.

[4] Gou, J., et al. (2020). Knowledge Distillation: A Survey. IEEE TPAMI.

[5] Hinton, G., Vinyals, O., & Dean, J. (2015). Distilling the Knowledge in a Neural Network. NIPS Workshop.

[6] Jiao, X., et al. (2020). TinyBERT: Distilling BERT for Natural Language Understanding. EMNLP.

[7] Liu, X., et al. (2019). Instance Relation Graph for Knowledge Distillation. CVPR.

[8] Polino, A., et al. (2018). Model Compression via Distillation and Quantization. ICLR.

[9] Mirzadeh, A., et al. (2020). Are We Distilling the Right Knowledge? ICML.

[10] Park, D., & Kwak, N. (2020). Multi-Teacher Knowledge Distillation with Representation Calibration. CVPR.

[11] Phuong, H., & Lampert, C. H. (2019). Understanding Knowledge Distillation via Neural Tangent Kernel. ICLR.

[12] Tang, J., & Wang, D. (2018). Ranking Distillation for Top-N Recommendation. KDD.

[13] Yuan, L., et al. (2020). Knowledge Distillation with Self-Supervision. CVPR.

[14] Yim, J., et al. (2017). A Gift from Knowledge Distillation: Fast Optimization, Network Minimization and Transfer Learning. CVPR.

[15] Yu, X., et al. (2017). On Compressing Deep Models by Low Rank and Sparse Decomposition. CVPR.

[16] Zagoruyko, S., & Komodakis, N. (2017). Paying More Attention to Attention: Improving the Performance of Convolutional Neural Networks via Attention Transfer. ICLR.

[17] Yim, J., et al. (2017). A Gift from Knowledge Distillation: Fast Optimization, Network Minimization and Transfer Learning. CVPR.

[18] Zhang, Y., et al. (2018). Deep Mutual Learning. CVPR.

[19] Kim, J., Park, S. & Kwak, N. (2018). Paraphrasing complex network: Network compression via factor transfer. In: NeurIPS.

[20] Zhang, Y., Xiang, T., Hospedales, T. M. & Lu, H.(2018b). Deep mutual learning. In: CVPR.

[21] Zhang, L., Song, J., Gao, A., Chen, J., Bao, C. &Ma, K. (2019b). Be your own teacher: Improve the performance of convolutional neural networks via self distillation. In: ICCV.

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

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

相關文章

vivo 湖倉架構的性能提升之旅

作者:郭小龍 vivo互聯網 大數據高級研發工程師 導讀:本文整理自 vivo互聯網 大數據高級研發工程師 郭小龍 在 StarRocks 年度峰會上的分享,聚焦 vivo 大數據多維分析面臨的挑戰、StarRocks 落地方案及應用收益。 在 即席分析 場景&#xff0c…

代碼隨想錄算法訓練營第十四天| 226.翻轉二叉樹、101. 對稱二叉樹、104.二叉樹的最大深度、111.二叉樹的最小深度

今日題目 226.翻轉二叉樹 題目鏈接:226. 翻轉二叉樹 - 力扣(LeetCode) 思考:翻轉二叉樹,就是對每一個根節點,都交換左右節點,左右節點進入遞歸繼續交換它們的左右節點。 代碼: # De…

Java設計模式--單例模式

單例模式(構造器私有) 單例模式(Singleton Pattern)是 Java 中最簡單的設計模式之一,有以下特點: 單例類只能有一個實例。 單例類必須自己創建自己的唯一實例。 單例類必須給所有其他對象提供這一實例。 反射可以破壞單例模式…

2025年如何避免使用驗證碼求解器時被IP封禁

引言 2025年,驗證碼求解器已成為自動化網絡抓取和其他在線流程的關鍵工具。然而,自動化用戶面臨的一個常見挑戰是IP封禁。當網站檢測到自動化活動時,通常會阻止發出請求的IP地址,導致驗證碼挑戰無法解決。本文將探討使用驗證碼求…

JVM詳解(包括JVM內存模型與GC垃圾回收)

📖前言: 學會使用Java對于一個程序員是遠遠不夠的。Java語法的掌握只是一部分,另一部分就是需要掌握Java內部的工作原理,從編譯到運行,到底是誰在幫我們完成工作的? 接下來著重對Java虛擬機,也就…

【無標題】大亞灣文化體育場多美啊。

請推薦一些常用并且免費的,可直接在線運行【Python】代碼的平臺并列出對應網址 好的,用戶想讓我推薦一些常用且免費的、可以直接在線運行Python代碼的平臺,并且需要列出對應的網址。我需要先回想一下自己知道的在線Python運行環境&#xff0…

權限提升—Windows權限提升土豆家族溢出漏洞通殺全系

前言 OK,Java安全更新不下去了,實在是太難啦啊,想起來提權這一塊沒怎么更新過,接下來都主要是更新提權這一塊的文章了,Java安全的話以后有耐心再搞了。 手動提權 今天主要是講這個手動的提權,手動提權相…

Vue3 知識點總結

Vue3 知識點總結 1. 核心概念 1.1 Composition API 1.1.1 setup 函數 setup是Vue3中的新的配置項,是組件內使用Composition API的入口在setup中定義的變量和方法需要return才能在模板中使用setup執行時機在beforeCreate之前,this不可用 export defa…

python --face_recognition(人臉識別,檢測,特征提取,繪制鼻子,眼睛,嘴巴,眉毛)/活體檢測

dlib 安裝方法 之前博文 https://blog.csdn.net/weixin_44634704/article/details/141332644 環境: python3.8 opencv-python4.11.0.86 face_recognition1.3.0 dlib19.24.6人臉檢測 import cv2 import face_recognition# 讀取人臉圖片 img cv2.imread(r"C:\Users\123\…

【bug】[42000][1067] Invalid default value for ‘xxx_time‘

MySQL錯誤解決:Invalid default value for xxx_time’問題分析與修復方案 問題描述 在MySQL數據庫操作中,當嘗試創建或修改表結構時,可能會遇到以下錯誤信息: [bug] [42000][1067] Invalid default value for xxx_time這個錯誤…

Go環境相關理解

Linux上安裝的環境變量 ## set go env export GOPATH$HOME/go_workspace export GOPATH/usr/local/go export PATH$PATH:$GOPATH/bin go.mod 和go.sum的理解 go.mod文件 ?go.mod文件定義了模塊的路徑和依賴版本?。它遵循 語義化版本2.0.0規范,記錄了當前項目所依…

Next.js 深度解析:全棧React框架的架構哲學與實踐精髓

Next.js 作為 React 生態中最流行的全棧框架,已經超越了簡單的SSR工具,發展成為完整的Web開發解決方案。以下從八個維度進行深度剖析: 一、核心架構設計 雙引擎驅動模型 頁面路由系統:基于文件系統的約定式路由渲染引擎&#xff…

禾賽盈利了,但激光雷達沒有勝利

還遠沒有到激光雷達黨歡呼的時候。 3月,隨著禾賽科技公布2024年報,全世界第一家也是唯一一家實現全年盈利的激光雷達上市公司誕生,為了這個盈利目標,禾賽科技奮斗了十年。 但極大的出貨量和不高的盈利水平,讓禾賽科技…

心房顫動新機制:ATM/p53通路早期抑制

急性心肌梗死(AMI)是心血管疾病中的“大魔頭”,它悄無聲息地侵蝕著心臟的肌肉,導致心臟功能受損,嚴重時甚至危及生命。而心房顫動(AF),這一常見的心律失常,往往在AMI后悄…

Linux 安裝 Redis

虛擬機安裝 linux https://www.bilibili.com/video/BVldD42177qg?p16 1、安裝 gcc,編譯環境 yum y install gcc-g 2、將 redis-7.2.4.tar.gz放到 linux。如,放到 opt 里 3、進入/opt 目錄下,解壓 tar -zxvf redis-7.2.4.tar.gz 4、進入 redis-7.2.4.tar…

六級備考 詞匯量積累(day11)

sculpture 雕像 allege 指責,聲稱 pledge 發誓 breach 違背,違反 defaulty 違約,違反 infringe 侵犯 infringing on small farmers interest blacmail 勒索 idle 無所事事的 deceive 欺騙 perceive 察覺 conceive 設想 conception 設想 verdi…

關于金碟K3,禁用和啟用需要流程審批后執行

真是難受,是設計師蠢呢自己問題比較多呢,現在都還沒有弄好 點擊禁用和啟用,通過流程來執行 到底是蠢呢還是設計問題,搞了半日沒有效果,搞那么復雜! 而且有樣板都沒有草鞋成功 BOS設計,表單屬性,操作列表: 1、啟用禁用流程

導入 Excel 規則批量修改或刪除 PDF 文檔內容

需要對 PDF 文檔內容進行修改的時候,通常我們會需要借助一些專業的工具來幫我們完成。那我們如果需要修改的 PDF 文檔較多的時候,有什么方法可以幫我們實現批量操作呢?今天這篇文章就給大家介紹一下當我們需要批量修改多個 PDF 文檔的時候&am…

msyql--基本操作之運維篇

檢查 root 用戶的權限 查看該用戶針對這個數據庫的權限 -- 如果在終端連接mysql時需要 mysql -u root -p -- 查看用戶權限 SELECT user, host FROM mysql.user WHERE user root;可以看的出來root有他的訪問權限,如過沒有localhost或者% 說明沒有訪問權限 添加…

Vue 3使用 Socket

在 Vue 3 中使用 Socket(如 WebSocket 或基于 WebSocket 的庫比如 Socket.IO)可以通過組合式 API(Composition API)來實現得更清晰、模塊化。下面我給你展示一個完整的例子,包括使用原生 WebSocket 和使用 Socket.IO 的…