「基于連續小波變換(CWT)和卷積神經網絡(CNN)的心律失常分類算法——ECG信號處理-第十五課」2025年6月6日

一、引言

????????心律失常是心血管疾病的重要表現形式,其準確分類對臨床診斷具有關鍵意義。傳統的心律失常分類方法主要依賴于人工特征提取和經典機器學習算法,但這些方法往往受限于特征選擇的主觀性和模型的泛化能力。

????????隨著深度學習技術的發展,基于卷積神經網絡(CNN)的方法逐漸成為研究熱點。然而,心電信號是一維時間序列數據,直接應用 CNN 進行分類可能會丟失部分時頻信息,影響分類性能。

????????為了解決這一問題,本文檔提出了一種結合小波變換和 CNN 的心律失常分類方法,旨在充分發揮小波變換在信號時頻分析方面的優勢以及 CNN 在處理二維圖像數據方面的強大能力,實現對心律失常信號的高效、準確分類。

二、理論基礎

(一)心電信號與心律失常

????????心電信號(ECG)是心臟電活動的外在表現,反映了心臟的興奮、傳導和復極過程。正常心電信號具有一定的波形特征,如 P 波、QRS 波群和 T 波等,這些波形依次對應心房去極化、心室去極化和心室復極化過程,反映了心臟正常的電生理活動。

????????心律失常是一類心臟電活動異常的疾病,其本質是心臟沖動的頻率、節律、起源部位、傳導速度或激動順序出現異常。??

????????心律失常的分類方式多樣,按心率快慢可分為快速性心律失常(如竇性心動過速、心房撲動、心室顫動等)和緩慢性心律失常(如竇性心動過緩、竇性停搏、房室傳導阻滯等);按起源部位可分為室上性心律失常(如竇性心律失常、房性心律失常、房室交界性心律失常等)和室性心律失常(如室性期前收縮、室性心動過速、心室顫動等)。

圖1:心律失常&常見類型

????????心律失常的分類方式多樣,按心率快慢可分為快速性心律失常(如竇性心動過速、心房撲動、心室顫動等)和緩慢性心律失常(如竇性心動過緩、竇性停搏、房室傳導阻滯等);按起源部位可分為室上性心律失常(如竇性心律失常、房性心律失常、房室交界性心律失常等)和室性心律失常(如室性期前收縮、室性心動過速、心室顫動等)。不同類型的常見心律失常及其心電圖特征如下:

  • 正常心搏(N):心電圖表現為規律的竇性心律,P 波形態正常且規律,PR 間期恒定,QRS 波群形態正常,心率通常在 60-100 次 / 分之間。

  • 室性早搏(V):心電圖可見提前出現的寬大畸形的 QRS-T 波群,其前無相關的 P 波,代償間歇完全,常伴有繼發性 ST-T 改變。

  • 左束支傳導阻滯(L):心電圖表現為 QRS 波群寬大,時限通常≥0.12s,V1、V2 導聯呈 rsr’型或 M 型,I、aVL、V5、V6 導聯呈寬大的 R 波,常伴有繼發性 ST-T 改變。

  • 右束支傳導阻滯(R):心電圖特征為 QRS 波群寬大,時限≥0.12s,V1、V2 導聯呈rsR’型或寬大R波,I、aVL、V5、V6 導聯呈寬大的S波,ST-T 改變多為繼發性。

  • 心房顫動(AF):心電圖顯示 P 波消失,代之以大小不等、形態各異的顫動波,頻率 350-600 次 / 分;QRS 波群形態通常正常,R-R 間期絕對不規則。

  • 心室顫動(VF):心電圖表現為不規則的顫動波,頻率 200-500 次 / 分,無規律可循,是極其嚴重的心律失常,可導致心臟驟停。

  • 等等。。。

