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

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
返回資訊列表
操射国产日本| 玖玖五月丁香| 久久婷婷五月天激情四射| 开心五月婷婷| 不卡影院午夜理论片| 99碰碰中文| 99爱在线免费视频| 欧美Va婷色| 玖玖综合色| 97色 五月天丁香| 五月婷婷影| 天天操天天操综合| 婷婷综合在线| 色色色婷婷五月天| 99日在线观看视频| 亚洲综合色网| 99热超碰| 久婷婷| 五月丁香六月婷婷免费| 99热99色| 99色综合网| 婷婷色五月大香蕉在线| 天天操夜夜操| 五月开心久久| 九九伊人网| 天天做 天天爱| 99久久婷婷国产综合| 久久久全国免费视频| 大香蕉手机视频| 欧美Va在线| 99碰网站| 婷婷无五月无码视频| 日韩成人精品中文字幕| 五月丁香久久网| 淫荡工a| 开心五月婷婷激情| 亚洲av成人在线| 91一道本| 人妻aV在线| 国产操B| 五月天婷婷久久| 九九视屏| 九九热免费| 天天操天天日天天操| 激情深爱婷婷网| 五月丁香色婷婷色| 噜噜干日本| 成人片在线免费看| 精品操逼一区二区| 超碰不卡在线| 激情九月综合| 丁香五月婷婷五月天在线| 婷五月天| 另类精品视频在线观看| 五月丁香六月婷综合成人综合| 免费成片在线观看| 99人妻碰碰碰久久久久视| 色色999三级片| 国外亚洲成AV人片在线观看| 五月天婷a在线| 在线观看免费人成视频无码| 亚洲无AV在线中文字幕| 九九99久久精品| 大香蕉啪啪啪| 久久婷婷五月综合网| 欧美槡BBBB槡BBB少妇| 99激情视频| 色色色99| 风流少妇A片一区二区蜜桃| 六月丁香激情网| 伊人99热| 日本波多野结衣视频| 亚洲黄网AV| 日日操夜夜擼| 久99久在线观看| 五月婷婷综合久久| 色婷婷综合在线| 少妇婷婷五月天| 美国不卡视频| 丁香5月激情网| 噜噜噜噜噜日本视频| 成人五月天在线视频在线观看| 丁香五月婷婷姐| 69五月天视频| 六月婷婷色色色| 日本久久性| 婷婷六月丁香五月| a毛片二逼wwwwwwwwww| 国产在线自| 97人凄人人操人人爽| 激情丁香九九五月综合网| 六月婷婷七月丁香| 九九热99精品在线| 五月婷婷无码| 香蕉久久国产AV一区二区| 五月天丁香色色| 成人国产网站| 五月天婷婷自拍图片在线观看| 婷婷五月天a| 激情五月天开心总和网| 久久婷婷五月综合| 欧美日韩成人h| 九九热婷婷| 成人五月丁香社区| 99免费在线| 激情九月婷婷| 99热999| 色婷婷免费视频| 99婷婷五月天| 无码区婷婷五月花开| 成人日韩欧美| 色九月综合| 99在线视频播放| 丁香久月婷| 97操操| 91精品国产综合久久密臀| 俺去也综合| 99精品网| 大香蕉五月天婷婷丁香91| 亚洲 综合中文| 天天日天天干天天操| 中文字幕在线观看视频www| 色五月色五天色情网| 丁香 久久| A片试看50分钟做受视频| 一级无码作爱片| 成人色色综合| 久久草中文日韩欧美| 亚洲V国产V欧美V久久久久久 | 久9综合| 在线观看欧美| 久久9热| 亚洲激情四射色| 亚洲综合99| 夜夜夜夜撸夜夜操| 激情玖玖综合网| 热的五码久久精品| 亚州操人在线视频| 亚洲综合久| 丁香五月婷婷啪啪视频| 五月丁色AV| 97婷婷丁香五月| 国产99久久久| 色欲丁香| 99ri精品视频在线观看| 97碰久久| 26UUU欧美| 天天肏高清在线| 天堂草在线观看| www.天天干| 99久久久免费| 色色com| 婷婷激情视频| 五月激情婷婷丁香| 99久re热视频精品98| www.色9| 91日综合欧美| 色激情五月| 伊人玖玖综合| 国产精品社区| 操碰91| 超碰在线人人| 另类小说五月天| 色五月色五天色情网| 婷婷久久影院| 丁香九月婷| 伊人久久大香线蕉av最新| 狠狠干综合| 综合久久六月| 狠狠草狠狠草| 91色在线 | 日韩| 五月激情久久| 久久久激情视频| 五月丁香激情婷婷| 久久婷五月| 九月婷婷久久| 天天干天天操天天干天天操天天干天天操| 日韩久久系列| 99碰网站| 99热香港| 五月综合激情图片 | 伊人五月婷婷国产视频| 九九在线免费观看| www色色色com| 5月婷婷激情6月| 色情成人五月天| 激情五月天开心网丁香无码| 婷婷五月天久| 久操大香蕉| 亚洲久热| 中文AⅤ大全| 九九精品视频在线观看| 97香蕉碰碰人妻国产欧美| 91九色精品熟女内射| 伊人久久大香网| 人人操AV| 色婷婷视频综合| 久xxxx| 综合99综合久久久久久久| 婷婷久热| 婷婷五月天大香蕉在线视频观看| 成人在线日韩欧美| 深爱开心激情网| 91黄色五月天视频| 91五月天| 九九九九这里只有精品| 五月婷婷六月丁| 色婷婷综合久久| 丁香综合伊人AV| 久久久久九九九九视屏小说88| 九九色播五月丁香| 免费试看小视频 99| 久久久色情| 婷婷伊人网| 日本乱子人伦在线视频| 色五月女| 色。 婷婷婷| 九九综合88| 丁香五月性| 天天 青草 丝袜制服 在线| 久久您您综合网| 成人精品人妻| 婷婷网五月天| 日日操,天天操| 97精品欧美91久久久久久久| 最新高清无码专区| 五月婷婷在线免费观看| 婷婷五月在线视频| 中文在线视频久1| 日本va欧美va欧美va精品| 日本激情综合| 国产成人精品一区二三区熟女在线| 啪啪六月婷婷| 五月花婷婷丁香| 成人网页在线观看| 欧美日韩精品一区二区三区钱| 久热久| 啪到高潮激情丁香五月| 亚洲成片在线观看| 日韩美一级毛卡片| 精品色| .操區COm| 超碰碰碰碰| 五月婷婷成人| 亚洲在线视频321| 狠狠干.com| 五月天婷婷色色| 先锋资源91| 色五月婷婷、老熟女| 五月婷精品| 丁香熟女乱| 最近中文字幕大全免费版在线 | 538任你爽| 深爱五月天| 综合五月激情网| 亚洲视频在线观看99| 激情综合国产| 亚洲欧美国产A片免费观看| 日本少妇裸体做爰高潮片| 99热这里只有精品8| 中文字幕丰满人妻无码专区| 色噜噜狠狠色综合成人网| 天天透天天爱| 伊人网碰碰| 丁香五月婷婷日本| 亚洲熟女色| 天天干天天操| 天天干,夜夜爽| 丁香五月婷婷AV在线| 久久这里只有精品网| 好吊操这里只有精品| 久久婷婷视频| 久久五月天黄色五月天色网址| 婷婷五月丁香av网站| 久久激情五月天| 超碰在线观看9| 98色花堂98t.R| 人人操9| 伊大人久久| 九九婷婷五月天| AV色色天堂中文| 久久婷婷五月综合色丁香花| 加勒比久热| 人操人人| a网站免费观看| 婷婷五月天国产精品| 在线va网站| 狠狠操之狠狠操| 综合久色五月| www.久热| 国产精品色| 免费看欧美成人A片无码| 日韩成人电影AV| 99视频内射三四| 少妇人妻人伦A片| 99亚洲天堂| 婷婷五月天丁香| 99无码精品| 中文字幕丰满孑伦无码专区 | 丁香九色不卡aaa| 九伊人网| 丁香伊人综合| 97碰超级人人看| 色九月| 97精品综合| 天天插天天干| 97日本在线| 久久黄A片| 丁香六月成人网| 99热这里只有精品66| 久久大香蕉同僚| 久久丁香| 婷婷五月激情综合网| 丁香六月| 亚洲成人乱码av网站| 婷婷五月网图片区| 丁香六月中文| 久久久.COM| 欧美日韩精品人妻狠狠躁免费视频| 亚洲性爱AV| 婷婷五月综合在线| 色J香五月天| 九九99九九99偷拍视频免费看| 丁香五月影院| 91丨九色丨43老版熟女| 五月婷婷综合丁香视频| se色婷婷视频| 深爱五月激情网| 天天爱夜夜爽| 曰韩五月丁香色婷婷无码| 色综合五月| 久久综合色五月| 午夜婷婷久久 | 丁香婷婷综合影院| 精品无码人妻一区| 色婷五月天| 99热资源在线| 天天色天天日| 六月婷婷综合网2| 婷婷九九| 91在线日| 激情久久综合| 97人人看| 精品成人在线观看| 丁香六月婷婷色播| 五月丁香啪啪啪| 五月丁香婷婷综合网| 激情色情五月天| 伊人干综合| 综合色色色| 国产精品美女久久久久AV超清 | 99热在线观看| 婷婷五月天影视网址| 一区视频网站| 丁香五月综合激情啪啪| 成人一级片| 99热一本| 五月天综合| 九色综合网| 婷久看人爽| 日本va欧美va国产激情| 久久丝丝热| 五月丁香色| 1999天天操夜夜操| 五月丁香六月婷婷的女人| 色噜噜婷婷| 丁香色色网| 久久久五月婷婷| 俺去也五月| sS丁香五月婷婷| 91碰碰| 888久久久| 五月天.com| 国产高潮白浆一区二区| 开心五月色婷| 激情综合婷婷久久| 免费婷婷| 79精品在线视频| 爱射综合| 欧美精品99久久久| 玖玖福利视频资源| 超级碰碰99| 深情五月天| www.久操| 国产色网站| 99在线公开视频| 97碰免费视频在线| 国产Va视频| 在线看的免费网站| 深爱激情综合网| 71在线精品视频一区| 五月激情婷婷在线| 激情丁香婷婷| 国产精品国产成人国产三级| 色婷婷综合网站| 婷婷色基地在线看 | WWW,五月| 九九色色网| 激情五月天综合网| 天天做综合| 在线理论片| 26uuu激情五月天| 九九色情网五月天| 亚洲第一综合| 99热6这里只有精品6| 超碰狠狠操| 99热99这里有免费的精品| 六月婷婷操逼| 五月天另类激情在线| 久久婷婷色| 五月天色小说| 人人操插| 婷婷五月深爱五月| 天天做天天爱高潮片| 欧美性猛交99久久久久99按摩| 色婷视频| 日韩99色| 激情五月婷| 久久小说| 97色啪| 色月视频| 久操干| 婷婷久久久| 综合在线色婷婷| 欧美va精品va老师va| www九九免费视频| 操一操干一干| 婷婷成人丁香色情基地30| 免费看成人747474九号视频在线观看| 国产精品成人AV在线观看春天| 狠狠色97| 欧美美美女性色视频| 9999热在线观看| 六月丁丁香| 夜夜骑天天操| 激情综合色| 在线超碰91| 免费视频WWW在线观看网站| 色五月丁香五月天| 色999五月色| 大香蕉五月婷婷| 青青草99re| 日韩 中文 欧美| 激情综合色五月丁香六月亚洲| 9久9久9久女女女九九九一九| 久久98| www.婷婷,com| 六月天丁婷婷| 国产六月婷婷| 五月婷婷六月丁| 丁香六月狠狠干| 国产美女无遮挡裸体毛片A片| 亚洲午夜av| 最新亚洲色色网| 久久精品性爱视频,| 九九精品热播| 3p久久| 九九九九中文字幕| www.亚洲激情.com| 久久婷婷五月综合色和| 日韩成人不卡| 九九热青草| 26uuu成人网| 久久东京热婷婷五月| www天天色天天射| 婷婷六月伊人| 99国产在线| 99re在线这里只有精品视频首页| 综合综合网| 97碰在线视频| 国产VA播放| 色色色区| 铁牛TV人妻| 亚洲不卡123| 日本三级日本黄色| 91干在线视频| 久久9999| 丁香九月激情| 亚韩在线视频| 日本综合久| 五月久久五月激情| 婷婷激情五月天在线视频| 97视频91| 久久性爱视频免费| 色婷五月| 99热这里只有精品中文字幕| 久草狼人| 色婷婷丁香五月天| 777精品久无码人妻蜜桃| 99操碰| 另类少妇人与禽zOZZ0性伦| 久久久久婷婷| 曰本久久女| 五月丁香婷婷综合网色欲| www.com.色色| 激情图片亚洲| 3www激情| 色婷天天| 无码AV免费精品一区二区三区| 激婷网| 五月丿香啪啪| 91天天操天天干天天射| 五月天色婷婷图片| 九色无码| 天天干,夜夜爽| 亚洲操女| 97碰在线| 五月天另类小说久久小说网| 日良久久| 亚洲久久天堂| 91色综合| 丁香五月婷婷激情中文| 久久久久久久97| 午夜丁香| 热99热久| 色五月丁香总合网| 国产欧美va| 色色网站| 成人一区在线观看| 久久这里只有精品07 | 色婷婷色和| 五月玖玖| 91超级碰| 日日色综合| 99色视频在线| 婷婷狠狠干| 91超碰在线观看| 婷婷五月天99| 大香网伊人久久综合| 超碰在线观看三级片| 国产又色又爽又黄又免费| 亚洲精品成人片在线播| 精品综合久久久久久五月天| 丁香六月婷婷开心| 亚洲中文乱字字幕在线永久| 香蕉AV福利精品导航| 亚洲婷婷激情综合激情999精品| 丁香五月图片| 亚洲操逼片| 丁香五月婷婷社区| 怡红院99| 丁香五月婷婷色| 字母不卡码人逼| 婷婷五月丁香六月伊人网| 丁香五月天综合| 日日做A爰片久久毛片A片英语| 20253AV| 六月丁香视频网站| 91色综合| 99在线免费视频| 欧美啄木乌丝袜人妻系列| 伊人五月综合网| 金品在线视频99| 日日爽天天| 办公室少妇激情呻吟A片在线观看| 日韩人人操| 伦乱美欧| 99色色视频| 亚洲 视频 导航 一区| 俺去啦综合网| 五月成人丁香av91| 深爱五月月天| 99久久婷婷| 91久久综合| 狠狠草狠狠草| 久久一操| 丁香五月六月综合激情| 久久久亚洲成人无码A片| 色色色在线免费视频| 婷婷久久久久| 黄网免费看| 天天干,夜夜爽| 色婷婷丁香AV综合| 五月天婷婷在线播放免费| 天天精品视频免费观看| 99热999| 五月丁香成人视频| 欧美人人超级碰| 激情五月天色婷婷综合| 五月丁香亭亭电影久久| 五月花婷婷丁香| 成人AV在线中文版| 五月天电影网| 亚洲免费成人电影AV| 丁香六月啪| 激情中文在线| 99操逼| 日本精品久久久久中文字幕| 婷婷五月天综合网| 26uuu精品国产| 伊人久久大香线蕉av最新| 九九视频在线| 在线观看亚洲视频影院| 97久久精品| 综合色色网| 九九色逼| 丁香六月久久| 色五月亚洲| 五月丁香五月激情综合色综合| 精品香蕉99久久久久网站| 能看的av片| 狠狠色中色| 五月婷婷激情五月| 色婷婷99| 色五月婷婷丁香五月| 丁香五月婷婷亚洲人| 激情综合五月| 丁香六月亭亭久久综合| 色天堂97| 伊人久久婷婷| 开心五月婷婷99| 亚洲成片在线观看| 五月天天天色| 婷婷五月天第四色| 草榴视频网| www.五月天| 婷婷五月AV| 九九色情网站| 91人人操人人爱| 丁香综合伊人| 青青草视频免费观看| 激情婷婷综合五月少妇| 国产日韩av片| 狠狠草狠狠草| 一级操逼内射在线视频| 日本99久久| 婷婷丁香五月天综合激情| 丁香桃色网| 9热在线观看| 99热首页| 丁香婷婷激情六月五月开心| 熟女重口味αV| 91男人资源站| 日本天天操| 开心网五月色婷婷| 亚洲 精品 综合 精品| 色情网综合| 五月叮香啪| 日本久久爱| 国产精品久久久久久白浆色欲| 苗黎美女四级成人版一级二级毛片| 偷偷操99| 色色色色色色色色网站| 99久久免费性爱视频`| 五月天丁香啪啪啪啪| 五月天久久婷婷| 狠狠干在线| 婷婷五月天色综合翘| 99riAV成人在线视频| 大香蕉婷婷| 国产成人亚洲综合A∨婷婷| 五月婷狠狠| 亚洲这里只有精品| 小视频久久久aaa| 五月情婷婷五月| 亚洲精品影视| 色香久久| 99啪在线| 影音先锋AV男人站| 午夜婷婷| 人人摸人人| 97精品自拍视频| 99热亚洲精品66| 涩涩五月天综合| 夜夜嗨一区二区三区直播内容 | 激情亚洲网| 激情五月天婷婷五月天| 青青草原福利在线| 色婷丨日丨天丨综合久久| 激情综合自拍五月婷婷色五月| 久久久性爱视频| 大天天伊人| 色级婷婷| jiuse91在线| 色天使色综合| 五月天婷婷Av| 开心久久网婷婷| 丁香婷婷五月综合欧美另类| 久热re视频在线观看网站| 少妇AB又爽又紧无码网站| 亚洲综合色色| 色综合婷婷| 亚洲在线综合| 欧美婷婷五月| 五月天婷婷无码视频| 丁香五月av在线| 丁香五月综合| 丁香五月激情啪| 99超碰在线观看| 五月天丁香综合在线| 色五月激情综合网站| 99热这里只有精| 91精品久久久久久综合五月天| 91九色首页| 色色色网站| 国外亚洲成AV人片在线观看| 中文字幕 中文字幕明步| 婷婷六月丁香五月| 久99视频在线观看| 狠狠色丁香乆乆| 亚洲99热| 婷婷五月天网址| 99人人干| 337p午夜影院| 狠狠色五月天| 天天插天天插天天插天天插| 99热在线观看| 精品九九久久| 4438全国最大视频成人网站在线观看| 日本久久性| 久久激情视频| 色天天综合| 91人碰| 夜夜操天天干| 欧美综合五月天婷婷tin| 九九伦子片| 欧美性爱一区| 夜夜天天久久婷婷| 五月婷六月| 五月丁香影视| 一本色道久久综合狠狠躁一二三| 91视频一起草| tingting五月天亚洲| 亚洲精品色色| 天天激情欧美美女| 91操操| 人人操9| 日本久久婷| 色性日本| 91丨九色丨大屁股| 五月婷婷香蕉| 亚洲性爱电影| 色婷婷五月婷婷五月婷婷五月| 狠狠五月激情丁香六月| 99色热| 九伊人网| 怡红院院久久| 五月婷婷性爱| 888久久久| 色五月色图| 另类视频丁香五月| 91人人操人人| 亚洲四色五月| 婷婷五月天深爱| 亚洲欧美成人在线| www久久久久久久| 色五月丁香五月五月婷婷| 婷婷五月天在线一区| 欧美色五月| 久久婷婷五月天蜜桃| 狠狠色丁香99| 丁香色五月天| 天天操天天曰天天射| 激情婷婷丁香色五月| 99精品自拍| 夜色综合网| 色五月丁香在线| 丁香五月天婷婷激情| 丁香久久久| 丁香五月第四色88| www.狠狠色.com| 亚洲av网站| 婷五月天丁香婷五月| 色天天综合色| 午夜69成人做爰视频| 色情久久久| 五月综合婷婷五月| 色播色丁香五月| 丰满人妻一区三区三区| 99久久国产宗和精品1上映| 久久人人九九| 91一起艹| 99福利导航| 天堂综合久久 | 成人五月天婷婷| 青青草tp| 99热www| 五月天久久婷婷| 欧美天堂婷婷日韩| 婷婷色五月色| 久久丁香婷婷色情综合| 亚洲激情综合免费| 色色婷婷综合| 五月婷婷丁香综合| 国产毛片操B| 这里只有精品在线免费视频| 天天色天天操天天射| 欧美黑人巨大猛烈cuckold| 狠狠干天天日| 影音先锋女人av鲁色资源网小说免费| 99热精品在线| 天天狠天天狠| 日日躁夜夜躁狠狠久久AV| 久久五月天合网| 国产伦亲子伦亲子视频观看| 久久 这里只有精品1| 九九热最新| ri电影在线| 99无码| 婷婷伊人久久综合| 亚洲日本韩国| 精品少妇蜜臀91| 久久五月天激情| 开心婷婷五月天激情网| 日韩美一级毛卡片| 久久五月网| 综合视频久久| 性做久久久久久久免费看| .精品久久久麻豆国产精品| 99re思思热这里| seuuu婷婷| 亚洲无码成人性爰网| 人人操超碰| 日本狠狠网| aⅤ79成人片| 99在线免费视频| 99青青草| 9999三级片| 少妇人妻偷人精品无码视频新浪| 天天色官网| 五月丁香黄色| 五月天com| 丁香五月网在线观看| 丁香婷婷五月综合欧美另类| 亚洲视频二区| 性婷婷| 婷婷九九视频| 来吧亚洲综合网| 色五月色五天色情网| 国产永久一黄| 99热97| 五月丁香激情在线| 亚洲成人一区| 婷婷丁香社区| 色七七色九九| 亚洲激情亚洲激情 | 99噜噜噜在线播放| 婷婷天天婷婷天天澡| 开心六月婷| 久热re视频在线观看网站| 四虎成人精品永久免费AV九九| 99爱免费在线观看| 婷婷久久免费| 亚洲精品V天堂中文字幕| 久色大| 久久奄也去色色网站| 色五月激情综合| 丰满人妻妇伦又伦精品国产 | 色99欧洲色19| 免费亚洲婷婷| 亚洲日日操| 亚洲激情 久久| 性色综合网| 99噜噜噜在线播放| 91超碰九色| 激情婷婷五月天在线观看| 久久婷婷五月天蜜桃| 亚洲AV久久久久久久久久久久久久久久| 日本欧美国产| 久久中文人妻系列| 六月婷婷七月丁香| 激婷网| 伊人激情| 九月激情网| 婷婷久久五月天| 天天爽天天爽夜夜爽| 色情五月天小说| 热99久| 婷婷五月天综合久久日| 久久婷婷综合五月天| 激情小说在线视频| 99色啊| 日本怕怕视频| 啪啪黄页网| 亚洲天堂有码| 五月婷婷av在线| 亚洲精品无AMM毛片| 九九精品热| 啊V视频在线观看| 婷婷五月激情小说| 99热色在线精品| 久久99热免费| 婷婷激情五月天7| 97久久精品| 秋霞AV淫| 色婷婷情片| 亚洲四色五月| 壅壅儕家a| 国内9l视频自拍老熟女九色| www.91五月| 狠狠一日| 伊人免费视频9| 新激情婷婷| www。久久久久一b。Cc| 丁香网站| 成人做爰A片免费看视频| 五月婷婷综合网| 五月色影院| 伊人久久婷婷| 久久久97| 日韩一级一片内射视频4K| 国产毛多水多女人A片| 91狠狠综合久久久久久| 综合网五月| 99精品网| 精品国产一区二区三区四区阿崩 | 色99在线| 狠狠干综合| 成人无码髙潮喷水A片| 2018国产大陆天天弄| 99热免| 国产毛多水多女人A片| 国产精品色色| 性爱技巧五月| 久草嫩草在线观看| 97干综合网| 婷婷五月激情视频网| 一操久久| 亚洲婷婷五月天在线激情综合网| 91精品熟女| 激情九九这里只有精品| 五月婷久久在线| 狠狠色噜噜狠狠狠888| 天天做天天爱天天高潮| 99色综合| 大伊香蕉精品视频在线| 亚洲精品另类| 无码橾| 丁香五月天欧美成人| 综合在线网| 韩国天天婷婷| 婷婷五月天六月| 99玖玖免费视频| 久久久五月天| 色婷插| 超碰色婷婷| 久久久婷| 夜夜综合色| 婷婷亚洲综合| 99视频自拍| 欧美成人一区二区三区在线视频| 成人免费网站免费看| 97极品在线| 婷婷的五月天另类视频| 五月婷AV| www激情| 九九热最新| 日韩操啪| 婷婷婷色五月| 五月天婷婷成人| 丁香六月啪| 激情碰碰碰| 色久播播| 26uuu精品国产| 无码色| 久久精品日| 色婷婷成人丁香| 婷婷五月伦理网站| 性爱视频99| 視频福利乱色| 精品人妻伦九区久久AAA片| 九九综合九色欧美狠狠| 六月婷婷av| 开心五月激情婷婷| 伊人91| 五月丁香婷色| 日操| 婷婷久久五月| 99国产精品久久久久久久久久久 | 97丁香五月| 中文字幕视频色婷婷| 五月天久久婷婷| 开心色播色五月婷婷| 五月天丁香网站| 禁片二区| 五月激情精品视频| www.婷婷五月天| 一级七香蕉| 九九九九九无码| 久久停停超碰| 亭亭丁香97| 色视五月天婷婷| 久久久激情视频| 先锋男人91资源| 六月婷婷国产| 99久久婷婷| 亚洲成人一区| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | 婷婷精品性性性性性性性| 丁香五月婷婷基地| 秋霞AV美国| 婷婷色五月天在线| 蜜桃人妻无码AV天堂三区| 亚洲午夜av| 91视频精品99| 狠爱婷色| 色五月丁香五月天| 秋霞AV吧| 天天色天天舔天天爱天天爽| 婷婷在线精品| 成人短视频在线观看| 97人人看| 在线资源av-超碰中文在线-成人AV| 啄木鸟丝袜美女福利视频| 人妻久久久久久| 熟女激情网| 五月色婷婷综合| 色婷婷狠狠18禁| 五月丁香花婷婷玉莉AV| 青青草青青草五月天| 五月丁香在线国产 | 秋霞黄色一级久久| 婷婷五月天综合网| 久久最新色| 播五月开心婷婷欧美综合| 99在线爽| 日婷婷久久开心| 操逼巨乳91| 狼人婷婷综合| 97艹| 婷婷五月综合色拍| 射久久丁香五月| 亚洲色色色| 成人综合视频网址| 思思精品热在线| 亚洲综合成人网站| 五月天色区| 欧日韩成人| 久色网址| 久这里只有精品| 99久久99综合| 国产精品久久久久久五月天加勒比| 超碰成人影视| 五月丁香免费看| 六月久久婷婷| 亚洲综合在线播放| 日本不卡中文字幕| 欧美一级色| 九九在线免费观看| 91美女艹逼网站| 婷婷社区五月天| 婷婷伊人久久| 亚洲乱码日产精品BD| 久色网五月| 久久婷婷五月综合啪| AA久久| 思思99精品视频| 日本久久激情| 婷婷瑟瑟五月天| 97色久| 裸睡玩奶头(高H)| 99性视频| 亭亭五月丁香综合欧美| 99热在线播放| 狠狠做深爱婷婷久久综合一区| 九月综合| 九九视频在线观看视频6| 激情小说视频图片| 国产成人在线不卡AV| 五月婷婷基地| 综合深爱五月| 超碰超碰在线| 国产精女同一区二区三区久| 久热这里只有| 26uuu.| 欧美123区免| 六月色婷婷| 五月婷婷丁香在线视频| 丁香婷婷综合激情五月色| 国产精品99久久久久久久女警| 久久亚洲婷婷| 五月丁香啪啪啪综合网| 影音先锋91网站在线观看| 久久天天| 狠狠干狠狠干狠狠干狠狠干| 久草 tingting| 啪啪啪综合网| 国产AV不卡福利| 五月丁香网站| 婷香五月激情视频| 亚洲综合干| 九九人人看| 久久九九激情五月天 | 99热这里有精力| 巴基斯坦粉嫩无码视频| 中文字幕人妻在线| 3p九色在线| 久久色情| 久久久天天啊| 婷婷爱综合| 九洲一级A片| 日本97在线观看| 九九热免费视频| 激情第四色| 天天操狠狠操| 五月伊人综合| 人人97碰| 991自拍视频| 人妻体体内射精一区二区| av网址在线| 狠色色狠网| 色九月激情综合网| 色婷婷影院| 五月婷婷导航| 9 7总站超级碰免费视频| 久热99热| 激情五月天小说网| 99综合一区| 91操色| 婷婷五月综合婷婷| 婷婷性爱网| 色婷婷另类| 日本婷婷色| 一区二区三区四日本| 免费视频99| 思思热视频在线观看| 天天爽天天日| 婷婷五月丁香基地| 激情网婷婷婷| 五月婷婷五月天天| 狠狠狠狠狠狠草| 婷婷丁香射射| 在线中文字幕av| 97欧美在线| se.久久视频在线观看| 人人爽网| 婷婷五月天天| 风流少妇A片一区二区蜜桃| 99热在线播放| 五月丁香综合在线| 91精品国产91久久久久青草| 欧美视频五区| 97精品自拍| 日韩av在线免费观看| 亚洲99在线| 天天色图| 99激情在线| 超碰精品在线| 伊人久久婷婷| 超碰在线人妻| 超碰在线看| 五月天激情小说| 婷婷五月天激情综合| 午夜激情婷婷| 色色五月天丁香| 欧洲亚洲精品| 天天插天天插| 天天干天天干天天干天天干天天干天天 | 五月色婷婷综合色| 人人人人人人人人人草| 亚洲激情AV| WWW色五月天| 亚州日本欧州韩美高青高潮一| 激情www.98com| 婷婷五月视频| 人人草开心五月天| 五月天激情视频| 超碰久热| 97精品人人A片免费看| 激情内射人妻1区2区3区| 人人操婷婷| 狠狠色丁香久久| 中文字幕av在线| 99re这里只有精品免费| 爱婷婷久久视频| 亚洲欧美一区二区三区爱爱动图| 色丁香五月| 九九aV| 久久无码成人| 97自拍99| 欧美久草在线日本一级特黄大片做受9在线观看韩国电影《两个女人》未删减-毛片 | 婷婷色色综合| 性爱111111| 91青娱乐青青草| 婷婷丁香久久| 天天干天天射综合网| 婷婷五月六月丁香| 激情综合网五月| 日欧一片内射VA在线影院| 综合99在线| 九九九热精品| A网在线欧洲| 五月婷婷三级| 无码AV免费精品一区二区三区| 日本三日本三级少妇三级66| 亚洲天堂99| 岛国av网| 超碰成人电影| 综合AV网| 五月婷婷激情在线| 五月丁香欧美综合| 五月丁香亚洲综合网| 婷婷五月伦理网站| 婷婷久久综| 日本三级99人妇网站| 久久色婷婷| 婷婷色丁香五月| 色墦五月丁香| Aaa久久| 亚洲综合久| 少妇人妻综合色6699| 99热亚洲精品| 亚洲av另类在线观看| 婷婷五月欧美| 久久激情视频| 婷婷综合在线| 99噜噜噜在线播放| 国产AV不卡福利| 婷婷五月丁香伊人网| 婷婷五月天久久| 新激情五月天| 综合久久婷婷| 婷婷色狠狠| 性综合网| 大天天伊人| 蜜臀AV在线成人| 婷婷日日夜夜| 欧美激情综合五月色丁香| 色五月天丁香| 开心五月婷婷激情网| 亚洲久久激情| 4399高清无码视频| 久久66成人网站| 欧美性爱五月天| 亚洲AV免费国产电影| 玖玖资源天天无码| 色婷婷欧美在线| 成人午夜无码视频| 九九色区| 人人爽人人爽人人爽人人爽| 色碰碰视频| 色婷婷五月天偷拍| 婷婷五月丁香综合激情| 三男玩一女三A片| 第四色婷婷日本| 九九热视频99| 波多婷婷久久| 开心激情久久久久久久| 日韩999| 婷婷丁香五月天综合AV| A久久| 9久久精品视频| 激情五月丁香六月综合AVXXXX| 裸体做A爰片毛片A片免费| 99热香港| 99热线观看9| 五月婷婷成人网首页| 五月丁香六月香香蕉| 色五月婷婷伊人| 激情综合网五月| 狠狠操狠狠色| 99视频一区| 久月久在线视频| 天天草人人摸| 色综合久久44| 99精品一二三四视频| 久久草中文日韩欧美| 色碰97| 五月宗合激情网| 日本三级日本黄色| 色婷五月| 成人五月天综合网| 激情婷婷网| 婷婷色一二三区波多野结衣| 久久久精久人妻| 久久婷婷青青草|