国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲AV片高清资源在线观看_国模无码一区二区三区久久_国产成年人未进视频_中文字幕无码精品夜_一区二区三区在线视频免费看_亚洲成AV人片在线观看网址_日本激情视频高清综合久久_亚洲午夜视频福利_国内大量揄拍人妻精品視_久久国产精品福利二区三区

ARTICLE DETAIL

資訊詳情

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

基于Python的AlexNet花卉分類識(shí)別系統(tǒng):原理、實(shí)現(xiàn)與調(diào)優(yōu)

基于Python的AlexNet花卉分類識(shí)別系統(tǒng):原理、實(shí)現(xiàn)與調(diào)優(yōu) 簡(jiǎn)介基于AlexNet的花卉分類識(shí)別系統(tǒng)是一套完整的預(yù)訓(xùn)練模型應(yīng)用項(xiàng)目面向Python與深度學(xué)習(xí)入門者、進(jìn)階學(xué)習(xí)者以及正在籌備畢業(yè)設(shè)計(jì)或課程設(shè)計(jì)的同學(xué)可快速用于圖像分類實(shí)踐或項(xiàng)目立項(xiàng)。系統(tǒng)能區(qū)分10種不同類別的花卉訓(xùn)練數(shù)據(jù)來(lái)自Kaggle當(dāng)前數(shù)據(jù)集下準(zhǔn)確率約為96%代碼結(jié)構(gòu)清晰便于二次拓展。壓縮包共49個(gè)文件以5個(gè)Python腳本、40張JPEG樣本與結(jié)果圖像、1個(gè)JSON類別配置及1份Markdown說(shuō)明為主整體大小僅1.67MB結(jié)構(gòu)緊湊。其中包含訓(xùn)練腳本、預(yù)測(cè)腳本、模型定義、工具函數(shù)、數(shù)據(jù)集與類別映射、結(jié)果可視化圖片和README說(shuō)明文檔能夠幫助讀者理清訓(xùn)練、評(píng)估與推斷的完整流程并根據(jù)自帶樣例快速驗(yàn)證效果。已有346人學(xué)習(xí)適合用作入門深度學(xué)習(xí)圖像分類的基礎(chǔ)參考也可作為課程設(shè)計(jì)或工程實(shí)訓(xùn)的起點(diǎn)。1. 花卉分類識(shí)別系統(tǒng)為什么值得用AlexNet復(fù)現(xiàn)成本與效果邊界花卉分類識(shí)別是圖像分類任務(wù)里最適合上手的場(chǎng)景之一而「基于Python的AlexNet花卉分類識(shí)別系統(tǒng)」這個(gè)組合幾乎是這類小體量任務(wù)的標(biāo)準(zhǔn)答案。AlexNet雖然發(fā)布年頭不短但它的8層結(jié)構(gòu)、6000萬(wàn)參數(shù)放在幾十類花卉數(shù)據(jù)上依舊夠用訓(xùn)練門檻低、單張推理在CPU上也能到毫秒級(jí)還能直接復(fù)用ImageNet預(yù)訓(xùn)練權(quán)重做遷移學(xué)習(xí)。做這件事的人我通常見到兩類一類是想把課程作業(yè)做成完整Demo的學(xué)生另一類是想快速驗(yàn)證花卉識(shí)別效果、不打算從零造輪子的開發(fā)者。下面按數(shù)據(jù)準(zhǔn)備、網(wǎng)絡(luò)實(shí)現(xiàn)、訓(xùn)練調(diào)參、踩坑記錄、推理封裝五個(gè)環(huán)節(jié)展開全程給可復(fù)現(xiàn)的Python代碼。2. 數(shù)據(jù)集與預(yù)處理把花卉圖片整理成227×227輸入的Python腳本2.1 數(shù)據(jù)集選型公開花卉集與自建數(shù)據(jù)集的取舍公共數(shù)據(jù)集方面Oxford 17 Flowers17個(gè)類別每類約80張和Oxford 102 Flowers102類是最經(jīng)典的兩個(gè)選擇很多分類論文都以它們?yōu)榛鶞?zhǔn)。第一次做建議先用17類版本類別少、樣本量適中跑完一輪30個(gè)epoch在普通消費(fèi)級(jí)顯卡上十幾分鐘就夠適合先把整條鏈路跑通。102類的版本留到后面驗(yàn)證模型泛化能力時(shí)再用。如果決定自建數(shù)據(jù)集有個(gè)問(wèn)題要想在前面類別怎么定義。同類花在不同光照、不同角度下差異很大而不同品種的菊花在照片里可能長(zhǎng)得幾乎一樣。我一般要求每類不少于100張刻意收進(jìn)同株不同角度、晴天和陰天、近景和遠(yuǎn)景這些情況讓模型學(xué)的是花的形態(tài)而不是拍攝環(huán)境。圖源選擇上用自己拍的照片或明確開放許可的資源更穩(wěn)妥避免后續(xù)演示或部署時(shí)惹版權(quán)麻煩。2.2 目錄結(jié)構(gòu)與批量整理腳本8:2切分訓(xùn)練集和驗(yàn)證集數(shù)據(jù)目錄統(tǒng)一成「類別名作為文件夾名」的結(jié)構(gòu)這是PyTorch的ImageFolder默認(rèn)支持的組織方式。整理腳本我一般寫成這樣from pathlib import Path import shutil import random src_root Path(raw_flower_photos) # 原始圖片第一層目錄是類別名 train_root Path(flower_data/train) val_root Path(flower_data/val) for label_dir in src_root.iterdir(): if not label_dir.is_dir(): continue # 一次收集該類別下所有常見格式的圖片 images [p for ext in (*.jpg, *.jpeg, *.png) for p in label_dir.rglob(ext)] if len(images) 20: print(f警告{label_dir.name} 只有{len(images)}張圖建議補(bǔ)充) continue random.shuffle(images) split int(len(images) * 0.8) for img in images[:split]: dst train_root / label_dir.name / img.name dst.parent.mkdir(parentsTrue, exist_okTrue) shutil.copy2(img, dst) for img in images[split:]: dst val_root / label_dir.name / img.name dst.parent.mkdir(parentsTrue, exist_okTrue) shutil.copy2(img, dst)邏輯說(shuō)明遍歷原始目錄下每個(gè)類別文件夾把該類別所有jpg、jpeg、png圖片的路徑收集起來(lái)隨機(jī)打亂后按8:2比例分別復(fù)制到train和val下對(duì)應(yīng)的類別文件夾。用copy2而不是move是為了保留一份原始素材之后補(bǔ)充了新圖想重新切分時(shí)不需要重新采集。參數(shù)說(shuō)明split 0.8是經(jīng)驗(yàn)值。每類樣本不足50張時(shí)我會(huì)改成0.85盡量多留訓(xùn)練樣本樣本充足時(shí)0.7也可以驗(yàn)證集更有統(tǒng)計(jì)意義。腳本里漏掉格式后綴是常見的翻車點(diǎn)如果原始圖里有bmp或webp記得加進(jìn)擴(kuò)展名元組里否則訓(xùn)練集比預(yù)想少一大截。2.3 預(yù)處理管道Resize、Crop與ImageNet歸一化的參數(shù)細(xì)節(jié)AlexNet默認(rèn)輸入是227×227×3的RGB圖注意不是224×224這個(gè)數(shù)字經(jīng)常被人抄錯(cuò)。原因在原始論文第一層卷積核是11×11、步長(zhǎng)4輸入227時(shí)輸出才是55×55floor((227-11)/4)155。拿224硬套第一層輸出變成54×54后面每層尺寸都會(huì)錯(cuò)位報(bào)錯(cuò)時(shí)一堆人盯著維度問(wèn)題排查半天。既然要用ImageNet預(yù)訓(xùn)練權(quán)重預(yù)處理也得和ImageNet保持一致from torchvision import transforms train_transform transforms.Compose([ transforms.Resize((256, 256)), transforms.RandomResizedCrop(227), transforms.RandomHorizontalFlip(), transforms.ColorJitter(brightness0.4, contrast0.4, saturation0.4), 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, 256)), transforms.CenterCrop(227), transforms.ToTensor(), transforms.Normalize(mean[0.485, 0.456, 0.406], std[0.229, 0.224, 0.225]), ])邏輯說(shuō)明訓(xùn)練時(shí)先Resize到256再RandomResizedCrop到227等于每輪從原圖隨機(jī)位置、隨機(jī)大小裁一塊區(qū)域是一種不需要額外數(shù)據(jù)就能生效的數(shù)據(jù)增強(qiáng)驗(yàn)證時(shí)不希望結(jié)果帶隨機(jī)性所以固定用CenterCrop裁正中間。Normalize的均值和標(biāo)準(zhǔn)差取自ImageNet全量統(tǒng)計(jì)只要用預(yù)訓(xùn)練權(quán)重這組值就不能動(dòng)改了等于把輸入分布整體偏移訓(xùn)練會(huì)明顯變慢。參數(shù)說(shuō)明RandomResizedCrop默認(rèn)scale范圍是(0.08, 1.0)。對(duì)花朵這類主體通常占畫面較大面積的場(chǎng)景我會(huì)把scale收緊到(0.5, 1.0)避免裁出來(lái)的小塊里幾乎沒(méi)有花。ColorJitter里saturation建議克制一點(diǎn)花卉識(shí)別對(duì)顏色敏感飽和度抖動(dòng)過(guò)猛會(huì)讓模型學(xué)到失真的顏色分布。3. AlexNet模型搭建用PyTorch逐層實(shí)現(xiàn)卷積與全連接3.1 AlexNet結(jié)構(gòu)拆解從卷積到全連接的層與尺寸AlexNet的主體可以拆成特征提取器加分類器兩段。特征提取器是5層卷積前兩層后面接MaxPool第3、4層卷積不接池化第5層卷積后面再接一次MaxPool分類器是3層全連接前兩層各接一個(gè)ReLU和一個(gè)Dropout。整個(gè)網(wǎng)絡(luò)的核心思想很簡(jiǎn)單用卷積逐步把空間尺寸壓小、把通道數(shù)加多最后展平成全連接向量做分類。網(wǎng)上不少實(shí)現(xiàn)把第一層卷積核數(shù)量寫成96這是照抄原始論文的結(jié)果。原始論文因?yàn)楫?dāng)年單卡顯存不夠把96個(gè)卷積核拆到兩張GPU上并行訓(xùn)練torchvision的現(xiàn)代單卡實(shí)現(xiàn)第一層只有64個(gè)卷積核。這個(gè)差異直接決定你能不能加載官方預(yù)訓(xùn)練權(quán)重后面避坑章節(jié)會(huì)詳細(xì)展開。各層參數(shù)可以對(duì)照下面這張表層名類型卷積核/池化窗口輸出尺寸Conv1卷積64個(gè)11×11, stride 455×55×64MaxPool1池化3×3, stride 227×27×64Conv2卷積192個(gè)5×5, padding 227×27×192MaxPool2池化3×3, stride 213×13×192Conv3卷積384個(gè)3×3, padding 113×13×384Conv4卷積256個(gè)3×3, padding 113×13×256Conv5卷積256個(gè)3×3, padding 113×13×256MaxPool3池化3×3, stride 26×6×256FC1全連接9216→40964096FC2全連接4096→40964096FC3全連接4096→類別數(shù)類別數(shù)3.2 PyTorch逐層實(shí)現(xiàn)可直接復(fù)制的AlexNet代碼實(shí)際項(xiàng)目里我不會(huì)自己從零寫features部分直接用torchvision.models.alexnet接預(yù)訓(xùn)練權(quán)重最省事但為了把結(jié)構(gòu)講清楚先給你一份自建版本import torch.nn as nn class AlexNet(nn.Module): def __init__(self, num_classes10, dropout0.5): super().__init__() self.features nn.Sequential( nn.Conv2d(3, 64, kernel_size11, stride4), # 227 - 55 nn.ReLU(inplaceTrue), nn.MaxPool2d(3, stride2), # 55 - 27 nn.Conv2d(64, 192, kernel_size5, padding2), # 27 - 27 nn.ReLU(inplaceTrue), nn.MaxPool2d(3, stride2), # 27 - 13 nn.Conv2d(192, 384, kernel_size3, padding1), nn.ReLU(inplaceTrue), nn.Conv2d(384, 256, kernel_size3, padding1), nn.ReLU(inplaceTrue), nn.Conv2d(256, 256, kernel_size3, padding1), nn.ReLU(inplaceTrue), nn.MaxPool2d(3, stride2), # 13 - 6 ) self.classifier nn.Sequential( nn.Dropout(dropout), nn.Linear(256 * 6 * 6, 4096), nn.ReLU(inplaceTrue), nn.Dropout(dropout), nn.Linear(4096, 4096), nn.ReLU(inplaceTrue), nn.Linear(4096, num_classes), ) def forward(self, x): x self.features(x) x x.view(x.size(0), -1) # 展平保留batch維度 x self.classifier(x) return x邏輯說(shuō)明features部分把227×227×3的輸入逐步變成6×6×256的特征圖view(x.size(0), -1)把每個(gè)樣本展平成9216維向量再進(jìn)分類器。Dropout放在全連接層前面而不是卷積層前面這是AlexNet的原始設(shè)計(jì)——卷積層本身有空間冗余對(duì)Dropout不敏感全連接層參數(shù)占比最大、最容易過(guò)擬合所以只在分類器里加。參數(shù)說(shuō)明dropout0.5是原始論文的值在遷移學(xué)習(xí)場(chǎng)景下如果數(shù)據(jù)量不大我會(huì)把前面那個(gè)Dropout提到0.7后面那個(gè)保持0.5。原始論文里還有一個(gè)Local Response Normalization層現(xiàn)代框架里它對(duì)最終精度的貢獻(xiàn)很小還會(huì)拖慢訓(xùn)練和推理速度我一般直接省略實(shí)測(cè)對(duì)花卉分類這類小類別任務(wù)幾乎沒(méi)有影響。3.3 訓(xùn)練前必須定的參數(shù)Dropout、學(xué)習(xí)率與預(yù)訓(xùn)練權(quán)重模型結(jié)構(gòu)定了之后有三個(gè)參數(shù)要在寫訓(xùn)練腳本前想清楚。第一個(gè)是學(xué)習(xí)率。用預(yù)訓(xùn)練權(quán)重做微調(diào)時(shí)我習(xí)慣從0.001起步比從頭訓(xùn)練常用的0.01低一個(gè)數(shù)量級(jí)因?yàn)轭A(yù)訓(xùn)練權(quán)重已經(jīng)在ImageNet特征空間里收斂得很好了步子邁太大會(huì)把學(xué)好的特征沖掉。第二個(gè)是優(yōu)化器。花卉分類這種圖像任務(wù)動(dòng)量SGD仍然比Adam穩(wěn)Adam收斂快但容易落在尖銳的極小值上泛化會(huì)差一些。第三個(gè)是預(yù)訓(xùn)練權(quán)重的取舍。如果你手里數(shù)據(jù)每類只有幾十張固定住features部分只訓(xùn)練分類器是更穩(wěn)的做法數(shù)據(jù)超過(guò)每類200張?jiān)俜砰_全模型微調(diào)。4. 訓(xùn)練與評(píng)估讓花卉分類準(zhǔn)確率逼近可用的調(diào)參流程4.1 訓(xùn)練主循環(huán)損失函數(shù)、優(yōu)化器與學(xué)習(xí)率調(diào)度加載數(shù)據(jù)和訓(xùn)練主循環(huán)可以合并成一個(gè)腳本關(guān)鍵是把驗(yàn)證邏輯獨(dú)立成函數(shù)每個(gè)epoch結(jié)束后跑一次方便觀察曲線。下面這個(gè)流程我在多個(gè)花卉數(shù)據(jù)集上用的都是同一套骨架import torch import torch.nn as nn from torch.utils.data import DataLoader from torchvision import datasets, models train_ds datasets.ImageFolder(flower_data/train, transformtrain_transform) val_ds datasets.ImageFolder(flower_data/val, transformval_transform) train_loader DataLoader(train_ds, batch_size64, shuffleTrue, num_workers4, pin_memoryTrue) val_loader DataLoader(val_ds, batch_size64, shuffleFalse, num_workers4, pin_memoryTrue) device torch.device(cuda if torch.cuda.is_available() else cpu) model models.alexnet(weightsmodels.AlexNet_Weights.IMAGENET1K_V1) in_features model.classifier[6].in_features model.classifier[6] nn.Linear(in_features, len(train_ds.classes)) model.to(device) criterion nn.CrossEntropyLoss() optimizer torch.optim.SGD(model.parameters(), lr0.001, momentum0.9, weight_decay5e-4) scheduler torch.optim.lr_scheduler.StepLR(optimizer, step_size5, gamma0.5) epochs 30 best_acc 0.0 for epoch in range(epochs): model.train() running_loss 0.0 for images, labels in train_loader: images, labels images.to(device), labels.to(device) optimizer.zero_grad() outputs model(images) loss criterion(outputs, labels) loss.backward() optimizer.step() running_loss loss.item() val_loss, val_acc evaluate(model, val_loader, criterion, device) scheduler.step() print(fEpoch {epoch1:02d} | train_loss {running_loss/len(train_loader):.4f} f| val_acc {val_acc:.4f}) if val_acc best_acc: best_acc val_acc torch.save(model.state_dict(), best_alexnet_flower.pth)邏輯說(shuō)明models.alexnet(weights...)會(huì)自動(dòng)下載ImageNet預(yù)訓(xùn)練權(quán)重最后一行分類器被替換成你的花卉類別數(shù)量這是遷移學(xué)習(xí)的標(biāo)準(zhǔn)改法。訓(xùn)練循環(huán)里每個(gè)batch做一次清零、前向、算損失、反向、更新五步。驗(yàn)證和保存都放在epoch層面做以驗(yàn)證集準(zhǔn)確率為基準(zhǔn)保存最佳權(quán)重而不是用最后一個(gè)epoch的權(quán)重。參數(shù)說(shuō)明batch_size64在8GB顯存上跑227×227輸入沒(méi)有壓力顯存不夠就降到32。lr0.001配合StepLR每5個(gè)epoch降一半是微調(diào)場(chǎng)景的穩(wěn)妥組合。weight_decay5e-4是AlexNet原始配置全模型微調(diào)時(shí)保留它能明顯抑制過(guò)擬合。num_workers4在Windows上如果報(bào)DataLoader相關(guān)錯(cuò)誤改成0跑單進(jìn)程最省心。4.2 訓(xùn)練曲線診斷過(guò)擬合、欠擬合與Early Stopping訓(xùn)練曲線比任何指標(biāo)都先暴露問(wèn)題。正常情況應(yīng)該是訓(xùn)練Loss一路下降驗(yàn)證Loss先降后平緩驗(yàn)證準(zhǔn)確率同步爬升。如果訓(xùn)練Loss還在降、驗(yàn)證Loss卻掉頭向上說(shuō)明模型開始背訓(xùn)練集了這時(shí)候繼續(xù)訓(xùn)練只會(huì)讓驗(yàn)證集越來(lái)越差。Early Stopping的實(shí)現(xiàn)不復(fù)雜也不需要額外裝庫(kù)記錄當(dāng)前最佳驗(yàn)證準(zhǔn)確率連續(xù)N個(gè)epoch沒(méi)有刷新就提前終止。N我一般取7到10。如果你用的是上面那個(gè)腳本torch.save已經(jīng)天然只保留最佳權(quán)重所以Early Stopping只是幫你省訓(xùn)練時(shí)間不省也可以但數(shù)據(jù)量小的時(shí)候多跑那幾個(gè)epoch純屬浪費(fèi)電。4.3 評(píng)估不止看準(zhǔn)確率混淆矩陣與單類召回率準(zhǔn)確率是平均數(shù)最容易騙人。如果數(shù)據(jù)集里玫瑰占了一半模型把所有圖片都判成玫瑰準(zhǔn)確率也有50%但你真正關(guān)心的可能是郁金香一張都認(rèn)不出來(lái)?;ɑ芊诸惖脑u(píng)估我至少要打印一份分類報(bào)告和混淆矩陣from sklearn.metrics import classification_report, confusion_matrix import numpy as np def evaluate(model, loader, criterion, device): model.eval() total, correct, loss_sum 0, 0, 0.0 all_preds, all_labels [], [] with torch.no_grad(): for images, labels in loader: images, labels images.to(device), labels.to(device) outputs model(images) loss_sum criterion(outputs, labels).item() _, preds torch.max(outputs, 1) total labels.size(0) correct (preds labels).sum().item() all_preds.extend(preds.cpu().numpy()) all_labels.extend(labels.cpu().numpy()) report classification_report( all_labels, all_preds, target_namesloader.dataset.classes) print(report) cm confusion_matrix(all_labels, all_preds) print(混淆矩陣\n, cm) return loss_sum / len(loader), correct / total邏輯說(shuō)明torch.no_grad()里面只做前向不做反向省顯存也提速。preds.cpu().numpy()把預(yù)測(cè)結(jié)果搬到CPU并轉(zhuǎn)成numpy這是傳給sklearn做指標(biāo)計(jì)算的標(biāo)準(zhǔn)姿勢(shì)。分類報(bào)告會(huì)輸出每個(gè)類別的精確率、召回率和F1混淆矩陣能直接看出哪些類別互相混淆——比如雛菊和蒲公英經(jīng)常被搞混那就該去檢查這兩個(gè)類別的樣本是不是拍攝角度太接近。5. AlexNet花卉分類避坑記錄4個(gè)常見的訓(xùn)練與推理問(wèn)題5.1 驗(yàn)證集準(zhǔn)確率卡住不動(dòng)學(xué)習(xí)率與歸一化的鍋現(xiàn)象訓(xùn)練Loss在下降但驗(yàn)證集準(zhǔn)確率從第1個(gè)epoch到第10個(gè)epoch都紋絲不動(dòng)穩(wěn)定在某個(gè)低值附近。原因常見的有兩個(gè)。一是預(yù)處理里漏了Normalize原始RGB像素值范圍是0到255預(yù)訓(xùn)練權(quán)重期望的是標(biāo)準(zhǔn)化后的分布輸入差異太大會(huì)讓模型一直找不到有效梯度方向二是學(xué)習(xí)率對(duì)當(dāng)前數(shù)據(jù)量來(lái)說(shuō)偏大損失在loss曲面里震蕩驗(yàn)證集指標(biāo)跟著來(lái)回抖。解決先檢查transform里有沒(méi)有帶上ImageNet的均值和標(biāo)準(zhǔn)差沒(méi)有就補(bǔ)上。學(xué)習(xí)率從0.001降到0.0005或0.0003并確認(rèn)scheduler確實(shí)在step。還有一個(gè)容易忽略的點(diǎn)驗(yàn)證時(shí)也要走val_transform不能拿訓(xùn)練用的RandomResizedCrop去驗(yàn)證隨機(jī)裁剪會(huì)讓驗(yàn)證指標(biāo)每次都變。5.2 訓(xùn)練集99%驗(yàn)證集65%數(shù)據(jù)量撐不起全參數(shù)微調(diào)現(xiàn)象訓(xùn)練集準(zhǔn)確率一路漲到99%以上驗(yàn)證集卻停留在60%多兩個(gè)曲線之間的gap越來(lái)越大。這是最典型的過(guò)擬合長(zhǎng)相。原因AlexNet全模型有近6000萬(wàn)參數(shù)如果每類只有50張圖模型完全有能力把訓(xùn)練圖背下來(lái)但學(xué)不到能泛化的花形特征。數(shù)據(jù)量越小過(guò)擬合來(lái)得越快。解決按優(yōu)先級(jí)排序做三件事。先把訓(xùn)練集數(shù)據(jù)增強(qiáng)加滿RandomResizedCrop的scale收緊到(0.5, 1.0)加上翻轉(zhuǎn)和顏色抖動(dòng)。然后把features部分凍結(jié)只訓(xùn)練最后的分類器用for param in model.features.parameters(): param.requires_grad False這樣實(shí)際參與訓(xùn)練的參數(shù)只有百萬(wàn)級(jí)。最后把第一個(gè)Dropout從0.5提高到0.7。這三步做完驗(yàn)證集通常能拉回85%以上。5.3 加載預(yù)訓(xùn)練權(quán)重報(bào)尺寸不匹配96核與64核的歷史坑現(xiàn)象自己按論文結(jié)構(gòu)寫了nn.Conv2d(3, 96, kernel_size11, stride4)然后執(zhí)行model.load_state_dict(torch.load(alexnet_weights.pth))報(bào)錯(cuò)提示features.0.weight尺寸不匹配期望[96,3,11,11]實(shí)際是[64,3,11,11]。原因原創(chuàng)論文因?yàn)楫?dāng)年GPU顯存限制把第一層96個(gè)卷積核拆到兩張顯卡上torchvision實(shí)現(xiàn)的是單卡版本第一層只有64個(gè)核。網(wǎng)上流傳的不少代碼結(jié)構(gòu)抄的是論文原版而權(quán)重文件來(lái)自torchvision兩者天然對(duì)不上。解決直接用torchvision.models.alexnet加載官方結(jié)構(gòu)不要自己寫features部分。如果堅(jiān)持用論文96核結(jié)構(gòu)就只能從隨機(jī)初始化開始訓(xùn)放棄預(yù)訓(xùn)練帶來(lái)的遷移收益。在花卉這種小數(shù)據(jù)集上放棄預(yù)訓(xùn)練權(quán)重基本等于放棄最好的提升路徑。5.4 推理結(jié)果全亂預(yù)處理不一致與漏掉model.eval()現(xiàn)象訓(xùn)練時(shí)驗(yàn)證集準(zhǔn)確率90%以上把圖片單獨(dú)拎出來(lái)走一遍推理代碼結(jié)果不是錯(cuò)得離譜就是每次都預(yù)測(cè)同一個(gè)類別。原因兩個(gè)很隱蔽的錯(cuò)。一是推理代碼用的預(yù)處理和訓(xùn)練時(shí)不一致比如訓(xùn)練用了Resize(256)CenterCrop(227)推理時(shí)直接Resize((227,227))圖片比例被壓扁變形二是model.eval()沒(méi)調(diào)用Dropout在推理時(shí)還在隨機(jī)丟棄神經(jīng)元輸出自然不穩(wěn)定。解決把推理用的transform參數(shù)和驗(yàn)證集對(duì)齊嚴(yán)格保持Resize((256,256)) → CenterCrop(227) → Normalize的順序。調(diào)用模型前先model.eval()并且推理全程包在torch.no_grad()里。還有一個(gè)細(xì)節(jié)用PIL打開圖片后記得.convert(RGB)否則遇到帶透明通道的PNG或灰度圖通道數(shù)不一致會(huì)直接報(bào)錯(cuò)。6. 收尾技巧把訓(xùn)練好的權(quán)重封裝成單圖分類接口6.1 保存類別名權(quán)重和類別順序必須一起落盤訓(xùn)練腳本里很多人只存了model.state_dict()沒(méi)存類別名。權(quán)重文件里只有數(shù)字索引0對(duì)應(yīng)哪個(gè)花名完全取決于訓(xùn)練時(shí)的ImageFolder目錄順序。換個(gè)環(huán)境重跑數(shù)據(jù)加載類別順序一變化索引全錯(cuò)位模型表現(xiàn)像完全沒(méi)訓(xùn)練過(guò)一樣。我的習(xí)慣是訓(xùn)練結(jié)束順手把類別名落盤import json with open(class_names.json, w, encodingutf-8) as f: json.dump(train_ds.classes, f, ensure_asciiFalse, indent2)train_ds.classes是ImageFolder按文件夾名排序后的類別列表和模型輸出的索引一一對(duì)應(yīng)。把這個(gè)文件放到和權(quán)重同一個(gè)目錄推理時(shí)只認(rèn)文件里的順序不依賴環(huán)境里重新加載數(shù)據(jù)集。6.2 推理封裝從單張圖片路徑到Top-K結(jié)果封裝一個(gè)獨(dú)立的分類器類把權(quán)重加載、預(yù)處理、推理合并在一起后續(xù)不管是做Web接口還是批量跑目錄圖片都復(fù)用同一個(gè)類import json import torch import torch.nn as nn from PIL import Image from torchvision import models, transforms class FlowerClassifier: def __init__(self, weights_path, class_names_path, deviceNone): self.device device or torch.device( cuda if torch.cuda.is_available() else cpu) with open(class_names_path, r, encodingutf-8) as f: self.class_names json.load(f) self.model models.alexnet(weightsNone) in_features self.model.classifier[6].in_features self.model.classifier[6] nn.Linear(in_features, len(self.class_names)) self.model.load_state_dict( torch.load(weights_path, map_locationself.device)) self.model.to(self.device) self.model.eval() self.transform transforms.Compose([ transforms.Resize((256, 256)), transforms.CenterCrop(227), transforms.ToTensor(), transforms.Normalize(mean[0.485, 0.456, 0.406], std[0.229, 0.224, 0.225]), ]) def predict_topk(self, image_path, top_k3): image Image.open(image_path).convert(RGB) x self.transform(image).unsqueeze(0).to(self.device) with torch.no_grad(): logits self.model(x) probs torch.softmax(logits, dim1) top_probs, top_indices torch.topk(probs, top_k, dim1) return [(self.class_names[idx], float(prob)) for prob, idx in zip(top_probs[0], top_indices[0])]調(diào)用方式很直接classifier FlowerClassifier(best_alexnet_flower.pth, class_names.json) for name, prob in classifier.predict_topk(test_rose.jpg, top_k3): print(f{name}: {prob:.2%})參數(shù)說(shuō)明map_locationself.device讓權(quán)重文件在只有CPU的機(jī)器上也能加載。unsqueeze(0)給單張圖片補(bǔ)上batch維度因?yàn)槟P鸵筝斎胧撬木S張量。top_k3返回概率最高的三個(gè)類別在演示場(chǎng)景里比只給一個(gè)答案更有說(shuō)服力——如果排名第一的置信度不足60%排名第二的往往也有參考價(jià)值。這套方案做到今天給我感觸最深的不是網(wǎng)絡(luò)結(jié)構(gòu)本身而是數(shù)據(jù)管道和評(píng)估閉環(huán)一定要做扎實(shí)。我最早跑通時(shí)偷懶沒(méi)存類別名換機(jī)器推理時(shí)輸出全亂排查了一下午才發(fā)現(xiàn)是索引錯(cuò)位從那以后權(quán)重和類別名永遠(yuǎn)一起落盤。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
人妻一二三区| 国产成人久久久精品免费AV| 天天综合色电影| 97人人中文网| 国产美女销魂在线观看不卡| 久偷拍欧美日韩三区| www亚洲免费| 精品久久在线区一区| 国产熟妇 码视频户外直播| 亚洲自拍另类丝袜综合| 久艾草在线精品视频在线观看| 色噜噜人妻av 中文字幕| 大香蕉一级黄色片久久| 99啪| 性爱免费视频成人| 狠狠操狠狠燥| 国产亚洲色婷婷久久99精品91| 97超碰伊人| 国产一区二区免费福利片| 亚洲AV无码AV吞精久久久久| 嗯嗯嗯啊啊在线观看| 亚洲av淫乱| 激情婷婷黑人91| 男人天堂婷婷五月天校园春色| 男人的天堂视频精品乱在线| 9999久久久久| 国产又色又粗又黄又爽| 九九人妻| 99re95| 国模私拍一区二区三区神乳| 国产2.3.4区| 色综合一区二区三巨| 啊啊啊啊好多水| 色综合久久88色综合久久天天| 欧美日韩大陆黑人少妇99| 国产精品探花在线| 男人天堂欧美| 欲香欲色天天天综合和网| 久久久精品无码亚免费| 日本一区不卡| 国产呦精品系列在线观看| 色爱欲亚洲| 中国探花熟女| 免费人成毛片乱码| 18岁禁 茉莉成人久久| 亚州欧美另类| 亚洲精品影视老司机| 午夜电影在线观看无码专区| 中文字幕在线高清男人的天堂 | 国精品一区二区三| www.丁香五月| 欧美成va视频网站| 精品成人动漫一区二区| 亚洲美女av无码| 目产99999久久999| 肥臀熟女一区二区三区视频| 五十路人妻在线| 6080yy午夜理论三级一区二区三区无码| 亚洲日韩天堂| 97久久超碰亚洲| 亚洲国产剧情少妇激情| 黄片直播三级黄片两女一男| 日韩欧美成人综合在线| 一级日本牲交大片好爽在线看| 亚洲中文字幕av| 伊人aaa| 久久侵犯人妻爽爽爽| www…国产操逼| 免费?级毛片无码?∨蜜芽试看| 天天欧美97| 久热精品在线| 久久老熟女| 大香蕉十区| 成 人 影视 一区 二区 三区 四区 | 六九九九| 亚洲精品男人的天堂| 中文字幕制服欧美久久一区| 亚州成人A√| 亚洲性爱无码乱伦av| 亚州熟女乱伦| 亚洲 日本 国产 综合| 欧美色九九| 啊啊啊啊免费视频| 国产美女高潮视频| 日韩人妻网站| 亚洲少妇综合| 亚洲动态色图| 久久亚洲欧美中文字幕国语| 欧美成人贴图| 中日高清无码操逼视频| 大香蕉伊人网WWWn0n| 亚洲日本韩国极品一区二区| 中文字幕色AV| 屁股久久久久久久久久| 欧美综合加勒比在线| 骚逼高潮久久精品| 中文字幕片| 91久久精品国产| 9999伦理视频| 久久亚码| 91欧美巨乳| 日韩在线观看AV| 亚洲色图欧美色图综合| 热热色国产一二区AV| 人妻少妇色综合| 久久人妻少妇| 久久午夜色播影院免费高清| 久久99网站| 91无码西班牙视频在线| 无码精品久久久天天影视| 国产精品嫩草久久久久| 台湾佬中文娱乐网久久久久久久久久com| 九九热精品| 在线人成亚洲视频免费观看| 欧美亚州色的图| 国模精品娜娜一二三区| 91啦人妻| 美女91| 91美女视频在线| 亚洲成a人在线观看久| 亚州色综合| 日韩不卡网操逼中文字幕日韩| 中文字暮97| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 无码伊人久久大杳蕉中文无码| 免费视频观看60秒| 欧美综合亚洲| 亚洲男人天堂视频| 欧美亚洲清纯| 亚洲男人天堂2012| 天堂av2019| 播播亚洲小说亚洲| 乱伦3P视频| 中文字幕三四区| 激情文学亚洲| 啊啊啊啊免费视频| 神马午夜久久| 精品欧美乱码久| 深夜激情| 青久久| 新视频sss国产| 精品国产一区二区三区久久久蜜臀| 激情第四色| 国产高清MV操逼视频| 97超碰磁| 天天操夜夜操狠很操| 欧洲性爱无码区| 国产传媒av天美传媒在线| 婷婷人妻激情| 国产蜜臀在线| se,,,亚洲欧美| 欧美性爱日韩高清| av一区二区三区不卡| 囯产精品强| 欧美日韩免费专区在线| 久久久久七视频| 自拍丝袜美腿人妻| 99在线视频播放| 麻豆av一区二区三区| 午夜男人天堂| 超碰人妻久久人妻中文97| 98一区二区精品| 亚洲高潮少妇| 日韩三级网址| 色哟哟av网址| 后入人妻无码| 97天堂| 中文字幕在线观看永久| 国语精品内射在线观看| 免费精品99| 射 色综合| 96精品久久久久中文字幕| 亚州综合电影| 日本三级韩国三级美三级91| 欧美日韩久久精品爱爱| 欧美日韩大香蕉| 国产强奸超碰AV| 午夜一区| 久7色| 欧美97在线观看| 蜜臀久久久国产| 超碰在线1234区| 超碰偷拍| 国内毛片欧美香蕉精品| www久久99| 欧美亚性天堂| 人妻少妇久久| 中文字幕三四区| 国产精品无码成人精品| 国内三级自拍小视频在线观看 | 黄片在线免费在线观看| 视频国产成人精品日本亚洲18| 国产精品爆乳懂色蜜乳| 亚洲欧洲日韩天堂av| 无码自拍SM| 在线女人91| 青青草久久| 大逼色网站| 黑人精品XXX一区一二区| 嫖老熟女A片一二三区| 香蕉免费一区二区三区不读| 欧美日韩另类激情图片| 欧美日本中字另类在线| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 97视频免费在线观看| 张柏芝国产一区在线观看| 日本黄色精品专区网站| 久热伊人| 久艹视频在线| 国产精品黄色三级av| 精品超碰国产| 精品传媒在线一区| 久日综合网| 91国模| 国产99久久99热这里只有精品15 | 熟妇综合一区二区三区| 熟女突然公开看18禁影片| 看看小穴| 中文字幕av亚洲精品| 日韩av不卡在线看| 一区二区三区精品黑丝白丝酒店对鸡| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 一区久久久二区| 欧美体内射精| 日本免费人成视频播放120秒| 欧美嗯啊……在线观看视频免费| 亚洲影视第一页| 国产高清成人mv在线观看| 国产av高清版| 97免费视频在线观看视频| 日韩熟女三十乱伦| 九九色精品| 亚洲熟妇综合久久久久久| 懂色中文一区二区三区 | 8x福利精品第一福利视频导航| 人人操人人狠狠操| 国产搭汕a级片| 中文字幕日韩人妻视频一区二区三区| 美女刺激久久国产欧美| 精品在线78| 青娱乐国产精品| 久久久禁| 国产女人与拘做受视频免费| 久久精品视频久久久| 亚洲天堂少妇| 国产成人+综合亚洲+天堂| 宅男午夜在线视频| 超碰99re| 九色97| 污电影在线观看| 影音先锋乱伦资源| WWW美腿丝袜香蕉中文| 日本十八禁免费看污网站| 日韩av色图综合| 成人小说视频在线精品欧美| 91在线/欧洲| 日韩午夜精品一区二区三区电影| 欧美色一二三| 精品久久久久久中文| 蜜桃不卡一区二区| 97综合在线| 久久精品国产亚洲粉嫩| 天天操av懂色| 精品人体无圣光凹凸| 九九九九日本 | 日韩av色图| 国产亚洲精品美女久久久m| 欧美97视频| 国产福利影视| 9色国产精品一区粉嫩| 花野真衣| 中文字幕亚韩| 91网站18| 99在线啪| 狠狠狠狠狠干| 国产精品69人妻无码久久久| 亚洲国产福利视频| 五月开心网| 国产又黄又爽又刺激久久久久久| 97在线青| 91oumei| 国产精品人妻免费精品| 亚洲人人夜夜澡人人爽| 五月婷婷色| 国产亚洲精品A在线观看下载| 中文字幕人乱码中文字的预防方法 | 九七人妻在线| 蜜桃久久久久久| 亚洲一卡二卡在线免费| 熟女露脸激情自拍视频| 久久免费中文字幕在线观看| 色爱三区| 日韩有码 一区二区三区| 无码男人天堂| 99这里有精品| 91丨九色丨国产丨人妻在线| 欧洲精品久久| 男人的天堂激情| 亚洲精品三区在线观看| 久久精品黄色| 欧美熟女丝袜| 精品视频97| a在线视频免费观看| 26uuu久久| 亚洲天堂少妇| 老司机免费视频在线91| 欧美香蕉视xxx| a网站免费观看| 午夜一区二区三区国产| 黄骗免费网站| 天天综合网网欲色| 大但人体久久久久| 精品99999久久久久久| 国内精品伊人久久久久影院会| 国产高清亚洲日韩一区| 九九九九热| 青青草中出视频| 久久久禁| 1204av韩国| 久久久久久性爱视频| 熟女视频久久| 国产精品无码在线| 国产一区二区av综合| 免费成人自拍视频在线| 国产精品96久久久久久| 夜夜高潮夜夜爽夜夜爱爱一区| 国产成人精品午夜福利| 午夜精品人妻二区三区| 欧美在线色| 91中文精品日韩欧美在线 | 91bbb| 一本色道熟妇| 久久99干一本高清| 一区二区三区男人的天堂| 密臀AV在线| 操逼日韩无码 | 97综合在线| 男人天堂网站| 久操97| 亚洲91综合| 97爱b| 校园春色家庭伦理欧美激情| 好舒服视频| 91AV天堂| 在线色资源| 丰满人妻一区二区中文| 我爱操| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 免费观看日本操逼视频| 91情色| 69XX一中文字幕人妻91| 亚洲精品久久久久毛片A片拉屎 | 神马午夜久久| 欧美91精品国产自产| 欧美熟妇精品黑人巨大91| 蜜桃臀av一区二区| 黑人免费福利视频| 欧美精品久久久久久久丰满| 岛国黄片网站| 蜜乳AV色欲AVAV无码| 亚洲一区二区中文字幕| 激情丁香五月| 久热久一区二区三区| 欧美精品丝袜久久久中文字幕| 亚州乱码中文字幕综合久久久| 人妻在线中出视频| 激情文学 亚洲图片| 加勒比海成人视频网| 日韩久久艹| 好一吊区二区| aa片毛片| 国产9 9在线 | 亚洲| 把腿张开老子CAO烂你| 免费A V在线| 日本三级久| 免費人妻夜夜爽天天爽爽一区| 欧日韩在线观看| 亚洲天堂另类| 日逼视频日本| 亚洲国产第一页综合视频| 熟妇艹鸡八| 国产精品久久久久久久久久久久久久久| 91综合国产精品| 久久久久久久久久久久色网| 精品无码久久久久久久杏吧| 久久精品色欧美aⅴ一区二区| 色婷婷狠狠| 欧亚日韩三区| 亚洲黄色AV电影| 欧美激情专区| 亚洲欧美中文日韩视频中国语| 天综合网| 外国免费性情大片| 成人性爱视频在线看| 日韩另类色图| 香蕉av一区二区三区| 国产在线播放成人免费| 成人三级片无码| 亚洲天堂人妻一区二区| av影院十区| 被窝影院午夜看片无码| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 91成人久久| 操熟女91| 91狼人| 日日日啊啊啊| 啊啊啊好多水| 去干网最新版| 国产女主播视频在线观看| 日本操逼无码| 亚洲欧洲偷拍一区| 97欧美色| 亚洲成人久久美女| 1二区9| 97超碰欧美| 99ri在线视频| 欧美洲精品一级| 亚洲性爱免费电影| 日本日日色视频| 热99这里有精品综合久久| 国产 日韩 另类 视频一区爱| 性无码专区2020| 日本中文字幕一区| 日韩97| 91AV老熟女视频| 九九草| 美国aaaaa一级黄片| 玖色AV| 午夜福利 成人 91| 秋霞影音一区二区三区| 蜜臀在线看片| 高跟丝袜AV专区国产| 中文字幕人乱码中文字的预防方法 | 日本高清_区二区三区 | 亚洲高清在线| 操迟操逼在巾线Fre看| 婷婷亚洲综合| 韩国一级做a久久久久| 天天综合网网欲色| 国产白丝精品在线观看| www激情| 久久华人网| 日本一区二区不卡精品| 日日夜夜青青草母狗| 99re99在线视频| 亚洲最大成人a毛毛片| 欧美少妇性乱| 天天看天天在线精品| 综合一区二区影视| 天天做日日爱夜夜爽| 性欧美第一页| 婷婷久草一区二区三区| 久偷拍| 午夜福利一区二区影院| 色五月天AV| 岛国激情视频软件| 国模久久在线| 少妇蜜汁| 亚洲熟女性高潮久久久| 人妻娇喘 激情视频| 可以免费观看的av| 97精品免费视频网站| 67194无码不卡| 强奸乱伦免费网站| 91模特在线观看| 97av在线视频| 内射老妇BBWX0C0CK| 99热线麻豆 | 后入国产| 日韩99999色| 欧美日韩午夜精品一区二区三区| 国产九九九九九九| 婷婷精品视频| 欧美的性爱网站免费| AV中文字幕剧情1区2区3| 福利大香蕉| 一区二区播放| 精品无码久久久| 久久天堂网| 伊人加勒比| 亚洲自拍偷拍视频在线| 男人的天堂色偷偷青青草视频婷婷网| 神马久久免费电影观看| 中文字幕在线观看第二页| 国产按摩一区二区三区| 久久精品亚洲成a人天堂| 欧美少妇人妻| 丰满岳乱妇一区二区三区| 久久久久久久久久久免费精品| 五月丁香社区婷婷日韩欧美精品影院 | 天天影视之亚洲综合网| 国语少妇精| 97超碰亚洲| 99九九久久| 99热这里都是精品| 懂色AV中文| 干婷婷综合网| 草草草视频在线免费看| 天天综合网在线91| julia ann久久| 中文三一区| 欧美 精品国产制服第一页 | 精品乱子一区二区三区99| 夜夜狼人妻| 青青青操| 国产精品粉嫩福利在线| 青久操| 中文字幕在线播放2中文字幕在线观看2 | 熟妇国产免费一区| 蜜桃狠狠色伊人亚洲综合 | 免费看欧美美女黄色大片 | 欧中美三级一区二区三区| 婷婷香蕉| 亚洲天堂精品日韩电影| 99热在线播放| 俺去俺来也在线www| 琪琪精品免费一区二区三区| 亚洲精品白浆高清久久久久久| 国产操逼网站亚洲一级黄色| 91大神精品长腿在线观看网站| 久久亚洲不卡一区二区三区 | 亚洲国产激情国产av| 视频分类 国内精品| 一区三区啪啪| 按摩中文字幕| 九九热在线精品视频| 天天超级碰碰碰| 久久禁| 天天摸天天操视频| 久久人妻| 亚洲国产精品无码AV在线| 精品黑人一区二区| 狠狠干,狠狠操| 欧洲天天在线| 97精品97久久| 9丨久久九九九| 操迟操逼在巾线Fre看| 亚洲色啪| 97硬碰| 伊人在线大香蕉视频久久| 外国免费性情大片| 国产亚洲精品精AV.| 囯产操逼片| 91亚洲人电影| 韩日巨乳美女免费视频在线观看| 欧美亚洲天天| 女同女同恋久久级三级| 搡老熟女免费视频| 天天操夜夜操狠很操| 秋霞Av理论一级在线| 亚洲欧美日韩精品久| 99只有精品| AV丝袜少妇| 欧洲亚洲人妻无码高清久久三区四区| 国产精品久久久久久亚洲色欲| 97人人操人人摸| 久久色人体 | 国产一区二区在线播放量| 青娱乐久久艹| 久久一二三级一一一| 久久亚洲天堂| 国产精品视频91久久| 久久 国产精品 一区| 亚洲中文字幕有码视频一区二区三区| 大香蕉视频啪啪啪啪| 久草视频观看视频在线| 激情自拍 校园春色| 天天综合网合集91| 91精品人妻偷情| 亚洲欧美大香蕉| 亚洲日韩av一区二区三区百合| 入口操逼网站| 婷婷在线精品| 亚洲AV色图一区| 日日操免费视频| 婷婷五月天丁香| 激情人妻另类| 天天懆天天日| 香蕉久久精品| 国产精品免费视频不卡| 超碰中文字幕人妻草一区| 思思99热| 97在线观视频免费观看| 亚洲成a人v欧美综合天堂下载| 激情AV| 中文字幕综合人妻| 97在线观看免费视频| 99色婷婷| 日韩成人小视频| 亚洲av影院在线观看| 亚洲天堂人人妻| 亚洲最新Av| 久久久不能久久久久| 97碰久久| 天天干天天插| 欧美激情精品| 无码99| 欧美日本不卡在线| 日本人体九九九九九九| 熟女精品日韩一区二区三区| 日日夜夜狠狠| 婷婷五月天激情四射| 亚洲乱熟女一区二区三区大香蕉| 很狠操| 色99视频| 九九九精品美女| 99爱精品| 男女无套 免费网站| 91 丝袜在线| 人人摸.人人色| 9999九九九久久久| 成人无码影片视频在线| 免看60秒涩涩视频| 日韩另类| 大逼色网站| 久久久不能久久久久| 一区AV| 亚州春色| 日韩去日本高清在| 夜夜高潮夜夜爽夜夜爱爱一区| 熟女丰满人妻一区| 午夜啪| 亚洲资源网| 蜜臀操逼黄色视频操的好爽| 伦理第一页| 欧美三级一级| 99re公开精品免费视频| 欧中美三级一区二区三区| 欧美日韩成人在线| 13小男生GAY自慰脱裤子| 国产传媒一区日韩| 欧美顶级黄片AAAAA在线免费看 | 欧美系列在线一区二区| 精品久久97| 殴美,日韩国产伦精品| 国产黄片在线免费观看| 操一对老熟妇爽上天视频| 男人的天堂2019AV| 可以在线观看的黄色网址| 亚欧美无遮挡| 久久精品欧美一区蜜桃| 免费伦费视频在线观看| 久久啊啊| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 午夜福利在线合集| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 久久久精品91八戒| 中文字幕日韩情色| 不卡码视频| 精品区国产区一区二区三区| 乱伦强奸区日韩| 久草毛片| 好看的91视频| 激情抓乳插进去啪啪啪日韩| 亚洲黄色电影| 欧美成人色| 久久久久久久国产视频| AAAA级日本片免费视频| 日韩干B| 亚洲蜜臀懂色| 99色在线| 日韩性爱电影一区| 国产高清亚洲日韩一区| 啊啊啊男女| 亚洲欧美setu| 人妻天天爽夜夜爽爽| 日韩成人性爱电影在线播放| 日本一级真人黄色性爱视频| 78精品在线| 欧美亚洲国产日本在线,久久精品国产| 亚洲黑丝在线| 妺妺跟我一起洗澡没忍住| 伊人丁香五月婷婷| 亚洲电影中字一区二区| 淫淫综合网| 日韩丨制服丨中文|在线| 超碰97在线 欧美 国产| 婷婷五月天网| 国产欧美日韩一区二区三区| 欧美熟妇成人一区二区| 精品日韩| 花花AV导航| 97精品一区| 熟妇一区二区三区| 亚洲人在线| 久久国产精品一级二级三级| www.色婷婷.com| 爽 好舒服 无码刺激久久| 久久精品欧美一区二区三区不卡| 家庭乱伦国产精品| 大香蕉伊人网| 人人操人人色网| 久久超碰日韩精品| 国产精品久久蜜乳av| 亚洲 欧美 综合 91| 成人五月天色网| 你草精品在线视频| 青青草十区九区爱夜| 色婷婷电影网| 极品尤物在线观看| 国产精品岛国片在线观看| 韩国一级AAA| 中文字幕,人妻,日韩| 国产又黄又爽又刺激久久久久久| 97久久国产| 97精品在线视频| 色香天天| 极品另类| 久久无码成人| 亚洲高清无码在线桃色| 人人操人人摸人| 高清无码国产亚洲| 97人人超| 久久久久9久久久久| 96AV久久久| 97天天做| 精品美女久久一二三| 秋霞福利网| 青青草原伊人网| 天美传媒AV在线| 天天日夜干| 91P0RNY大屁股人妻| 一区不卡在线观看av| 美国aaaaa一级黄片| 免费毛片在线播放| 五月激情小说| 国产夫妻一区二区| 97爱爱爱综合| 偷拍色图| 天天干嫩逼网| 日韩在线地址一| 韩国午夜理伦三级好看| 欧美有码激情视频一区二区三区| 九一亚洲国产免费| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊| 国产高清在线自在拍69| 超碰欧美97| 中文字幕日韩人妻视频一区二区三区| 精品久久人妻成人网| 志村玲子视频一区二区| 欧美色图天堂网m| 国产乱青青草久久| 精品国产一区探花在线观看| 亚洲一区二区三区中文字幕| www99热| 无码视频一区二区| 欧美爱国产综合、| 2024黄色视频| 强奸乱伦大香蕉网| 99啪| nuu12国产麻豆精品| 国产黄色剧情影片麻豆免费播放| 色yeye成人免费视频| 亚洲人妻一区二区三区| 精品人妻一区春色| 亚洲第一男人天堂| 国产人妖的免费的视频| 丰满人妻一区二区三区| 97天天操天天干| 精产品久久| 很很热性爱视频| 一区二区三区四区姦女| 91N综合网| 亚洲另类小说卡通动漫| 超碰人人超在线观看| 精品亚洲俞拍视频一区| 91麻豆天美传媒在线| 久久久国产亚洲精品系列| 熟女丰满人妻一区| 怡红院亚洲怡春院av| 超碰在线人妻中文字幕| 久久久久921| 欧美91精品国产自产| 99热色精品| 欧美天堂第二区| a亚洲欧美色欲| julia高潮后不停追击中出| 97人人色| 台湾大香蕉99热| 麻豆天美在线喷水AV| 天堂v无码免费视频| 九九av| 久草毛片| 亚洲欧美国产其他二区| 伊人 俄罗斯 a v| 超碰色男人操熟女| 亚洲图片欧美制度| 久久精品人妻一区| 五月婷婷色| 婷婷性网| 91精品久久久久久77777| 色在线69堂| 久久天天艹| 69久久久久久久久久久久久| 国产精品日韩在线一区| 91精品人妻一区二区三区蜜桃臀| 特色a在线上| 把腿张开老子CAO烂你| 97视频新免费| 国产第25页在线观看| 激情婷婷丁香| 亚洲字幕一区二区| 97精品中文字幕| 男女激情黄色网址| 99热国产精品| 久久婷婷综合国际产色怕| 久区视频| 视频二区美腿丝袜制服人妻欧美| 91白嫩| 免费观看有码高清视频| 起碰97| 91亚州欧美| 蜜乳视频网站| 最新精品久久蜜桃| 亚洲精品人妻吞精av| 亚洲素人综合| 婷婷色色网| 大香蕉中文| 日本精品国产视频| 国产中文大片资源中文字幕| 天天操天天看| 竹菊影视国产一区二区| 国产美女自拍视频| 欧美精品在线观看| 国产亚洲精品一区二区三区| 欧美青青视频| 欧美十八禁在线看| 综合另类| 国产精品第二页| 久久久免费一级黄片| 99色婷婷中文字幕乱色| 亚洲 欧美 手机在线观看| aV中文麻| 老熟女搡BBBB搡BBBB视频| 亚洲免费人妻在| 久偷拍欧美日韩三区| 99啪啪视频| 国产高清成人免费视频| 久干网| 一区二区三区视频在线观看免费| 超碰色综合| 少妇人妻无码| 久操不卡视频| 亚州91| 亚洲欧美精品久| 美国一区二区免费视频| 四虎午夜影院| 中文字幕av一区二区三区人妻少妇 | 97久久精品国产| 国产精品蜜乳AV| 日韩肏逼视频| 亚洲se电影| 观看免费区二区三区二| 亚洲 欧美 偷拍 唯美| 久久少妇| 97免费视频在线观看视频| 欧美乱色| 国产真实野战在线视频| 国产精品日本无码A片| 国产三级中文字幕粉嫩| 婷婷五月天小说| 少妇三p| 中文字幕大片三级狠狠干| 无套后入双马尾| 精品蜜乳AV免费观看| 激情综合五月婷婷| 伊人操你| 人、人、摸,人、人、草| 国产乱弄免费在线视频。 | 日本中文字幕在线电影| 久久久久久久久久久免费精品| 亚州五月| 国产精品suv一区| 岛国小电影| 5278欧美一区二区三区| 国产av又色又爽又黄| 搡老女人老熟女91| 淫穴高潮色图| 久久久精品久久| 久久亚洲天天做| 按摩中文字幕| 亚洲,欧美,春色,另类| 欧美99| 欧美亚洲另类在线蜜桃| 在线观看无码三级少妇| 日本成人免费一区二区三区| 国产91美女视频| 婷婷20月天青娱乐| 精品无码产区一区二| 欧亚久久偷拍视频| 色色婷婷五月天| 欧美性爱系列| 日韩精品在线观看网站| 高清一区AV无码| 国产亚洲欧美每日在线| 自拍偷拍 日韩欧美| 国产熟女精品一区二区| 亚洲图片 欧美电影| 亚洲高清色综合| 综合亚洲网| 亚洲av乱伦色图网站| 99re国产精品视频| 一级A片女人高潮叫床| 好爽免费视频,| 99精彩视频| 曰韩无码777| 凹凸视频特色日本特黄| 精品高清一区二区三区三州| 天堂中文日本在线观看| 99re在线| 久草精品国产蜜臀 | 亚洲欧洲视频小说在线观看| 麻豆精品.欧美精品.日韩精品.| 大香蕉伊人久久| 亚洲91在线播放影院| 偷拍精品一区二区三区| 亚洲激情综合另类男同| 清纯唯美综合亚洲| 亚洲国产第一页综合视频| 成人免费在线网站| aaa亚无码专区| 美女91网| 亚洲国产精品久久久久婷婷老年| 曰韩欧美国产传媒麻豆第一区| 天天谢天天干| 久草资源在线| 91N综合网| 大香伊人在线一区| 久久精品中文字幕观看| 青娱乐黄色录像| 殴美日韩m| 人妻aa| 黑人无码一区二区| 啪一啪免费视频| 精品视频久久| 九久久九九久视频| 欧洲久久一二线| 日本幼女18+| 狠狠操官网| 校园春色 男人天堂| 91老熟女老女人国产老太| 久久久久免费少妇| 嗯嗯啊啊好疼| 91日产桃蜜| 乱伦日本中文自拍| 日韩Va亚洲va欧美Ⅴa久久| 26UUU欧美激情一区二区| 999国产精品999| 欧美日韩色图片| 日韩中文字幕2020| 91久| 国产精品午夜AV完会免费| 无码丰满熟妇一区二区浪潮AV| 丁香九月婷婷| 国产精品久久久久久久久久久久久久久久久久 | 欧美成人9797| 91美女国产在线| 欧美精品宗合| 亚洲黄色网址视频| 欧美18禁91| 新怡红院| 中文字幕人成乱码熟女香港| 97电影院超碰| 91成人久久| 大象AV在线| 中文字幕 码 自拍 视频 区| 青青青艹在线视频| 天天综合网91| 丁香六月啪| 97超视频在线观看| 亚洲另类天堂| 99欧美| 青草影院内射高潮| 丝袜人妻av一区二区| 五月综合色| 日本亚欧爱爱| 波多野结衣被操50分钟免费视频| 91原创在线观看| chaopen97久久| 亚洲国产av中文字幕久久| 久久精品一区二区三区不卡| 五月天AV资源| 眼镜人妻101.com| 麻豆久久久一区二区| 97久久久久久久久久| 国产成人欧美一区二区三区的国产| 密臀在线免费观看| 国产精品网址| www.丁香五月| 亚洲美女精品九九视频| 白嫩国模丰满一二三区| 久久、1234| 97射欧美| 亚洲不卡不卡中文字幕不卡 | 亚洲欧美在线综合| 日韩黄色片子| 日韩欧美亚洲国产日韩| 久久久久女教师免费一区| 国产精品成人无码av| av天天在线| 亚洲国产av中文字幕久久| 1024香蕉视频| 欧美成人精品一区| www欧美性爱| av天堂加勒比| 亚洲人妻av| 韩日欧亚a级| 很很干很很操| 欧美AB在线| 狠狠中文字幕| 亚洲 无码 偷拍| 夜夜操天天肏| 欧美日韩国产一区二区小黄片大全| 91亚洲青青草原精品1区| 日韩成年人性爱视频| 99色悠悠| 狠狠爱综合网| 一区二区三区日韩欧美| 91影库| 青青青艹在线视频| 免费精品人妻一区二区三| 97操综合| a片久久久久久久久久久久 | 日韩精品午夜操呦呦不卡影院| 黄色免费网页无码| 久久久精品无码亚免费| 干我久操| 日韩黄片影院| 三级日本一区二区三区| www.成人无码| 亚洲男人天堂网久久| 日韩一级片在线看| 色成人Www精品永久观看| 五月天婷婷成人网| 欧色网址| AV高清一区| 丰满人妻一区二区三区在线| 日本成人A片网站| 欧美色偷偷| 狠狠爱综合网| 日本超碰在线国产一区| 秋霞影音一区二区三区| 97超碰国产精品| 亚洲久久东京热一二三四五区视频| 人人超碰在线观看黄| 中文啪啪视频| 99视频自拍| 久久久久亚洲AV无码专区少妇| 九九九网站| 99热欧美| 日本五区不卡| 91网站18+| 亚洲人91| 啊啊啊好疼| 中文字幕久久亚州无码| 久久久久久夜夜夜夜夜| 中文字幕第页| 亚洲有码 视频一区| Julia在线播放亚洲久久| 少妇超碰在线| 开心五月天激情网| 欧美一区二区三区另类精品| 天天肏美女| 日本在线一二 | 亚欧无码在线| 国产成人欧美一区二区三区的国产| 操逼片国产| 久久久三区二区一区| 强奸国产在线| 日本三级韩三级99久久| 国产三级资源在线观看| 亚洲视频精选| 超碰97在线中文| 一区二区三区国产精产| 综合久| 亚洲码在线中文在线观看| 深爱伊人影院| 天天操夜夜操| 国产亚洲色婷婷久久99精品91葵花宝典| 亚洲啪啪综合?v一区综合精品区| 91在线/欧洲| 国产视频97| 欧美久久久15P| 天天干天天燥| 综合激情一一91| av资源在线播放天堂| 国产熟女完整版中字| 中文字幕av片| 亚洲情色 无码专区| 欧美传媒| 99热啪啪| 97天天插| 精品欧美А∨无码黑人大荫蒂| 欧美综合加勒比在线| 91欧美性| 欧美视频一| 97人人草| www.色吧5.com| 99色婷婷中文字幕乱色| 色五月大香蕉| 91久久青青草原精品| 国产成人天堂| 欧洲射精91| 久久久久9| 亚洲αv一区二区三区| 女人久久久| 大香蕉2017| 五月天激情婷婷| 亚洲国产欧美中日韩成人综合视频| 欧美影院一区二区三区| 亚洲图片日本AⅤ欧美在线| 欧美精品久久久久久久丰满| 久操视频资源站公开| 久久久久97| 992大香蕉| 99人人干| 久久午夜色播影院免费高清| 中文子幕一二三| 丁香五月天久久精品视频一区二区三区| 青娱乐av在线| 夜夜爽夜夜操| 久热99999| 乱操9999| 丰满人妻一区二区中文| 欧美成人亚洲精品| 人妻精品综合中文字幕在线| 丁香五月婷婷色| www.色婷婷色综合| 18禁止看精品中文字幕| 9久在线视频只有精品| 91丝袜视频在线观看| 新怡红院| 人妻大香蕉| 免费99精品国产自在在线| 欧美一级专区免费大片| 97超碰久| 人妻超碰青青草98| jk白丝没脱就开始啪啪| 乱伦a片视频| 人人操人人摸人人看人人干| 日韩一区二区熟女| 国产女s强制榨精视频| 黑人性暴力毛片| 国产一级特黄大片处女| 亚洲一区在线观看欧洲 | 色欲久久99精品久久| 久久99网站| 色五月婷婷色| 欧美日韩性爱视屏免费看了| 大香蕉乱伦视频网| 亚洲欧美大香蕉| 黄色十八禁网站| ai欧美亚洲小说| 交换娇妻呻吟声不停中文字幕| 五十路熟女人妻一区二区三区四区五| 天天综合~91| 免费看黄片现成| 亚洲精品尤物yw在线影院| 国产乱子伦一区二区三区在线观看| 少好三P|