????????心律失常可由多種因素引發,包括心臟本身疾病(如冠心病、心肌病、心肌炎等)、遺傳因素(如長 QT 綜合征、Brugada 綜合征等)、電解質紊亂、藥物影響、自主神經系統失調等。其臨床表現因類型和嚴重程度而異,部分患者可無明顯癥狀,而部分患者可能出現心悸、胸悶、頭暈、乏力、暈厥,甚至猝死等嚴重癥狀。心律失常的診斷主要依賴于心電圖檢查,包括常規心電圖、動態心電圖、運動試驗等,這些檢查能夠捕捉到心律失常的特征性表現,為臨床診斷提供重要依據。

圖2:心律失常癥狀表現示例

(二)小波變換

????????小波變換是一種時頻分析方法,能夠同時提供信號的時間和頻率信息。小波變換能夠有效處理非平穩信號,如心電信號,提取信號中的瞬態特征和局部變化信息,為后續的分類提供更豐富的特征表示。連續小波變換(CWT)通過伸縮和平移基本小波函數,將信號分解為不同尺度和位置的小波系數,從而捕捉信號的局部特征。其數學表達式為:

????????其中, a 表示尺度因子, b 表示平移因子, ψ(t) 為基本小波函數, ψ?(t) 為其復共軛。

圖3:連續小波變換CWT的時頻分析示意圖

(一維信號與二維圖像的區別)????????

????????心電信號本質上是一維時間序列數據,它隨時間變化反映了心臟電活動的動態過程。一維信號的特點是數據點按時間順序排列,每個數據點僅包含幅值信息,難以直觀展示信號的頻率特性。直接對一維信號應用 CNN 進行分類時,CNN 難以充分利用其在空間特征提取方面的優勢,且容易丟失信號的時頻關聯信息,影響分類性能。

????????相比之下,二維圖像是由像素點組成的矩陣,每個像素點包含位置和強度信息,能夠直觀展示信號的時頻特性。通過將一維心電信號轉換為二維圖像,可以將信號的時域和頻域信息融合到圖像的二維空間中,使 CNN 能夠更有效地提取信號的局部和全局特征。

(三)卷積神經網絡

????????卷積神經網絡(CNN)是一種專門用于處理具有網格結構數據(如圖像)的深度學習模型,其主要特點包括卷積層、池化層和全連接層。CNN 的網絡結構和訓練過程如下:

????????1、卷積層:卷積層是 CNN 的核心部分,通過卷積核提取局部特征,卷積運算的數學表達式為:

????????其中, yi,j? 表示輸出特征圖的元素, wk,l? 表示卷積核的權重, xi+k?1,j+l?1? 表示輸入數據的元素, b 表示偏置, f(?) 為激活函數,如 ReLU 函數。

圖4:卷積層的計算過程示意圖

????????2、池化層:池化層用于降低特征維度,減少計算量,并增強模型對輸入數據的平移不變性。常見的池化方法包括最大池化和平均池化。最大池化選取局部區域內的最大值作為輸出,平均池化則計算局部區域內的平均值作為輸出。

圖5:池化層的計算過程示意圖

????????3、全連接層:全連接層將卷積層和池化層提取的特征進行整合,實現最終的分類決策。全連接層的神經元與前一層的所有神經元全連接,其輸出為:

????????其中, y 表示神經元的輸出, wi? 表示權重, xi? 表示輸入, b 表示偏置, f(?) 為激活函數。

????????圖6:全連接層的計算過程示意圖

????????CNN 的訓練過程通過反向傳播算法和優化方法(如:Adam 優化器)來更新網絡參數,以最小化預測輸出與真實標簽之間的損失函數(如:交叉熵損失函數)。

  • 交叉熵損失函數?L = - [ y * log(p) + (1 - y) * log(1 - p) ]

  • 參數解釋:

    • y: 樣本的真實標簽。通常取值為?0(負類)或?1(正類)。

    • p: 模型預測該樣本屬于正類的概率(取值范圍在?[0, 1]?之間)。

    • log: 通常指自然對數(底數為?e),有時也用對數(底數為?2?或?10),但在機器學習中通常使用自然對數。

