免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

PyTorch混淆矩陣?yán)L制全指南:從原理到出版級可視化

PyTorch混淆矩陣?yán)L制全指南:從原理到出版級可視化 從項(xiàng)目標(biāo)題來看這是一篇“技術(shù)復(fù)現(xiàn)型”的分享。只要動過PyTorch做圖像分類或文本分類的人應(yīng)該都經(jīng)歷過這種場景訓(xùn)練完模型打印出準(zhǔn)確率看到一個90%甚至95%的數(shù)字心里挺高興結(jié)果模型一上線發(fā)現(xiàn)某些類別幾乎全錯。準(zhǔn)確率這個指標(biāo)太“宏觀”了它會掩蓋很多細(xì)節(jié)。所以我才堅持每次跑完分類任務(wù)都要畫一張混淆矩陣出來看看。這篇文章就把我平時在PyTorch項(xiàng)目里畫混淆矩陣和做可視化的一套完整流程整理出來從最底層的矩陣計數(shù)原理到最終的出版級圖像導(dǎo)出盡量覆蓋到每一個坑。1. 為什么要畫混淆矩陣從準(zhǔn)確率說不清的問題說起1.1 準(zhǔn)確率看著挺高模型卻可能在“裝模作樣”先講個我自己踩過的案例。當(dāng)時做一個六分類的紋理識別任務(wù)訓(xùn)練集里樣本分布很不均衡其中一類占了總樣本的將近一半。訓(xùn)練結(jié)束后驗(yàn)證集準(zhǔn)確率到了92%看起來一切正常。結(jié)果把測試集結(jié)果按類別拆開一統(tǒng)計那個占了50%的類別準(zhǔn)確率接近99%而另外幾個稀少類別準(zhǔn)確率只有60%到70%。如果只看準(zhǔn)確率根本發(fā)現(xiàn)不了這個問題。混淆矩陣的價值就在這它不給你一個籠統(tǒng)的“好”或“壞”而是把“哪一類被認(rèn)對了、哪一類被認(rèn)成了哪一類”全部攤開。有些讀者可能會問精確率、召回率、F1值不是也能看類別的單獨(dú)表現(xiàn)嗎確實(shí)能。但混淆矩陣是最原始的“計數(shù)表”精確率和召回率其實(shí)是基于這個計數(shù)表二次計算出來的。有了混淆矩陣你可以自己計算任何想要的指標(biāo)還可以定位到具體的“錯誤對”比如A類被錯認(rèn)成B類到底是A類的特征太接近B類還是數(shù)據(jù)標(biāo)注本身就有問題。這是單獨(dú)一個F1值做不到的。1.2 混淆矩陣到底在告訴你什么對于一個N分類任務(wù)混淆矩陣是一個N乘N的方陣。行通常代表真實(shí)標(biāo)簽列代表預(yù)測標(biāo)簽。矩陣的第i行第j列的值表示“真實(shí)類別是i卻被模型預(yù)測成類別j”的樣本個數(shù)。對角線上的值越大說明這一類被正確識別的比例越高。對角線外的值就是錯誤分布它們會清晰地告訴你錯誤主要發(fā)生在哪些類別之間。舉個例子三分類問題假設(shè)有150個測試樣本每個類別各50個。如果矩陣長這樣真實(shí)\預(yù)測類別0類別1類別2類別04811類別15405類別22840對角線加起來是128所以準(zhǔn)確率是85.3%。但這張矩陣透露的信息更多類別0表現(xiàn)最好只有兩個樣本出錯類別1有5個樣本被認(rèn)成類別05個被認(rèn)成類別2類別2則有8個樣本被認(rèn)成類別1。這告訴你類別1和類別2之間的混淆比較嚴(yán)重可能是特征相似也可能是訓(xùn)練樣本不足。1.3 什么時候必須畫混淆矩陣我個人的習(xí)慣是只要是分類任務(wù)無論是圖像分類、文本分類還是音頻分類跑了測試集之后都要畫一張混淆矩陣。不是說每個項(xiàng)目都要給客戶看而是你自己必須心里有數(shù)。尤其是以下幾種情況不畫混淆矩陣幾乎等于白跑測試第一類別不均衡時。就像前面舉的例子準(zhǔn)確率會被大類“帶節(jié)奏”。第二類別數(shù)量較多時比如幾十個類即使每個類別準(zhǔn)確率在大數(shù)上看起來差不多也可能存在個別類別之間系統(tǒng)性錯認(rèn)只有矩陣才能暴露這種規(guī)律。第三迭代優(yōu)化過程中。每次調(diào)完參、加完數(shù)據(jù)畫一張矩陣對比兩次的錯誤分布能直觀看出優(yōu)化是否真的有效而不是只看準(zhǔn)確率有沒有漲。第四需要向團(tuán)隊或客戶匯報時。一張帶顏色深淺的混淆矩陣圖比一堆數(shù)字直觀得多。2. 動手前的準(zhǔn)備環(huán)境、模型輸出與數(shù)據(jù)格式2.1 最小可用環(huán)境清單畫混淆矩陣本身對硬件沒有任何要求CPU機(jī)器完全能跑。核心依賴就是PyTorch、scikit-learn、matplotlib如果想畫得更精致一點(diǎn)可以再加seaborn。我用過的幾個版本組合供參考依賴庫我常用的版本區(qū)間說明Python3.8 ~ 3.11老版本要注意scikit-learn兼容性PyTorch1.13 或 2.x分類模型推理scikit-learn1.0 ~ 1.3提供confusion_matrix等函數(shù)matplotlib3.5 ~ 3.8基礎(chǔ)繪圖seaborn0.12 ~ 0.13熱力圖可視化更省事安裝命令我就不多寫了pip install torch scikit-learn matplotlib seaborn一步到位。如果是在已有的訓(xùn)練環(huán)境里補(bǔ)裝注意不要隨意升級PyTorch版本避免影響之前訓(xùn)練好的模型權(quán)重加載。2.2 模型輸出到底長什么樣logits、概率和預(yù)測類別剛?cè)腴T的朋友最容易在這里搞混。PyTorch分類模型在全連接層之后通常輸出一個向量這個向量在進(jìn)入Softmax之前叫l(wèi)ogits維度是批量大小乘以類別數(shù)。舉例來說一個批次的輸入經(jīng)過模型后輸出形狀通常是[batch_size, num_classes]。對每個樣本來說這個向量里的值表示該樣本屬于各個類別的“原始得分”數(shù)值越大代表模型越傾向于這個類別。取最大值的索引就是預(yù)測類別。有一種常見操作是先把logits經(jīng)過Softmax轉(zhuǎn)成概率再取最大值索引。這兩者其實(shí)結(jié)果完全一致因?yàn)镾oftmax是單調(diào)遞增函數(shù)不會改變最大值的位置。所以如果你只是要取預(yù)測類別直接做pred torch.argmax(logits, dim1)就夠了不需要先算Softmax。但如果你想把概率值也記錄下來比如用于分析置信度那就需要先過Softmax了。2.3 拿到預(yù)測結(jié)果后先做這件事類別索引與名稱對應(yīng)關(guān)系檢查模型輸出的是索引比如數(shù)字0、1、2而不是字符串“貓”“狗”“鳥”。所以動手畫圖前先確認(rèn)索引和類別名稱的對應(yīng)關(guān)系。我遇到過不止一次訓(xùn)練時數(shù)據(jù)集是用字典映射的類別名稱在數(shù)據(jù)集類的classes屬性里導(dǎo)出模型做推理時忘了保存映射關(guān)系結(jié)果畫出來的矩陣行列全是數(shù)字根本不知道哪一行對應(yīng)哪個類別。這里給一個最小驗(yàn)證片段確保測試集的類別是連續(xù)且完整的# 以 torchvision.datasets.ImageFolder 加載的數(shù)據(jù)為例 dataset_classes test_dataset.classes print(dataset_classes) # 例如 [cat, dog, bird]如果你的數(shù)據(jù)是自定義Dataset一定要檢查__getitem__返回的標(biāo)簽是從0開始的連續(xù)整數(shù)。如果標(biāo)簽不連續(xù)比如0、1、5、9混淆矩陣的行列就會錯位。這一點(diǎn)后面還會詳細(xì)說。3. 零基礎(chǔ)到手寫實(shí)現(xiàn)混淆矩陣的兩種構(gòu)建方式3.1 方式一手寫計數(shù)徹底搞懂矩陣邏輯雖然現(xiàn)成庫一行就能搞定但我強(qiáng)烈建議新手先手寫一次。理解了矩陣填充邏輯后面用庫函數(shù)出現(xiàn)問題時你才有能力排查。首先準(zhǔn)備真實(shí)標(biāo)簽列表y_true和預(yù)測標(biāo)簽列表y_pred兩者必須是等長的Python列表、NumPy數(shù)組或PyTorch張量。假設(shè)有4個類別先初始化一個4乘4的全零矩陣然后遍歷每一對真實(shí)標(biāo)簽和預(yù)測標(biāo)簽把對應(yīng)位置加1import torch def build_confusion_matrix(y_true, y_pred, num_classes): matrix torch.zeros(num_classes, num_classes, dtypetorch.int64) for t, p in zip(y_true, y_pred): matrix[t, p] 1 return matrix # 示例數(shù)據(jù)5個樣本3個類別 y_true [0, 1, 2, 1, 0] y_pred [0, 2, 2, 1, 0] cm build_confusion_matrix(y_true, y_pred, num_classes3) print(cm)輸出tensor([[2, 0, 0], [0, 1, 1], [0, 0, 1]])解釋一下第一個樣本真實(shí)是0預(yù)測是0所以matrix[0,0]加1第二個樣本真實(shí)是1預(yù)測是2所以matrix[1,2]加1。這個邏輯非常簡單遍歷完所有樣本就得到了完整的計數(shù)矩陣。如果類別數(shù)很多用循環(huán)加法的效率不高但畫圖前統(tǒng)計測試集一般也就幾千個樣本性能完全不是問題。3.2 方式二使用適合快速統(tǒng)計的現(xiàn)成函數(shù)手寫矩陣只是教學(xué)手段實(shí)際項(xiàng)目里我一般直接用機(jī)器學(xué)習(xí)常用庫中現(xiàn)成的混淆矩陣統(tǒng)計函數(shù)。它省事、代碼少、不易出錯from sklearn.metrics import confusion_matrix y_true [0, 1, 2, 1, 0] y_pred [0, 2, 2, 1, 0] cm confusion_matrix(y_true, y_pred, labels[0, 1, 2]) print(cm)重點(diǎn)是這個labels參數(shù)。它用來指定類別索引的完整列表順序就是矩陣行列的順序。如果你的測試集某個類別恰好一個樣本都沒出現(xiàn)不傳labels的話矩陣會缺少那一行一列導(dǎo)致維度對不上。我一般在多分類任務(wù)中都會顯式傳入labelslist(range(num_classes))強(qiáng)制讓矩陣維度固定。如果真實(shí)標(biāo)簽和預(yù)測標(biāo)簽是PyTorch張量先轉(zhuǎn)成Python列表或NumPy數(shù)組再傳入。# 從 GPU 張量轉(zhuǎn)到 CPU再轉(zhuǎn) numpy y_true_np y_true.cpu().numpy() y_pred_np y_pred.cpu().numpy() cm confusion_matrix(y_true_np, y_pred_np, labelslist(range(num_classes)))這里我解釋一下為什么要先轉(zhuǎn)cpu().numpy()。confusion_matrix函數(shù)接收的是類數(shù)組結(jié)構(gòu)PyTorch張量雖然也能在某些情況下被兼容但為避免type error或device對不上的問題統(tǒng)一轉(zhuǎn)成NumPy數(shù)組最省心。3.3 手工方式 vs 現(xiàn)成函數(shù)怎么選有人可能會覺得既然現(xiàn)成函數(shù)這么方便為什么還要學(xué)手寫因?yàn)楝F(xiàn)成函數(shù)幫我們省掉的是“計數(shù)”這一步但沒有幫我們理解“矩陣的含義”。在實(shí)際問題排查中你需要跟別人解釋為什么某個位置數(shù)值異常偏高這時候只有真正理解矩陣每一格的含義才能基于業(yè)務(wù)邏輯給出合理解釋。兩種方式建議這樣搭配學(xué)習(xí)和調(diào)試階段手寫理解透徹后正式代碼里用現(xiàn)成函數(shù)。還有一個細(xì)節(jié)手寫矩陣用for循環(huán)效率較低如果測試集很大比如幾萬甚至幾十萬樣本建議用torch.zeros和index_put_這類批量操作或者直接用NumPy的np.add.at。不過對常規(guī)項(xiàng)目來說這個復(fù)雜度根本遇不到。4. 畫出真正能用的混淆矩陣圖配色、歸一化與標(biāo)注4.1 基礎(chǔ)熱力圖讓數(shù)字變成顏色矩陣本身是數(shù)字表格直接看也能看但遠(yuǎn)不如熱力圖直觀。熱力圖的核心思想是用顏色深淺表示數(shù)值大小顏色越深數(shù)值越大。對角線越深說明分類效果越好。用seaborn畫熱力圖是我用得最多的方式因?yàn)樗膆eatmap函數(shù)幾乎為混淆矩陣量身定制import matplotlib.pyplot as plt import seaborn as sns import numpy as np from sklearn.metrics import confusion_matrix # 假設(shè)已經(jīng)得到 cm 和類別名稱 class_names plt.figure(figsize(8, 6)) sns.heatmap(cm, annotTrue, fmtd, cmapBlues, xticklabelsclass_names, yticklabelsclass_names, cbarFalse) plt.xlabel(Predicted label) plt.ylabel(True label) plt.title(Confusion Matrix) plt.tight_layout() plt.savefig(confusion_matrix.png, dpi300) plt.show()參數(shù)說明annotTrue在每個格子里顯示數(shù)字。fmtd因?yàn)榛煜仃囀钦麛?shù)計數(shù)用d表示十進(jìn)制整數(shù)格式。如果錯用了fmt.2f或者不寫可能報錯或者顯示成小數(shù)。cmapBlues藍(lán)色漸變顏色越深數(shù)值越大這是論文里最常見的配色。xticklabels和yticklabels傳入類別名稱列表讓坐標(biāo)軸顯示可讀的名稱而不是數(shù)字索引。cbarFalse我比較喜歡關(guān)掉右側(cè)的顏色條因?yàn)樗槐硎绢伾顪\對應(yīng)數(shù)值大小但每個格子已經(jīng)標(biāo)了數(shù)字顏色條的信息量有限還占空間。如果對顏色對比敏感可以保留。4.2 歸一化從計數(shù)到比例的轉(zhuǎn)換原始計數(shù)矩陣有個問題如果每個類別的樣本數(shù)不同深色的格子分布會失真。例如類別0有1000個測試樣本類別1只有100個即使兩者的識別率都是80%類別0對應(yīng)的對角線格子數(shù)值是800顏色會非常深類別1只有80看起來很淺給人造成“類別1表現(xiàn)很差”的錯覺。解決方法是按行歸一化歸一化后每個格子的值表示“該行真實(shí)類別中有多少比例的樣本被預(yù)測到了這一列”。歸一化矩陣的計算方法把每一行的所有值除以該行的總和。在scikit-learn中可以直接指定normalizetruecm_normalized confusion_matrix(y_true, y_pred, labelslist(range(num_classes)), normalizetrue)在seaborn繪制時我通常這樣處理cm confusion_matrix(y_true, y_pred, labelslist(range(num_classes))) cm_norm cm.astype(float) / cm.sum(axis1, keepdimsTrue) sns.heatmap(cm_norm, annotTrue, fmt.2f, cmapBlues, xticklabelsclass_names, yticklabelsclass_names)注意歸一化后fmt要改成.2f顯示兩位小數(shù)。在最終展示時我更傾向于同時展示兩種形式一是原始計數(shù)矩陣用來精確知道樣本數(shù)量二是按行歸一化的比例矩陣用來比較不同類別之間的表現(xiàn)。可參考的展示方案是先打印原始計數(shù)矩陣再打印歸一化矩陣圖里選一種呈現(xiàn)。4.3 坐標(biāo)軸字體、標(biāo)題和圖像導(dǎo)出細(xì)節(jié)可視化不只是把圖畫出來還要考慮最終使用場景。如果圖是要放進(jìn)論文、技術(shù)報告或PPT里的要注意以下幾點(diǎn)。首先類別名稱如果比較長比如“background_with_noise”這種橫坐標(biāo)文字會重疊。解決方法是把坐標(biāo)軸文字旋轉(zhuǎn)一下plt.xticks(rotation45, haright) plt.yticks(rotation0)旋轉(zhuǎn)角度一般45度就夠haright讓文字右對齊避免和相鄰文字貼在一起。其次字體大小要適配圖片尺寸。默認(rèn)字號在8乘6英寸的圖里還行但如果類別很多比如30個類別格子很小數(shù)字會擠在一起。這時候要么調(diào)大figsize要么調(diào)小字體sns.set(font_scale1.2) # 全局放大字體 # 或者單獨(dú)控制 annot 字體大小 sns.heatmap(..., annot_kws{size: 10})最后是導(dǎo)出格式。我會優(yōu)先導(dǎo)出一個矢量圖加一個位圖。矢量圖用PDF或SVG用于論文或報告縮放不失真位圖用PNGdpi300以上用于網(wǎng)頁展示或微信群聊。示例代碼plt.savefig(confusion_matrix.pdf, formatpdf, bbox_inchestight) plt.savefig(confusion_matrix.png, formatpng, dpi300, bbox_inchestight)bbox_inchestight會自動裁剪圖片邊緣空白保證整張圖緊湊這一步我?guī)缀趺看味紩印?. 驗(yàn)證集、測試集和全量推理數(shù)據(jù)到底用哪一份5.1 三份數(shù)據(jù)的分工不少初學(xué)者會把訓(xùn)練過程中打印的驗(yàn)證集準(zhǔn)確率對應(yīng)的混淆矩陣當(dāng)作最終結(jié)果這其實(shí)不太嚴(yán)謹(jǐn)。驗(yàn)證集的作用是調(diào)參和選模型它參與了你對超參數(shù)的選擇過程所以用它評估模型會略微偏樂觀。真正用于最終性能報告的應(yīng)該是測試集也就是訓(xùn)練過程中從未參與梯度更新和模型選擇的樣本。如果連測試集你也反復(fù)用來做決策它也會慢慢“污染”。所以我的習(xí)慣是訓(xùn)練過程中的混淆矩陣用驗(yàn)證集畫用于觀察每個epoch有沒有個別類別開始嚴(yán)重錯認(rèn)最終匯報和論文里的混淆矩陣用測試集畫用于說明模型的真實(shí)泛化能力。5.2 推理時別用模型本身的Dropout和BatchNorm坑在PyTorch中如果模型處于訓(xùn)練模式model.train()Dropout和BatchNorm的行為與推理模式不同。畫混淆矩陣時必須把模型切換到評估模式model.eval() with torch.no_grad(): outputs model(batch_data) preds torch.argmax(outputs, dim1)如果不加torch.no_grad()推理過程會構(gòu)建計算圖不僅占用大量顯存速度也慢畫個混淆矩陣把顯卡顯存跑爆就尷尬了。model.eval()則能保證BatchNorm使用訓(xùn)練階段統(tǒng)計的均值和方差Dropout關(guān)閉這樣推理結(jié)果才穩(wěn)定可控。有一次我忘了加model.eval()連續(xù)跑兩次同一條測試數(shù)據(jù)得出的預(yù)測結(jié)果不一樣嚇了自己一跳最后排查發(fā)現(xiàn)是Dropout在作怪。5.3 數(shù)據(jù)順序打亂對矩陣沒有影響但對可視化有影響混淆矩陣本質(zhì)上是對所有樣本計數(shù)的匯總不關(guān)心樣本順序。所以DataLoader里是否shuffleTrue不影響矩陣結(jié)果。但要注意如果你同時還想輸出“哪些具體樣本被分錯了”以便人工檢查錯誤案例那就必須記錄樣本路徑或ID而不能只記預(yù)測結(jié)果。順序一旦打亂你只知道有幾個樣本被錯認(rèn)卻不知道具體是哪幾張圖。我通常會在推理時把樣本的路徑和預(yù)測結(jié)果一起記錄下來便于后續(xù)人工核對。這步在圖像分類里特別重要因?yàn)榫仃囍荒芨嬖V你錯誤數(shù)量不能告訴你錯誤原因。6. 從矩陣到洞察進(jìn)階分析與實(shí)戰(zhàn)技巧6.1 發(fā)現(xiàn)系統(tǒng)性錯誤相鄰類別的強(qiáng)烈混淆混淆矩陣一個特別有用的場景是發(fā)現(xiàn)“系統(tǒng)性錯認(rèn)”。比如在植物葉片分類中兩種外觀極其相似的病害類型常?;ハ嗷煜仃?yán)飼吹絻蓚€對稱的非對角線位置數(shù)值都很高。這說明模型并沒有學(xué)會區(qū)分它們本質(zhì)上是特征表達(dá)不夠或者兩類樣本之間的差異確實(shí)微小。發(fā)現(xiàn)這種規(guī)律后我的處理步驟通常是這樣先統(tǒng)計這兩個類別的樣本量確認(rèn)是否不平衡然后檢查訓(xùn)練數(shù)據(jù)里這兩個類別的圖像是否采集條件差異很大比如光照、角度再考慮是否需要對這兩類做特征可視化比如用梯度加權(quán)類激活映射看模型關(guān)注區(qū)域是否有問題。6.2 類別不平衡如何讓矩陣“說謊”歸一化矩陣能解決一部分“比較”問題但解決不了根本問題樣本量太少的類別即使歸一化后準(zhǔn)確率看著還行實(shí)際可信度也不高。比如某個類別只有10個測試樣本哪怕只有1個被分錯歸一化后準(zhǔn)確率就只有90%而另一個類別有1000個樣本50個分錯準(zhǔn)確率是95%。單看這兩個數(shù)字好像后者更好但樣本量差異導(dǎo)致前者的置信區(qū)間大得多。這種情況下我建議在矩陣圖下方額外標(biāo)注每個類別的測試樣本數(shù)。代碼上可以準(zhǔn)備一個樣本數(shù)列表用plt.text在對應(yīng)的列下方標(biāo)注或者干脆在類別名稱里帶上樣本量比如“類別A (n100)”。6.3 結(jié)合分類報告一起打包輸出混淆矩陣是基礎(chǔ)但給別人看的時候通常不能只甩一張矩陣圖。我在項(xiàng)目匯報時一般會同時輸出一份分類報告包含每個類別的精確率、召回率、F1值和樣本數(shù)。這樣既能從矩陣看全局又能從指標(biāo)看單類表現(xiàn)論證更充分。from sklearn.metrics import classification_report report classification_report(y_true_np, y_pred_np, target_namesclass_names, digits3) print(report)這段代碼會輸出一個表格每個類一行最后一行為加權(quán)平均。配合矩陣圖放在結(jié)果部分信息量完全夠用。6.4 多標(biāo)簽任務(wù)不是這個畫法這里要特別提醒一句本文討論的是單標(biāo)簽多分類任務(wù)每個樣本只能屬于一個類別。如果你做的是多標(biāo)簽任務(wù)比如一張圖同時包含“貓”和“狗”那混淆矩陣的畫法就完全不同了需要按標(biāo)簽維度單獨(dú)畫或者使用多標(biāo)簽專用的評估指標(biāo)。矩陣的行列在這里就對應(yīng)不上不要混淆。7. 常見問題與排查思路實(shí)錄7.1 畫圖時報錯“size mismatch”最常見的錯誤之一。原因通常是類別數(shù)對不上比如模型輸出10類但labels列表只給了8個或者測試集里某些類別缺失。排查順序先打印model最后一層輸出維度再打印訓(xùn)練時保存的類別映射然后打印len(np.unique(y_true))逐項(xiàng)核對。7.2 歸一化矩陣?yán)锍霈F(xiàn)NaN這類問題一般發(fā)生在某個行和為0的情況下也就是某個類別一個測試樣本都沒有。因?yàn)榉帜笧?除法結(jié)果變成NaN。解決方法是先檢查類別分布確保每個類別都有測試樣本如果確實(shí)沒有這一行就不該出現(xiàn)在矩陣?yán)镄枰獜膌abels里去掉該類別或者在計算時加一個極小值防止除零。7.3 圖片上中文類別名稱顯示成方塊matplotlib默認(rèn)字體不支持中文直接寫中文標(biāo)簽會變成一個個方框。解決方法有兩個一是直接用英文類別名最省事二是給matplotlib設(shè)置中文字體。代碼片段plt.rcParams[font.sans-serif] [SimHei] # 或 [Microsoft YaHei] plt.rcParams[axes.unicode_minus] False需要注意Linux服務(wù)器上可能沒有SimHei可以改用DejaVu Sans配合英文標(biāo)簽。如果是長期做中文項(xiàng)目我建議從始至終統(tǒng)一使用英文類別名加一份映射字典避免字體問題的困擾。7.4 GPU顯存不足的坑推理整個測試集時如果一次性把全部數(shù)據(jù)丟給模型顯存很容易溢出。正確做法是使用DataLoader分批推理每次累積預(yù)測結(jié)果all_preds [] all_labels [] for images, labels in test_loader: images images.to(device) labels labels.to(device) with torch.no_grad(): outputs model(images) preds torch.argmax(outputs, dim1) all_preds.append(preds.cpu()) all_labels.append(labels.cpu()) all_preds torch.cat(all_preds).numpy() all_labels torch.cat(all_labels).numpy()這里我把預(yù)測結(jié)果先放到CPU再在最后合并。注意不要每步都torch.cat這會復(fù)制數(shù)據(jù)多次效率低應(yīng)該先收集列表最后一次性合并。7.5 分類報告和矩陣對不上這個問題的根源往往是y_true和y_pred的來源不一致。比如y_true來自測試集的原始標(biāo)簽而y_pred來自某個評測階段的輸出文件兩者順序沒有對齊。排查方法是對比前幾個樣本的路徑和預(yù)測結(jié)果確認(rèn)是否一一對應(yīng)。我自己的經(jīng)驗(yàn)是永遠(yuǎn)在同一個推理循環(huán)里同時收集真實(shí)標(biāo)簽和預(yù)測標(biāo)簽不要分開跑兩次再合并。8. 我常用的一個完整可交付模板最后分享一個我自己項(xiàng)目里常用的模板代碼整體打包可直接復(fù)制修改。它做了三件事推理并收集標(biāo)簽、計算原始和歸一化矩陣、繪制并導(dǎo)出圖片。import torch import numpy as np import matplotlib.pyplot as plt import seaborn as sns from sklearn.metrics import confusion_matrix, classification_report def evaluate_and_plot(model, test_loader, class_names, device, save_path_prefixcm): model.eval() all_preds [] all_labels [] with torch.no_grad(): for images, labels in test_loader: images images.to(device) labels labels.to(device) outputs model(images) preds torch.argmax(outputs, dim1) all_preds.append(preds.cpu()) all_labels.append(labels.cpu()) y_pred torch.cat(all_preds).numpy() y_true torch.cat(all_labels).numpy() cm confusion_matrix(y_true, y_pred, labelslist(range(len(class_names)))) cm_norm cm.astype(float) / cm.sum(axis1, keepdimsTrue) print(Classification Report:) print(classification_report(y_true, y_pred, target_namesclass_names, digits3)) fig, axes plt.subplots(1, 2, figsize(16, 7)) sns.heatmap(cm, annotTrue, fmtd, cmapBlues, xticklabelsclass_names, yticklabelsclass_names, axaxes[0], cbarFalse) axes[0].set_title(Confusion Matrix (Counts)) axes[0].set_xlabel(Predicted label) axes[0].set_ylabel(True label) sns.heatmap(cm_norm, annotTrue, fmt.2f, cmapBlues, xticklabelsclass_names, yticklabelsclass_names, axaxes[1], cbarFalse) axes[1].set_title(Confusion Matrix (Row-Normalized)) axes[1].set_xlabel(Predicted label) axes[1].set_ylabel(True label) plt.tight_layout() plt.savefig(f{save_path_prefix}.pdf, formatpdf, bbox_inchestight) plt.savefig(f{save_path_prefix}.png, formatpng, dpi300, bbox_inchestight) plt.show() return cm, cm_norm, y_true, y_pred這個函數(shù)會把歸一化和原始計數(shù)矩陣并排畫在同一張圖里一次導(dǎo)出兩種視圖。傳給它的test_loader不需要shuffleclass_names從dataset.classes里提取。我自己做項(xiàng)目時會把保存的PDF圖直接放進(jìn)技術(shù)報告里PNG圖放到文檔中省去重新繪制的麻煩。用下來這么久我覺得混淆矩陣這個工具比想象中更“耐看”。每次訓(xùn)練完新模型我都會把它當(dāng)作一個標(biāo)準(zhǔn)動作和打印準(zhǔn)確率一樣自然。有時候矩陣看起來結(jié)果不理想反而能逼著我去找數(shù)據(jù)里的問題這比模型調(diào)參本身更有價值。希望這套流程能幫你省掉一些自己摸索的時間。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
六月激情久久婷婷| 夜夜爱伊人| 2025年最新亚洲在线欧美| 99爱操| 久久丁香综合| 天天爽天天做| 婷婷五月天性| 丁香五月aV| 狠狠色丁香婷婷| 五月天激情综合| 亚洲婷婷成人五月天| 丁香激情五月| 热婷婷在线视频| 狠狠插狠狠操| 99精品在线播放| 天天日日夜夜爽。| 婷婷五月AV| 激情婷婷在线中文字幕| 七月激情六月婷婷综合在线播放| 久久99久久99www| 五月天成人小说| 久久免片| 亚洲天堂色色| 深爱五月婷婷| 五月天婷婷综合| wwwxxx五月婷婷小说| 五月婷婷丁香| 伊九九三级区| 《诡秘之主》在线观看| 91啪啪视频| 色原狠狠综合| 91色在线 | 日韩| 婷婷狠狠青青| 五月天婷婷激情四射综合| 五月天桃色深爱网| 思思久久99热只有频精品66| 久久在线视频免费观看| 国精产品一区一区三区免费视频| 亚洲精品字幕| 亚洲一区二区色图-亚洲精品国产精品乱码-成人AV | 日韩婷婷| bbwcuckold精品熟妇| 亚洲AV无码一区二| 4399在线日本A片| 色情婷| 欧美日韩中国| 九九色色网| CAOBIBI| 91久久18| 婷婷丁香五月天影院| 色色色宗合网| 亚洲五月激情| 99久久免费性爱视频`| 丁香五月天堂| 97碰碰九九视频| 99热免费| 婷婷综合玖玖五月| Www99热| 国内久久久精品99| 99色婷婷视频| www激情网| 春色激情第四色| 五月丁香久久综合91| 国产精品国产成人国产三级| AV片在线观看| 五月婷婷啪啪啪| 中文字幕综合网| 久久综合干| 99re热在线视频| 丁香六月激| 天天操天天爱天天日| 美女五月天婷婷| 五月天婷婷色紫薇阁| 思思久ren热| 中出内射的人妻视频| 色综合综合网| 婷婷久久综合| 天堂va久久久噜噜噜久久Va| 五月天激情国产综合婷婷婷就去爱| 婷婷五月综合激情| 久久性爱视频这里只有精品| 亚洲视频五区| 色婷婷yy久| 人人叉久| 五月天影院婷婷在线观看| 色婷婷丁香五月色综合网| 思思国产99| 婷婷色操| 日本久久九| av成人在线播放| 91丨九色丨熟女高潮| 狠狠色噜噜狠狠色噜噜噜999| 婷婷色日本| 99这里只有精品|v| 国产成人一区二区三区在线观看| 丁香五月综合激情啪啪| 99热这里只有免费| www.婷婷| 亚洲愉拍99热成人精品| 开心婷婷五月天激情网| 精品无码久久久久久久久| 最新无码专区| 五月花综合网| 日本99久久| 欧美性生交xXxX久久久| 天天爱天天做天天日| 五月天四色房丁香| 九九这里有精品| 97婷婷五月丁香| 成人片黄网站色大片免费毛片| 久久婷婷丁香| 91精品综合久久久久久五月天| 超碰免费人人| 久久综合影院| 成人免费视频一区| 5月婷婷激情网| 99综合视频一体| 久久性都花花世界成人免费视频| 五月丁香拍拍激情综合| 色香蕉影院| 亚洲精品网址| 久久美女五月天| 欧美99| av无码电影| 五月婷婷狠天天色综合| 大香蕉九九| 超碰97干| 亚洲婷婷91丁香| AV片在线观看| 国产一二三四五六七八视频| 百度一下国产精品A| 综合五月丁香久久| 色婷婷五月天| 色日本丁香婷婷| 婷婷色导航| 婷婷国产五月天17c| 热久久成人| 天堂综合久久 | 激情五月色婷婷| 久久九网| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | 99视频在线| 伊人激情网| 丁香五月久久综合| 91丨九色丨首页| 天堂爱爱| 色婷婷激情Av久久久| 五月婷婷在线视频免费观看| 国产精产国品一二三在观看| 婷婷五月天亚洲综合网| 久久久久97| 婷婷五月激情在线| 9热久久| 婷婷五月综合视频免费播放| enecarbon-materials.comWu染请涟系Bao护@wip1688 | 第四色五月婷婷| 人人97操| 影音先锋一区| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 1000部毛片A片免费观看| 亚洲 综合中文| 精品久热| 五月丁香在线国产| 91性人人| 五月丁香六月激情综合| 呦呦视频无码播放| 色香久久| 五月丁香大香蕉| 色综合久久88色综合天天人守婷| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 伊人久久婷婷| 国产精品噜噜在线视频| a毛片二逼wwwwwwwwww| 99思思热只有在这里看| 97影院一级片| 欧美性生交XXXXX无码小说 | 天天综合 99久久婷婷| 狠狠色成人影片| 大伊香蕉玖玖爱| 久9视频免费播放| 欧美va视频| 日日夜夜狠狠| 日日噜噜夜夜狠狠久久丁香五月| 婷婷成人综合| 亚洲精品第一国产综合亚AV | 日本久久人人| 人五月天婷婷喷水| 日韩九区| 色噜噜狠狠插综合| WWW·天天操·视频?| 色爆五月| 久久五月婷| 开心 五月 综合| 亚洲成人AV高清字幕| 丁香婷婷色情社区成人小说| 亚洲另类婷婷五月丁香在线播放| 九九色情网五月天| 国产人妻人伦精品一区二区| 婷婷丁香九月| 开心五月深爱激情| 激情五月图| 91色五月在线观看| 超碰AV在线| 色婷婷六月天在线| 五月婷婷综合色啪| 超碰精品在线| 91在线操| 亚洲成人在线电影网站| 丁香五月成人| 超碰狠狠操| 亚洲色综久久五月| 亚洲中文无码成人| 综合97五月| 日本丰满久久| 人妻第九页| 婷婷天堂综合| 九九99精品视频| 亚洲丁香五月天在线视频| 冬月かえでAV无码播放| 婷婷久久爱| 深爱激情五月天| 无码色色色| 婷婷中文字幕版| caop在线| 婷婷久久五月天丁香| 色色五月天 亚洲| 激情综合网激情五月天| 97在线碰| 五月丁香色色| 99综合久久| 丁香成人色情五月天| 丁香五月婷婷五月天在线| 欧美亚洲成人在线| 91视频久久久| 激情五月婷婷啪啪| 亚州色综合| 大香蕉五月婷婷丁香| 在线综合网| 色综合丁香婷婷| 久久人妻伦理| 热99在线| 色婷婷小说网| 日日夜夜干| 国产日韩亚洲欧美在线观看| 色婷婷小说| www.五月激情红色| 丁香六月婷婷姐网| 天干夜夜操| 五月丁香亚洲综合网| 涩涩五月天综合| 99视频在线| 人妻久热| 亚洲区,视频区,视频区免费| 五月丁香网av| 色婷五月丁香久亚洲| 久久成人性爱| 另类综合国产| 色色色色色网| 久9热在线视频| 国产精品美女| 九月婷婷久久| 狠狠干综合| 午夜丁香婷婷| 午夜在线成人网站免费观看| 91疯狂操操操操| 久久九九99桃花视频| 操碰久| 五月丁香大相交| 五月丁香激情四射综合| 丁香五月 综合| 五月天色播网| 99综合一区| 天堂草在线看www| 亚洲色优| 99亚州综合精品成人网| 丁香五月天天久久综合小说| 亚洲成人av在线播放| 黄久久久| 色色色在线播放| AV 3P| 99热这里只有精品2024| 丁香六月啪啪啪| 99这里只有| 激情五月激情综合网| 国产精品激情AV久久久青桔| 亚洲有码在线视频| 亚洲第一色色色色| 九九热最新| 99热超碰| 操b视频在线观看一区二区| 停停综合色色| 密臀久久| 99.N在线视频| 国产麻豆视频| 五月丁香免费视频| 天天综合天综合| 激情视频综合| 国产性av| 丁香花五月天激情| 久久欧洲综合网| 超碰97干| 国产av第一专区| 99热日| 秋霞电影一级黄| 欧美婷婷五月天综合| 丁香五月AV| 九九热AV| 久久久99婷婷久久久久久| 五月丁香va| 伊人在线视频| 亚洲网站观看视频| 99色综合网| 五月婷婷综合潮喷| 精品久久99| 九九热99在线视频| 五月的丁香六月的婷婷| 五月丁香啪| 色域五月丁香| 久热这里精品免费| 欧美人与性动交CCOO| 欧美月久久| 狠狠色狠狠干| 亚洲操逼网| 日本偷拍九九九| 五月在线婷色| 久久九九99| 开心深爱激情网| 99激情| 亚洲99在线| 久久五月天黄色五月天色网址| 狠狠爱五月婷婷| 超极99精品| 五月花综合网| 99久久6| 激情婷婷九月| 九九無妻| 人人叉久| www.99热在线| 色色色色色色色色色色色色色97| 五月婷婷六月丁香激情| 天天综合区| 丁香五月婷婷姐| 婷婷五月天综合网| 国产成人高清| 91狠狠综合网| 五月婷婷欧美| 午夜大香蕉| 久久色9| se99视频| 麻豆精品| 久草狼人| 中文无码婷婷| 亚洲另类在线观看| 婷婷五月色播网| 97碰碰视频在线观看| 99视频在线啪| WWW免费视频碰碰碰碰| 五月丁香婷色| 亚洲啪啪网| 婷婷五月天午夜激情影院| 婷婷.com| 国产激情在线| 大香蕉综合网| 天天肏天天插| 超碰2021| 色婷六月| 五月婷五月婷伊人伊人五月婷| 俺去也五月天婷婷| 丁香激情合作五月| 玖玖婷婷五月天毛片| 天天色综合网1| 精品日本视频444| 激情网婷婷婷| 久婷久婷| 香蕉婷婷| 天天干、天天日日| 在线视频激情网站| 久久XX| 婷婷色五月婷婷姐妹| 女人天堂AV| 九九热九九热精品| 五月婷婷综合色啪首页| 日本色图综合| 国产日日夜夜操| 丁香五月天大香蕉啪啪| 丁香五月婷婷激情尤物| 99re在线观看视频| 九九热在线视频观看免费10| 日本三级大片| 丁香五月六月欧美| 丁香花五月天激情| 色99综合色88| 亚洲色碰| 这里只有精品视频在线看| 综合激情sV| 丁香九月婷| 激情五月丁香五月| 五月丁香婷婷欧美| 激情播丁香| www。五月,com| 色五月婷婷综合在线| 色婷婷久久| 思思久久99热只有频精品66| 激情五月天偷拍综合网| av大片在线| 狠狠色噜噜色狠狠狠综合久久成人波| 九九综合| 五月丁香狠狠爱婷婷综合| 精品久热69| 99re这里只有精品9| 五月婷婷丁香91| 夜色综合网| 婷婷久久免费看| 91操在线| 日韩成人中文| 久久久五月天| 99精品视频在线观看| 丁香五月色色色色| 在线观看亚洲视频影院| 久久XX日本综合| 九九精品自拍| 激情综合色播| 六月丁香五月激情网| 欧美激情中文字幕| www九九免费视频| 亚洲中文字幕AV| 日本成人小说婷婷六月| 丁香六月婷婷久久综合八月| 婷婷五月天亚洲综合| 专区无日本视频高清8| 五月丁香大相交| 丁香五月激情无码视频| 婷婷激情综合无月| 日本精品在线噜噜噜| 成人免费视频一区| 蒲京久久无码视频| 人人艹艹艹| 久久ww| 丁香婷婷激情五月天无毒不卡蜜桃| 亚州激情在线视频| 丁香六月色婷婷欧美| 操人精品| 婷婷 丁香 久久| 9久热精品在线视频| 99ri精品| 午夜成人天堂久久无码日韩久久| 五月丁香六月婷婷姐| 第一区久久网站| 五月天伊人av| 五月激情丁香久久综合网| 九九热99免费视频| 欧美综合五月丁香六月婷| 91操屁股| 五月色色网| 婷婷色色婷婷| 色婷婷五月天久久| 看片视频在线免费日产在线看| 99性感视频| 五月婷婷这里都是精品| 天天射射夜| 天天日狠狠| 99热99思午夜精品| 五月婷婷熟女| 操一操| 婷婷五月天成人基地| 亚洲婷婷丁香五月天激情小说| 狠狠搞五月天| 五月色婷婷影视在线电影| 中文字幕婷婷五月天| 91欧美| 天天五月香欧美| 九九热这里有精品视频| 亚洲综合网激情小说| 久久性爱视频免费| 精品国产AV色一区二区深夜久久| 丁香五月天堂| 亚洲激情在线| 亚洲熟妇AV乱码在线观看| 五月天丁香网| 99人妻碰碰久久久禁片| 久婷婷久草| 久久久久久婷| 久操干| 2020日日干| 久久婷婷综合基地| henhencao国产在线| 婷婷六月色丁香视频在线观看| 激情综合网五月天天| 五月激情久久综合| 免费观看的婷婷五月视频在线| av色色国产| 欧洲亚洲免费视频9| 日韩成人网址| 激情婷婷丁香五月| 99九九视频精彩在线| 亚洲午夜av| 婷婷爱综合| 婷婷激情五月天小说校园| 激情网五月| 九九色婷婷| 婷婷丁香五月综合| 伊人玖玖综合| 五月丁了香蕉综合| 婷婷深爱五月| 亚洲激情在线| 玖玖婷婷色五月| 色婷五月婷婷| 思思久久精品| 伊人综合网站| 91九色中文字幕女在线观看| 婷婷五月天综合蜜桃| 狠狠草在线观看| 激情五月天婷婷| 老妇六区| 久久久人妻久久久| 开心五月深爱五月| 国产精品美女久久久久AV超清| 综合网网欲色| 综合在线丁香五月| 99日本精品视频热| 丁香影院五月综合| 久久成人性爱| 91大神操美女| 91丨九色丨国产打屁股网站| 26uuu.| 草五月| 成人做爰高潮A片免费视频| 久久五月婷婷视频| 天天摸天天高潮天天爽| 五月婷婷综合网| 亚洲另类毛片| 日韩av网址大全| 亚洲综合色色| 久久久久久久8| 狠狠干青青草| 91丨九色丨43老版熟女| 日韩操逼大片| 婷婷性福五月天| 91se视频| 亚洲丁香五月天在线视频| 激情五月天开心| 婷婷五月激情基地| 丁香伊人综合| 九九热超碰| 色六月婷婷| 综合久久六月| 婷婷桃色网| 色综合色综合色综合高潮| 色欲丁香| 色99在线观看| 日本久久婷婷| 五月天婷婷情色| 99热视精品| 丁香五月成人| tingting五月天亚洲| 狠狠综合网| 国产熟女大叫受不了| 五月六月伦理| 99热在线看| 婷婷中文字暮| 色色97丁香婷婷五月天| 久热这里只有精品99re| 色碰97| 射久久丁香五月| 午夜不卡久久精品无码免费| 天色综合网站| 日本强伦片中文字幕免费看| 伊人五月网| 丁香88AV五月婷婷| 婷婷五月视屏| 婷婷色六月| 婷婷五月天天天| 成人网页在线观看| 婷婷人人操| 九九精品自拍| 色色婷婷丁香| 99视频精品8| 婷婷五月天VI| 日韩1区2区| 91久久免费| 婷婷五月天AV在线| 99 热国产在| 精品婷婷| 五月天婷a| 一级韩国产精品毛| 丁香六月狠狠干| 在线色色| 久久人妻熟女一区二区| 色综合色综合网| 99日视频在线| 久9热| 亚洲性爱99| 亚洲黄色网址| www.9797国产| 狠狠艹狠狠艹| 20253AV| 天天操天天插| 视频免费精品免费精品免费精品免费精品免费精品免费精品免费99 | 国产成人VA| 七月丁香婷婷 色色| 久久国产色| 91人人爽狠狠狠| 天天干天天爽| 色噜噜狠狠一区二区三区| 久久大香蕉同僚| 国产成人综合网| 亚洲狠狠操| 99热在线看片| 最近中文字幕大全免费版在线 | 色婷婷激情| WWW.天天日| 色色色色色色综合网| 色五月综合资源推荐| 五月丁香六月综合情在线观看| 天天射影院| 国产欧美va| 婷香五月网在线| 色五月综合网站| 五月婷久久| 亚洲va欧美va国产综合久久久| 91肏| 激情五月四色| 六月婷婷中文字幕| 激情综合五月婷婷| 色婷婷五月天成人网| 一月婷婷色色| 九九九九九九热| 大香蕉五月天| 色五月婷婷很很操| 婷婷伊人激情婷婷| 久久 婷婷 五月天| 四季日韩AV无码综合| 六月天婷婷| 五月综合激情视频在线| 亚洲XX日本| 操97| 97操碰在线视频| 国产五月视频| 色五月五月婷婷| 人人草人人爱| 五月亭亭综合五码| 五月婷免费视频久久久| 9久精品| 激情丁香五月AV| 婷婷色情 | 亚洲色频| 99久久久久| 99热免费在线| 牛牛碰免费| 26UUU一区二区| 精品亚洲国产成AV人片传媒| 99久久高清视频| 中文字幕 中文字幕明步| 久久婷婷精品| 9l视频自拍九色9l视频自拍九色9l社区| 99热这里只有免费| 欧美综合五月丁香六月婷| 欧美狠狠草| 色婷婷久久综合| 九九视屏| 五月丁香婷婷婷激情爱爱| 婷婷99视频全集高清| 婷婷丁香六月| 北京熟妇搡BBBB搡BBBB| 99热最新网址| 五月香婷婷| 天天干天天色综合| 五月丁香黄色视频| 色五月激情| 久久9久| 五月天激情图片| 99热天堂| 日本九九九九| 亚洲激情婷婷| 婷婷五月综合激情| 国外亚洲成AV人片在线观看| 欧美搡BBBBB摔BBBBB| 这里只有精品在线播放| 好吊丝aV| 五月婷婷激情69| 久久99色色| 久久成人天| 天天天天天天天操| 亚洲第一精品成人999久久精品| 99热这里只有精品最新地址获取| 亚洲色情在线| 26uuu欧美| 六月丁香综合| 国产一级片| 青草视频在线播放| 996re热精品视频| 第1影院之五月婷婷| 99ri精品在线| 婷香五月网在线| 五月丁香六月婷婷综合免| 激情丁香网| 婷婷十月激情综合网| 激情五月天婷婷在线网址发给我| 成人av中文字幕| 99精品网| 久久婷婷五月综合色区| 久操97| 99色激| 啪啪激情网站| 99色五月| 精品一二三区久久AAA片| 久久婷婷五月天丁香| 亚洲热久| 丁香五月天天| 天天操屄网| 9久久久久久久久久久| 99性视频| 男人天堂AV在线一区二区| 中文字幕av久久爽一区| 深爱五月天 开心网| 丁香五月伊人| 国产日韩欧美| 色爱五月天| 欧美综合激情| 日韩不卡DvD| 精品综合五月| 色五月成人| 日B日潘金莲BB| 狠狠爱婷婷爱| 色狠狠综合| 玖玖综合网| 青青草大香| 六月丁香综合| 欧美成人A片AAA片在线播放| 精品色色| 激情五月天的婷婷| 思思热热久久| 五月天婷婷久久视频| 色综合色综合色综合| 五月婷婷深深的爱| 婷婷六月天激情| 婷婷五月天在线观看| 色婷婷情片| 开心五月婷婷激情网| 九九操操| 久久婷婷激情四射五月天| 日本在线视频手机播放五月婷| 婷婷久月| 激情五月婷婷视频| 99色色热| 91大神操美女| 91大神在线免费看视频全集男男一起操| 天天爽天天爽天天爽天天爽天天爽天天爽天天| 五月婷婷六月丁香综合在线| 大地9中文在线观看免费高清| 精品久久9| 婷婷五月激情天| 全部老头和老太XXXXX| 色婷网| 国产婷婷综合| 青青草Avb在线| 久久婷婷五月天激情唯美| 九九久久99| 妇激情基地| 久久色五月天| www.久久9| 婷婷五月综合激情免费| 激情小说色五月| 深爱激情四射| 色色色网站| 99热国品免费| 99爱视频免费| 一逼色综合| 婷婷五月丁香综合激情| 天堂网色色| 91午夜激情| 婷婷香蕉视频| 五月丁香六月婷婷操操操| 婷婷六月香| 婷婷五月天综合色| 日操夜操天天操不卡| WWW.桔色成人.COM| 春色激情| 婷婷五月天六月| 玖玖婷婷免费| 日日插日日干| 另类图片五月天婷婷| 色噜噜狠狠插综合| 影音先锋综合网| 五月天婷婷丁香| 人人操 色| 婷婷五月天情色| 五月天婷婷爱| 成人短视频在线| www久久99| 综合网亚洲| 操操操www.com| 伊人综合网站| 人人做人人看人人摸| 大香伊人久色| 亚洲五月花| 97五月婷婷| 亚洲天堂99| 色八月婷婷| 国产成人精品亚洲线观看| 五月丁香婷婷国产精品综合| 五月停性愛| 日韩AAAAA| 99自拍视频网站| 人人摸人人搞| 69婷婷丁香午夜| 国内精品免费一区二区2009| 综合网亚洲| 九九久久综合| 欧美成人猛片AAAAAAA| 激情综合丁| 大香蕉伊在| 九九Av| 亚洲 在线 性爱| 亚洲人人艹| 亚洲永久四色| 久久久五月激| 99精品女人天堂| 亚洲热热视频| 激情综合色婷婷啪啪六月天| 婷婷少妇激情| 国产亚洲成AV人片在线观黄桃| 天天舔天天摸天天透| 五月天婷婷色色网| 五月天婷婷影院| 久久黄色片| 二色av| 欧美日韩成人综合9| 久热超碰91| 丁香五色月婷婷网| 综合色吧| 中文字幕在线免费看线人| 第五色婷婷| 色五月婷婷久久爱| 性爱激情小说AV五月丁香花| 99热精品在线播放| 青青草五月天| 日日干日日s| 色综合视频| 成人免费120分钟啪啪| 性爱视频久久| 五月天婷婷激情小说| 91热视频色网站| 国产黄色在线| 大香蕉九九| 亚洲丁香五月在线观看| 91丨九色丨国产打屁股| 婷婷中文字暮| 精品影院| 色婷婷小说| 激情五月色播五月| 五月丁香网中文字幕| 麻豆雪千夏| 色欲AVV| 色丁香五月婷婷| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | 五月天婷亚洲综合在线嫩草网| 久久五月情| A片试看120分钟做受视频红杏| enecarbon-materials.comWu染请涟系Bao护@wip1688 | 99这里精品| 第五婷婷伊人丁香色| 日韩人妻在线播放| 国产精品久久久久久久久久免费| 五月激情啪啪啪| 天天天干夜夜夜操| 色噜噜狠狠狠综合曰曰曰| 激情五月伊人婷婷| 综合久| 国产超碰人人| 五月婷天堂视频| 丁香久久在线| 99在线精品免费视频| www.99色| 色99视频| 九色91国产| 类似婷婷激情综合网站| 79精品视频| 丁香五月六月激情| 天天色色婷婷| 激情五月天之五月婷婷| 狠狠看狠狠| 亚洲色涩视频| 丁香六月婷婷综情欧美| 中文激情网| Av九九| 97碰| 91 九色 熟女| 婷婷五月丁香基地在线视频官网| 97九色| 91狠狠综合久久| 亚洲永久免费| 任你爽视频| 丁香五月婷婷六月婷婷| 久久这里精彩免费在线观看| 九九RE视频在线精品| 91综合国免费久入| 激情九月婷婷| 天天射夜夜爽| 激情播丁香| 午夜性爱影视一区77| 色婷婷五月天天天做| 五月丁香激情综合欧美| 五月婷婷之六月丁香| 2020夜夜操天天爽| 久久欧洲综合网| 日本操逼九九九九58日本操逼| 99愛国产| 天天舔天天摸| 99热国产精品| 色啪网| 91男人操女人视频| 婷婷日韩| 九九热re99re6在线精品| 色综合久久综合中文综合网| 色噜噜狠狠色综合无码久久欧美| 国产亚洲精品人人| 天天干天天操天天干天天操天天干天天操 | 五月天激情www| 久热只有精品| 丁香婷婷网| 色婷婷久久| www.99色在线| 日韩免费99| 九九香蕉网| 天天爽天天弄| 99热免| 久久9精品| 亚洲精品白浆高清久久久久久| 久久五月婷综合| 日本免费91| 永久思思热在线| 久久这里99| 99久精品视频| 伊人无码高清| 天天透天天干| 精品九九在线观看视频| 色婷婷在线视频综合| 五月天综合在线| 五月激情视频| 综合久久六月| 婷婷丁香社区网| 久久机热思思热| AV在线观看网站| 97干干干丁香| 五月丁香亭亭操逼| 丁香婷五月| 欧美在线97| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 色激情五月| 狠狠精品干练久久久无码中文字幕| 亚洲av电影在线| 大香蕉五月天| 俺也去在线视频| 五月天com| 丁香五月天婷婷大香蕉| 久久婷婷成人视频| 国产这里只有精品| XX色综合| 中文字幕av久久爽一区| 国产精品香蕉| 中文字幕 码精品视频网站| 人妻激情网| 91精品熟女| 91人操人人人操人| 亚洲在线免费成人| 欧美在线视频99| 99热精品在线播放| 99热精品在线在线| 另类激情五月| 欧美成人A片AAA片在线播放| 久久五月天婷婷| 激情久久久久久久久久久| 亚洲VA在线| 色99色| 综合色网站| 婷婷五月天综合小说网| 免费看欧美成人A片无码| caop在线| 婷婷五月天国产| 无码字幕中文| 五月婷婷和六月| 亚洲热视频在线| 超碰人人91| 99免费热视频在线| 68热超碰在线| 激情五月综合色婷婷| 亚洲精品大片| 五月丁香 啪啪| 丁香五月婷婷基地| 丁香五月婷婷综合激情啪啪啪啪啪啪啪| 国产阿姨日皮艹逼内射视频| 丁香婷婷色五月| 五月天婷婷免费| 婷婷天天婷婷天天澡| 激情综合五月丁香六月婷婷| 五月丁香 久久久| 狠狠狠狠狠干| 婷婷五月天中文字幕.| 天天综合网91| 在线观看亚洲视频影院| 五月天激情图片| 亚洲精品444久久久久久| 人人视频色| 91操黄| 五月天激情子轮| www.久99| 婷婷亚洲色| 色情婷婷久久五月天| 色爱终和网| 天天操天天干天天射| 五月丁香狠狠地噜噜噜噜| 99国产精品久久久久久久久久久| 五月婷婷综合激情| 在线理论片| 丁香婷婷五月天色播| 亚洲无AV在线中文字幕| 99色丁香婷婷综合网| 中文字幕日本最新乱码视频| 久久机热这里只有| 久久婷婷老| 婷婷五月天香蕉| 99在线小视频| 婷婷丁香五月综合免费视频百花| 日韩美女羞羞网站在线观看| 97色女人在线| 大香蕉婷婷色| 人人操av| 91啪级电影| 亚洲99热| 丁香六月婷婷五月婷婷| 欧美人久久| 99久久极情精品一区| 五月丁香综合网色欲| 成人免费120分钟啪啪| 激情婷婷五月天在线观看| a毛片二逼wwwwwwwwww| 国产欧美va| 噜噜干日本| 亚洲综合激情五月久久| 涩涩婷婷五月| 97伊人综合婷婷| 99日本精品视频热| 99久久这里只有精品免费官网| 欧美日韩二区在线| 丁香五月婷婷AV在线| 伊人婷婷五月天| 成熟妇人A片免费看网站| 久热网在线视频| 激情99| 国自产拍偷拍精品啪啪一区二区| 五月丁香花开综合网| 另类在线观看视频| 97精品综合| 欧美va在线| 国产成人+综合亚洲+天堂| 成人国产欧美大片一区| 婷婷五月天激情电影小说| 日韩成人电影AV| 久久R激情| 激情五月婷| 日韩欧美四五区| 狠狠干在线| 五月婷婷综合网| 色婷婷亚洲五月天| 婷婷色五月婷婷姐妹| 5Www色5夜| 色色色色色色色色网站| 激情五月婷婷色播网| 久热一本| 国产婷伊人| 欧美影院婷婷| 婷婷五月色亚洲| 色婷婷AAA| 五月婷婷综合在线视频| 九九青青草成人| 九九热这里只有精品31| 色综合色| 丁香五月www| 思思热在线观看| 久久久天天啊| 亚洲尤物在线| 五月天激情图片| 色婷婷精| 99欧美| 色五月色图| 激情九九这里只有精品| 亚洲激情网| 色五月自偷自拍婷婷婷婷| 四LLL少妇BBBB槡BBBB| 91黄操| 另类五月激情| 婷婷五月AA五月在线| 亚洲视频二区| 亚洲国产网站| 人妻第九页| 色五月成人| www.91.com黄| 婷婷激情小说| 亚洲、热| 天天日天天狠狠操| 99热这里只有精品1025| 六月婷婷AV| 日本三级99人妇网站| 91狠狠综合久久久久久| 色五月天丁香| 丁香 久久| 丁香5月综合啪啪| 国产激情久久| 99热91| 97精品在线| 五月天精品| 亚洲婷婷激情五月天| 人妻videos人妻高清| 丁香五月天欧美成人| www色五月| 女操碰| 激情爱爱网站超大免费| 五月天久久激情| 丁香五月婷婷高清| 九色亚洲| 97人人操人人插| 九九九九九999999| 99久久人妻精品无码二区| 六月丁香啪啪啪| 91久热| 九九碰九九爱97| 婷婷五月天成人| 99热这里只有精| 天天天天天天操| 婷婷网五月天| 99久久网站| 人妻久久久| 熟女激情五月天| 色色色色色色色色网站| 婷婷综合久久| 99爱精品| 97人人草| 亚洲情综合五月天| 字幕网AV中文字幕| 超碰色热| 亚洲 成人 电影av在线观看| 色婷婷四虎| 大香蕉丁香| 色色丁香五月| 婷婷五月天奸女| 大香蕉婷婷色| ww亚洲ww在线观看| 亚洲视频色色| 久久一二三视频| 蜜桃五月天| 五月天婷婷7米| 99激情网| 99热国产免费| 国产做爰视频免费播放| 免费碰碰视频久| 婷婷伊人视婷婷婷| 亚洲 视频 导航 一区| 人妻中文在线| 五月婷伊人| 五月婷婷二月丁香| 91无码高清| 成人在线日韩| 亚洲欧洲中文日韩久久AV乱码| 九九精品免费视频99| 色婷婷综合电影| 精品久久9| 超碰在线资源| 91九色欧美| 色色色色热热| 亚洲色综久久五月| 天天干天天做| 99欧美| 狠狠精品干练久久久无码中文字幕| 五月婷婷 婷婷五月 一区二区 久久久 | 香蕉久久五月| 99精品久久久久| 久久视网36| 婷婷深爱网| 丁香 久久| 无码99| 亚洲免费电影2| 超碰人人艹| 另类国产综合| www.97碰碰com| 99国产精品久久久久久久久久久| 白度黄视频| 九九人人操| 狠狠干思思热| 亚洲中文字幕网| 色色色九九九五月婷婷| 久久婷网| 天天日夜夜夜操操操操| WWW.17C亚洲精品| 伊人激情AV一区二区三区| 九色PORNY在线精品酒店| 国产中文亚洲欧美日韩性交| 色色综合网络| 久久这里只有精品热在99| 高清免费在线视频| 婷婷她六月天| 日本人人xxx| 婷婷五月天激情小说| 热久69| 丁香婷婷少妇| 99九九热在线观看| 激情五月天。| 九九热99re8热免费观看| 夜夜操天天干| 国产又黄又爽又色的免费| 五月天激情网址| 天天日人人爽| 99热精品无码| 碰碰人人漕| 五月开心激情网| 国产精品美女| 怡春院久操| 婷婷综合爱| 精品一二三区久久AAA片| 丁香久久综合| 综合一本道| 久久小说网| 婷婷六月丁香开心深深爱| 九九99热久久精品66中文字幕| 色色色色色色综合网| 日日夜夜狠狠婷婷色| 婷婷久久精品| 九九综合五月欧美| 69er小视频| 久操婷婷| 五月婷婷av| 热99在线精品| 九九综合88| 婷婷十月丁香| 无码激情AAAAA片-区区| 69精品人人人人| 亚洲欧洲国产精品| 小泽玛利亚视频一区二区| 五月婷婷欲色| 色五月激情五月| 色情五月丁香婷婷网| 97久久视频| 五月丁香91| 色激情五月| www.久9| 91成人性爱视频| 人操综合| 99热777| 婷婷D区| 天堂婷婷丁香六月网| 激情又色又爽又黄的A片 | Www.狠狠| 日婷婷| 青青日韩| 99精品在线观看视频| 99色免费在线观看| 色在线视频网2025| 91高潮喷水久久久久久久久 | 99av视频| 92久久久| 人妻操逼视频| 国产成人亚洲综合亚洲| 婷婷久久色| 五月婷久久久| 无码人妻激情| 婷婷五月综合激情|