99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

基于卷積神經(jīng)網(wǎng)絡(luò)的垃圾識(shí)別分類系統(tǒng)設(shè)計(jì)與實(shí)踐

基于卷積神經(jīng)網(wǎng)絡(luò)的垃圾識(shí)別分類系統(tǒng)設(shè)計(jì)與實(shí)踐 簡(jiǎn)介面向高校深度學(xué)習(xí)課程設(shè)計(jì)與期末大作業(yè)場(chǎng)景這份資源提供了一套基于卷積神經(jīng)網(wǎng)絡(luò)的垃圾識(shí)別分類系統(tǒng)完整Python實(shí)現(xiàn)。項(xiàng)目已獲導(dǎo)師指導(dǎo)并獲得97分高分涵蓋數(shù)據(jù)集、模型與全部源碼下載后可直接運(yùn)行適合需要在較短時(shí)間內(nèi)搭建可演示圖像分類項(xiàng)目的學(xué)習(xí)者。壓縮包內(nèi)含2000個(gè)文件其中近2000張jpg/jpeg圖片構(gòu)成訓(xùn)練與驗(yàn)證數(shù)據(jù)集包含電池、塑料瓶等常見生活垃圾的圖像樣本13個(gè)py腳本負(fù)責(zé)數(shù)據(jù)加載、模型構(gòu)建、訓(xùn)練與預(yù)測(cè)流程另附j(luò)son配置與md說明文檔整體包體約564.69MB目錄結(jié)構(gòu)清晰。已有264人學(xué)習(xí)使用。通過該資源可系統(tǒng)了解CNN圖像分類項(xiàng)目的完整組織方式包括數(shù)據(jù)預(yù)處理、網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)、訓(xùn)練調(diào)參與結(jié)果評(píng)估等關(guān)鍵環(huán)節(jié)源碼注釋完整便于在此基礎(chǔ)上二次開發(fā)也可直接用于課程設(shè)計(jì)答辯演示或期末大作業(yè)提交。1. 課程設(shè)計(jì)級(jí)的垃圾識(shí)別系統(tǒng)到底在做什么拿到“基于深度學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò)的垃圾識(shí)別分類系統(tǒng)”這份源碼包先別急著解壓找里面的模型文件。課程設(shè)計(jì)級(jí)別的項(xiàng)目核心不是“識(shí)別”這個(gè)動(dòng)作本身而是你有沒有把一條完整的深度學(xué)習(xí)鏈路講清楚數(shù)據(jù)怎么整理、卷積神經(jīng)網(wǎng)絡(luò)怎么從圖里提特征、訓(xùn)練時(shí)哪些參數(shù)要調(diào)、最后怎么讓模型跑一個(gè)可演示的界面。這套系統(tǒng)的本質(zhì)是一個(gè)圖像多分類任務(wù)——卷積神經(jīng)網(wǎng)絡(luò)把一張垃圾照片區(qū)分成紙板、玻璃、金屬、紙張、塑料、廚余這幾個(gè)固定類別同時(shí)輸出每個(gè)類別的置信度。它能幫你應(yīng)付答辯中最常見的追問“網(wǎng)絡(luò)結(jié)構(gòu)為什么這么定”“訓(xùn)練集有多少張圖”“l(fā)oss降到多少算正?!?。適合誰適合正在做課設(shè)或畢設(shè)的學(xué)生以及想快速跑通一個(gè)完整CNN項(xiàng)目的Python開發(fā)者。2. 卷積神經(jīng)網(wǎng)絡(luò)為什么能區(qū)分垃圾特征提取邏輯與選型理由2.1 卷積核在干什么從邊緣、紋理到局部形狀一張垃圾照片進(jìn)入卷積神經(jīng)網(wǎng)絡(luò)并不是像人眼那樣先“看到”一個(gè)瓶子、一團(tuán)紙巾而是先被切成一塊塊小窗口每個(gè)窗口與一組卷積核做乘法累加。淺層卷積核對(duì)的是邊緣和顏色突變比如瓶蓋的圓弧輪廓、玻璃碎片的高光邊界中層的卷積核把這些邊緣組合成紋理比如紙張的褶皺、金屬的反光條紋深層則組合出局部形狀“這里有一個(gè)帶弧度的瓶身”“這里有一團(tuán)柔軟材料的質(zhì)感”。每一層之間還夾著激活函數(shù)和池化。ReLU把卷積結(jié)果里的負(fù)響應(yīng)清零相當(dāng)于篩選出“對(duì)這個(gè)特征有反應(yīng)”的區(qū)域池化把分辨率縮小讓網(wǎng)絡(luò)對(duì)垃圾在畫面里的位置偏移不那么敏感。這個(gè)“卷積-ReLU-池化”的疊加過程就是CNN在垃圾識(shí)別場(chǎng)景下最有價(jià)值的特性它不需要人為設(shè)計(jì)顏色直方圖或紋理算子而是讓數(shù)據(jù)自己決定用哪些特征去區(qū)分紙殼和塑料瓶。用Python驗(yàn)證網(wǎng)絡(luò)到底學(xué)到了什么最直接的辦法是把第一層卷積核畫出來。以下是可視化第一個(gè)卷積層權(quán)重的小腳本import torch import matplotlib.pyplot as plt def visualize_first_layer(model): conv1 model.conv1.weight.data # 形狀 [64, 3, 7, 7] kernel_grid conv1[:16] # 只看前16個(gè)卷積核 fig, axes plt.subplots(4, 4, figsize(8, 8)) for i, ax in enumerate(axes.flat): kernel kernel_grid[i].permute(1, 2, 0).numpy() # 歸一化到 0~255 區(qū)間不然圖像太暗看不清 kernel (kernel - kernel.min()) / (kernel.max() - kernel.min()) ax.imshow(kernel) ax.axis(off) plt.savefig(conv1_filters.png, dpi120)這段代碼的邏輯不復(fù)雜model.conv1.weight.data拿到的是第一個(gè)卷積層的權(quán)重張量形狀是[輸出通道數(shù), 輸入通道數(shù), 核高, 核寬]對(duì)RGB圖片來說輸入通道數(shù)是3所以每個(gè)卷積核本身是一張三通道小圖。permute(1, 2, 0)把維度從[C, H, W]整成[H, W, C]才能被matplotlib正常顯示。參數(shù)上只取了前16個(gè)卷積核目的是拼成4x4網(wǎng)格時(shí)每張圖還能看清紋路。如果畫出來全是均勻噪點(diǎn)說明網(wǎng)絡(luò)還沒訓(xùn)練或者訓(xùn)練崩了如果能看到清晰的邊緣、顏色條紋說明底層的特征提取器已經(jīng)成立。2.2 垃圾識(shí)別這類任務(wù)為什么最終都會(huì)落到CNN做課程設(shè)計(jì)時(shí)最常見的替代方案有兩個(gè)一是傳統(tǒng)的HOG特征加SVM分類器二是直接用Transformer結(jié)構(gòu)。前者的問題是特征完全靠人工調(diào)瓶子的高光、紙張的褶皺這些外觀在垃圾場(chǎng)景里變化太大HOG描述子很難穩(wěn)定描述“透明玻璃瓶”和“碎玻璃片”的共性后者在幾千張圖片的課設(shè)數(shù)據(jù)集上容易欠擬合Transformer沒有卷積那種先天的局部歸納偏置訓(xùn)練樣本不夠時(shí)注意力機(jī)制學(xué)到的往往是噪聲。CNN的平移等變性是垃圾識(shí)別最需要的性質(zhì)。一個(gè)易拉罐出現(xiàn)在畫面左上角還是右下角卷積網(wǎng)絡(luò)都能給出類似響應(yīng)因?yàn)榫矸e核在整張圖上滑動(dòng)不依賴物體位置而塑料瓶和紙杯在自然場(chǎng)景里往往就是隨手扔在地上的姿態(tài)和位置千差萬別這個(gè)特性直接決定了識(shí)別能不能穩(wěn)定。另外CNN在小數(shù)據(jù)集上的梯度回傳更平穩(wěn)ResNet這類結(jié)構(gòu)還帶了短路連接訓(xùn)練時(shí)不容易出現(xiàn)梯度消失對(duì)課設(shè)這種“機(jī)器配置一般、數(shù)據(jù)量不大”的邊界條件非常寬容。當(dāng)然CNN也有限制。它本質(zhì)上是在學(xué)習(xí)紋理和形狀的統(tǒng)計(jì)關(guān)聯(lián)所以當(dāng)玻璃和透明塑料放在一起、光線又很雜時(shí)模型會(huì)把“高光區(qū)域”當(dāng)作決策依據(jù)這就容易出現(xiàn)誤分類。這個(gè)短板不是網(wǎng)絡(luò)結(jié)構(gòu)能單獨(dú)解決的要放到數(shù)據(jù)增強(qiáng)和類別平衡那一層去處理。2.3 用forward hook查看中間特征圖判斷模型有沒有走偏訓(xùn)練中途想確認(rèn)網(wǎng)絡(luò)到底在關(guān)注垃圾的哪些部位可以給某一層掛一個(gè)前向鉤子把特征圖抽出來feature_map {} def hook_fn(name): def fn(module, input, output): feature_map[name] output.detach() return fn model.layer1[0].conv1.register_forward_hook(hook_fn(layer1)) model.layer4[2].conv2.register_forward_hook(hook_fn(layer4)) with torch.no_grad(): output model(torch.randn(1, 3, 224, 224)) print(feature_map[layer1].shape) # 期望 [1, 64, 112, 112] print(feature_map[layer4].shape) # 期望 [1, 256, 14, 14]register_forward_hook是PyTorch提供的內(nèi)置接口鉤子函數(shù)會(huì)在前向傳播經(jīng)過該模塊時(shí)被調(diào)用input是輸入張量output是輸出張量。這里layer1[0].conv1是ResNet第一個(gè)殘差塊里的第一個(gè)卷積層輸出分辨率還是112x112適合觀察淺層特征layer4[2].conv2靠近輸出特征圖縮小到14x14語義更抽象。打印shape時(shí)注意淺層特征圖上單個(gè)像素對(duì)應(yīng)原圖很小的一個(gè)感受野所以看到一片白色或黑色區(qū)域不要慌用熱力圖疊加到原圖上更直觀。把第2章的這些手段串起來你就能說清楚“模型為什么把這張塑料瓶圖片分到了玻璃那一類”這在答辯中非常加分。3. 數(shù)據(jù)集整理與預(yù)處理從解壓目錄到可訓(xùn)練狀態(tài)3.1 數(shù)據(jù)目錄約定與訓(xùn)練/驗(yàn)證劃分腳本課程設(shè)計(jì)的垃圾數(shù)據(jù)集通常有兩種組織方式一種是按類別建子目錄比如dataset/glass/xxx.jpg、dataset/plastic/yyy.jpg另一種是給一個(gè)CSV表格每行記錄圖片路徑和類別標(biāo)簽。前一種直接用torchvision.datasets.ImageFolder就能讀取后一種需要自己寫Dataset類。無論哪種第一步都要把原始數(shù)據(jù)拆成訓(xùn)練集和驗(yàn)證集保證模型在沒見過的照片上評(píng)估。下面這段腳本把“原始圖片目錄”按8:2比例劃分到train和val兩個(gè)目錄下import os import random import shutil random.seed(42) # 固定隨機(jī)種子讓結(jié)果可復(fù)現(xiàn) src_dir dataset_raw # 原始數(shù)據(jù)內(nèi)部按類別分子目錄 out_dir dataset_split for class_name in os.listdir(src_dir): class_path os.path.join(src_dir, class_name) if not os.path.isdir(class_path): continue images [f for f in os.listdir(class_path) if f.lower().endswith((.jpg, .jpeg, .png))] random.shuffle(images) val_count int(len(images) * 0.2) for split, subset in ((train, images[val_count:]), (val, images[:val_count])): dest os.path.join(out_dir, split, class_name) os.makedirs(dest, exist_okTrue) for img in subset: shutil.copy(os.path.join(class_path, img), os.path.join(dest, img)) print(f{class_name}: 總數(shù){len(images)}驗(yàn)證集{val_count}張)關(guān)鍵參數(shù)說明random.seed(42)不只是為了“可復(fù)現(xiàn)”這個(gè)說法而是讓你在多次對(duì)比實(shí)驗(yàn)時(shí)驗(yàn)證集始終是同一批圖片否則你很難判斷精度提升來自模型改動(dòng)還是數(shù)據(jù)劃分差異。劃分比例用8:2是因?yàn)檎n設(shè)數(shù)據(jù)集通常只有幾百到幾千張驗(yàn)證集太小的話精度指標(biāo)抖動(dòng)會(huì)非常明顯。注意這里用的是shutil.copy而不是move原始數(shù)據(jù)盡量保留備份后面要重新劃分比例或做增強(qiáng)對(duì)比時(shí)還能再用。如果你拿到的是CSV標(biāo)注的數(shù)據(jù)集就在這一步把CSV按行索引shuffle后再寫回兩個(gè)新CSV邏輯一樣。3.2 transform組合與歸一化參數(shù)小數(shù)據(jù)集怎么調(diào)數(shù)據(jù)增強(qiáng)是垃圾識(shí)別課設(shè)里最影響最終精度的環(huán)節(jié)。一個(gè)常用但合理的訓(xùn)練集transform是這樣from torchvision import transforms train_transform transforms.Compose([ transforms.RandomResizedCrop(224, scale(0.6, 1.0)), transforms.RandomHorizontalFlip(p0.5), transforms.RandomRotation(15), # 隨機(jī)轉(zhuǎn)15度模擬隨手扔在地上的姿態(tài) transforms.ColorJitter(brightness0.2, contrast0.2, saturation0.2), transforms.ToTensor(), transforms.Normalize(mean[0.485, 0.456, 0.406], std[0.229, 0.224, 0.225]) ]) val_transform transforms.Compose([ transforms.Resize(256), transforms.CenterCrop(224), transforms.ToTensor(), transforms.Normalize(mean[0.485, 0.456, 0.406], std[0.229, 0.224, 0.225]) ])訓(xùn)練集和驗(yàn)證集transform必須分開寫這是新手最容易忽略的坑。訓(xùn)練時(shí)RandomResizedCrop會(huì)隨機(jī)裁剪一塊區(qū)域再縮放成224x224scale(0.6, 1.0)的意思是裁剪區(qū)域占原圖面積的60%到100%低于0.6會(huì)導(dǎo)致垃圾主體被裁掉一半網(wǎng)絡(luò)學(xué)到的全是殘片特征。ColorJitter的三個(gè)參數(shù)用來模擬不同光照下的垃圾但brightness不宜超過0.3因?yàn)槔R(shí)別里顏色是有效特征——綠色玻璃瓶和棕色玻璃瓶本身就是兩個(gè)視覺類別把顏色抖動(dòng)調(diào)太大反而制造噪聲。驗(yàn)證集不加入任何隨機(jī)變換只用Resize(256)加CenterCrop(224)這是為了保證評(píng)估時(shí)每次輸入同一位置的圖像內(nèi)容精度指標(biāo)才可比較。均值標(biāo)準(zhǔn)差用的是ImageNet的標(biāo)準(zhǔn)值如果你的模型是加載ImageNet預(yù)訓(xùn)練權(quán)重這里保持一致能讓特征分布直接對(duì)接。3.3 自定義Dataset加載CSV標(biāo)注并做類別映射遇到CSV格式的數(shù)據(jù)集時(shí)寫一個(gè)自定義Dataset是標(biāo)準(zhǔn)做法。以下代碼把CSV里的相對(duì)路徑和標(biāo)簽轉(zhuǎn)換成模型輸入所需的張量對(duì)import pandas as pd import torch from torch.utils.data import Dataset from PIL import Image class GarbageCSVDataset(Dataset): def __init__(self, csv_path, root_dir, transformNone): self.data pd.read_csv(csv_path) # 列img_path, label self.root_dir root_dir self.transform transform self.classes sorted(self.data[label].unique()) def __len__(self): return len(self.data) def __getitem__(self, idx): row self.data.iloc[idx] img Image.open(f{self.root_dir}/{row[img_path]}).convert(RGB) if self.transform: img self.transform(img) label torch.tensor(self.classes.index(row[label])) return img, label__getitem__返回兩個(gè)東西一個(gè)是經(jīng)過transform的圖片張量一個(gè)是整型標(biāo)簽。這里self.classes用sorted排序讓類別索引在多次運(yùn)行中保持一致避免訓(xùn)練完保存模型、下次推理時(shí)發(fā)現(xiàn)“玻璃”的索引變了。convert(RGB)這行很容易漏但很重要——數(shù)據(jù)集里的圖片如果本身就是灰度圖PIL會(huì)返回L模式單通道圖直接進(jìn)卷積網(wǎng)絡(luò)通道數(shù)對(duì)不上.convert()強(qiáng)制統(tǒng)一成三通道。標(biāo)簽這里直接返回Tensor而不是整數(shù)是為了方便后續(xù)直接喂給CrossEntropyLoss少一次類型轉(zhuǎn)換。數(shù)據(jù)量很小的時(shí)候pd.read_csv是瓶頸但課設(shè)規(guī)模無所謂不需要上LMDB或TFRecord那套工業(yè)方案。4. 模型搭建與訓(xùn)練從遷移學(xué)習(xí)到完整訓(xùn)練循環(huán)4.1 為什么用ResNet18遷移而不是從零訓(xùn)練自定義CNN垃圾識(shí)別數(shù)據(jù)集的規(guī)模決定了模型選擇。課設(shè)數(shù)據(jù)通常幾百到兩三千張從零訓(xùn)練一個(gè)七層自定義CNN參數(shù)數(shù)量輕松超過百萬這點(diǎn)數(shù)據(jù)根本不夠?qū)W出穩(wěn)定的卷積核。更穩(wěn)的做法是加載在ImageNet上預(yù)訓(xùn)練過的ResNet18把最后一層全連接替換成垃圾類別數(shù)。預(yù)訓(xùn)練權(quán)重里的淺層卷積核已經(jīng)能識(shí)別通用邊緣紋理你只需要讓網(wǎng)絡(luò)在垃圾數(shù)據(jù)上微調(diào)高層語義。ResNet18相比ResNet50參數(shù)量小四倍左右在課設(shè)數(shù)據(jù)集上過擬合的風(fēng)險(xiǎn)低很多。單卡訓(xùn)練時(shí)ResNet18用224x224輸入、batch size 32顯存占用大約2.5GB集成顯卡也能跑。如果用的是自建CNN效果往往比遷移差是因?yàn)樽越ńY(jié)構(gòu)沒有預(yù)訓(xùn)練先驗(yàn)這是結(jié)構(gòu)設(shè)計(jì)彌補(bǔ)不了的不是網(wǎng)絡(luò)深度問題。4.2 訓(xùn)練循環(huán)代碼與超參數(shù)配置搭建模型和訓(xùn)練主循環(huán)的代碼本身不算長(zhǎng)難點(diǎn)在超參數(shù)配合。以下代碼是課設(shè)場(chǎng)景下驗(yàn)證過比較穩(wěn)的配置import torch import torch.nn as nn from torch.optim import lr_scheduler from torchvision import models model models.resnet18(weightsmodels.ResNet18_Weights.IMAGENET1K_V1) num_classes 6 model.fc nn.Linear(model.fc.in_features, num_classes) model model.cuda() criterion nn.CrossEntropyLoss() optimizer torch.optim.SGD(model.parameters(), lr0.001, momentum0.9, weight_decay1e-4) scheduler lr_scheduler.CosineAnnealingLR(optimizer, T_max30, eta_min1e-6) batch_size 32 epochs 30 for epoch in range(epochs): model.train() running_loss 0.0 correct 0 for images, labels in train_loader: images, labels images.cuda(), labels.cuda() outputs model(images) loss criterion(outputs, labels) optimizer.zero_grad() loss.backward() optimizer.step() running_loss loss.item() * images.size(0) _, preds torch.max(outputs, 1) correct (preds labels).sum().item() scheduler.step() print(fEpoch {epoch1}: loss{running_loss/len(train_loader.dataset):.4f}, facc{correct/len(train_loader.dataset):.4f})三個(gè)核心參數(shù)值得展開說。第一優(yōu)化器用的是SGD加momentum0.9而不是直接在遷移任務(wù)上默認(rèn)用AdamAdam收斂快但泛化性能通常略遜SGD在課設(shè)這種小數(shù)據(jù)上差距更明顯。weight_decay1e-4是L2正則能壓住過擬合別加到1e-2那會(huì)把權(quán)重約束得過死loss下不去。第二學(xué)習(xí)率從0.001開始配合CosineAnnealingLR每輪把lr往下降訓(xùn)練后期用一個(gè)更細(xì)的步長(zhǎng)在局部最小值附近精調(diào)。T_max30要和epochs一致如果epochs改成50而T_max不跟著改余弦周期就對(duì)不上。第三全連接層替換成num_classes維度后模型其余部分的參數(shù)仍然沿用ImageNet預(yù)訓(xùn)練值整個(gè)模型一起參與訓(xùn)練不需要手動(dòng)凍結(jié)淺層。loss.item() * images.size(0)這里乘的是batch張數(shù)后面除以len(train_loader.dataset)時(shí)才是每個(gè)樣本的平均loss不是batch維度的平均。4.3 checkpoint保存策略不只存模型還要存優(yōu)化器訓(xùn)練到二十輪左右loss會(huì)變得平滑這時(shí)候要做的是保存“可能繼續(xù)訓(xùn)練的狀態(tài)”而不僅僅是推理用的權(quán)重。以下是保存和恢復(fù)的兩種寫法# 推理時(shí)夠了只存模型權(quán)重 torch.save({model_state: model.state_dict(), num_classes: num_classes}, garbage_model.pt) # 中斷恢復(fù)時(shí)夠了把優(yōu)化器和epoch也存下來 torch.save({model_state: model.state_dict(), optimizer_state: optimizer.state_dict(), epoch: epoch, loss: running_loss}, garbage_model_checkpoint.pt)只保存state_dict而不保存整個(gè)model對(duì)象是因?yàn)閙odel對(duì)象包含網(wǎng)絡(luò)結(jié)構(gòu)定義反序列化時(shí)對(duì)PyTorch版本和代碼結(jié)構(gòu)敏感只存權(quán)重推理時(shí)先用代碼重建ResNet18再load_state_dict兼容性最好。把num_classes一并存進(jìn)字典是為了防止你換了數(shù)據(jù)集類別數(shù)后加載舊權(quán)重時(shí)報(bào)尺寸不匹配。第一行代碼保存的權(quán)重用于最終演示和答辯第二行專門用于訓(xùn)練中途斷電或調(diào)參后回退load時(shí)用optimizer.load_state_dict(checkpoint[optimizer_state])恢復(fù)學(xué)習(xí)率調(diào)度器也會(huì)跟著回到正確位置。5. 避坑記錄垃圾識(shí)別訓(xùn)練與部署中的典型翻車現(xiàn)場(chǎng)5.1 loss一直在降但驗(yàn)證集精度卡在30%現(xiàn)象訓(xùn)練loss從0.8降到0.2曲線很正常但每輪驗(yàn)證精度始終在30%左右跟隨機(jī)猜差不多。原因數(shù)據(jù)增強(qiáng)里的RandomResizedCrop在裁剪時(shí)把垃圾主體切沒了網(wǎng)絡(luò)一直在學(xué)垃圾周圍的背景地板也可能是驗(yàn)證集圖片和訓(xùn)練集來自同一場(chǎng)景模型學(xué)到的是場(chǎng)景而不是垃圾本身。解決先關(guān)掉RandomResizedCrop改用Resize(256)CenterCrop(224)做一輪基準(zhǔn)實(shí)驗(yàn)確認(rèn)精度能上去后再逐步加增強(qiáng)如果關(guān)掉后精度就正常把scale下限從0.6提高到0.8限制裁剪范圍。5.2 訓(xùn)練時(shí)正常推理單張圖片全預(yù)測(cè)成同一個(gè)類現(xiàn)象訓(xùn)練和驗(yàn)證精度都達(dá)到90%但拿手機(jī)拍一張塑料瓶模型輸出“玻璃”置信度99%換紙殼還是“玻璃”。原因推理時(shí)忘了做和訓(xùn)練一樣的預(yù)處理。訓(xùn)練時(shí)用了Normalize(mean/std)推理代碼里如果只做ToTensor()輸入分布完全偏離模型期望——訓(xùn)練數(shù)據(jù)每個(gè)通道的像素均值接近0.5而你的輸入是0到1的原始像素值。解決把驗(yàn)證集的val_transform原封不動(dòng)用到推理管道前后保持一致不要手工再寫一遍。5.3 廚余垃圾樣本占一半其他類別只有幾十張現(xiàn)象總精度看起來有85%但看每個(gè)類別的召回率廚余垃圾接近100%金屬只有20%。原因類別不平衡模型只需把所有圖片都判成廚余就能拿到低loss。解決給CrossEntropyLoss傳一個(gè)weight參數(shù)類別樣本越少權(quán)重越大讓少數(shù)類別的錯(cuò)誤得到更高的懲罰。計(jì)算方式是統(tǒng)計(jì)每類樣本數(shù)取倒數(shù)后再歸一化以下是具體代碼import torch import torch.nn as nn class_counts torch.tensor([800, 120, 90, 300, 200, 60], dtypetorch.float32) total class_counts.sum() weights total / (class_counts * len(class_counts)) weights weights / weights.sum() * len(class_counts) # 歸一化回均值1 criterion nn.CrossEntropyLoss(weightweights.cuda())這里total / (class_counts * len(class_counts))是給少數(shù)類更高權(quán)重的經(jīng)典做法。設(shè)權(quán)重均值被歸一化回1是為了避免整體loss數(shù)值被放大后需要重新調(diào)學(xué)習(xí)率。注意class_counts的順序必須和你的類別索引順序一致而這個(gè)順序就是自定義Dataset里classes排序后的順序兩處千萬別錯(cuò)位。5.4 加載保存的模型報(bào)尺寸不匹配現(xiàn)象load_state_dict報(bào)錯(cuò)提示fc.weight的大小和預(yù)期不符或者某個(gè)block的參數(shù)缺失。原因模型保存時(shí)用的是num_classes6現(xiàn)在重建的模型類別數(shù)改成了8全連接層維度對(duì)不上另一種常見原因是讀權(quán)重時(shí)用了torch.load(path)直接加載整個(gè)文件而不是先建模型再load。解決檢查model.fc.out_features是否等于數(shù)據(jù)集實(shí)際類別數(shù)如果保存時(shí)還存了num_classes字段加載時(shí)先讀出來再做判斷。代碼寫法上統(tǒng)一用新建模型加load_state_dict的方式避免依賴pickle反序列化帶來的版本兼容問題。5.5 顯存不夠batch size只能設(shè)為8訓(xùn)練慢還抖動(dòng)現(xiàn)象batch size設(shè)32直接爆顯存改成8以后能跑但loss曲線震蕩很厲害。原因除模型本身外DataLoader的num_workers和pin_memory也會(huì)占額外顯存batch size過小時(shí)每個(gè)batch計(jì)算出的梯度方差大優(yōu)化器更新方向不穩(wěn)定。解決優(yōu)先檢查圖片分辨率是不是真需要224如果不是降到160×160能省約一半顯存其次用torch.cuda.amp混合精度訓(xùn)練把a(bǔ)utocast包住前向傳播和loss計(jì)算顯存占用能再降三分之一并且課設(shè)數(shù)據(jù)量小混合精度對(duì)精度幾乎沒有影響。6. 讓“黑匣子”開口說話用Grad-CAM和混淆矩陣驗(yàn)證模型真的學(xué)會(huì)了課程設(shè)計(jì)答辯時(shí)最怕的問題是“你怎么證明模型是學(xué)到了垃圾特征而不是記性背下了訓(xùn)練集”。兩個(gè)工具能直接回答這個(gè)問題Grad-CAM熱力圖展示模型決策時(shí)看了圖片的哪個(gè)區(qū)域混淆矩陣列出錯(cuò)誤到底發(fā)生在哪些類別之間。Grad-CAM的思路并不復(fù)雜把最后一個(gè)卷積層的輸出特征圖按類別梯度做加權(quán)求和得到一張和輸入圖片同尺寸的熱力圖熱力高的區(qū)域就是模型做出判斷的主要依據(jù)。用PyTorch實(shí)現(xiàn)時(shí)需要在前向時(shí)記錄目標(biāo)層輸出反向時(shí)記錄目標(biāo)層的梯度from torch.autograd import Function # 記錄最后一層卷積的輸出和梯度 features {} def save_feature(module, input, output): features[output] output def save_grad(module, grad_input, grad_output): features[grad] grad_output[0] target_layer model.layer4[2].conv2 target_layer.register_forward_hook(save_feature) target_layer.register_backward_hook(save_grad)拿到特征圖和梯度后先對(duì)梯度做空間維度的平均得到每個(gè)通道的權(quán)重再對(duì)特征圖做加權(quán)求和最后套R(shí)eLU只保留正響應(yīng)區(qū)域weights features[grad].mean(dim(2, 3), keepdimTrue) cam (weights * features[output]).sum(dim1, keepdimTrue) cam torch.relu(cam).squeeze().detach().cpu().numpy() # 插值回224x224并歸一化到0~255 from torch.nn.functional import interpolate cam interpolate(torch.tensor(cam).unsqueeze(0).unsqueeze(0), size(224, 224), modebilinear).squeeze().numpy()最后把熱力圖疊加到原圖上alpha設(shè)為0.4左右超過0.6會(huì)蓋住垃圾本身的細(xì)節(jié)看不清模型關(guān)注的是瓶蓋還是標(biāo)簽。我自己的習(xí)慣是會(huì)同時(shí)跑一組“錯(cuò)誤分類”的圖片把預(yù)測(cè)錯(cuò)誤和預(yù)測(cè)正確的熱力圖并排貼到答辯PPT里——大概率你會(huì)發(fā)現(xiàn)模型對(duì)錯(cuò)誤樣本的關(guān)注區(qū)域也和正確樣本大不相同這說明它并不是單純?cè)诓隆;煜仃嚨慕庾x重點(diǎn)不要放在“整體精度多少”而要看哪些類別互混。兩張紙類和紙板類如果經(jīng)常被弄混說明兩者在紋理特征上接近解決方案是增加這兩個(gè)類別的樣本數(shù)量或者手動(dòng)去除訓(xùn)練集里標(biāo)注錯(cuò)誤的圖片——課設(shè)數(shù)據(jù)集里標(biāo)注錯(cuò)誤的情況其實(shí)比想象的常見。按上述操作做完答辯時(shí)說“我通過熱力圖發(fā)現(xiàn)模型主要依據(jù)瓶身紋理分類并通過混淆矩陣定位到紙類和紙板類的混淆針對(duì)性補(bǔ)充了100張訓(xùn)練圖片”這句話比報(bào)一個(gè)95%的精度更有說服力。做這個(gè)課設(shè)項(xiàng)目的最后一段路我踩過最深的坑就是“訓(xùn)練時(shí)改了一堆增強(qiáng)參數(shù)但沒有記錄每次改了什么”。從第3章開始每次實(shí)驗(yàn)把transform配置、學(xué)習(xí)率、epoch數(shù)、驗(yàn)證精度一行行記進(jìn)一個(gè)TXT文件等你回頭調(diào)參或者寫論文時(shí)這套記錄就是最快的后悔藥。希望這篇筆記幫你在答辯前少走幾個(gè)彎路祝順利。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
五月天堂色色| 欧洲亚洲午夜| 99re热在线视频| 开心婷婷五月| 类似婷婷激情综合网站| 深爱婷婷丁香五月激情| 日韩小视频在线99| 26uuu.| 婷婷五月娱乐在线| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 丁香九色不卡aaa| 五月天综合网| 色综合综合色| 午夜成人网站在线观看| 婷婷五月天国产在线播放| 他改变了拜占庭| 久久久九九九 99| 天天骑天天操| 五月丁香综合| 日本一级特黄大片AAAAA级| 五月的婷婷六月丁香| 日韩不卡DvD| 天天插,天天射| 狠狠艹狠狠艹| www.天天色综合| 婷婷丁香色性爱| 日本乱子人伦在线视频| 欧美美女视频| 国产国产乱老熟女视频网站97| 亚洲第一综合| 天天射影院| 色综合日日| 日韩狠狠色婷婷| 超碰免费人人| 日本熟女三区| 婷婷激情鹿城五月天| 66精品国产成人| 色婷av| 国产黄色在线| 超碰自拍天堂| 成人版视频在线观看| 五月婷三级片| 色婷婷女优有码五月亭| 激情宗合 激情宗合| 色图亚洲91| 久久综合热17c| 婷婷激情伍月网| 在线成人网站| 99 频99热国里只有精品| 日本久久人人| 欧美久久五月婷婷| 五月丁香操亭亭网| 99爽视频| 91久久久久久| 七七色综合| 亚洲精级| 91婷婷色五月| 激情五月丁香色婷婷| 亚洲第一色色色色| 天天操夜夜橾| 久久婷婷激情| 久久99热网| 亚洲日本韩国| www.日本91| 国産精品| 五月丁香六月激情综合在线| 思思热在线| 久草狼人| 五月婷婷影视| 色色色com| 欧美五月婷婷| 裸睡玩奶头(高H)| 精品国产AV色一区二区深夜久久| 成人AV网站在线| 77777亚洲午夜久久| 激情图片久久| 丁香伊人综合| www.精品99| 99爱这里只有精品免费视频| 日本成人内射| 淫视馆aV二区一区| 99视频这里只有精品10| 99在线观看精品视频| 国产成人精品一区二三区熟女在线| 国产AV一区二区三区日韩| 国产精品18久久久| 色综合久| 激情丁香五月婷婷| 90色免费视频| 那里有AV网址| 色婷婷激情四射视频| 亚洲精品乱码久久久久99| 狠狠va| 丁婷婷五月天在线播放| 亚洲无AV在线中文字幕| 99综合自拍| 激情五月网站| www.日日夜夜.com| 青青日韩| 欧美综合激情五月天| 99只有精品| 婷婷成人视频| 人人干99| 亚洲色另类| 婷婷色导航| 4399精品一区二区| 夜夜操少妇| 婷婷丁香五月综合免费视频百花| 婷婷五月在线影院| 亚洲婷婷五月天综合| 性色五月天| 大地9中文在线观看免费高清| 婷婷伊人五月丁香天堂网| 婷婷丁香五月天综合AV| 久热婷婷| 激情无码网| 极品少妇XXXX精品少妇偷拍| 婷婷综合精品| www.婷婷,com| 中文字幕网站在线观看| 九九热视频精品| 天天日夜夜爽| 色色99色色| 色噜噜97视频在线观看| 人妖色AV色综合| 26UUU精品一区二区Com| 国产精品涩涩涩视频网站| 97色啪| 一本道综合网| 91 欧美| 日本99热| 婷婷激情综合| 99热思思在线观看| 被强行糟蹋的女人A片| 天堂综合久久| 综合久久久| 久草婷妨| 丁香六月久久| 亚洲婷婷丁香| 久久九九99| 亚洲第一成人无码A片| 五月天婷婷丁香社区| 精品人妻午夜一区二区三区四区| 九九一综合精品| 亚洲五月天激情| 182TV大香蕉| 五月丁香六月婷婷开心网| 无码激情AAAAA片-区区| 五月天激情婷婷丁香| 91久热| 啪啪一区| 日本色色影片| 99亚洲无码| 五月停停99| 丁香五月激情图片| 天堂综合久久| a在线观看| 亭亭五月丁香综合欧美| 99国产精品久久久久久久久久久| 天天操天天爽天天爱| 丁香五月Av| 99re最新地址视频| 天堂成人A片永久免费网站| 99re在线观看视频| Www.se.久久| 99热这里只有免费精品| 久久色天堂| 五月伊人网| 91色五月| 国产视频色色色色色色色 | 五月天色图| 五月天综合久久| 99视频这里有精品| 夜夜做夜夜愛| www.精品99| 99精品视频免费观看| 在线国产精品色| 色色激情| xxx.色婷婷| 久久99精品久久久久久三级| av色色国产| 久久小视频免费| 无遮挡国产高潮视频免费观看| 能看的AV网站| 97干在线| 九月婷婷在线观看| 久久99热这里只频精品6学生| 午夜青草资源| www.久久久久久久| 五月婷婷很很色| 婷婷狠狠色| 婷婷精品免费久久| 九九久99免费视频| 婷婷五月天网| 婷婷射图| 欧美va在线| 九色七七| 亲子乱AV-区二区三区| 天天干天天爽| 热的无码综合视频| 激情综合啪啪啪| 日本婷婷激情四射中文字幕在线观看| 一起草Av| 直接看的AV| 激情五月综合色| 色色色九九九五月婷婷| 操骚货在线| 婷婷色正月| 五月婷成人| OYIWbGcPu8H| 精品久热| 久久久婷婷婷| 亚洲激情综| er99免费视频在线| 成人片久久网站| 71在线精品视频一区| 天天干电影| 午夜丁香婷婷| 亚洲人人操BD| 天天干天天 亚洲| 97视频91| 色色五月婷婷久久| 五月丁香久久婷| 欧美在线视频99| 五月丁香影院| 深爱五月激情五月| 婷婷亚洲欧美丁香五月| 我要看激情五月天| 99久久综合精品五月天| 五月色无码| 中文字幕在线免费| 99热青青草| 亚洲 成人 电影av在线观看| 日本www免费九九| 九九在线视频| 91chinese在线| 九九热re99re6在线精品| 五月婷婷丁香六月在线| 天天夜天天色天天| 五月天俺去也| 五月成人天| 五月噜噜| 九九无码视屏| 日本色色视频| nvrentiantang av| 天天操B| 丁香五月天激情视频| 天天拍久久| 色五月丁香总合网| 激情5月婷婷狠狠干| 99精品在线播放| 中文字幕AV网址| 日本三级网址| 99热e| BT综合在线视频观看| 亚洲热久| 超碰成人电影| 天天干天天日天天插| 99热精在线九九久久保| 婷婷五月精品在线| 婷婷五月天激情网站| 亚洲中文乱字字幕线在永久| 91色情播放| 狠狠色综合五月| www.成人婷婷综合| 9久国产| 99ri在线视频| 国产成人精品一区二三区熟女在线| 天天操夜夜操| 91久女| 99综合入口| 婷婷五月六月| 激情视频网址| 91干婷婷| 秋霞A V毛片| 亚洲艹网| 五月丁香婷婷成人综合网| 久久婷婷五月综合色和| 婷婷久久五月丁香| 人妻丰满精品一区二区A片| 日韩一级一片内射视频4K| 久99久视频精品| 色婷小说| 天天做天天要天天爱| 天天天天天天天干| 综合久久99| 欧美人人操| 丁香在线视频| 欧美婷婷九月| 色在线五月天免费| 超碰网站在线观看| 少妇被躁爽到高潮无码文| 丁香婷婷五月综合欧美另类| 激情综合无码| 色婷婷色婷婷五月| 亚洲天堂久久| 六月撸婷婷| 婷婷五月天视| 99爱视频| 91碰免费视频| 天天色天天搡| 第五色婷婷| 丁香婷婷色五月| 亚洲视频在线观看| 亚洲另类电影| 国产va视频| 色五月激情五月| www.99色在线| 久久久久综合激动五月天| 亚洲色频| av操逼网| 久久6这里只有精品| 99热免| 色五月丁香五月| 婷婷色色欧美综合网| 67194成I人在线观看线路1| 色老久久| 99∨VTV| 久9热视频在线| 4399亚洲视频| 五月婷婷天| 亚洲操b| 色色丁香色五月| 伊人大香五月天| 综合XX网| 九九99男女视频在线观看| 天天在线久久综合| 超碰成人免费| 入口五月婷婷六月香| 婷婷五月激情五月激情| 亚洲AV影片在线观看| 91日本在线观看| 激情五月天婷婷五月天| 婷婷五月丁香99| 思思热闹这里只有精品| 色五月婷婷综合| 色情成人五月天| 国产va在线视频| 激情五月婷婷综合| 久久婷婷六月综合| 99热这里只有精品4| 丁香五月久久社区| 第四色五月天| 色婷在线视频| 色五月婷婷九月| 色亭亭丁香五月天| 夜夜躁爽日| 婷婷丁香激情五月天色色色| 国产在线中文字幕| 玖玖在线| 欧美日韩91| 五月婷婷深深爱| 综合成人小说婷婷| 色婷婷狠狠久久YY| 国产熟女一区二区三区五月婷| 久久爱综合| 婷婷五月天免费| 成 人片 黄 色 大 片| 久久精品爱爱| 午夜天堂一区人妻| 玖玖福利视频资源| 狠狠色噜噜色狠狠狠综合色| 久久这里有精品| 99在线综合视频| 色五月第四色| 国产成人AV在线播放| 色香欲综合| 国产操逼网站| 五月丁香无码| 中文字幕成人| 婷婷深爱五月丁香网| 丁香五月婷婷色综合| anquye五月| 精品99*| 色欲色香伊人| 久操大| 99操逼| 99热免费精品热久久66| 色综合激情图区| 激情综合色婷婷六月天| 4399亚洲视频| 国产精品天天狠天天看| 思思热视频在线观看| 五月丁香少妇| 色婷婷狠狠18禁| 五月丁香六月合| 奇米影视777在线_在线观看午夜_h小视频在线观看_岛国大片 | 午夜成人网站在线观看| 在线99热| 六月丁香五月天| 成人中文字幕在线| 成人午夜天| 五月婷婷自拍| 五月天婷婷黄色视频| 无码中文一区二区三区| 99热在线网站| 婷婷丁香18| 五月天五月婷五月激情网| 97偷拍在线视频| 色综合九九| 激情涩涩网| 狠狠色综合久久久久| 九九热婷婷| 色七色九九| 亚洲丁香婷婷| 99操视频| 色私五月婷婷| 婷婷五月天堂一本在线| 色婷婷XXXXX| 婷婷的五月天另类视频| 在线日韩视频| 日本婷色| 色婷五月| 亚洲 综合中文| 久久婷综| 五月天婷婷久久| 五月天五月天激情网| 色色色999| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 婷婷在线播放| 97亚洲婷婷| 色婷婷色五月色丁香| 99热99| 国产成人精品123区免费视频| 五月丁香六月天| 丁香六月中文| 大香蕉520| 碰人人97| 狠狠操婷婷| 5月激情天| 久久久久久18| 九色激情| 曰本久久女| 五月丁香六月成人| 91色久| 成年人丁香五月| 激情五月丁香激情综合网| 亚洲99综合| 大香人妻| 偷拍九九热| 天天插天天插| 91综合在线| 色狠狠综合| 天天综合 99久久婷婷| 97操在线| 1级欧美日韩| 强辱丰满人妻HD中文字幕| 久久婷婷影院| 亚洲AV成人在线| 99ri视频在线播放| 婷五月天| 99综合网| 伊人婷婷大香蕉| 婷婷九月丁香| 女人天堂久久| 97影院一级片| 色婷婷亚洲婷婷| 精品久久久999| 69色婷婷| 综合色情网| 99乱视频| 日本一道久久| 成人版视频在线观看| 婷婷五月六| 日日做天天操夜夜爽| 婷婷五月天色丁香| 婷婷丁香五另类网站| 久久免费精品小视频| 亚洲视频国产一区| 99干视频| 热99这里只是精品| 華人性愛AV在線| wWW九九在线播放| 亚洲精品中文字幕成人片| 男女激情久久| 美女伊人久久| www.91色| 亚洲天天免费| 五月婷婷婷自由综合| 久久这里只有国产精品视频| 亚洲最大五月六月丁香婷婷| 97 A I色色| 色色亚洲| 丁香五月天啪啪| 亚洲国产99| 国产日韩欧美| 大香伊人婷婷影院| 丁香婷婷五月六月久久| 香蕉婷婷色五月| 激情网狠狠干| 天天天天色天天天天天干| 丁香五月天堂| 色婷婷丁香五月天| 大陆极品少妇内射AAAAAA| 啪啪日本欧美| 激情丁香九九五月综合网| 激情性爱五月| 亚洲AV中文在线| 99久热这里有精品| 久久免费视频62| 九九热精品| 婷婷五月天亚洲| 国产精品久久久久久亚洲毛片| 91无码色色| 久久九精品| 亚洲午夜AV| 丁香五月婷婷成人综合| 丁香六月狠狠干| 99精品视频在线观看| 亚洲妇女熟BBW| 激情五月天99色| 99re热视频这里只有综合亚洲| 天天舔天天摸天天射| 五月激情六月宗合| 丁香五月天啪啪| 麻豆AV一区二区三区| 国产精品人成A片一区二区| www.91AV.com| 丁香五月在线伊人| 成人丁香| 久热re视频在线观看网站| 99亚洲视频| 夜夜操夜夜爽| 亚洲综合视频在线| 亚洲AV成人在线观看| 久热99热| 91精品综合久久久久久五月丁香| 婷婷五月在线视频| 综合www色| 丁香五月亚洲无码| 色婷婷香蕉| 欧美日韩国产一二区| 狠狠色丁香五月婷巨| 婷婷色情五月| 狠狠穞A片一區二區三區| 欧美日韩国产伦精品日韩人妻一| 伊人在线婷婷草| 99色在线观看视频| 人人干人人操外国| av人人操| 丁香网站| 色五月婷婷久久爱| 久久精典| 五月婷婷,狠狠操| 视色综合| 在线18av | 五月婷婷激情综合| 97中文在线| 伊人9草在线观看| 免费99情趣网视频| 久热这里只有精品99re,久热这里只有精品7| 五月丁香六月激情在线| 丁香五月婷婷社区| 丁香五月23111| 狠狠五月天| 日本3级片一区2区| 免费亚洲婷婷| 大香蕉娱乐| 先锋资源 996| www天堂99| 婷丁香五月天| 五月花婷婷| 婷婷欧美激情综合| 狠狠狠狠狠狠| 久久无意婷婷| www.色婷婷.com| 91主播在线| 丁香五月在线观看完整版| 色婷婷成人做爰A片免费看网站| 五月婷婷激情综合| 另类天堂| hd五月婷婷在线| 午夜一区| 国产99视频永久免费| 婷婷午夜| 色狠狠六月| 蜜臀久久99精品久久久久久酒店| 激情婷婷丁香色情五月天| 1024日韩| 丁香五月婷婷骚视屏| 色日本颜射| 五月综合婷婷网| 五月丁香花成人社区| 激情五月婷婷综合视频| 91精品刘玥| 另类激情中文| 九九色欲网| 开心激情播播五月天| 亚洲a片免费观看| 97 A I色色| 99黄色在线视频精品熟女| 67194成I人在线观看线路1| 99九九99九九九视频精彩| 97超碰综合| 色婷婷五月天偷拍| 甈吧vv| www.久久色.com| 婷婷 色 丁香 夜| 色五月婷婷91| 成人综合网站| 香蕉AV777XXX色综合一区| av在线观看网址| 激情九月综合| 激情的五月| www。五月,com| 99精品久久久久| jiujiu热在线视频| www婷婷| 米奇影视资源婷婷狠狠色激情欧美五月丁香 | 91肏| 亚洲国产精品成人va在线观看| 大香蕉在线99热| 激情丁香五月激情婷婷| 97久人人| 日本不卡高字幕在线2019| 亚洲这里只有精品| 99色色热| 六月婷婷AV| 九月婷婷久久| 天天爱综合网| 五月丁香婷婷激情在线视频| 激情綜合網址| 精品夜夜澡人妻无码AV| 亚洲AV色婷婷人禽五月天| 五月丁香久久呀| 国产AV一区二区三区日韩| 久久丁香五月| 六月香五月婷| 色综合中文色综合网| 久久精品国产AV一区二区三区 | 91超碰九色| 婷婷综合成人五月天| 第四色色六月色综合| 欧美激情综合| 久久99网| 射久久丁香五月| 色综合网址| 婷婷9月天| 啪啪综合网| 欧美丁香五月夫妻天| A片试看50分钟做受视频| 欧日韩成人| 丁香婷五月| 婷婷五月激情网站| 97se视频在线| 永久天堂日本| 五月天久久色| 99自拍视频在线| 欧美成人va| 久99热| 激情丁香五月婷| 久久99操| 狠狠爱婷婷| 婷婷94s| 成人做爰高潮A片免费视频| 激情综合五月天| 九九久久网| 性色99| 天天干天天日日| 综合伊人久久| 久久精品一区二区三区四区| 色情婷婷五月天| 久久人人超| 国产激情在线| 日韩aaaaa| 五月婷婷在线综合| 久色国产| 色婷婷激情五月天在线观看| 丁香婷婷六月在线资源观看| 这里只有精品在线播放| A A色色| 3p日韩网站视频| 亚洲视频在线观看99| 99精品热视频只有精品10| 九九精品99| 人人97碰| 99热最新精品| Xx色综合| 色婷婷五月天激情综合| 狠狠狠狠狠狠狠狠草| 成人 在线 日韩| 99久久久久| 丁香五月色色| 人人爱干人人爱草| 综合综合色色| 99久久丝| 色五月婷婷丁香婷婷| 婷婷六月网| 操逼123网| 玖久精品视频9| 欧韩性爱| 欧美日本一区二区三区| 人人叉久| 三级黄网站| 丁香六月婷婷一区| 天天综合亚洲综合| 色五月丁香六月欧美综合| 五月天婷婷人妻| 99热天堂| 色噜噜综合网| 啪啪91| 风流少妇A片一区二区蜜桃| 中文字幕丰满孑伦无码专区| 97超喷视频在线观看| 狠狠色噜噜色狠狠狠综合色 | 色噜噜五月天| 五月婷婷六月丁香激情深爱| 综合五月亭亭9| 激情性五月天免费小说视频| 天天综合 99久久婷婷| 婷婷综合五月| 精品热青草| 色九九九九| 99视频这里只有免费精品| 99视频这里只有久久精品| 老司机伊人| 人人爱国产| 人人人操 超碰| 午夜福利8055| 国产激情综合五月| 超碰1999| 天天干,夜夜爽| 婷婷丁香五月在线观看91| 翔田千里 50岁 无码| 色色综合日韩| 这里只有精品视频免费在线观看| 91超级碰碰| 亚洲AV日韩AV永久无码网站| 久久视屏这里只有久久| 99热在线观看精品免费| 99在线精品免费视频| 天天日P天天射P| 丁香五月亚洲激情婷婷射| 噜噜久| 丁香六月五月天| 天天干,天天日| 六月丁香中文字幕| 人妻日日日| 久久五月婷婷电影| 婷婷五月天小说网| 亚洲性爱AV在线| 九色自拍| 丁香六月伊人| 亚洲亚洲人成综合网络| 久9热视频在线观看| 五月亭亭综合五码| 99精品在线观看视频| 激情国产五月| 色婷婷综合久色AV五色最新| 人人摸人人干| 1024在线观看免费视频| 婷婷深爱五月天在线| 99九九在线| 激情五月天色色色| 色欲资源网| 五月婷婷性爱| 啪啪激情网| 影音先锋91资源站| 啪啪视频99| 99黄色| 五月婷婷综合网| 欧美婷婷| 大香蕉网站,大香蕉综合| 婷婷丁香色五月天| 日在线V视频在线播放| 婷婷五月激情丁香| 激情五月天婷婷直播| 蜜桃人妻无码AV天堂三区| 葵花AV在线| 亚洲情a| 九九激情网| 中文资源在线a | 99热在线极品极品| 色婷婷丁香中文在线播放| 婷婷亚洲天堂| 婷婷黄色五月天在线视频| 久久免片| 婷婷九月激情| 激情久久综合| 五月婷婷偷拍| 一起草AV| 99re思思| 中文字幕丰满孑伦无码专区| 99爱免费在线观看| 欧美性生交XXXXX无码小说| 久久婷婷五月| 熟妇人妻中文字幕无码老熟妇| 日韩婷婷五月| 激情五月天网站| 九九色中文| 亚洲AV无码成人精品区电影网| www.五月天激情| 色婷婷播放| 狠狠干五月丁香综合网| www.久久9| 成人AV中文字幕| 91精品久久久久久| 五月丁香六月激情综合| 国产肥白大熟妇BBBB视频| 五月天激日本色情在线| 少妇水多A片太爽了| 五月激情婷婷六月丁香| 九九热中文| 激情丁香久久| 99精品偷自拍| 思思热精品在线| 超碰人人操| 婷婷激情小说| 丁香五月激情站| 成人va在线| 囯产精品久久欠久久久久久九大| 五月天堂色| 色婷五月天| 欧美成人网婷婷综合在线| 天天婬色综合| 99久久婷婷五月综合| 99视频超级精品| 国产露脸150部国语对白| 婷婷色色欧美| 九九AV在线| 香蕉人妻AV久久久久天天| 五月丁香色婷婷基地| 日本久草福利| 激情五月综合亚洲另类| 久久成人天| 丁香五月网址| 国产肥白大熟妇BBBB视频| 亚洲六月色| 黄网免费看| 欧美色激情四射| 人妻aV在线| 五月天婷婷爱丁香中文字幕| 欧美超碰亚洲| 五月激情在线| 天天爱天天做天天操| 五月婷婷新网站| 影音先锋男士资源网一区| 性色五月天| 婷婷免费精品视频| www.久操| 丁香五月婷婷基地| 热99在线| 2020夜夜操天天爽| www.sebowuyue| 99热热热99精品丁香| 午夜婷婷久久 | 五月天综合在线| 亚洲综合另类| 香蕉人在线香蕉人在线 | 色之综合网| 亚洲色婷婷五月天| www久久久久久久久久久| 99激情在线| 开心五月综合| 久热这里只有精品在线观看| 六月色播| 天天狠狠干| 狠狠色狠狠干| 99热这里有精品首页10| 99久在线精品99re8热| 欧美欧盟性爱网| 玖玖婷婷色五月| 伊久大香蕉| 婷婷爱五月| 超碰免费99| 婷婷五月亚洲一本在线丁香| 极品人妻videosss人妻| 日韩成人精品中文字幕| 中文字幕,综合,91| 九九99精品视品| 国产XXXX搡XXXXX搡麻豆| 五月丁香综合| 九月丁香婷婷综合| 婷五月天| 久久九九热视频| 偷拍视频五月天| 丁香五月天婷婷久久| 99操99| 97久久人人| 久九九热| 激情伊人网| 色都都狠狠色都都色综合色| 人碰人人人玩91| 丁香五月社区| 99免费在线视频| 丁香六月在线| 99精品热| 午夜丁香婷婷| 九九这里有精品| 成人AV在线网站| 超碰在线人妻| www九九| 九九综合| 婷婷久久亚洲| 五月叮香啪| 91五月天| 色五月丁香五月| 婷婷五月色天| 色婷婷激情| WWW.国产| 日韩在线视频9色| 婷婷五月激情黄色| 4399无码视频二区| 天天综合区| 天天射色五月天| 亚洲欧洲小视频9| 五月婷婷久久久久| 婷婷丁香亚洲色综合91| 亚洲啪啪视频| 日本色色色| 五月婷婷深深爱爱| 欧美色六月婷婷| 九九热视频思思| 狠色狠色狠色狠色狠色网| 丁香五月色播中文在线播放| 人妻系列久久久久久久久久久 | ...婷婷国产成人亚洲日韩| 人人爽人人爽人人爽人人爽| 天天操天天谢| 5五月综合网亚洲| 天天操中文字幕| 久久久免费精彩视频| 五月丁香综合激情| 五月天婷婷色综合| 高清国产一级婬片a免费| 色综合久久44| 九九色热| 五月天玖玖狠狠色色| 婷婷五月天欧美图片在线播放电驴| 99热这里只有精品青草| 久热AA| 欧美大肥婆大肥BBBBB| 欧美色一级色| 欧美天天搞| 天天五月丁香五月| 五月丁香久久丝袜啪啪| 天天狠狠色噜噜| 婷婷五月婷婷| 亚洲黄色影视| 久综合九综合99| 97色片| 丁香五月日啪| 五月天综合在线观看视频| 日韩在线视频中文字幕| 99热 精品在线| 成人免费视频一区| 操操操www.com| 狠狠操性爱av| 色五月激情五月| 狠狠爱成人综合网| 操97| 久色国产| 日日噜噜夜夜狠狠久久丁香五月| 色级停停| 五月丁香综合啪啪| 五月丁香六月综合激情无码软件亮点| 午夜激情婷婷| OYIWbGcPu8H| 六月婷婷综合| 五月激情偷拍| 五月天婷婷影院| 草草影院爱爱| 日韩五月天婷婷| 超碰九九热| 久久人人添人人爽添人人片αV | 婷婷五月在线视频| 亚洲成人av在线观看| 777久久综合视频| 色婷婷五月天久久| 一二线视频 另类| 26UUU欧美激情一区二区| 79色色免费| 少妇人妻人伦A片| 国自产拍偷拍精品啪啪一区二区| 插逼综合网| 久久AV电影| 超碰av在线| 超碰av天堂| 色情五月停停丁香| 91色久| 中文字幕,综合,91| 六月丁香好婷婷| 色婷婷六月天| 超碰人人操人人9| 色丁香五月综合网| 超碰精品在线| 亚洲性受XXXX五月丁香| 五月丁香成人网| 久久无意婷婷| 丁香五月情色| 五月天婷婷色| 综合色色婷婷| 五月婷婷五月| 亚洲婷婷丁香五月| 99热在线这里只有精品| 免费看欧美成人A片无码 | 欧美性生交A片免费看| 久久伊人五月天| AV在线资源| 色情婷| 另类小说色婷婷| www.yw色| 五月天婷婷爱| 婷色综合| 久色五月| 五月丁香六月综合图| 婷五月天在线草| 五月激情综合网| 99热99ai| 五月激情影院| 狠狠操天天操综合| 婷婷五月天av| sewuyue第四色| 九九热精品| 97久久香草精品视频| 色婷婷综合网| 岛国av网| 91色五月在线观看| 综合五月激情网| 久久久色情| 激情小说婷婷五月| 色玖玖玖| 久久精品系列| 五月天堂婷婷| AV性爱在线| 激情综合网五月| 夜夜撸天天操| 成人va在线观看视频| 天天干一干| 五月天成人伊人| 99久热视频在线| 婷婷五月天堂一本在线| 五月丁香婷婷啪啪网| 国产精品视频免费看| 五月丁香花视频| 五月天色区| 思思热99er在线视频| 久久婷婷五月综合色丁香花| 五月婷六月综合在线观看| 色伊人91在线视频| 亚洲狠狠干| 吊色AV男人的天堂| 久久婷婷色| 五月丁香六月婷婷在线小说视频| 伊大人久久| 日韩综合久| 久久久激情| 久久婷婷五月天激情新地址| 五月天久久丁香| 天天操中文字幕| 人人干人人看| 色色哒五月婷婷六月丁香| 天天综合 99久久婷婷| 中文字幕婷婷| 天天做综合网色综合| 天天综合网色欲香| 五月天桃色深爱网| www.99热. com这里只有精品| 久久精品日| 狠狠色噜噜狠狠狠888| 五月丁香五月激情综合色综合| 中文字幕+中文在线| 激情五月激情综合网| 久久久com| 婷婷中文综合网| 五月婷婷色影院| 丁香五月六月欧美| 丁香五月ⅤA久久久| 在线中文字幕av| 婷婷四色五月| 97影院一级片| 91热视频| 丁香五月激情综合| 天天日,天天射,天天舔| 激情五月天婷婷久久久久久久久久久| 久久婷婷五月综合色区| 1024日韩| 天天操天天操天天操天天操天天操 | 国产av基地| 五月激情天| 啪啪婷婷五月天激情| 丁香五月天婷婷久久综合| www,色综合| 人人操97| 天天操夜夜玩!| 色色吧综合| 日本韩国视频在线观看社区免费的9| 亚洲成人综合在线| 欧美啄木乌丝袜人妻系列| 综合五月草| 色情五月天丁香社区| 中文字幕日本最新乱码视频| 中文字幕永久免费| 亚洲丁香五月天在线视频| 色五月大| 天天操天天插天天射| 婷婷综合视频| 日韩九区| 五月花免费视频| 2025最新亚洲激情在线| 97色婷| 激情丁香久久| 97操碰人免费| 狠狠CAO日日穞夜夜穞AV| 久久五月激情综合| 激情五月天在线免费美女视频| 亚洲激情高潮| 热99精品视频在线观看| 光棍影院日韩精品| .青娱乐天天操B| 开心五月婷婷| 五月婷婷五月天| 涩五月色婷婷| 五月丁香六月花| 五月婷婷色综图片| 五月丁香激情啪啪| 激情综合区| 91丨九色|PRNY熟妇| 久久免费少妇高潮99精品| 丁香五月影院| 婷婷在线播放| 99激情| 伊人久久五月天| 99爱爱| 久久婷婷六月综合| 婷婷五月情| 99色在线观看| 丁香五月成人婷婷| 婷婷五月天电影网| 欧美VA在线观看| 天天日夜夜操五月| 五月色精品| 激情网狠狠干| 色婷婷激情小说网| 亚洲婷婷丁香五月视频| 开心综合激情综合| 色婷丨日丨天丨综合久久| 丁香婷婷五色月| 色婷婷五月天激情| 五月丁香| 丁香五月日啪| 色五月天综合| 国语精品探花| 五月天久久丁香| 激情五月丁香综合网站| 日日夜夜天天综合| www.99热精品| 日日夜夜干| 激情综合网五月激情| 丁香五月天社区| 粉嫩AV久久一区二区三区| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 激情综合丁香| 婷婷丁香黄色| 海外网站专业操老外| 婷婷情色五月天| 热久久91| 亚洲午夜精品久久久久久人妖| 激情5月婷婷狠狠干| 激情婷婷亚洲五月| 五月丁香激情婷婷| 337午夜福利| 碰97久久| 99re久久| 精品少妇人妻AV无码专区偷人 | a色色色色色| 青青操avbb| 9久热这里只有精品视频| 激情小说视频图片| 久久伊人9| 亚洲激情五月天| 国产毛片操B| 五月天婷婷情色| 超碰在线人妻| xfplayav在线| 五月天激情久久| 大香蕉久操| 九色成人AV在线| 成人av播放| 99久久国产宗和精品1上映| 色五月激情婷婷| 97人人搞| 亚洲乱码精品久久久久..| 久久五月天丁香花| 99爱视频精品在线观看| 99久久思思| 国产9色在线/日韩| 无码成人AAAAA毛片AI换脸| 日韩天堂久久| 婷婷亚洲影院| 丁香五月天激情五月天激情五月天激情网 | 狠狠操狠狠插| 97香蕉人人在线观看| 日日做A爰片久久毛片A片英语| 婷婷激情肏屄网| 丁香婷婷六月激情综合| 九九热re99re6在线精品| 日日撸夜夜操| 五月婷婷色色网址| 99在线视频免费| 六月婷婷五月天| 夜夜操夜夜操| 激情五月天婷婷丁香| 99色婷婷| 婷婷五月天狠狠色| 涩五月婷婷| 精品无码片| 69五月天视频| 色综合久久久久| 五月婷婷久久网| 久久er+| 九九精品综合| 99日热在线视频| 综合久久婷婷| 人妻啪啪啪| 中国女人做爰A片| 大香蕉五月天婷婷| 深爱五月婷| 婷婷五月天成人网站| 日韩欧洲亚洲| 亚洲最大视频网站| 成人AV中文字幕| 欧美日韩AAA| 婷婷香草网| 国产伦理精品高清在线观看网站一区二区 | AV色婷婷| 国产干逼片| 国产色色在线| 婷婷色九月| 99精彩视频在线观看| 思思99re这里只有| 婷婷丁香五月天激情| 99热只有精品在线| 久久丁香久久| 热日韩欧美| 天天搽天天射| 夜夜骑夜夜操| 超碰人人在线| 巴基斯坦粉嫩无码视频| 中文字幕丰满孑伦无码专区| 少妇高潮一区二区三区99欧美| 狠狠插狠狠插| 蜜臀av 粉嫩av 懂色av| 玖操97| 99精品成人无码A片观看金桔| 99在线精品视频| 狼人婷婷综合| 欧美激情综合色综合啪啪五月| 天堂爱爱| 欧美色色色色色| 色播五月丁香| 这里只有精品1| 婷婷五月天丁香成人社区| 五月丁香激情深爱婷婷| 99丁香五月| 国产一区男女| 99re欧美精品| 色婷婷在线综合色播网| 婷婷婷婷婷婷婷五月丁香| 1024人妻| 人人爱操| 初夜av| 亚洲午夜在线视频| 天天爽天天摸| 婷婷五月激情综合啪啪| 国产午夜一区二区三区|