圖7:Adam 優化器優化過程

(CWT 與 CNN 的結合優勢)

將 CWT 與 CNN 結合用于心律失常分類具有顯著優勢:

  1. 豐富的時頻特征:CWT 能夠將一維心電信號轉換為二維時頻圖像,保留了信號的時間和頻率信息。這種時頻表示能夠更全面地反映心電信號的特征,如不同心律失常類型的頻率成分變化和時域波形特征。

  2. 強大的特征提取能力:CNN 對二維圖像數據具有強大的自動特征提取能力。通過卷積層和池化層,CNN 能夠逐層提取圖像的局部和全局特征,自動學習到對分類最有用的特征組合,避免了人工特征提取的主觀性和局限性。

  3. 高效的分類性能:CNN 的全連接層能夠將提取的特征進行整合,實現高效的分類決策。其非線性激活函數和 softmax 輸出層能夠將特征映射到類別概率分布,提供精確的分類結果。

  4. 良好的魯棒性:CNN 的池化層和卷積層的局部連接特性使其對圖像的平移、縮放和旋轉具有一定的不變性,增強了模型對不同心電信號變化的魯棒性。

三、方法流程

(一)數據預處理

????????1、數據讀取與篩選:從 MIT-BIH 心律失常數據庫中讀取心電信號數據,包括 .dat 文件(原始信號數據)、.hea 文件(頭文件,包含采樣率、增益等信息)和 .atr 文件(注釋文件,包含 R 峰位置和標簽信息)。根據注釋文件中的標簽信息,篩選出屬于正常心搏(N)、室性早搏(V)、左束支傳導阻滯(L)、右束支傳導阻滯(R)四類的心電信號。

圖8:數據劃分結果圖

(這里可以選擇不同類別的心律失常,并根據MIT分類標簽替換對應的標簽字符)

%% 標簽字典(AAMI 規則)
map = containers.Map({1, 5, 2, 3}, {'N', 'V', 'L', 'R'});  % MIT分類標簽對應字符

? ? ?

??2、心拍提取:根據注釋文件中的 R 峰位置,以每個 R 峰為中心,向前取 100 個采樣點,向后取 200 個采樣點,組成長度為 300 個采樣點的心拍。將提取的心拍按類別分別存儲。

圖9: L 類、N 類、R 類和 V?類的心拍提取圖像

????????3、數據歸一化:對提取的心拍數據進行歸一化處理,將信號幅值歸一化到 [0, 1] 范圍內,以消除不同信號之間的幅值差異,提高模型訓練的穩定性和收斂速度。

(二)小波去噪

???????心電信號在采集過程中容易受到各種噪聲的干擾,如基線漂移、肌電干擾等。為了提高信號質量,采用小波去噪方法對心拍數據進行預處理。小波去噪的基本原理是通過小波變換將信號分解為不同尺度的系數,然后對小波系數進行閾值處理,最后通過逆小波變換重建信號。具體步驟如下:

????????1、選擇小波函數和分解層次:根據信號的特點和去噪要求,選擇合適的小波函數(如 db4)和分解層次。分解層次的選擇應綜合考慮信號的長度和噪聲特性,一般通過計算最大可能的分解層次并適當調整來確定。

????????2、小波分解:對心拍信號進行小波分解,得到不同尺度的近似系數和細節系數。

????????3、閾值處理:對細節系數進行閾值處理,采用軟閾值或硬閾值方法去除噪聲成分。閾值的選擇可以通過經驗公式或自適應方法確定。

????????4、信號重建:利用處理后的近似系數和細節系數進行逆小波變換,重建去噪后的心電信號。

(三)CWT 圖像生成

????????為了將一維心電信號轉換為二維圖像,以便利用 CNN 進行處理,采用連續小波變換(CWT)生成信號的時頻圖像。具體步驟如下:

????????1、選擇小波函數和尺度范圍:選擇合適的小波函數(如 Morlet 小波)和尺度范圍,以覆蓋心電信號的主要頻率成分。

