久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

PyTorch中混淆矩陣可視化:從模型評估到熱力圖實戰(zhàn)

PyTorch中混淆矩陣可視化:從模型評估到熱力圖實戰(zhàn) 1. 項目概述為什么你的模型需要一張混淆矩陣訓(xùn)練完一個Pytorch分類模型大多數(shù)人習(xí)慣性看一眼測試集準(zhǔn)確率就覺得萬事大吉。但準(zhǔn)確率這個指標(biāo)在不少場景下是會騙人的——比如類別不均衡的數(shù)據(jù)集哪怕模型把少數(shù)類全部判錯只要多數(shù)類猜得足夠準(zhǔn)整體準(zhǔn)確率依然能保持在90%以上。你根本看不出模型到底在哪些類別上犯了迷糊。而混淆矩陣Confusion Matrix做的就是這件事把模型預(yù)測結(jié)果和真實標(biāo)簽做成一張二維交叉表每一行代表真實類別每一列代表預(yù)測類別。矩陣對角線上的數(shù)字是預(yù)測正確的樣本數(shù)非對角線位置就是具體怎么錯的、錯到了哪個類別。有了這張表你能直接回答三個核心問題模型在哪些類之間最容易混淆每個類別的精確率和召回率表現(xiàn)如何錯誤是偏向某一邊還是均勻分布這個項目我前后做了很多次踩過的坑包括但不僅限于類別順序?qū)Σ簧蠈?dǎo)致圖畫出來全是亂的、放在GPU上的張量忘記轉(zhuǎn)回CPU、歸一化方式選錯導(dǎo)致熱力圖深淺完全失真、第一版代碼在batch推理時忘了收集全部預(yù)測結(jié)果。這篇文章把整個過程完整梳理一遍從最基礎(chǔ)的依賴安裝到最終的熱力圖可視化每一步都會給出可以直接抄走的代碼同時解釋為什么這么寫。2. 準(zhǔn)備工作與核心思路拆解2.1 項目結(jié)構(gòu)與本方案選型邏輯先說整體設(shè)計。這個任務(wù)本質(zhì)上是三件事串聯(lián)得到預(yù)測結(jié)果、計算混淆矩陣、可視化展示。聽起來簡單但每件事都有幾個看似相似、實際千差萬別的實現(xiàn)方式。得到預(yù)測結(jié)果這一環(huán)常見的坑是用驗證集上的最好一次批次的預(yù)測結(jié)果而不是整個測試集從頭到尾的完整預(yù)測。你用驗證集loss挑出來的模型權(quán)重最終要看的還是它在測試集上的泛化表現(xiàn)所以做混淆矩陣一定要用測試集、完整跑完forward把所有預(yù)測和標(biāo)簽收集起來。另一個是注意要用torch.no_grad()包裹推理過程不然顯存會被多余的計算圖占滿尤其是輸入圖片分辨率高或batch size大的時候爆顯存不是開玩笑的。計算混淆矩陣這一環(huán)選sklearn.metrics.confusion_matrix還是自己寫計數(shù)邏輯我的建議是用scikit-learn的現(xiàn)成函數(shù)除非你有特殊需求。自己寫循環(huán)也可以但處理多分類、類別順序、預(yù)測值和真實值格式不一致這些細(xì)節(jié)時手寫代碼很容易出邊界問題。sklearn版本已經(jīng)經(jīng)過大規(guī)模驗證返回的矩陣形狀是(n_classes, n_classes)行是真實類別列是預(yù)測類別注意這個順序不要搞反可視化的時候如果發(fā)現(xiàn)圖和預(yù)期對不上先檢查這里??梢暬@一環(huán)純粹用Matplotlib還是用Seaborn取決于你想花多少時間調(diào)樣式。Seaborn的heatmap函數(shù)天然適配這類需求有可選的數(shù)值標(biāo)注、配色方案、行列標(biāo)簽控制幾行代碼就出效果。不過如果你在自定義模型或需要集成到自己的訓(xùn)練腳本里直接用Matplotlib也不麻煩。我會在后面的可視化章節(jié)給出兩種寫法和各自適用場景。2.2 環(huán)境依賴與工具選型最低配置如下Python 3.8以上PyTorch 1.10以上scikit-learn 0.24以上matplotlib 3.5以上numpy 1.21以上seaborn可選僅熱力圖畫得更快我實測過的組合是Python 3.10 PyTorch 2.0 scikit-learn 1.2 matplotlib 3.7沒有遇到兼容性問題。如果你還在用老版本的PyTorch比如1.6或者更早一些API細(xì)節(jié)會不同比如torch.no_grad()的用法在早期版本也支持但要留意數(shù)據(jù)類型轉(zhuǎn)換時tensor.cpu().numpy()在需要梯度時可能報RuntimeError后面故障排查章節(jié)會專門講。提示如果環(huán)境里沒安裝scikit-learn單純?yōu)榱水嫽煜仃囇b一個庫不要覺得這是多余。自己實現(xiàn)多分類混淆矩陣時要處理的邊界情況比你想象得多與其在這上面浪費時間不如引入已經(jīng)打磨好的依賴。2.3 數(shù)據(jù)格式與類別標(biāo)簽對齊一個非常隱蔽但極其常見的問題訓(xùn)練代碼里的類別索引順序和可視化時顯示的類別名稱順序不一致。比如在Pytorch的torchvision.datasets.ImageFolder里類別順序是按文件夾名稱排序的Lexicographic order。你的文件夾可能叫apple, banana, grape那么索引0就是apple索引1就是banana。如果你在別處比如某個手寫的txt映射表定義了另一套順序畫出來的混淆矩陣行列標(biāo)簽就會錯位整個圖看起來還是有模有樣的但分析結(jié)論全部是錯的。所以我強烈建議固定一套標(biāo)簽列表并在代碼開頭顯式聲明class_names [apple, banana, grape] # 或者從訓(xùn)練數(shù)據(jù)集中直接提取 class_names train_dataset.classes用train_dataset.classes是最穩(wěn)妥的因為你訓(xùn)練時模型輸出的索引就是這么來的不會出現(xiàn)人工手抄錯誤。后續(xù)無論計算矩陣還是畫圖都從同一個列表取標(biāo)簽名。3. 核心代碼實現(xiàn)從模型推理到矩陣生成3.1 完整推導(dǎo)用測試集跑出預(yù)測結(jié)果先說這一段的目標(biāo)把測試集或者驗證集里所有樣本的真實標(biāo)簽和模型預(yù)測結(jié)果收集成兩個一維數(shù)組長度都應(yīng)該等于測試集樣本總數(shù)。一個典型的完整流程如下import torch import torch.nn.functional as F from torch.utils.data import DataLoader from tqdm import tqdm def collect_predictions(model, test_loader, device): model.eval() all_preds [] all_labels [] with torch.no_grad(): for inputs, labels in tqdm(test_loader, descEvaluating): inputs inputs.to(device) labels labels.to(device) outputs model(inputs) # outputs shape: (batch_size, num_classes) # 需要的是每個樣本的最大分?jǐn)?shù)對應(yīng)的索引 _, preds torch.max(outputs, dim1) # 關(guān)鍵轉(zhuǎn)回CPU并轉(zhuǎn)成numpy all_preds.append(preds.cpu().numpy()) all_labels.append(labels.cpu().numpy()) all_preds np.concatenate(all_preds) all_labels np.concatenate(all_labels) return all_preds, all_labels幾個細(xì)節(jié)解釋一下為什么使用torch.max(outputs, dim1)而不是torch.argmax兩者做的事情一樣但torch.max順帶把最大值的數(shù)值也返回了如果你后面想做置信度閾值篩選不需要再跑一次前向傳播。為什么model.eval()必須在循環(huán)前調(diào)用因為模型里的Dropout和BatchNorm在訓(xùn)練模式和推理模式行為差別很大。BatchNorm在train()模式下用的是當(dāng)前batch的統(tǒng)計量在eval()模式下用的是訓(xùn)練階段累積的全局統(tǒng)計量。忘記這一步預(yù)測結(jié)果可能是錯的且錯誤模式非常隱蔽——你不要指望它報錯只是數(shù)字不準(zhǔn)確。為什么收集預(yù)測和標(biāo)簽要用numpy而不是繼續(xù)保留tensor因為后面交給sklearn.metrics.confusion_matrix時numpy數(shù)組最方便。你當(dāng)然可以傳tensor進(jìn)去sklearn底層會嘗試轉(zhuǎn)numpy但遇到需要detach的場景就會報錯這里直接cpu().numpy()一步到位省心。3.2 核心邏輯構(gòu)建并理解混淆矩陣拿到all_preds和all_labels之后一行代碼就能生成矩陣from sklearn.metrics import confusion_matrix cm confusion_matrix(all_labels, all_preds) print(cm)這里有個非常值得注意的細(xì)節(jié)sklearn的confusion_matrix(y_true, y_pred)第一個參數(shù)傳真實標(biāo)簽第二個參數(shù)傳預(yù)測標(biāo)簽。我見過不止一次把順序?qū)懛吹娜绻惆l(fā)現(xiàn)自己矩陣對角線上的數(shù)字莫名其妙地大但精確率和召回率分析卻對不上先檢查是不是這一步參數(shù)傳反了。輸出的cm是一numpy二維數(shù)組形狀為(n_classes, n_classes)。cm[i][j]代表真實類別為i、預(yù)測類別為j的樣本數(shù)。沿行方向看每一行的總和等于該真實類別在測試集中的總樣本數(shù)沿列方向看每一列的總和等于模型預(yù)測為該類別的總數(shù)。舉個具體例子假設(shè)3分類的矩陣是[[50, 5, 3], [ 2, 45, 8], [ 1, 4, 60]]現(xiàn)在看第一行真實類別050個預(yù)測正確5個被錯判成了類別13個被錯判成了類別2。第一行總樣本數(shù)58??吹谝涣蓄A(yù)測為類別050個確實來自類別02個來自類別11個來自類別2總預(yù)測數(shù)為53。你還能順手算出每個類別的精確率和召回率類別0精確率 50 / 53類別0召回率 50 / 58類別2精確率 60 / 65類別2召回率 60 / 64不從混淆矩陣出發(fā)光用sklearn.metrics里的precision_score、recall_score你確實也能拿到這組數(shù)字但一個是黑盒求解一個是看表手算顯然后者對模型行為的理解更清晰。3.3 歸一化問題原始數(shù)值與比例圖的取舍做可視化之前通常會糾結(jié)一個事情熱力圖顏色深淺到底表示原始數(shù)量還是百分比例我實際用下來的建議是兩者都做根據(jù)需求選擇展示。原始數(shù)值適合看絕對樣本量比如你的測試集每類大約500張一眼就能看出模型在某個類上錯了43張這個絕對值是否可接受取決于業(yè)務(wù)場景。但如果你想分析的是錯誤率的相對大小尤其是在類別樣本量差異很大的情況下用歸一化比例圖才不會被絕對數(shù)量誤導(dǎo)。例如測試集中類別0有1000個樣本類別1只有100個樣本。類別0錯了50個比例是5%類別1錯了10個比例是10%??丛紨?shù)值圖50比10大很多你很可能誤以為類別0的問題更嚴(yán)重。但歸一化之后才能看清類別1的錯誤率其實翻倍了。sklearn提供normalize參數(shù)cm_normalized confusion_matrix(all_labels, all_preds, normalizetrue)normalizetrue的意思是按行歸一化即每行真實類別的總和為1。這樣矩陣?yán)锩總€單元格的值表示真實類別為i的樣本中被預(yù)測為類別j的比例。對角線上的值就是每個類別的召回率。這是最常用的一種歸一化方式因為解釋起來直觀。還有一種normalizepred按列歸一化得到的是精確率視角??茨惴治鲂枨筮x擇。提示匯報結(jié)果時圖里標(biāo)注清楚是絕對數(shù)量還是歸一化比例。最好在副標(biāo)題里直接寫明normalized confusion matrix (row-wise)免得看圖的同事誤讀顏色深淺代表的意義。4. 可視化實戰(zhàn)從樸素表格到生產(chǎn)級熱力圖4.1 使用Matplotlib實現(xiàn)基礎(chǔ)熱力圖最樸素的方式一個for循環(huán)也能畫出格子但效率太低且代碼冗長。實際項目中我推薦直接使用plt.imshow或者M(jìn)atplotlib的matshow。給一個我常用的基礎(chǔ)版本import matplotlib.pyplot as plt import numpy as np def plot_confusion_matrix(cm, class_names, titleConfusion Matrix, cmapBlues, normalizeFalse): if normalize: cm cm.astype(float) / cm.sum(axis1, keepdimsTrue) fig, ax plt.subplots(figsize(8, 6)) im ax.imshow(cm, interpolationnearest, cmapcmap) ax.figure.colorbar(im, axax) # 設(shè)置刻度 ax.set(xticksnp.arange(cm.shape[1]), yticksnp.arange(cm.shape[0]), xticklabelsclass_names, yticklabelsclass_names, ylabelTrue Label, xlabelPredicted Label, titletitle) # 讓x軸的標(biāo)簽在底部顯示而不是頂部默認(rèn)imshow是頂部的 ax.xaxis.set_label_position(bottom) ax.xaxis.tick_bottom() # 在每個格子里標(biāo)注數(shù)值 thresh cm.max() / 2. for i in range(cm.shape[0]): for j in range(cm.shape[1]): ax.text(j, i, f{cm[i, j]:.2f} if normalize else f{cm[i, j]:d}, hacenter, vacenter, colorwhite if cm[i, j] thresh else black) fig.tight_layout() plt.savefig(confusion_matrix.png, dpi150, bbox_inchestight) plt.show()這段代碼有幾個細(xì)節(jié)值得注意為什么用cm.astype(float)原始混淆矩陣是整數(shù)類型整數(shù)除以整數(shù)在Python 3里得到的結(jié)果是浮點數(shù)但如果遇到某行和為0除法結(jié)果會是NaNastype(float)可以讓后續(xù)操作更順暢。另外如果直接把int類型矩陣傳給imshow顏色的映射不會有問題但在某些情況下annotate字符串格式化會有坑轉(zhuǎn)成float更安全。為什么用thresh cm.max() / 2來決定字體顏色如果格子的數(shù)值大于最大數(shù)值的一半說明格子顏色較深用白色字更清楚反之用黑色字。這個閾值設(shè)定簡單粗暴但效果很好實測各種顏色映射下都清晰。如果你用的是plt.text手動標(biāo)注而不是后面要講的Seaborn內(nèi)置annot功能這段邏輯就得自己寫。關(guān)于顯示方向Matplotlib默認(rèn)的imshow坐標(biāo)是從左上角開始y軸向下。這是圖像坐標(biāo)系的常規(guī)做法。如果你希望y軸從下往上數(shù)學(xué)坐標(biāo)系習(xí)慣可以加上ax.invert_yaxis()。但這個決定純屬個人偏好我用默認(rèn)方向沒遇到過問題只要x軸標(biāo)簽在底部、y軸標(biāo)簽在左側(cè)讀者就能自然理解。4.2 使用Seaborn一行畫出更美觀的熱力圖如果你不排斥引入seaborn熱力圖能畫得更快且默認(rèn)樣式在現(xiàn)代論文和報告里更順眼import seaborn as sns plt.figure(figsize(10, 8)) sns.heatmap(cm, annotTrue, fmtd, cmapBlues, xticklabelsclass_names, yticklabelsclass_names, cbarTrue, linewidths0.5, linecolorwhite) plt.xlabel(Predicted Label) plt.ylabel(True Label) plt.title(Confusion Matrix) plt.savefig(cm_seaborn.png, dpi150, bbox_inchestight) plt.show()參數(shù)解釋annotTrue在格子中顯示數(shù)值。fmtd因為數(shù)值是整數(shù)用十進(jìn)制格式。如果歸一化了改成fmt.2f。linewidths0.5給每個格子加白色邊框線。這個細(xì)節(jié)能讓大矩陣看起來不呆板。cbarTrue右側(cè)顯示顏色條。如果矩陣維度小于10Seaborn的標(biāo)注基本不會重疊如果類別數(shù)量多到20以上格子里放數(shù)字會擁擠這種情況建議只放顏色塊或者把字體調(diào)小sns.heatmap(cm, annotTrue, fmtd, annot_kws{size: 8}, ...)4.3 進(jìn)階可視化歸一化圖、錯誤分布圖與多子圖對比單一熱力圖只能說明模型整體行為。做更深入分析時我經(jīng)常把三個圖放在一起對比原始數(shù)值圖、歸一化比例圖、錯誤強調(diào)圖。錯誤強調(diào)圖的思路是對角線位置全部置為0或單獨畫非對角線位置用另一種顏色映射讓錯誤分布一眼可見。# 創(chuàng)建一個錯誤分布矩陣對角線保持白非對角線保留原值 error_cm cm.copy() np.fill_diagonal(error_cm, 0) plt.figure(figsize(8, 6)) sns.heatmap(error_cm, annotTrue, fmtd, cmapReds, xticklabelsclass_names, yticklabelsclass_names) plt.title(Error Distribution (Diagonal hidden)) plt.show()這張圖在類別數(shù)量較多時極其好用。比如你有一個10分類的模型正?;煜仃?yán)飵资畟€格子全是數(shù)字人類視覺很難快速找到關(guān)鍵信息。把對角線隱藏、只凸顯非對角線錯誤再加上紅色系顏色映射哪兩類最容易弄混一目了然。多子圖對比適合需要同時看訓(xùn)練集表現(xiàn)和測試集表現(xiàn)或者對比兩個不同模型權(quán)重的場景fig, axes plt.subplots(1, 2, figsize(16, 6)) sns.heatmap(cm_model_a, annotTrue, fmtd, cmapBlues, axaxes[0]) axes[0].set_title(Model A) sns.heatmap(cm_model_b, annotTrue, fmtd, cmapBlues, axaxes[1]) axes[1].set_title(Model B) plt.tight_layout() plt.savefig(compare_models.png, dpi150) plt.show()5. 實操記錄數(shù)據(jù)增強策略的直觀驗證前面講了不少理論這一節(jié)分享一個實際跑過的案例借此說明混淆矩陣可視化如何真正幫到模型調(diào)優(yōu)。某次做細(xì)粒度圖像分類任務(wù)類別非常相似比如不同品種的鳥。初始模型在測試集上準(zhǔn)確率82%看起來還行。但把混淆矩陣畫出來后發(fā)現(xiàn)問題很大一部分錯誤集中在“暗色羽毛的鳥類”之間比如A品種和B品種完全色調(diào)接近互相錯判的比例明顯偏高。針對這個情況我在數(shù)據(jù)增強里增加了顏色抖動ColorJitter、隨機灰度化RandomGrayscale同時針對易混類對的樣本做了簡單的人工檢查——發(fā)現(xiàn)部分訓(xùn)練樣本的標(biāo)注本身就模糊兩張看起來幾乎一樣的圖片標(biāo)成了不同類別。模型學(xué)到的就是這種模糊邊界再好的網(wǎng)絡(luò)也沒辦法憑空學(xué)會區(qū)分人類都無法分辨的差異。改了數(shù)據(jù)增強策略并清理了部分噪聲標(biāo)簽后重新訓(xùn)練。對比兩次的混淆矩陣歸一化圖A類和B類之間的錯判比例從13.8%降到7.2%整體準(zhǔn)確率提升到89%。這個提升要是只看準(zhǔn)確率數(shù)字你只知道“好了”但不知道為什么好、好在哪些類別上。而兩張混淆矩陣圖并排放在一起解釋性就強得多到底是普遍提升還是特定混淆緩解一眼就能分辨。這個案例想說明的核心思路很簡單混淆矩陣是模型錯誤診斷的入口不是終點。光會畫圖、會看比例還不行要能根據(jù)矩陣?yán)锏腻e誤模式反推數(shù)據(jù)或模型的癥結(jié)所在然后針對性調(diào)整。6. 常見問題與排查技巧實錄6.1 矩陣對角線特別大但精確率低問題出在哪場景你打印出的混淆矩陣對角線數(shù)值看起來很高即大多數(shù)樣本分類正確。但用sklearn.metrics.precision_score算出來的精確率低得離譜。這個矛盾通常是三個原因之一第一類別樣本量極度不均衡矩陣可視化時小類別被“吃掉”了。比如1000個A類樣本、50個B類樣本。A類幾乎全對B類錯一半?;煜仃嚿螦類的格子大數(shù)字多B類的格子數(shù)字小視覺上容易被忽略但精確率計算把B類的糟糕表現(xiàn)放大了。排查方法不要只看矩陣同時打印每一行的總和和每一列的總和計算類別的樣本量分布。第二你用的是宏平均macro average還是微平均micro average。宏平均每個類別的權(quán)重相同小類別的表現(xiàn)會嚴(yán)重拉低整體分?jǐn)?shù)。微平均等價于整體準(zhǔn)確率你會覺得“還行”。第三標(biāo)簽順序錯位。預(yù)測時用的類別索引順序和計算指標(biāo)時的標(biāo)簽順序不一致后面對不上導(dǎo)致全部指標(biāo)都是亂的。排查方法很簡單隨機抽幾個樣本手動看預(yù)測結(jié)果和實際輸出對比。6.2 報錯RuntimeError: Cant call numpy() on Tensor that requires grad這個錯誤只會在一個場景出現(xiàn)你在torch.no_grad()外面執(zhí)行了模型推理或者你在loss.backward()之后、但在同一個tensor上嘗試轉(zhuǎn)numpy。排查方法確認(rèn)推理階段是否用了with torch.no_grad():。如果確認(rèn)用了還報錯檢查你是不是在拿到logits之后又做了某個操作導(dǎo)致新的tensor重新開啟梯度追蹤。# 錯誤寫法 outputs model(inputs) # requires_gradTrue _, preds torch.max(outputs, dim1) preds.numpy() # RuntimeError # 正確寫法 with torch.no_grad(): outputs model(inputs) _, preds torch.max(outputs, dim1) preds.numpy() # OK6.3 可視化時中文標(biāo)簽亂碼Matplotlib默認(rèn)字體不支持中文如果項目里的類別名稱包含中文畫圖的標(biāo)簽會變成一個個方框。解決方案是在繪圖前設(shè)置中文字體import matplotlib.pyplot as plt plt.rcParams[font.sans-serif] [SimHei, Microsoft YaHei, Noto Sans CJK SC] plt.rcParams[axes.unicode_minus] False這幾行代碼在Windows和Linux的中文字體選擇上略有不同實測在Windows用SimHei沒問題Linux服務(wù)器上如果沒裝Noto Sans CJK就先apt install fonts-noto-cjk。如果不想依賴系統(tǒng)字體還可以用font_manager指定字體文件路徑穩(wěn)妥但代碼量多一點。建議本地調(diào)試用系統(tǒng)字體生成報告時統(tǒng)一用服務(wù)器上固定字體避免圖片字體不一致的尷尬。6.4 矩陣很大時可視化的排版混亂假設(shè)你的類別數(shù)量是50甚至100。把所有類別標(biāo)簽都畫在同一張圖上橫向標(biāo)簽互相重疊格子里的數(shù)字糊成一片這種圖沒什么用。應(yīng)對策略有三種只展示一部分比如按錯誤數(shù)量排序只展示錯誤最多的前10對類別。降采樣把混淆矩陣按更大的粒度合并比如把相近大類合并后再畫。交互式展示用plotly生成可縮放的網(wǎng)頁圖鼠標(biāo)懸停能看具體數(shù)值。雖然無法把圖片嵌入靜態(tài)文檔但適合需要交付給業(yè)務(wù)方做探索的場景。6.5 矩陣?yán)锏臄?shù)值比樣本總數(shù)還多多出來的數(shù)據(jù)從哪來出現(xiàn)這個問題幾乎可以肯定是你在推理時沒有跳過數(shù)據(jù)集的最后一個小batch或者你重復(fù)跑了一次預(yù)測并把結(jié)果append了兩次。排查方法打印len(all_preds)和len(test_loader.dataset)兩者必須相等。如果all_preds多了看看是不是你的循環(huán)里沒有判斷邊界或者之前某次調(diào)試時沒有清空列表。# 確保列表是空的才開始 all_preds [] all_labels []6.6 GPU推理時顯存溢出如果測試集圖片分辨率高即便batch size適中也可能爆顯存。主要元兇是檢測模型Detection里的多尺度輸出或者超大特征圖。分類模型通常還好但如果你用了大卷積核或者輸入是2000x2000的圖也要小心。應(yīng)對方法減小batch size。用torch.no_grad()。如果推理流程復(fù)雜在循環(huán)里顯式調(diào)用torch.cuda.empty_cache()。順帶提一個真實遇到的坑batch size減小后最后一批樣本數(shù)少了歸一化時如果某一行對應(yīng)的類別一個樣本都沒有矩陣的一行之和會是0除以0會得到NaN。解決方法是歸一化時加上一個極小量epsilonrow_sum cm.sum(axis1, keepdimsTrue) cm_normalized cm / (row_sum 1e-12)7. 從混淆矩陣延伸到更多評估維度7.1 從矩陣一鍵導(dǎo)出精確率、召回率與F1混淆矩陣本身包含計算所有基礎(chǔ)分類指標(biāo)所需的信息。你可以算def metrics_from_cm(cm): n_classes cm.shape[0] precision np.zeros(n_classes) recall np.zeros(n_classes) f1 np.zeros(n_classes) for i in range(n_classes): # 精確率對角線 / 列和 precision[i] cm[i, i] / cm[:, i].sum() if cm[:, i].sum() 0 else 0 # 召回率對角線 / 行和 recall[i] cm[i, i] / cm[i, :].sum() if cm[i, :].sum() 0 else 0 # F1 if precision[i] recall[i] 0: f1[i] 2 * precision[i] * recall[i] / (precision[i] recall[i]) return precision, recall, f1或者直接依賴sklearnfrom sklearn.metrics import precision_score, recall_score, f1_score, classification_report print(classification_report(all_labels, all_preds, target_namesclass_names))classification_report輸出的表格文本在控制臺看很方便我每次訓(xùn)練完都會打印一份。雖然它不畫圖但和混淆矩陣圖配合使用一圖一表把模型表現(xiàn)講得很清楚。7.2 多分類任務(wù)的宏平均與加權(quán)平均在做多分類評估時經(jīng)常會遇到宏平均macro、微平均micro和加權(quán)平均weighted的選擇。這里做個簡單說明宏平均每個類別的指標(biāo)先算出來然后取平均值。類別權(quán)重相同小類別的表現(xiàn)會被放大適合你關(guān)心所有類別是否都被照顧到的場景。微平均所有樣本的TP、FP、FN加起來算總體指標(biāo)等價于整體準(zhǔn)確率對多分類而言適合樣本量均衡的場景。加權(quán)平均按每個類別的樣本占比加權(quán)計算能反映數(shù)據(jù)分布情況但大類影響大可能掩蓋小類別問題。從模型優(yōu)化的角度看我通??春昶骄鵉1因為如果某個小類別效果差宏平均會直接暴露出來。但從業(yè)務(wù)指標(biāo)匯報的角度可能更需要加權(quán)平均因為業(yè)務(wù)看的是整體效果?;煜仃噲D解決的正是這個問題不管哪種平均指標(biāo)它提供的只是總結(jié)數(shù)字矩陣圖能告訴你具體哪些類表現(xiàn)差。宏平均F1低了打開混淆矩陣圖一眼就能看到是哪個小類別被虐得最慘。7.3 用混淆矩陣輔助判斷閾值調(diào)整對于二分類任務(wù)混淆矩陣的四個基本項TP、FP、FN、TN直接決定了ROC曲線和PR曲線上每個點的位置。通過調(diào)整決策閾值通常默認(rèn)是0.5你可以讓模型更偏向“寧可錯殺也不放過”或者“寧可放過不可錯殺”。比如醫(yī)療篩查場景假陰性比假陽性更致命。你可以降低正類的判定閾值讓模型輸出概率大于0.3就判為正類。這會讓TP增多、FN減少但同時FP也會增加。此時畫出不同閾值下的混淆矩陣對比TP、FP的變化幅度比只盯著AUC曲線要直觀得多。多分類閾值調(diào)整稍微復(fù)雜但可以借助每個類別的概率分布直方圖配合混淆矩陣來做。核心是先明確業(yè)務(wù)訴求是精確率優(yōu)先還是召回率優(yōu)先然后基于混淆矩陣在不同閾值下的變化來選。8. 經(jīng)驗沉淀與后續(xù)擴展方向整個流程實現(xiàn)下來我個人最大的感受是畫混淆矩陣本身很簡單難的是把它放到模型迭代的閉環(huán)里真正用起來。我現(xiàn)在的工作習(xí)慣是每次訓(xùn)練完不管結(jié)果好還是壞都固定輸出三樣?xùn)|西——測試集loss曲線、classification_report文本、混淆矩陣三合一圖原始數(shù)值、歸一化比例、錯誤分布。這三樣?xùn)|西保存到實驗?zāi)夸浵赂粢欢螘r間再回頭對比不同實驗版本時不用重新加載模型跑推理只翻圖和報表就能快速定位問題。后續(xù)如果你想讓這套可視化更自動化可以嘗試兩個擴展方向第一個方向是把混淆矩陣集成到訓(xùn)練腳本中每個epoch結(jié)束在驗證集上自動畫一張圖。這樣訓(xùn)練過程中就能動態(tài)觀察是不是隨著epoch增大某些混淆點一直在改善另一些一直停滯。在線監(jiān)控的價值在于及早發(fā)現(xiàn)過擬合或?qū)W習(xí)率設(shè)置不當(dāng)?shù)膯栴}。第二個方向是結(jié)合模型的可解釋性工具。當(dāng)你在混淆矩陣中發(fā)現(xiàn)某兩類一直混淆別急著一味加數(shù)據(jù)、調(diào)模型先拿錯誤樣本出來看看——用Grad-CAM或SHAP分析模型重點關(guān)注圖像的哪些區(qū)域。很多時候你會發(fā)現(xiàn)模型其實在用一個非預(yù)期的特征做判斷比如區(qū)分兩種鳥時它關(guān)注的是背景草地顏色而非鳥本身的羽毛紋理。這個診斷路徑配合混淆矩陣能幫你做出更有針對性的優(yōu)化決策而不是盲目調(diào)參。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产精品无码AV网站| 国产又大又粗又长视频在线| 高精欧美色| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 色妺妺AⅤ| 图色综合网| 亚洲一区二区精品福利| 欧美另类综合久久| 久久国内| 国产精品视频麻豆入口| 级做a爱无码性色永久免费| 国产热av| 欧美亚洲清纯| 天天热精品| 伊人操操| 96久久久精品| 亚洲区限制级| 九九拍拍精品视频在线播放| 香港日本韩国人妇99www.wccm20| 熟妇视频一区二区三区在线观看| 新97国产超碰| 久久水蜜臀亚洲AV无码精品| 日韩精品第3页| 成人综合网 欧美| 国产天美欧美| 久久99国产综合精品女同| 人人操av| 91N欧美| 九九成人视频| 成人婷婷丁香| 91丝袜美腿网站| 天天爽天天爽| 久久发布国产伦子伦精品| 五月婷在线| 99超级碰免费视频| 97五月天| 美女露胸露尿口| 成人欧美一区二区三区黑人一| 亚洲无码AV九九九| 国模吧 一区二区三区| 久久‘黄片视频| 亚洲人妻中文高清| 国产成人网址| 色九九九| 啊啊啊好疼| 亚洲AV色图一区| 日韩欧美三级| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 亚洲视频,小说| 中文字幕一二三区| 日本孕妇孕交| 啊啊啊啊啊啊在线| 久久黄色视频一区二区三区 | 国产AV激情无码久久无码| 国产成年精品高清在线观看91| 欧美不卡五十路| 国产女s强制榨精视频| 欧美日韩性爱电影在线| 97人肏| 亚洲精品天天影视综合网| 97超碰久| 欧美日韩资源| 乱伦1色页| 亚洲成人性爱在线观看| 激情五月激情综合网| 婷婷成人五月天| 96AV久久久| 亚州欧美综合| 人人妻人人爽 97人人看碰人免费公开视频| 亚洲精品白浆高清久久久久久 | 啊啊啊啊啊啊啊啊要喷了| 亚洲系列欧美| 一级做受视频免费是看美女| 国产区91柔拿会所技师| 五月婷婷六月丁香| 欧美熟女逼久久久久久| 亚洲精品99999| 国产AV色黄看到爽| 色噜噜狠狠色综无码久久合欧美| 国产欧美黑人丰满在线| 综合 亚洲 欧美| 中文字幕在线观看永久| 五月丁香亭亭| 亚洲av性爱电影| 国产成人无码高清| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 美女啊啊啊啊pc| 日韩精品三级片长长久久| 97在线免费视频观看| 在线国产福利网址导航| 极品少妇99| BBBBB97COM| 日韩亚洲国产视频| 爱干爱射网啊啊啊| 日本在线观看网址| 天天肏美女| 天天综合-91入口| 亚洲精品久久久久久久蜜桃臀| 刺激性视频黄页| 老熟女网站| 午夜男女爽爽爽在线视频| 78p欧美| 国产精品美女| 久久国产99精品72福利| 色牛aV| 亚洲高潮少妇| 熟女少妇视频| 国产女人高潮视频| 探花视频免费观看国产专区| 免费夜夜爱黄色视频毛片| 人妻蜜桃臀| 久久精品国产亚洲AV成人直播| 嗯嗯啊啊用力视频免费| 国产在线视频午夜精华在| 国产这里只有精品| 97天堂| 中文字暮97| 91熟女丨老女人| 国产精品国产拍高清AV| 欧美激情 亚洲色图| 亚洲国产成人精品无码专区| 中字一区| 五月婷婷啪啪| 天久久久噜噜噜久久国产精品爽爽| 日韩av乱伦| 偷拍偷窥与盗摄视频专区| 91九久| 亚洲色宗合| 欧美亚洲丝袜美女电影| 影音先锋日本一区二区| 老司机久久| 综合操逼| 超碰97伊人| 九九久久综合| 91香蕉国产尤物视频| 99久久com免费视频′| 性色AV蜜色av色欲av| 99爱久久视频频| 日韩欧美大力操| 天堂网 主播 亚洲| 午夜天堂精品久久久久91| 夜夜爽夜夜高潮夜夜爽| 久久蜜色情在线视频xxx免费观看| 久久久久亚洲熟妇熟女| 天天操人人操骚逼网站| 丁香五月色| 亚洲熟妇图片| 精品人妻1区| 超碰碰小说97| AV 少妇 人妻 偷拍| 久久高潮妇女视频| 不卡六六在线91| www色色com| 美女裸体无遮挡永久免费观看网站 | 啊啊啊啊啊啊啊在线| 欧美精品1区2区3区| 少妇贴图| 啊啊啊不要好爽日韩无码一区| 亚洲欧美日韩精品久| 亚洲天天自拍| 欧美日韩大陆黑人少妇99| 国产精品蜜乳AV| 极品另类| 国产精品夜夜夜| 日本九九久久99播| 青青草天天亲夜夜操网| 国产成人精品必看| 校园春色五月天| 日日嗨AV一区二区夜夜| 60秒试看最爽10分钟网站| 日韩午夜啪啪视频| 国产AV激情无码久久无码| 91bbb| 欧美日日人人天天| 国产一区二区精品久久久不卡蜜臀 | 死我十八禁| 综精品久久久aaaa| 亚洲久热| 性爱久久| 大屁股xxxxx| 午夜激情成人在线观看| 超碰97人人cao| 亚洲一区中文字幕| 青青草久草AV| 9久久美女首页| 日韩97超碰中文字幕| 在线观看av区| 丁香五月久久| 成人国产精品三级A片| 国产强奸乱伦xd| 久久亚洲国产成人| 天天综合91| 欧美少妇人妻| 2020中文字幕在线观看| 亚洲色图A| 香蕉精品二区二区| 日本熟女中文| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 精品国产三级av韩国在线| 大香蕉伊人75| 夜夜草天天| 国产精品 视频| 亚洲?V高清一区二区三区尤物| 天天欲望网| 男同专区一区二区三区在线| 超碰美国| 国产黄色剧情影片麻豆免费播放| 黑人精品一区二区在线播放| 欧美午夜视频免费观看| 99久久久无码精品国产人| 国产亚洲精品A在线观看下载| 91欧美亚洲| 天堂性色| 亚洲一区中文精品| 亚洲成人在线高清| 99在线无码精品秘 入口黑人| 999精品国产高清一区二区| 亚洲欧美日韩免费观看| 黄色免费网| 可以免费看黄片的视频| 亚洲午夜av| 五月丁香色婷婷| 亚洲 图片 综合91| 日本999精品视频| 夜夜福利| 黄页网站成人免费| 狠狠操狠狠操操| 91被操| 国产区91柔拿会所技师| 国产伦精品一区二区三区在线观| 亚洲麻豆精品二区三区| n1038 一二三区| 欧洲小说色图视频另类| 97这里有精品| 无码国产Av| 久久久精品一区二区| 91热色| 亚洲天天综合| 秋霞蝌科网日本一区| 99久在线精品99re8热| 精品少妇后入一区二区三区四区人妻巨乳| 亚洲乱色视频一区、二区在线| 97频视在线| 四虎免费在线播放| ji熟女.com| 五月丁香啪| 高潮综合网| 久超碰这里只有精品| 欧美综合另类| 久久精品国产亚洲AV无码做| 亚洲情色婷婷五月天| 性性久久| 亚洲国产精品久久AV| 亚洲成熟国产精品美女| 亚洲自拍欧美国产首页网曝| sewuyueav| 日韩中文字幕精品一区在线| 日韩AV一区二区三区四四| 天天看高清麻豆| 九九九精品美女| 日韩人妻播放| 亚洲国产一级中文综合久久天堂在线免费观看| 久久美国毛片| 天天操天天射天天日| 亚洲综合在线视频| 精品二区三四区五电影 | 岛国999| 九九综合九九综合| 在线黄页看毛片| 伊人久久亚洲色欲综合网站 | 99r九九| 国产区在线| 久久性爱网站| 久久精品成人一区二区三区蜜臀 | 欧美第一页| 五月丁香影院| 人妻91少妇| 自慰白浆在线观看| 色香91| 久久男人精品| 九九热五区| 久久久久久久精| 99热在线观看| 大逼色网站| 精品人妻美妇91job| 性性久久| 日韩人妻制服丝袜av| 青青操在线亚洲视频观看欧美在线| 久9精品| AV 少妇 人妻 偷拍| 亚洲干B| 少妇滛荡视频| 99re99| 蜜桃成人1区2区3区| 嗯嗯不要视频| 国产高清1234区| 一本久道久久综合狠狠爱一密臀精| 99久久网站| 国产97色在线 | 亚洲| 五月丁香激情综合| 国产97视频| 久久亚洲不卡| 日本羞羞的视频在线播放| 97视频观看| 国产一区二区三区高清视频| 蜜桃丰满熟妇av无码区不卡| 国产视频不卡在线观看| 久热伊人| 成人熟女视频一区二区三区| 久久首页| 日本精品加勒比海一区| 美日韩一卡二卡三卡免费人妻精品| 一级一性爱免费视频| 97精品国产| 日韩97视频!在线| 91看黄片| 人妻喷水| 久久久999网站| 欧美日韩黄片精品在线| 欧洲性人爱视频| 99热超碰在线| 强奸乱伦AV网站| 国产又粗又长的视频| 久久婷婷一区二| 翔田千里Av在线| 久九9精品| 激情综合五月婷婷| 国产精品成人无码a v毛片| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 嗯嗯嗯,草死我| 成人国产视频在线观看| 欧美国产伊人久久久久| 深夜激情 | 亚洲av噜噜噜噜噜噜| 久久这里精品国产99丫e6| 99久久精品欧美国产| 曰韩少妇无码| 日日狠狠久久偷偷色综合免费| 国产精品视频内谢女人| 九九九九免费视频| 秋霞男人网| 性爱精品一区| 不卡中文字幕aⅴ在线| 综合网亚洲1| 黑丝少妇麻豆| 亚洲人妻AV| 日韩人妻一区二区| 一区二区三区男人的天堂| 欧美综合骚| 操比国产| 国产日韩欧美亚洲精品95| 亚洲国产ⅴ高清在线观看| 日韩人妻丝袜美腿中文| 国产美脚女优尤物在线观看| 91人妻爽爽人人做人人澡| a一区二区三区乱码在线| 婷婷激情四射| 久久有码视频| 乱色老一区二区三区的观看方式| 久久久久久久久久久久黄色 | 亚洲啪啪视频一区二区| 国产操逼网站亚洲一级黄色| 无码二级三级| 熟女露脸激情自拍视频| 亚洲激情色片| 男人天堂站| 国产丝袜视频| 久久精品国产亚洲妲己影视| 日韩一级二级三级免费看完整版| 日韩天天综合| 九九九九一区| 97精品人妻一二三四| 欧美综合网1| 操亚州| 日韩/97| 青青草吊丝| 亚洲图片欧美91N| 五月丁香激情综合网| 亚洲最大的综合性av| 中文字幕日韩人妻视频一区二区三区| 嫩呦国产一区二区三区AV| 中文?日韩?免费?精品| 91老熟妇| 黑人精品XXX一区一二区| 亚洲图片欧美色| 亚州综合在线| 成人小说另类在线| 色综合V| 日韩激情无码影院| 国产一级内射无挡观看| 91爆操视频| 亚洲美女自拍偷拍视频| 国产高潮AA片免费看| 亚洲国产激情国产av| 国产精品久久伊人| 99热| 97爱亚洲综合色| 人妻在线大香蕉| 天天摸天天舔天天操| 久久久少妇诱惑精品视频| 伊人网在线点播| 亚洲情色视频| 中文字幕一区二区免费在线| 欧美性爱另类综合| 天美传媒国产原创中文字幕亚洲欧美另类| 亚洲国产精品久久久久婷婷青年| 粉嫩久久久久| 九九九九热| 园内精品自拍视频在线播放| 国产自偷自拍一区| 天美一二三在线观看Av| 亚州大图综合色图| 亚洲无码精品AV久久久| 国产成人无码高清| 欧美97在线欧| 丰满岳乱妇一区二区三区| 留下AⅤ黄色片| 亚洲国男人的天堂| 加勒比av网| 成·人免费午夜在线观看| 天堂俺去俺来也www久久婷婷| 亚洲一区二区三区四区视频| 怡红院怡春院| 精品久久97| 岛国激情视频在线观看| 久妇网| 在线电影亚洲色图| 天天看天天干| 亚洲天堂综合AV| 亚洲情色一区二区三区| 久操精品| 久操操| 亚洲精品蜜桃久久久久久久| 成人五月天丁香激情综合| 无码人妻丰满热妇又大又粗| 久久99手机免费视频| 97中文字幕九区| 欧美日日操| 欧美日韩色图片| 四季av一区二区凹凸精品小说| 一级做a爰片性色毛片久久| 97人人模人人爽人人| 国产25页| 99e久久国产精品| 久久麻豆一区二区| 久久东京热成人| 天天做日日做天天欢。| 丝袜视频一区二区在线播放国产中文| 国产一级高清免费观看| 久久五月天婷婷| 麻豆精品三区视频| 免费一级a毛片久久久久久鸭绿欲| 天天摸,夜夜摸| 日本 情色 1区2区3区| 欧美一区二区三区四区综合| 欧美综合第一| JIZZJIZZ亚洲女人被躁| 亚洲国产剧情少妇激情| 男人天堂资源| 天天色悠悠激情| 久久精品久| 天天爽爽爽爽| 精品视频一区二区| 亚洲综合网图| 日韩视频精品在线观看| 春色校园综合网| 欧美色www亚洲国产阿娇要播| 屌逼传媒| 亚洲精品 大香蕉| 欧美第五页| 亚洲黄网在哪免费看| 日本黄色天堂| 女人双腿搬开让男人桶| 日本2020一区二区| 欧美另类色图片| 97超碰人妻| 成 人 影视 一区 二区 三区 四区| 人妻天堂网| 91亚洲精品青草| 看日韩黄片| 日本东京热大香蕉a片| 国产精品黄色三级av| 大香蕉综合在线| 麻豆啪啪啪视频| 久久9久久| 欧美激情总合网| 搡老女人911熟妇老熟女| 91jk色拍| 无码自拍SM| 97碰久久| 综合97亚洲| 精品人妻美妇91job| 人妻少妇精品视频一区二区三区| 亚洲国产一区二区三区在线| 天天综合网日韩7799| 亚洲性综合11| 国产日本熟女顶级一区二区三区视频| 久久天天艹| 懂色影视久久| 18精品一区| 国产AV久久野战精品| 肥佬影院91| 97综合日韩| 午夜福利视频在线一区| 五十路熟女人妻一区二区三区四区五| 国产黄色动态精品| 免费一级毛片在线视频观看| 少妇久久久久久| 亚洲资源网| 夜夜爽33333| 噜噜噜在线视频| 国产精品久久泡妞网站| 情侣操 逼视频99| 亚洲丝袜色| 免费又黄又裸乳的视频| 熟女精品日韩一区二区三区| 久久视频少妇美女| 蜜桃久久久久久久| 91Chinese在线| 夜夜高潮夜夜爽高清视频一 | 宗合情欲网| 簧片免费看视频| www.亚洲黄色| 日日夜夜免费| 人妻少妇精品久久久久久| 青青草大香蕉在线视频| 偷拍伦理视频| 色色色色电影网| 亚洲国产精品有声| 最新av网站在线观看| 94色色电影网| 就去色综合| 超碰一区二区| 熟妇高潮精品一区二区三区下载| 色性荡荡荡荡视频| 日韩人体偷拍| 丝袜 亚洲 偷拍| 麻豆国产免费影片| 每日更新AV| 视频黄色国产一级| 欧美人人曰人人操人人射射| 人人操人人插 - 百度 - 百度| 久久精品国产亚洲粉嫩| 天天影视综合色| 久久 久久国内精品亚洲 | 日韩成人精品视频自拍| 四虎影视永久在线免费| 日韩操逼HD| 欧美日韩啪啪电影| 国产黄色在线播放观看| 九九视频黄色片| 青娱乐福利99| 免费观看性欧美一级| 日韩免费一级性爱视频| 蜜臀无码视频在线观看| 视频国产成人精品日本亚洲18| 国产精品第一页国产大屁股视频免费区| 亚洲激情深爱文学小说网站| 久久精品91| 97在线欧| 日本不卡在线二区三区| 精品九九| 国产精品视频91久久| 中文字幕人妻资源在线| 啪啪啪东京| 天堂无码精品国产久| 欧美国产伊人久久久久| 十八禁啪啦拍视频无遮挡| 去干网最新版| 麻豆 欧美 日韩| 99re这里只有精品3| 亚洲日韩天堂| 91被操| 午夜爽爽爽在线观看永久入口姬片| 超碰成人公开| 国产激情综合| 九九久久久久久爱| 久久婷婷欧美| 国产夫妻性生活视频| 99re28在线观看| 成人免费性爱视视| 乱欲一区二区| 人妻少妇精品一区二区三区| 亚洲色性情三级| 久久 久久国内精品亚洲| 99久久久| 亚洲成aⅴ人片不卡无码| 秋霞无码av鲁丝片一区| 艹我哪美一区无码| 操死我了嗯嗯嗯| 天天日天天干天天摸天天操| 麻豆国产97在线| 日韩国产乱子伦App| 日本在线一二 | 亚洲女优有码无码高清| 中文字幕在线免费观看2| 亚洲 一区二区 自拍| 99性爱| 精品久久大胆人体| 火箭成精品视频884必出精品| 操操逼视频| 欧美成人精品A片免费一区99| 91久久伊人婷婷青青草| 超碰久超碰久| 高清无码 国产精品| oumeisetu综合| 中出后入| 日本高清免费一本视频在线观看| 丝袜大香蕉| 久久久性爱视频| 色逼综合| 国产亚洲国产超碰| 久操在97| 天天夜躁日日躁狠狠2002| 丁香五月婷婷啪啪| 久久久精品久久| 麻豆视频国产一区二区| 久久久久久午夜男人的天堂| 热热色国产一二区AV| 熟妇xxxxx性春色| 中文字幕老熟妇黄色视频| 久久天堂网| 国产亚洲精品av一区| 蜜桃在线观看一区二区三区 | www.激情| 国产欧美日产一区二区三区 - 国产欧美日 | 中文字幕亚洲永久精品| 欧亚乱色熟一区二区三四区| 九九九九精| 婷婷综合网| 亚洲色天堂九9| 色噜噜精品一区二区三| 17c嫩草51久久91嫩草| 亚洲精品美女久久久久久久久| 日本欧美色| 日韩欧美午夜一区二区| 亚洲精品 超碰| 狠狠爱综合网| 这里是精品| 国产精品白领在线观看| 韩日男人的天堂| 乱伦熟女论坛| 婷婷五月天久久精品视频一区二区三区| 999精品乱码| 99re视频在线观看这里只有精品| 97资源站国产精品| 日日夜夜干| 亚洲精品九九九| 富二代亚洲精品99| 麻豆视频国产一区二区| 97日视频| 逼逼逼逼操操操操操操操操操午夜剧场| 欧美视频激情久久久久久| 天天色黄色影院天天操| 日日做夜狠狠爱欧美黑人| 精品成人动漫一区二区| 日韩av电影网站| 五月丁香婷婷综合网| 三四中文字幕| 大香蕉免| 亚洲毛片一级带毛片基地| 99re在线视频| 久热婷婷| 国产亚洲福利第一页丝袜| 久久综合精品一区二区三区| 懂色av色欲av蜜臀av| 黑人粗大V S日韩女优视频| 人人操人人狠狠操| 人人妻人人爱人人玩| 亚洲成人精品久久久| 久操网线| 九九亚洲| 久草草一二三四区久久| 综合色播| 操操操五月天婷婷丁香影院| 超碰在线1234区| 精品一区二区三区蜜桃臀赵总| 91在线免费精品视频| 精品美女久久一二三| 桃花色涩综合影院| 一级片视频啪啪| 97久久国产亚洲精品超碰热| 无码9区| 人妻中文字幕精品无码 | 大香蕉丝袜一级片| 思思热在线视频免费| 欧美日韩美女精品久草一区二区三区| 99热思思| 三级色综合| 天天噜| 激情小说亚洲图片| 一本一道人妻久久一区二区三区| 天天操天天射天天日| 欧美熟妇精品黑人巨大91| 啪啪视频免费在线观看| 色偷综合| 精品国产污一区二区三区| 亚洲九月丁香| 欧亚无码视频| 啊啊啊慢点| 97一区二区三区视频| 五月婷婷激情综合| 亚洲成人美女无吗| 国产高清视频无码在线| 大香蕉日韩| 91欧美性| 超碰人妻中文在线| 91亚洲人电影| 日韩中文字幕二区| 国产AV毛片| 国产精品不卡av免费在线观看| 91熟女视频网| 亚洲超碰综合网| 台湾肥佬网一区二区三区| 男人天堂2019亚洲| 深田咏美亚洲精品福利社| 日小BB小视频| 国产亚洲精品一区二区三区| 青草精品视频-日本久久久久网站| 亚洲精品人伦一区二区| 九九热在线精品视频| 麻豆区99999| oumeisetu综合| 91狠狠色丁香婷婷综合久久精品| 免费簧片在线观看| 青娱乐亚洲自拍| 国产一级特黄大片处女| 丁香九月 婷婷| 久久这里只精品免费福利| 久久久久国产精品久久久| 久操视频这里只有精品| 亚州五月| 青草精品视频一日本久久久久网站| 啊啊啊好疼| 久久偷偷色综合蜜桃| 欧美色图人妻| 台湾佬中文娱乐网久久久久久久久久com | 很很很很操| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 日本精品第一视频在'| 亚洲欧美日韩精品久久久一区二区| 黄色片,com| 伦伦成年午夜免费视频| 免费亚洲黄色视频在线观看 | 亚洲激情欧美色图 | 92午夜免费福利视频| 日本在线不卡v二区| 精品区国产区一区二区三区| 亚洲操逼视频网站| 欧美一级A片在线看视频性色| 天美一二三在线观看Av| 亚洲情色在线| 中国熟女91| 竹菊一区二区三区AV线| 欧美综合网在线| 综合亚洲欧美精品日韩?v| 久久av无码| 亚欧视频在线| 欧美黄色大香蕉一区二区| 久久综合九九| 色91综合网| 亚洲电影91| 久热这里只有精品9| 欧美亚洲| 成人aⅴ一区二区三区| 亚欧韩av| 精品人妻二区三区| 日韩无码久久熟女一级片| 亚洲日韩资源| 一二三区操逼国产91| 淫荡少妇免费| 亚洲熟妇自偷自拍另欧美| 亚洲91色在线| 亚洲日本大香蕉1| 碰碰97| 中日韩熟女| 国产丝袜视频| baiduhicn.com。| 啊啊啊啊好疼| 91精品国产日韩欧美综合| 色五月激情综合网| 十八禁黄色成人网站观看| 天天久久久久久| 韩国免费播放一级毛片| 女人双腿搬开让男人桶| 精品网站9999| 五月天AV资源| 蜜乳AV.COM| 天天日天天操心| 色九九综合AV| 日本αv| 色九月婷婷| 一区二区视频你懂的| 九九九九9999| 精品-91人妻子系列| 久草精品国产蜜臀 | 美国美女AV在线| 国产丸一视频| 国产福利电影| 中文高清一区二区的| 亚洲熟妇综合久久久久久| 欧美精品69性爱| 五月丁香成人网| 国产久久男人天堂| 人妻偷拍一区二区三区| 很很干很很操| 加勒比色99999| 欧美不卡二区| 夜夜人妻爽| 91精品人妻偷情| 熟妇熟女视频一区二区三区| 中文字幕精品三级久久久| 370p日韩欧美亚洲精品| 夜夜高潮夜夜爽高清视频一| 大香蕉久久| 伊人久久艹| 欧美色图小说综合 | 日韩av一级黄片| 色第一页| 色欲天天婬色婬香WWW夜色| 人妻熟女一区在| 校园春色 亚洲| 亚洲各类熟们中文字幕| 99re6国产精品99re| 久久精品国产99精品亚洲蜜... | 亚洲国产一区二区日韩专区| 国产九九久久久精品| 亚洲天堂欧美| 精品夜夜澡人妻无码| 97超碰9| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 色网亚洲人| 久久精品三级影视| 啊啊啊 在线| 亚洲国产一区二区三区四区国产| 伊人午夜福利视频| av天堂5| 亚洲另类色综合网站| av一区二区三区 中文| 91亚洲最新在线| 天天弄天天操| 国产传媒日韩| 日韩传媒在线| 亚洲精品毛片在线观看| 亚洲色图综合网| 91天堂色男人的天堂| 欧日韩一二三f区| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 9久久精品| 肉丝中文无码高清| 亚洲中文丝袜美腿诱惑字幕| 啪啪啪大香蕉| 性色亚洲| 欧美日韩大陆黑人少妇99| 密乳无码| 后入合集| 国产日本熟女顶级一区二区三区视频 | 人妻无码久久一区二区三区免费| 奇米四色影视777久久久| 超碰这里有精品| 亚洲人成网www| 伊人网免费视频| 色眯眯av| 天美传媒国产原创中文字幕亚洲欧美另类 | 97超碰公开| 亚洲日韩肥臀视频在线观看| 国产三级在线现体验区| 天天干1区2区在线| 欧美激情精品久久久| 丁香五月色情| 女人与公拘交酡2020视频| 劲爆欧美人妖三区91| 久久99热这里只频精品6学生| 久久只有精品| 四虎免费视频| 欧美78p| 乱伦图av| 性综合网| 少妇人妻在线| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 婷婷四五区| 97精品熟女少妇一区| 亚洲天堂资源在线| 黄呦呦在线| 婷婷五月在线视频| 岛国片国产成人亚洲播放| 天天综合中文字幕 91| 清清草影| 97色五月天完| 视频分类 国内精品| 操b在线观看| 国产9l 大屁股| 亚洲国内精品成人不卡| 男女打扑克高清网站| ?亚洲伊人伊成久久人综合网| 欧美性xxxxx狂欢| 蜜臀网址在线| 亚洲欧美日产国产91毛片| 超91综合网| 国产欧美亚洲精品a第2页| 色视频蜜乳| 91一区二匹| 欧美色交| 欧美性天天影院| 夜夜騷av、一區二區| 大香蕉宗合网在线| 自偷自拍的亚洲视频| 无码操逼网| 岛国片在线视频网站| 欧美一级在线观看成人| 啊啊啊啊免费视频| 国产熟码AV| 嗯嗯啊啊的视频| 欧美伦乱爱| 久久欧洲| 色爱欲亚洲| 亚洲、日韩、综合、另类| 男人的天堂啪啪啪啪啪蜜桃不卡| 破苞ⅩXXX性无码动漫无码| 国产精品熟女九色九色蜜臀| 精品美女久久久久| 香蕉欧美| 国产拍偷精品网站| 精品无码一区二区三区色欲| 欧美性爱一区二区| 久久人妻| 五十路熟女人妻一区二区三区四区五| 欧洲视频在线| 日韩图色| 91成人无码| 亚州综合色| 中文字幕国产在线天堂| 超碰91在线| 思思热一热婷婷热一热| 免费夜夜爱黄色视频毛片| 在线只有精品| 大香蕉碰碰| 亚州操操穴网| 蜜桃视频一区二区三区在线观看| 亚射在线| 熟女AV一区| 久久久少妇诱惑精品视频| 97视频免费在线| 99999亚洲另类| 亚洲人久久久久日| 亚洲nv男人的天堂网| 色九月| 观看免费区二区三区二| 欧美午夜色妇色鬼| 国产性爱欧美性爱在线| 在线电影亚洲色图| 九九热精品| 日本成人在线不卡一区二区三区| 美日韩男女操屄视频| 在线播放一级无码视频| 国产精品一级片在线看| 亚洲一区日韩| 国产精品情侣啪啪| 2000亚洲男人天堂| 一区二区播放| 啊啊啊想要| 午夜.DJ高清在线观看免费7| 一级久久久久久久久久久| 亚洲综合九九| 97欧美精品综合| 中文字幕乱偷人妻久久艾草网| 欧美色交| 女人与公拘交酡2020视频| 欧美日韩国产高清在线一二三区 | 婷婷综合网站| 欧美爆操91| 中文字幕av一区二区三区人妻少妇| 国产精品久久久亚洲第一牛牛_在线观看| 亚洲欧美另类小说| 青娱乐亚洲自拍| www.色五月| 欧美猛交黑寡妇中文字幕| 夜夜黄| 国产午夜在线观看视频| 爱做久久久久久| 欧美色66| 无马一区二区| 欧美日韩国产三级黄色| 亚洲男人天堂2019| 啊啊啊啊好大好硬啊啊啊啊啊 | 欧美日韩色图片| 麻豆精品三区视频| 女人天堂av在线播放| 色综合久久88色综合久久天天| 麻豆久久视频在线地址| 人妻激情在线视频| 插入逼91| 久久女婷| 91男同| 性爱网站一区二区| 中文字幕精品一区二区精品| 加勒比东京热五月天天堂网| 日本影视久久免费| 91精品久久久久久77777| 丝袜视频一区二区在线播放国产中文 | 操逼操逼逼操操逼91| 有码免费观看| 热热色中文无码| 欧美劲爆视频一区二区| 97在线欧洲| 中文字幕97| 99色视频| 精品二区三四区五电影| 午夜福利激情在线视频| 江都AV在线| 日韩97P| 成人av免费观看| 天天综合网合集91| 亚洲第一精品在线视频| 精品无吗久久| 黄色大片视频在线免费看| 91九九| 密臀在线视频| 成人黑料社久久| 麻豆天美AV传媒第一页| 国产理论视频在线播放| 色偷偷色偷偷欧美日韩| a片偷拍视频| 亚洲男人天堂2012| 囯产精品久久久久久久久久梁医生 | 99热精品在线观看| 国产精品97视频| 亚洲操人| 91性网| 五月丁香| 密臀在线一区尤物| 久久婷婷五月天| 精品性爱一区二区| 啊啊啊啊啊啊啊啊要喷了| 亚洲精品无码成人久久久99| 性性欧美| 亚洲少妇综合在线播放| 五毛骚逼极品美女怕怕| 中国女人内射6XXXXX| 嗯~啊~快点 死我视频免费看网站| 波多野42部无码喷潮在线观看| 大香蕉综合久久| 国产精品干干干| 东北操逼| 色色色色电影网| 丝袜AV一区二区三区| 亚洲日本韩国极品一区二区| 国产在线播放成人免费| 亚洲码和欧洲精品激情系列| wwwxxx日本爽| 伊人午夜福利视频| 久碰视频| 亚洲欧美一区二区网址| 大香蕉啪啪啪啪在线| 亚洲天堂7777| 97久久久久| 一区=区三区视频| 免费αⅴ在线观看| 中文字幕免费在线观看| 日本 欧美 亚中文字幕| 亚洲网站一区二区在线| 男人 天堂 日 亚洲| 色久桃花影院在线观看| 91国产丝袜白虎| 精品国产自在在线99| 国产强奸乱伦xd| 国产精品午夜福利| 插入综合网| 欧美性爱第一区| 91中文字幕在线观看| 情色日播放AV| 国产毛片久久久久久久| 亚洲欧美视| 成人影 天天操 亚洲| 天天搞在线综合网| 青娱乐91| 亚洲污污网站| 操少妇很爽av| 操操逼操操逼操操逼逼| 男同专区一区二区三区在线| 第四色亚洲色图| 91精品丝袜在线观看| 欧差乱伦二三| 久久久久久人| 青娱乐蜜桃臀AV色婷| 99热久| 性在久久久久久| 午夜精品久久99蜜桃的功能章节| 中文字幕 码精品视频网站| 五月香婷婷| 三男一女不戴套的A片| 精品9999| 亚洲日韩青青草色月| 99热国产| 精品人妻av在线播放| 亚洲情色综合| 精品久久久一本一道| 物尤视频一区二区| 小少妇| 国产浮力影院第1页| 亚洲欧美国产va在线播放频| 日日骚av| 91欧美综合在线| 丝袜综合| 亚州宗合另类| 五月大香蕉| 丝袜熟女一区二区三区| 久久久99免费| 亚洲天天操| 欧美精品系列| 视频在线中文字幕| 中国小夫妻勾搭露脸淫荡对白| 国产又粗又又黄又猛| 国产一区二区三区影片| 不卡一区二区日本视频| 欧美日韩午夜精品一区二区三区| 欧美大的香蕉有线电视视频| 99热99re6国产在线播放| 久久綜合很很很| 久9久| 天天欧美色| 乱精品一区字幕二区| 国产精品大香蕉| 国产精品久久久三级无码| 特级毛片特黄久久免费看 | 台湾佬激情综合| 一区二区偷拍拍视频| 狠狠色婷婷7777久| 国产精品熟女乱伦| 久久男女激情视频网站 | 99精品九九九九九九| 精品丰满熟妇人妻一区| 久久久久久久综合,国产| 夜夜 中文视频rt| 欧美日韩亚洲五月天婷婷| 大香蕉欧美日韩| 蜜桃久久久久久久久久久久| 少妇极品熟妇人妻无码| 日韩 欧美 校园一区| 欧美日韩大陆黑人少妇99| 91黑丝美女| 欧美一级专区免费大片| 亚洲高清少妇| 久久国产999| 99热线麻豆| 亚洲激情久久久伊人综合| 欧美高清16| 中文字幕成人理论在线| 性在久久久久久| 综合欧美日韩在线观看| 欧美一级做a爰片免费视频| 99re久久| 2011国产精品| 午夜欧美J进J出白浆流出久久久| 在线视频五十市| 国产乱青青草久久| 99精品无码| 亚洲色91| 日韩精品在线视频在线观看 | 99re这里只有精品2|