????????2、計算 CWT 系數:對去噪后的心拍信號進行 CWT,得到時頻域內的小波系數矩陣。

????????3、生成圖像:將小波系數矩陣轉換為圖像,其中橫軸表示時間,縱軸表示尺度(對應頻率),顏色表示小波系數的幅值。通過調整圖像的顯示范圍和顏色映射,增強圖像的可視化效果。

?

圖10:通過 CWT 變換得到的 L 類、N 類、R 類和 V 類的圖像

(四)CNN 模型訓練

????????1、構建 CNN 網絡結構:設計一個適合心律失常分類的 CNN 網絡結構,包括輸入層、多個卷積層、池化層、全連接層和輸出層。卷積層用于提取圖像的局部特征,池化層用于降維和增強魯棒性,全連接層用于實現最終的分類決策。輸出層采用 softmax 激活函數,將輸出映射到各類別的概率分布。

圖11:CNN模型結構圖

????????2、數據集劃分:將生成的 CWT 圖像數據集按一定比例劃分為訓練集、驗證集和測試集,通常訓練集占 70%,驗證集占 15%,測試集占 15%。訓練集用于模型參數的更新,驗證集用于模型的選擇和超參數的調整,測試集用于最終模型性能的評估。

????????

????????3、模型訓練:使用訓練集對 CNN 模型進行訓練,通過優化算法(如 Adam 優化器)最小化損失函數(如交叉熵損失函數),更新網絡參數。在訓練過程中,定期使用驗證集評估模型性能,防止過擬合,并根據驗證結果調整訓練策略,如調整學習率、增加正則化等。

????????下表展示的是 CNN 模型結構:

表1:卷積神經網絡CNN架構概述

Layer

Type

Parameters

Output Size

Input

Image Input Layer

224×224×1

224×224×1

Conv1 + ReLU + Pool

Conv(3×3, 16) + MaxPool(2)

Stride=2, Padding=1

56×56×16

Conv2 + ReLU + Pool

Conv(3×3, 32) + MaxPool(2)

Padding=same

28×28×32

Conv3 + ReLU + AvgP

Conv(3×3, 64) + AvgPool(7)

Padding=same

4×4×64

FC1 + Dropout

Fully Connected + Dropout

128 neurons, Dropout 0.3

128

FC2

Fully Connected

64 neurons

64

Output

Fully Connected + Softmax

4 neurons

4 (class probs)

(五)SVM模型

????????支持向量機(SVM)是一種強大的有監督學習分類器,它能在高維特征空間中找到最優超平面以區分各類別。這種方法對于那些在原始特征空間中數據并非線性可分但在更高維空間中可通過核函數實現分離的分類任務特別有效。為了進一步提升分類性能,提取 CNN 模型中間層的特征(如全連接層的輸出),將其作為支持向量機(SVM)模型的輸入,訓練 SVM 分類器。

????????其中:

????????xi : 從卷積神經網絡(CNN)中提取的特征向量。

????????xi∈-1,1 : 類別標簽。

????????C : 正則化參數,用于控制最大化間隔與最小化分類誤差之間的權衡。

????????w :權重向量。

????????b : 偏差項。

????????ξi : 松弛變量,允許存在一些誤分類。

???????目標函數 ?的作用在于最大化不同類別的間隔,而項 ?則用于懲罰錯誤分類。參數 C 是一個超參數,需要進行調整以平衡最大化間隔和最小化分類錯誤之間的權衡。

圖12:支持向量機模型結構圖

????????利用 SVM 模型對測試集進行分類,并評估其分類性能。通過比較 CNN 模型和基于 CNN 特征的 SVM 模型的分類結果,分析混合模型的優勢。

四、實驗結果與分析

????????(一)數據劃分

????????本次實驗采用 MIT-BIH 心律失常數據庫,該數據庫包含 48 個心電信號記錄,采樣率為 360Hz,每個記錄包含兩個導聯(MLII 和 V1)。每個記錄的時長約為 30 分鐘,涵蓋了正常和多種異常心律失常類型。通過讀取數據文件并按照 AAMI 規則進行標簽映射,將數據劃分為四個類別:L(左束支傳導阻滯)、N(正常)、R(右束支傳導阻滯)、V(室性早搏)。

圖13:原始數據劃分為L類、N類、R類和V類的預處理過程

?????(二)生成CWT圖像? ??????

????????對心拍信號進行小波去噪,去除噪聲干擾。并使用連續小波變換(CWT)將去噪后的一維心拍信號轉換為二維圖像,圖像尺寸統一調整為 224×224 像素。

??????

圖14:V類的CWT圖像生成過程圖?

????????模型訓練過程如下所示:

圖15:模型訓練過程圖

圖16:CNN混淆矩陣結果

圖17:CNN-SVM混淆矩陣結果

????????為了比較基線卷積神經網絡(CNN)和混合卷積神經網絡 - 支持向量機(CNN-SVM)方法的效能,對這兩個模型均在相同的測試數據集上進行了評估。分析了分類準確率和各類別的表現,特別關注了該模型區分形態相似的心跳類型的能力。

????????下表展示的是不同模型結果對比:

表2:CNN與CNN-SVM的模型結果對比指標

Model

Acc%

Sen%

Spe%

CNN

98.45%

98.47%

99.47%

CNN+SVM

98.99%

99.03%

99.66%

????????CNN 模型的測試準確率為 98.45%,在類別 N 和 V 上表現尤為出色。而利用全連接層 fc2 提取的 64 維特征的 CNN-SVM 模型進一步將準確率提高到 98.99%。SVM 在最大化間隔方面的能力顯著提高了泛化能力,特別是在減少 L 和 R 類之間的混淆方面效果顯著。這通過 CNN-SVM 模型(98.99% 對于 CNN 的 98.45%)的優越準確率得以體現,同時 L 和 R 類之間的誤分類顯著減少,從而驗證了這種混合方法在細微心律失常檢測方面的臨床實用性。

五、結論與展望

(一)總結

????????本文提出了一種基于小波變換和 CNN 的心律失常分類方法。通過小波去噪和 CWT 圖像生成,將一維心電信號轉換為二維圖像,利用 CNN 模型自動學習圖像特征,并通過 SVM 模型進一步提升分類性能。實驗結果表明,該方法能夠有效分類不同類型的心律失常,具有較高的準確率和較好的泛化能力,為心律失常的自動診斷提供了一種新的技術手段。

(二)創新點

????????1、結合小波變換和 CNN 模型,充分發揮兩者優勢,利用小波變換提取信號的時頻特征,通過 CNN 模型自動學習深度特征,實現對心律失常信號的高效、準確分類。

????????2、提取 CNN 中間層特征并用于 SVM 訓練,構建混合模型,進一步提高分類效果,充分利用兩種模型的特點,彌補單一模型的不足。

????????3、采用 CWT 圖像生成方法將一維心電信號轉換為二維圖像,為 CNN 模型的應用提供了合適的數據形式,同時增強了信號特征的可視化和可分性。

六、參考文獻

[1] Moody GB, Mark RG. The impact of the MIT-BIH Arrhythmia Database. IEEE Eng Med Biol Mag. 2001;20(3):45-50.

[2] Acharya UR, et al. Deep convolutional neural network for the automated detection and diagnosis of arrhythmias. IEEE Journal of Biomedical and Health Informatics. 2017;21(4):1329-1338.

[3] Cortes C, Vapnik V. Support-Vector Networks. Mach Learn. 1995;20(3):273-297.

[4] Zhang Y, et al. Deep learning for image-based arrhythmia detection. IEEE J Biomed Health Inform. 2020;24(1):252-261.

Tips:下一講,我們將進一步探討,心電信號處理與應用的其他內容。

以上就是基于連續小波變換(CWT)和卷積神經網絡(CNN)的心律失常分類算法的全部內容啦~

我們下期再見,拜拜(?v?) ~

(Ps:有代碼實現需求,請見主頁信息,謝謝支持!~)

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

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

相關文章

C++.OpenGL (11/64)材質(Materials)

材質(Materials) 真實感材質系統 #mermaid-svg-NjBjrmlcpHupHCFQ {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-NjBjrmlcpHupHCFQ .error-icon{fill:#552222;}#mermaid-svg-NjBjrmlcpHupHCFQ .error-text{fill:…

P1345 [USACO5.4] 奶牛的電信Telecowmunication

P1345 [USACO5.4] 奶牛的電信Telecowmunication 突然發現 USACO 好喜歡玩諧音梗。 題意就是給定一個無向圖,問你要刪多少點才能使 s , t s,t s,t 不連通。 注意是刪點而不是刪邊,所以不能直接使用最小割來求。所以考慮變換一下題目模型。 經典 tric…

EXCEL如何快速批量給兩字姓名中間加空格

EXCEL如何快速批量給姓名中間加空格 優點:不會導致排版混亂 缺點:無法輸出在原有單元格上,若需要保留原始數據,可將公式結果復制后“選擇性粘貼為值” 使用場景:在EXCEL中想要快速批量給兩字姓名中間加入空格使姓名對…

使用vtk8.2.0加載dicom圖像

1 上一篇文章我們已經編譯好了VTK的dll,下面我們就來加載他。 2 在Pro里面加載dll #------------------------------------------------- # # Project created by QtCreator 2024-02-04T14:39:07 # #-------------------------------------------------QT …

使用vsftpd搭建FTP服務器(TLS/SSL顯式加密)

安裝vsftpd服務 使用vsftpd RPM安裝包安裝即可,如果可以訪問YUM鏡像源,通過dnf或者yum工具更加方便。 yum -y install vsftpd 啟動vsftpd、查看服務狀態 systemctl enable vsftpd systemctl start vsftpd systemctl status vsftpd 備份配置文件并進…

鴻蒙OSUniApp集成WebGL:打造跨平臺3D視覺盛宴#三方框架 #Uniapp

UniApp集成WebGL:打造跨平臺3D視覺盛宴 在移動應用開發日新月異的今天,3D視覺效果已經成為提升用戶體驗的重要手段。本文將深入探討如何在UniApp中集成WebGL技術,實現炫酷的3D特效,并特別關注鴻蒙系統(HarmonyOS)的適配與優化。 …

前端文件下載常用方式詳解

在前端開發中,實現文件下載是常見的需求。根據不同的場景,我們可以選擇不同的方法來實現文件流的下載。本文介紹三種常用的文件下載方式: 使用 axios 發送 JSON 請求下載文件流使用 axios 發送 FormData 請求下載文件流使用原生 form 表單提…

MacOS解決局域網“沒有到達主機的路由 no route to host“

可能原因:MacOS 15新增了"本地網絡"訪問權限,在 APP 第一次嘗試訪問本地網絡的時候會請求權限,可能順手選擇了關閉。 解決辦法:給想要訪問本地網絡的 APP (例如 terminal、Navicat、Ftp)添加訪問…

中英文實習證明模板:一鍵生成標準化實習證明,助力實習生職場發展

中英文實習證明模板:一鍵生成標準化實習證明,助力實習生職場發展 【下載地址】中英文實習證明模板 這份中英文實習證明模板專為實習生設計,內容簡潔專業,適用于多種場景。模板采用中英文對照格式,方便國際交流與使用。…

RocketMQ運行架構和消息模型

運?架構 nameServer 命名服務 NameServer 是 RocketMQ 的 輕量級注冊中心,負責管理集群的路由信息(Broker 地址、Topic 隊列分布等),其核心作用是解耦 Broker 與客戶端,實現動態服務發現。broker 核?服務 RocketMQ最…

C++學習-入門到精通【11】輸入/輸出流的深入剖析

C學習-入門到精通【11】輸入/輸出流的深入剖析 目錄 C學習-入門到精通【11】輸入/輸出流的深入剖析一、流1.傳統流和標準流2.iostream庫的頭文件3.輸入/輸出流的類的對象 二、輸出流1.char* 變量的輸出2.使用成員函數put進行字符輸出 三、輸入流1.get和getline成員函數2.istrea…

OpenCV 圖像像素的邏輯操作

一、知識點 1、圖像像素的邏輯操作,指的是位操作bitwise,與、或、非、異或等。 2、位操作簡介: 位1 位2 與and 或or 異或xor0 0 0 0 00 1 0 1 11 0 0 …

【AAOS】【源碼分析】用戶管理(二)-- 整體架構

整體介紹 Android多用戶功能作為 Android Automotive 的重要組成部分,為不同駕駛員和乘客提供了一個更加定制化、隱私保護的使用環境。Android 多用戶的存在,它可以讓多個用戶使用同一臺設備,同時保持彼此的數據、應用和設置分隔開來。 各用戶類型的權限 能力SystemAdminS…

Redis最佳實踐——電商應用的性能監控與告警體系設計詳解

Redis 在電商應用的性能監控與告警體系設計 一、原子級監控指標深度拆解 1. 內存維度監控 核心指標: # 實時內存組成分析(單位字節) used_memory: 物理內存總量 used_memory_dataset: 數據集占用量 used_memory_overhead: 管理開銷內存 us…

多模態大語言模型arxiv論文略讀(109)

Math-PUMA: Progressive Upward Multimodal Alignment to Enhance Mathematical Reasoning ?? 論文標題:Math-PUMA: Progressive Upward Multimodal Alignment to Enhance Mathematical Reasoning ?? 論文作者:Wenwen Zhuang, Xin Huang, Xiantao Z…

web3-以太坊智能合約基礎(理解智能合約Solidity)

以太坊智能合約基礎(理解智能合約/Solidity) 無需編程經驗,也可以幫助你了解Solidity獨特的部分;如果本身就有相應的編程經驗如java,python等那么學起來也會非常的輕松 一、Solidity和EVM字節碼 實際上以太坊鏈上儲存…

D2-基于本地Ollama模型的多輪問答系統

本程序是一個基于 Gradio 和 Ollama API 構建的支持多輪對話的寫作助手。相較于上一版本,本版本新增了對話歷史記錄、Token 計數、參數調節和清空對話功能,顯著提升了用戶體驗和交互靈活性。 程序通過抽象基類 LLMAgent 實現模塊化設計,當前…

傳統業務對接AI-AI編程框架-Rasa的業務應用實戰(2)--選定Python環境 安裝rasa并初始化工程

此篇接續上一篇 傳統業務對接AI-AI編程框架-Rasa的業務應用實戰(1)--項目背景即學習初衷 1、Python 環境版本的選擇 我主機上默認的Python環境是3.12.3 (我喜歡保持使用最新版本的工具或框架,當初裝python時最新的穩定版本就是…

Ubuntu22.04安裝MinkowskiEngine

MinkowskiEngine簡介 Minkowski引擎是一個用于稀疏張量的自動微分庫。它支持所有標準神經網絡層,例如對稀疏張量的卷積、池化和廣播操作。 MinkowskiEngine安裝 官方源碼鏈接:GitHub - NVIDIA/MinkowskiEngine: Minkowski Engine is an auto-diff neu…

高等數學基礎(矩陣基本操作轉置和逆矩陣)

矩陣是否相等 若 A A A和 B B B為同型矩陣且對應位置的各個元素相同, 則稱矩陣 A A A和 B B B相等 在Numpy中, 可以根據np.allclose()來判斷 import numpy as npA np.random.rand(4, 4) # 生成一個隨機 n x n 矩陣B A A.Tprint("矩陣是否相等:", np…