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

ARTICLE DETAIL

資訊詳情

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

PyTorch圖像識別完整實(shí)戰(zhàn):從數(shù)據(jù)處理到模型部署全流程

PyTorch圖像識別完整實(shí)戰(zhàn):從數(shù)據(jù)處理到模型部署全流程 前陣子有個朋友問我想用PyTorch做一個圖像識別的小項目但他翻了一堆教程要么只跑通了單張圖片的預(yù)測演示要么一上來就丟一個幾百層的模型讓人直接復(fù)制。我聽完就覺得這類教程最大的問題是把“能跑”和“能落地”混為一談了。所以這篇文章我不想復(fù)述官方文檔而是把我實(shí)際做過的圖像識別完整流程拆開講從任務(wù)定義、數(shù)據(jù)準(zhǔn)備、網(wǎng)絡(luò)選型到訓(xùn)練調(diào)參、模型評估和部署前的最后一步。文章適合正在學(xué)PyTorch、打算拿它做圖像識別的初學(xué)者也適合已經(jīng)跑過一些Demo、但不確定下一步怎么走的中級使用者。我盡量把每一步背后的“為什么”也講清楚而不是只給代碼。1. 動手前先想清楚你的圖像識別任務(wù)到底是什么1.1 先把“圖像識別”翻譯成計算機(jī)能解決的問題很多人上來就搜“PyTorch圖像識別”這個詞其實(shí)太寬泛了。圖像識別在工程上至少會分化成圖像分類、目標(biāo)檢測、圖像分割、圖像檢索等好幾個分支技術(shù)方案完全不一樣。比如目標(biāo)檢測要輸出“圖中某個區(qū)域內(nèi)有哪類目標(biāo)”用的是邊界框回歸加分類圖像分割則要像素級標(biāo)記需要U-Net這類結(jié)構(gòu)。如果你的需求只是“這張圖是什么”那就對應(yīng)單標(biāo)簽多分類問題這是入門最友好的一個方向。我建議動手之前先把任務(wù)參數(shù)寫死類別數(shù)量、每類大概多少樣本、輸入圖片的尺寸、圖片里的目標(biāo)是否足夠顯眼。另一個容易被忽略的點(diǎn)是數(shù)據(jù)來源。如果你只有幾十張圖幾百張圖就要考慮遷移學(xué)習(xí)如果每類有幾千張甚至更多從頭訓(xùn)練一個網(wǎng)絡(luò)才說得通。把這些約束列清楚后面每一步選擇都有據(jù)可依而不是憑感覺調(diào)參。1.2 為什么現(xiàn)在大多數(shù)學(xué)圖像識別的人都選PyTorchPyTorch在圖像識別領(lǐng)域流行核心原因是它的動態(tài)圖機(jī)制。簡單說你用代碼寫著寫著就能隨時打印中間張量的shape可以在中間層打斷點(diǎn)看數(shù)據(jù)流這對調(diào)試神經(jīng)網(wǎng)絡(luò)來說太重要了。相比之下靜態(tài)圖模式相當(dāng)于先整體編譯再執(zhí)行出了問題排錯成本高很多。做圖像識別的時候張量維度稍微搞錯一點(diǎn)就報錯能直接print出來看每一層輸出排錯速度完全不一樣。另外PyTorch的生態(tài)對圖像任務(wù)足夠友好。torchvision集成了大量預(yù)訓(xùn)練模型、常用數(shù)據(jù)集和數(shù)據(jù)增強(qiáng)工具DataLoader配合Dataset能很舒服地處理圖片數(shù)據(jù)。就算后續(xù)要部署到線上PyTorch也可以導(dǎo)出成ONNX格式給其他推理引擎消費(fèi)。這些細(xì)節(jié)讓我在實(shí)際項目里很少需要換框架。1.3 數(shù)據(jù)量、算力、精度目標(biāo)決定你的方案選網(wǎng)絡(luò)結(jié)構(gòu)不能只看哪個模型刷榜刷得高要看你的資源和約束。我的經(jīng)驗可以分成三類情況供你參考。場景數(shù)據(jù)規(guī)模算力情況推薦方案快速驗證每類幾百張單塊中端GPU預(yù)訓(xùn)練ResNet18 / MobileNet 只訓(xùn)練分類頭常規(guī)項目每類幾千張單塊好點(diǎn)GPU預(yù)訓(xùn)練ResNet50微調(diào)最后幾層 數(shù)據(jù)增強(qiáng)從零訓(xùn)練研究每類上萬張多卡或長時間訓(xùn)練自己搭CNN或標(biāo)準(zhǔn)ResNet從頭訓(xùn)這個決策邏輯很直接遷移學(xué)習(xí)是用別人的特征提取能力來彌補(bǔ)自己數(shù)據(jù)不足的短板相當(dāng)于一個經(jīng)驗豐富的師傅先把“看邊緣、看紋理、看形狀”的基本功練好了你只需要教它識別你的特定類別。如果你數(shù)據(jù)量夠大從頭訓(xùn)練才可能超越預(yù)訓(xùn)練權(quán)重帶來的上限。2. 環(huán)境與數(shù)據(jù)準(zhǔn)備把底子打好2.1 環(huán)境安裝里你大概率會遇到的版本問題我見過太多人卡在環(huán)境上不是PyTorch裝不上而是裝完之后運(yùn)行時才發(fā)現(xiàn)版本對不上。最穩(wěn)的流程是先創(chuàng)建一個獨(dú)立的虛擬環(huán)境避免和系統(tǒng)Python或者其他項目互相污染。如果你用conda可以這樣操作conda create -n classify python3.10 conda activate classify然后根據(jù)你是否使用GPU來安裝對應(yīng)版本。我的建議是無論你有沒有獨(dú)顯都先在終端里跑下面這些命令確認(rèn)一下python -c import torch; print(torch.__version__) python -c import torch; print(torch.cuda.is_available())如果第二行輸出的是True那GPU環(huán)境就通了。很多人明明按教程安裝但torch.cuda.is_available()依然是False最常見的原因是安裝時選了CPU版本或者驅(qū)動版本太老。別急著重裝系統(tǒng)先查驅(qū)動支持再去PyTorch官網(wǎng)選和你的CUDA能力匹配的安裝命令這樣最省時間。我踩過最冤的一個坑是conda自動匹配了CPU版torch結(jié)果代碼跑了一天發(fā)現(xiàn)根本沒用GPU浪費(fèi)了大量時間。2.2 用文件夾結(jié)構(gòu)組織圖片比寫幾百行代碼還管用數(shù)據(jù)準(zhǔn)備階段我最推薦的方式是把圖片按類別放在文件夾里訓(xùn)練集、驗證集、測試集分開目錄管理。比如data/ train/ cat/ 圖片... dog/ 圖片... bird/ 圖片... val/ cat/ dog/ bird/ test/ cat/ dog/ bird/這種結(jié)構(gòu)的好處是torchvision.datasets.ImageFolder可以直接讀取它會自動把子文件夾名稱映射成類別標(biāo)簽連標(biāo)簽列表都不用自己寫。如果數(shù)據(jù)是一個CSV或者數(shù)據(jù)庫里存著路徑和標(biāo)簽?zāi)蔷托枰^承torch.utils.data.Dataset自定義讀取邏輯但多數(shù)入門項目用ImageFolder就夠了。from torchvision import datasets, transforms train_transform transforms.Compose([ transforms.Resize((224, 224)), transforms.ToTensor(), transforms.Normalize(mean[0.485, 0.456, 0.406], std[0.229, 0.224, 0.225]) ]) train_data datasets.ImageFolder(data/train, transformtrain_transform) print(train_data.classes) # [bird, cat, dog]注意Normalize里的均值和標(biāo)準(zhǔn)差。如果你用的是ImageNet預(yù)訓(xùn)練權(quán)重這三組數(shù)值幾乎是固定的如果你從頭訓(xùn)練自己的網(wǎng)絡(luò)可以用全量訓(xùn)練數(shù)據(jù)估算均值和標(biāo)準(zhǔn)差效果更貼合你的數(shù)據(jù)分布。但很多新手最容易犯的錯誤就是對預(yù)訓(xùn)練模型用了和目標(biāo)數(shù)據(jù)集完全不一致的歸一化參數(shù)導(dǎo)致收斂困難。2.3 DataLoader參數(shù)逐個拆解batch_size、shuffle、num_workersDataLoader是連接數(shù)據(jù)集和訓(xùn)練循環(huán)之間的橋梁幾個參數(shù)直接影響訓(xùn)練速度和效果。from torch.utils.data import DataLoader train_loader DataLoader( train_data, batch_size32, shuffleTrue, num_workers4, pin_memoryTrue ) val_loader DataLoader( val_data, batch_size32, shuffleFalse, num_workers4, pin_memoryTrue )batch_size每次迭代喂給GPU的圖片數(shù)量。太大可能顯存溢出太小會讓梯度震蕩訓(xùn)練不穩(wěn)定。一般先在32或64里選OOM就減半驗證集準(zhǔn)確率遲遲上不去就試著加大。shuffle訓(xùn)練集必須置為True否則每一輪epoch內(nèi)樣本順序不變模型可能學(xué)會記憶順序而非特征驗證集和測試集必須置為False因為評估結(jié)果不應(yīng)該受打亂樣本順序影響。num_workers數(shù)據(jù)加載用了多少個進(jìn)程。這個數(shù)值越高CPU讀圖和預(yù)處理越快但不是越大越好Windows上經(jīng)常設(shè)置超過4會報錯。pin_memory設(shè)為True會鎖頁內(nèi)存把數(shù)據(jù)從CPU傳輸?shù)紾PU的耗時降低。這個參數(shù)在數(shù)據(jù)量大的時候提升明顯代價是占用一部分內(nèi)存。3. 網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計先跑通一個簡單的CNN再談ResNet3.1 卷積網(wǎng)絡(luò)是怎么“看”圖像的如果你第一次接觸卷積神經(jīng)網(wǎng)絡(luò)可以把它理解成一臺滑動的掃描儀。卷積核就是在圖片上從左到右、從上到下地滑動每次都只觀察一個局部區(qū)域然后把局部區(qū)域的特征提取出來。相比全連接網(wǎng)絡(luò)卷積層最大的優(yōu)勢是參數(shù)共享和局部連接。同一組卷積核在整個畫幅上滑動意味著它只需要學(xué)習(xí)“某種紋理長什么樣”而不是“某個位置上有這種紋理怎么處理”參數(shù)量大幅下降也更不容易過擬合。每個卷積層輸出的特征圖尺寸可以用這樣一個基礎(chǔ)公式估算輸出邊長 (輸入邊長 - 卷積核大小 2 * padding) / stride 1。比如輸入224x224卷積核3x3padding為1stride為1輸出就是224x224。池化層則是對特征圖做降采樣可以類比成把高清圖片縮小成縮略圖保留主要信息但丟掉冗余細(xì)節(jié)一定程度上也增強(qiáng)平移不變性。3.2 從零實(shí)現(xiàn)一個能跑的小型CNN我不建議初學(xué)者一上來就套大型網(wǎng)絡(luò)先手寫一個輕量CNN把這些概念串起來后面換ResNet才心里有底。下面這個結(jié)構(gòu)是我常用的起步版輸入3通道224x224圖片輸出3類import torch import torch.nn as nn class SimpleCNN(nn.Module): def __init__(self, num_classes3): super().__init__() self.features nn.Sequential( nn.Conv2d(3, 16, kernel_size3, padding1), nn.BatchNorm2d(16), nn.ReLU(inplaceTrue), nn.MaxPool2d(2), # 224 - 112 nn.Conv2d(16, 32, kernel_size3, padding1), nn.BatchNorm2d(32), nn.ReLU(inplaceTrue), nn.MaxPool2d(2), # 112 - 56 nn.Conv2d(32, 64, kernel_size3, padding1), nn.BatchNorm2d(64), nn.ReLU(inplaceTrue), nn.MaxPool2d(2), # 56 - 28 ) self.classifier nn.Sequential( nn.AdaptiveAvgPool2d((1, 1)), nn.Flatten(), nn.Linear(64, num_classes) ) def forward(self, x): x self.features(x) x self.classifier(x) return x model SimpleCNN(num_classes3) dummy torch.randn(2, 3, 224, 224) out model(dummy) print(out.shape) # torch.Size([2, 3])我特意用了AdaptiveAvgPool2d它可以自適應(yīng)地把任意大小的特征圖池化成1x1這樣你的模型對輸入尺寸的寬容度會大很多換測試圖片尺寸時不用改全連接層的維度。這個細(xì)節(jié)是我后面做跨分辨率預(yù)測時經(jīng)常用到的。3.3 遷移學(xué)習(xí)把別人訓(xùn)練好的經(jīng)驗借過來自己從零訓(xùn)練一個CNN常常需要大量數(shù)據(jù)和很長時間實(shí)際項目中我更推薦直接在預(yù)訓(xùn)練模型基礎(chǔ)上做遷移學(xué)習(xí)。torchvision里加載預(yù)訓(xùn)練模型很直接from torchvision import models model models.resnet18(weightsmodels.ResNet18_Weights.IMAGENET1K_V1) model.fc nn.Linear(model.fc.in_features, num_classes) # 凍結(jié)大部分層只訓(xùn)練分類頭 for param in model.parameters(): param.requires_grad False for param in model.fc.parameters(): param.requires_grad True凍結(jié)策略有幾種不同做法。最省資源和時間的是只訓(xùn)練最后一層分類頭如果數(shù)據(jù)量中等可以嘗試解凍后面幾個block用較小的學(xué)習(xí)率訓(xùn)練如果你的數(shù)據(jù)已經(jīng)足夠多也可以不凍結(jié)任何層直接用預(yù)訓(xùn)練權(quán)重作為初始化全量微調(diào)。沒有絕對優(yōu)劣完全看你手里的數(shù)據(jù)量。我在實(shí)驗中發(fā)現(xiàn)數(shù)據(jù)量只有每類一千張左右時只訓(xùn)分類頭反而比全量微調(diào)更穩(wěn)因為全量微調(diào)容易在早期就過擬合。4. 訓(xùn)練細(xì)節(jié)準(zhǔn)確率提升的關(guān)鍵不在網(wǎng)絡(luò)而在訓(xùn)練4.1 數(shù)據(jù)增強(qiáng)用更少的圖片訓(xùn)練更強(qiáng)的模型很多人以為數(shù)據(jù)增強(qiáng)只是增加訓(xùn)練樣本的手段實(shí)際上它還有很強(qiáng)的正則化作用。隨機(jī)裁剪、水平翻轉(zhuǎn)、顏色抖動這些變換相當(dāng)于告訴模型“目標(biāo)的類別不應(yīng)該因為它在畫面中的位置、方向、亮度變化而改變”。最常見的組合是訓(xùn)練集做RandomResizedCrop加RandomHorizontalFlip加ColorJitter驗證集只做縮放和歸一化。train_transform transforms.Compose([ transforms.RandomResizedCrop(224, scale(0.8, 1.0)), transforms.RandomHorizontalFlip(), 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]) ])注意驗證集不要加隨機(jī)增強(qiáng)否則每次測試結(jié)果都會因為隨機(jī)操作而抖動沒法穩(wěn)定評估模型好壞。這是我最初最容易犯的一個原則性錯誤一度懷疑自己的模型不穩(wěn)定。4.2 損失函數(shù)和優(yōu)化器的選擇邏輯圖像分類最常用的損失函數(shù)是CrossEntropyLoss。它內(nèi)部已經(jīng)包含了Softmax的計算所以不需要再在網(wǎng)絡(luò)最后加一個Softmax層。這個損失函數(shù)對多分類問題的效果和穩(wěn)定性都很好我的建議是新手直接用它別折騰其他花式損失。優(yōu)化器方面SGD和Adam是兩大主流。Adam收斂快學(xué)習(xí)率可以設(shè)置得比較低尤其適合微調(diào)但SGD加上動量在訓(xùn)練后期往往有更強(qiáng)的泛化能力。我自己的習(xí)慣是跑通流程先用Adam學(xué)習(xí)率0.001驗證思路沒問題后再換SGD試試能否進(jìn)一步提升準(zhǔn)確率。還有一個容易被忽視的參數(shù)是weight_decay它本質(zhì)上是給模型權(quán)重加了L2正則等于告訴模型“權(quán)重不要太極端”對控制過擬合有明顯幫助。代碼里就是一句optimizer torch.optim.Adam(model.parameters(), lr1e-3, weight_decay1e-4)4.3 學(xué)習(xí)率訓(xùn)練中最常改的一個參數(shù)學(xué)習(xí)率設(shè)置太大會導(dǎo)致?lián)p失發(fā)散太小會讓訓(xùn)練慢得讓人懷疑人生。我踩過很多次學(xué)習(xí)率過高導(dǎo)致loss變成NaN的坑特別是用預(yù)訓(xùn)練模型解鎖全量微調(diào)時整個網(wǎng)絡(luò)學(xué)習(xí)率一致上調(diào)很容易震碎已經(jīng)學(xué)好的權(quán)重。一個實(shí)用的經(jīng)驗是新加的分類頭用相對大的學(xué)習(xí)率預(yù)訓(xùn)練特征提取部分用較小的學(xué)習(xí)率。optimizer torch.optim.Adam([ {params: model.fc.parameters(), lr: 1e-3}, {params: model.layer4.parameters(), lr: 1e-4}, ], weight_decay1e-4)學(xué)習(xí)率調(diào)度同樣重要。我常用的是ReduceLROnPlateau也就是當(dāng)驗證集準(zhǔn)確率不再上升時把學(xué)習(xí)率降為原來的十分之一。也可以用固定步長的StepLR最簡單最省心。訓(xùn)練早期如果加一個小的“warmup”比如前面幾個epoch把學(xué)習(xí)率從零逐漸線性升到目標(biāo)值可以在使用較大初始學(xué)習(xí)率時不那么容易被撐壞。4.4 一個規(guī)范化的訓(xùn)練循環(huán)別把驗證邏輯寫在同一步里訓(xùn)練循環(huán)看起來簡單但很多人把訓(xùn)練和驗證混在一起處理搞到最后連模型是哪個epoch保存的都不知道。我的習(xí)慣是每輪epoch做兩件事先在訓(xùn)練集上訓(xùn)練一遍再在驗證集上完整評估一遍。兩個函數(shù)分開寫職責(zé)清晰。def train_one_epoch(model, loader, loss_fn, optimizer): model.train() total_loss, correct, total 0, 0, 0 for images, labels in loader: images, labels images.to(device), labels.to(device) optimizer.zero_grad() outputs model(images) loss loss_fn(outputs, labels) loss.backward() optimizer.step() total_loss loss.item() correct (outputs.argmax(1) labels).sum().item() total labels.size(0) return total_loss / len(loader), correct / total def validate(model, loader, loss_fn): model.eval() total_loss, correct, total 0, 0, 0 with torch.no_grad(): for images, labels in loader: images, labels images.to(device), labels.to(device) outputs model(images) loss loss_fn(outputs, labels) total_loss loss.item() correct (outputs.argmax(1) labels).sum().item() total labels.size(0) return total_loss / len(loader), correct / total有兩個細(xì)節(jié)我特別想說。第一model.train()和model.eval()必須在每個階段開始前切換因為Dropout和BatchNorm在訓(xùn)練和推理時的行為完全不同。第二驗證階段一定用with torch.no_grad()包裹否則PyTorch會構(gòu)建推理圖顯存瞬間被吃掉而且白白增加計算量。5. 模型評估與落地從測試集到真實(shí)項目5.1 不要只看準(zhǔn)確率混淆矩陣和F1值能暴露更多問題很多初學(xué)者的唯一指標(biāo)就是驗證集準(zhǔn)確率。這個指標(biāo)在類別均衡時還湊合但遇到類別不均衡的數(shù)據(jù)集準(zhǔn)確率會非常騙人。舉個例子如果某個類占了90%的樣本你的模型就算把所有圖片都預(yù)測成這個類準(zhǔn)確率也有90%實(shí)際一點(diǎn)用都沒有。我建議每次訓(xùn)練完都看混淆矩陣把預(yù)測結(jié)果按行和列統(tǒng)計出來能直觀看到哪些類別最容易互相混淆。然后計算每個類別的精確率、召回率、F1值尤其關(guān)注數(shù)量少的類別。用scikit-learn幾行代碼就能出來from sklearn.metrics import confusion_matrix, classification_report import numpy as np # preds和labels分別是所有預(yù)測結(jié)果和真實(shí)標(biāo)簽格式為List[int] cm confusion_matrix(labels, preds) print(cm) print(classification_report(labels, preds, target_names[cat, dog, bird]))如果兩個類別在混淆矩陣?yán)锟偸腔ハ嗾`判我一般會懷疑兩類樣本本身存在較大的視覺相似性或者標(biāo)注質(zhì)量有問題。這時候優(yōu)先檢查數(shù)據(jù)標(biāo)注其次是增加對應(yīng)類別的樣本數(shù)量最后才考慮改網(wǎng)絡(luò)結(jié)構(gòu)。5.2 保存模型、加載模型和單張圖片預(yù)測訓(xùn)練結(jié)束后保存模型有兩種常見方式。只保存權(quán)重參數(shù)是最推薦的格式占空間小也方便后續(xù)換網(wǎng)絡(luò)結(jié)構(gòu)重新加載torch.save(model.state_dict(), model.pth)加載時要先構(gòu)造一個同樣結(jié)構(gòu)的模型再把權(quán)重放進(jìn)去model SimpleCNN(num_classes3) model.load_state_dict(torch.load(model.pth, map_locationcpu)) model.eval()推理階段和訓(xùn)練階段的寫法完全不同。必須先切換到eval()模式再做一次和之前驗證集相同的數(shù)據(jù)預(yù)處理然后調(diào)用模型from PIL import Image def predict_image(model, img_path, class_names): img Image.open(img_path).convert(RGB) img val_transform(img).unsqueeze(0) # 增加batch維度 model.eval() with torch.no_grad(): logits model(img) probs torch.softmax(logits, dim1) pred_idx logits.argmax(1).item() return class_names[pred_idx], probs[0][pred_idx].item() class_names train_data.classes pred, prob predict_image(model, test/cat_001.jpg, class_names) print(pred, prob)這里最容易翻車的點(diǎn)是忘了unsqueeze(0)。網(wǎng)絡(luò)默認(rèn)輸入的shape是[batch, channel, height, width]單張圖片讀進(jìn)來只有[channel, height, width]不加維度直接喂進(jìn)去就報維度錯誤。另外一定要用softmax把輸出轉(zhuǎn)成概率分布否則你看到的就是一堆很難解釋的數(shù)值。5.3 把模型接到實(shí)際項目里導(dǎo)成ONNX交給推理引擎如果只是做實(shí)驗?zāi)P屯T?pth文件就夠了。真要把識別功能集成到一個Web服務(wù)或者App里我建議導(dǎo)出ONNX格式。ONNX是一種開放的模型交換格式很多推理引擎都能直接加載不依賴PyTorch環(huán)境本身。dummy_input torch.randn(1, 3, 224, 224) torch.onnx.export(model, dummy_input, model.onnx, input_names[input], output_names[output], dynamic_axes{input: {0: batch}, output: {0: batch}})這里設(shè)置dynamic_axes可以讓輸入的第一維變成動態(tài)的這樣服務(wù)接口接收任意數(shù)量圖片都行。導(dǎo)出之后再用ONNX Runtime跑一遍輸入和輸出都應(yīng)該和PyTorch一致。能走到這一步一個圖像識別模型基本就具備了被實(shí)際服務(wù)調(diào)用的能力。6. 復(fù)現(xiàn)與效果分析我踩過的坑和最終對比6.1 最容易踩的幾個坑我按嚴(yán)重程度排了個序我梳理了自己在多個圖像識別項目里反復(fù)踩過的坑也是經(jīng)常在社區(qū)里看到新手們遇到的問題從嚴(yán)重到輕微排列如下。問題表現(xiàn)主要原因解決辦法Normalize參數(shù)用錯模型完全無法收斂loss居高不下和預(yù)訓(xùn)練模型不匹配核對來源模型標(biāo)準(zhǔn)歸一化的均值和標(biāo)準(zhǔn)差訓(xùn)練時忘了model.train()使用帶Dropout的網(wǎng)絡(luò)時驗證集很奇怪推理模式被用于訓(xùn)練每個階段切換train/eval驗證集被隨機(jī)增強(qiáng)每次驗證準(zhǔn)確率波動大錯誤復(fù)用了訓(xùn)練預(yù)處理驗證集只用ResizeCenterCropNormalize隨機(jī)種子沒固定每次訓(xùn)練結(jié)果完全不同初始化、數(shù)據(jù)采樣順序隨機(jī)在代碼頂部設(shè)置random.seed、np.random.seed、手動設(shè)置torch種子batch_size太大導(dǎo)致OOM訓(xùn)練中斷顯存溢出數(shù)據(jù)量和模型參數(shù)量超出顯存減半batch_size或者混合精度其中最容易被忽視的是隨機(jī)種子。如果你實(shí)驗中發(fā)現(xiàn)連續(xù)兩次訓(xùn)練同一個模型準(zhǔn)確率差了1到2個百分點(diǎn)第一件事就是固定隨機(jī)種子。下面這段代碼我?guī)缀趺總€項目都復(fù)制import random import numpy as np import torch def set_seed(seed42): random.seed(seed) np.random.seed(seed) torch.manual_seed(seed) torch.cuda.manual_seed_all(seed)6.2 同樣一份數(shù)據(jù)下不同方案的效果差異有多大我給一個朋友做項目時用一份公開的圖片分類數(shù)據(jù)集做了四組對比實(shí)驗每類圖片數(shù)量在800到1200張之間。跑出來的趨勢很有參考價值方案訓(xùn)練輪數(shù)驗證集準(zhǔn)確率訓(xùn)練耗時從頭訓(xùn)練SimpleCNN無增強(qiáng)4078%約20分鐘從頭訓(xùn)練SimpleCNN 數(shù)據(jù)增強(qiáng)4083%約25分鐘預(yù)訓(xùn)練ResNet18 只訓(xùn)分類頭1586%約15分鐘預(yù)訓(xùn)練ResNet18 解凍layer4 增強(qiáng)2089%約20分鐘這個對比的結(jié)論很清楚數(shù)據(jù)增強(qiáng)帶來的提升比換網(wǎng)絡(luò)結(jié)構(gòu)更明顯預(yù)訓(xùn)練模型哪怕只訓(xùn)分類頭也比從頭訓(xùn)練一個小網(wǎng)絡(luò)準(zhǔn)確率高出不少。而最后一種方案融合了增強(qiáng)和微調(diào)效果是最好的。實(shí)際解決業(yè)務(wù)問題時我通常沿用這個遞進(jìn)思路而不是一上來就追求最復(fù)雜的大模型。6.3 從頭復(fù)現(xiàn)這套流程的操作順序把上面內(nèi)容收攏成一個可以照著做的清單我的建議順序是定義分類任務(wù)確認(rèn)類別數(shù)量和數(shù)據(jù)量。建立train/val/test目錄核對每個類別的樣本數(shù)和圖片質(zhì)量。固定隨機(jī)種子搭建DataLoader和基礎(chǔ)訓(xùn)練循環(huán)先用一個非常小的網(wǎng)絡(luò)過一遍全流程。把網(wǎng)絡(luò)換成預(yù)訓(xùn)練ResNet18先只訓(xùn)分類頭確保能收斂。加入數(shù)據(jù)增強(qiáng)和學(xué)習(xí)率調(diào)度提升最終準(zhǔn)確率。用混淆矩陣和F1檢查每個類別的表現(xiàn)定位易混淆類別。保存模型導(dǎo)出ONNX接進(jìn)實(shí)際應(yīng)用。這套順序的核心原則是先讓流程轉(zhuǎn)起來再逐步優(yōu)化。我見過太多人一上來就在網(wǎng)絡(luò)結(jié)構(gòu)上花大量時間結(jié)果連基礎(chǔ)的數(shù)據(jù)加載和訓(xùn)練循環(huán)都沒跑通最后反而被一個維度錯誤卡了一整天。最后說一個我自己的習(xí)慣每改一次數(shù)據(jù)預(yù)處理、網(wǎng)絡(luò)結(jié)構(gòu)或者損失函數(shù)我都會先固定隨機(jī)種子在小數(shù)據(jù)上跑幾個epoch確認(rèn)流程沒問題再上全量數(shù)據(jù)。這個小習(xí)慣幫我過濾掉了大量“模型效果變差但原因卻在于流程本身出bug”的虛假實(shí)驗結(jié)論。圖像識別這個方向看起來模型很炫真正決定項目成敗的往往都是這些訓(xùn)練流程里的基本功。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
丁香激情网| 99久操视频| 99色中文| 天天干电影| 欧美三级视频下载| 少妇性按摩无码中文A片| 踪合专区啪啪| 九九热在线精品| 久草婷婷| 99热 精品在线| 激情激情激情网| 亚洲天堂婷婷丁香| 99久久久久久www| 99色日本| 开心五月激情网| 丁香五月天信号| 性色做爰片在线观看WW| 亚洲国产va| yw.av| 九九热精品视频| 亚洲无码黄色| 色婷婷在线视频| 婷婷舔| 色综合爱综合| 天天综合网~91| 亚洲va欧洲va国产va不卡| 久久精99| 五月婷婷在线免费观看| 美臀自射自家人妻| 色五月天丁香婷婷色| 在线观看亚洲视频影院| 国产va在线视频| 天天日天天色| 天天插天天插天天插天天插| 久久xxxx| 激情电影五月婷婷| 深爱开心激情| 99热网站| 六月婷婷狠狠色在线观看| 爱操天堂| 狠狠色色| 狠狠色丁香婷婷基地| 婷婷亚洲在线| 99亚洲精品视频| 开心婷婷中文字慕| 色 五月婷婷基地| 日韩三十六页| 天天插天天爱| 天天插天天爽| 丁香婷五月天| 色五月色五天色情网| 啪啪啪大香蕉| 人人舔人人| 九九九热精品| 超碰免费电影| 91久久久久久| 久久婷婷久久| 日日舔夜夜操| 色噜噜,噜噜色| 久久精99| 精品一二三区久久AAA片| 五月婷免费视频| 99久re热视频精品98| 日日操日日干| www.粉嫩av.com| 天天插操| 涩涩五月天| 色色色9| jiqingtaose五月天| 亚洲av电影在线| 久操人妻| 99热国产这里只有精品| 亚洲精品色色色| 97色色婷婷五月天| 亚洲欧美国产A片免费观看| 五月婷婷啪啪| 五月天婷婷婷| 五月色欧美| 99热这里都是精品| 婷婷九月丁香天堂丁香天堂| 亚洲视频在线网站| 九九热超碰| 婷婷五月六月| 九九热手机在线视频| 丁香色综合| 九月丁香八月婷婷加勒比| 久久婷综合| 婷婷五月天激情五月天| 五月丁香 啪啪啪| 久操婷婷| 五月天丁香综合| 潮汕成人AV片在线| 丁香五月婷婷免费视频| 欧美交换配乱吟粗大25P| 久操97| 99热只有这里才是精品| 日操五月婷| 色婷婷久久| 精品爆操| 久久婷婷资源| 九九www| 亚洲操女| 就爱日五月天| 中文字幕不卡网站| 懂色av粉嫩AV蜜臀AV| 五月天激情网站| 日韩操人| 九九热在线视频观看| 性99网站| 久久激情五月网| 婷婷五月天综合蜜桃| 色婷婷XXXXX| 久久婷婷网址| 最熟少妇乱码| 丁香五月婷婷亚洲激情四射| 激情综合网婷婷五夜| 久久婷婷五月天| 久久草大香蕉| 亚洲av骚货| 99精品一二三四视频| 99色免费观看全部| 色五月AV| 玖玖午夜视频| 99啪啪网| 久久丁香五月天| 91人人爽狠狠狠| 大天天伊人| 婷婷六月丁| 色五XX| 婷婷色五月综合丁香| 操97| 天天上天天爽| 五月天婷婷六月激情网| 99成人网站| 91丨熟女丨首页| 五月丁香久人妻中文| 99激情在线| 亚洲av午夜精品一区二区| 在线亚洲综合| 色七七九九| 大香蕉九九热| 大香蕉久久| 五月丁香久人妻中文| 国产激情久久| 中国AV性爱观看| 婷婷成人综合五月| 色色色色色色色色网站| 激情婷婷五月| 国产精品涩涩涩视频网站| h在线看免费版在线看| 色婷婷成人做爰A片免费看网站 | 99视频自拍| 99操碰| 99视频在线| 婷婷六月色| 99日在线视频| 国产午夜精品一区二区三区嫩草| 色综合网页| 色九九丁香九月色九九色| 97成人视频| 免费AV在线网址| 五月天婷综合| 思思久久精品视频| 丁香婷婷视频| 51国精产品自偷自偷综合| 婷婷色综合| 色五月婷婷色| 六月婷婷日| 狠狠色五月| 久久狼人天堂| 丁香五月在线视频黑人| 久久伦乱| 久久小说网| 亚洲经典三级| 色婷婷五月天成人网| 日日爱678| 丁香色啪综合| 久99热在线观看| 日日操日日撸| 99在线精品免费视频| 大香蕉婷婷婷| 色10月婷婷视频| 婷婷激情区| 亚洲中文乱字字幕在线永久| 五月婷婷性爱| 激情电影五月婷婷| 综合久久99| 亚洲 无码 中文字幕 中出 | 综合五月激情网| 激情婷婷六月天| 97天堂| 色激情五月| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 九九在线这里只有精品视频| 色五月激情五月开心五月| 美女婷婷激情亚洲| 操人无码| 亚洲五月停停| 亚洲精品一区中文字幕乱码| 色婷| 久久婷婷成人综合色怡春院| 五月花婷婷| 久久婷婷五| 五月天婷婷激情网| 婷婷 色 丁香 夜| 色99视频| 综合激情在线视频| 夜夜夜夜夜骑撸| 思思热视频在线| 久久五月天丁香花| 天天日,夜夜爽| 色色色地址| 色五月综合激情网| 色日本丁香婷婷| 99性爱| 久久免费精彩视频| 婷婷丁香91| 婷婷的五月天另类视频| 激情综合亚洲| 亚卅毛片| 五月丁香六月婷婷操操操| 久操热线| 538任你爽视频不一样的| 亚洲婷婷月丁香五月| 中文字幕成人影视| 国产亚洲av片| 99综合一区| 久久久人妻久久久| 激情六月丁香| 婷婷五月,偷窥偷拍网| 伊人婷婷激情| 五月婷色| 色五月开心婷婷| 狠狠爱婷婷丁香| 久久婷婷综合五月| 这里只有免费的精品| 婷婷五月天激情四射| 人妻六月天| caopeng97日韩| 中文字幕在线资源| 激情综合区| 日本婷婷| 操碰久| 五月丁香六月婷婷无码| 一点色成人网| 丁香六月婷婷高清| 国产精品久久久久久妇女6080| 丁香花色色网| 97av在线视频| 啪啪黄页网| 热思思| 色情终和网| 色99亚洲| 国外亚洲成AV人片在线观看| 久久国产精品乱子伦_靑青草…| 成人AV免费观看| www.99精品视频| 九九热这里只有精品31| 67194中文在线| 人妻肉射免费观看| 另类婷婷五月天啪帕帕| 九月婷婷综合八月丁香在线观看| 狠狠狠激情网| 无码AV免费精品一区二区三区| 婷婷亚洲日本| 激情综合久久| 伊人青草成人| 五月天激情国产综合婷婷婷| 【乱子伦】黄色| 五月丁香激情综合网| 九九热这里只有精品23| 九九综合色| 丁香五月婷婷久久久| 女人天堂AV| 69精品人人人人人人| 激情综合丁香五月| 99热1| 九色PORNY自拍成人精彩视频| 久久亚洲天堂| 五月丁香久久综合| 五月激情婷婷图片基地| 色 丁香婷婷| 久久怡红院| 丁香色综合| 婷婷久久99| 成人av播放| 午夜成人AV在线| 久久五月丁香婷婷| 亚洲乱码精品久久久久..| 电影爱拉战争免费观看| 久久综合激情| 淫荡综合网| 色就色94欧美setu| 五月丁香六月婷婷激情网| 99久超碰| 六月激情婷婷| 日日操夜夜爽天天天| 成人美女网| 六月婷婷亚洲| 色天堂在线| 成人片在线播放| 91爱啪啪| 91九色最新视频| 华人在线免费| www.婷婷亚洲基地| 99热久久这里只有精品| 日韩三级高清无码| 婷婷色综合| 国产成人精品亚洲线观看| 99热这里精| 综合色色五月| 久99在线视频| 五月婷婷这里都是精品| 天天干在线播放| 五月天狠狠| 日本欧美成人片AAAA| 先锋男人99资源| 97操女视频| 99re免费精品视频| 五月丁香五月天现场视频| 五月婷婷久草| 天天做天天爱天天爽| 丁香婷婷人妻| 婷婷五月丁香激情图片| 五月丁香啪啪啪| 五月婷婷色吧!| 伊人大香蕉综合在线| 久久综合中文| 99热在线观看亚洲区| 婷婷久久天堂网| 五月激情综合网| 六月香五月婷| av在线免费播放| 无码 av电影| 九九热99免费视频| 亚洲综合狠狠艹| 日韩 中文 欧美| 国产成人精品一区二三区熟女在线| 五月丁香婷婷成人网| 另类图片色五月| 激情五月综合网丁| se99视频| 五月丁香在线观看| 亚洲性爱99在线| 五月婷婷偷拍| 丁香久久激情俄| 色色色网站| 日日噜狠狠色| 色婷婷黄色网络| 婷婷丁香五月综合网| 欧美五月婷婷| 日日夜夜婷婷| 九九热在线观看视频网站| 激情图片99| 欧美精品在线观看| 老司机伊人| 色婷五月天激情| WWW色综合| 一操久久| 中文字幕操比影片| 日本久久精品| 99精品在线观看| 美女激情婷婷| 操国产人妻| 伊人婷婷大香蕉| 日韩在线视频9色| 狠狠五月丁香色婷| 2016日日夜夜操| 色色三级视频| 久青草影院| 超碰色色综合| 97色色色| 99热这里只有精品2| 99国产小视频免费观看| 成人短视频在线| 卡视频1区2区| 激情影院69| 亚洲精品V天堂中文字幕 | 婷婷六月偷拍| http://www.com久久久精品一区| 丁香婷婷综合激情五月色| 91人人爽狠狠狠| 色狠狠婷婷| 精品少妇蜜臀91| 激情五月图| 亚洲超碰在线| 色欲av伊人久久大香线蕉影院| 久久精品天| 青青久久五月| 操97在线观看| 超碰操日| 婷婷五月丁香99| 4399无码视频| 亚洲激情四射色| 最近中文字幕2019视频1| 超碰在线91| 曰曰久久| 婷婷综合在线| 欧美在线视频99| 国产成人av在线播放| 丁XX 成人| 激情综合五月婷婷六月丁香| 第五色婷婷| 婷婷五月天综合小说网| 五月丁香在线综合| 色情五月婷婷| 免费精品99| 播五月丁香三月婷婷| 色色色成人网| 色婷婷五月中文字幕在线dvd| 亚洲综合婷婷| 六月丁香婷婷五月| 五月婷婷之综合激情| 六月丁香激情婷婷| 亚洲欧美国产高清vA在线播放| 久久这里有精品在线观看| 色 五月婷婷基地| 丁香五月婷婷亚洲另类| 俺去啦综合网| 久久这里只有欧美| 五月丁香婷婷综合网| 九九视频在线观看| 激情五月丁香亭亭 | 日韩熟女啪啪视频| 色色丁香色五月| 久热久操久热久草国产91| 干一干xxxx| 激情久久久久久| 丁香五月性| 天天天操天天天爰| 五月停停丁香| 亚洲99在线| 九九色影视| 久久这里只有精品热在99| 67194国产| 激情五月黄色| 97艹| 色婷婷五月综合| 综合99在线| 久久成人精品视频| 精品久久这里热66| 日本丁香五月| 青青草青青草五月天| 色婷婷无吗| 99九九视频| 婷婷香香五月| 日本激情五月天‘| 五月丁香六月成人| 亚洲字幕AV一区二区三区四区| 97碰碰九九视频| 成人在线网站| 侠女刀之记忆电影在线看免费| 婷婷五月亚洲激情| 人草人人| 亚洲情欲| 超碰69天堂| 日本99在线视频| 丁香六月婷婷缴情欧美| 狠狠干综合网| 天天天天天天操| 清纯唯美 激情四射| 777久久久| 九九色逼| 色色色色色色色色色色色色色色,网站| 狠狠干狠狠干| 国产毛片精品一区二区色欲黄A片| 色天使色综合| 天天激情5月天亚洲| 五月丁香婷中文| 99精品网| 久九男女天堂| 五月婷婷啪啪网| 五月丁香六月激情狠狠| 成人版视频在线观看| 婷婷五月成人| 丁香五月AV| 久久五月婷综合网| 亚洲AV综合在线观看| 全部老头和老太XXXXX| 欧美一线视频| 手机激情网| 婷婷五月天激情开心网| 日本少妇裸体做爰高潮片| 任你日热视频| 中文字幕 久久9999| 丁香五月日韩| 97干资源在线观看| 性小说五月天| 中文字幕永久免费| 一本九九色| xxxx五月| 婷婷五月丁香久久| 丁香狠狠操| 成人片在线播放| 日日夜夜爽| 亚洲人妻av| 黄久久久| 99热.com| 青青草伊人婷婷| 99色婷婷| 99色五月| 日韩大片艹艹| 丁香五月激情婷婷| 99热综合| 婷婷色网| 亚洲成人网在线观看| 五月天婷婷Av| 国产精品-91JQ就要激情网91JQ6.91JQ27.CASA:16888 | 97色女人在线| 97久久精品视频| 色婷婷视频| 色综合久久88色综合天天99| 天久久久久| 久久66精品| 777精品久无码人妻蜜桃| 性视频久久| 成人丁香婷婷| 色欲久久99精品久久久久久| 国产一二区爆乳_1国产日韩一区二区三-成人AV | 深爱综合网| 婷婷丁香综合| 老司机伊人| 超碰成人黄色网| 激情婷婷内射| 色婷婷激情| 亲子乱AV一区二区三区下载| 99亚洲视频| 超爽内射| www.日日夜夜.com| 婷婷五月激情小说| 激情婷婷网| 北条麻妃九九九国产精品视频| 色色色色色色色综合| 五月丁香六月婷婷网| 综合久久影院| 激情久久综合| 六月丁香久久| 激情六月综合| 伊人影音无码一区二区三区| 欧美性丁香色色五月天干干| 激情久久久| 狠狠色综合网| 五月天激情小说| 婷婷五月天色| A A色色| 91互操| 99热精品一| 久久久国产精品黄毛片| 开心五月深爱五月婷| 在线看的免费网站| 九九热手机在线视频| 亚洲亚洲人成综合网络| 久久这里只有精品视频26| 大地资源色婷婷视频在线 | 91狠狠色丁香婷婷综合久久| 五月综合久久| 激情黄色五月天| 欧美大片免费观看| se99在线| 色五月噜噜| 日韩砖区| 五月天婷婷狂暴白浆| 五月花丁香婷婷| 五月丁香激情综合网官网| 婷婷日日夜夜| 台湾无码A片一区二区| 日韩精品999| 99热在线精品观看| 久久综合九九| 天天日天天日天天搞| 五月丁香婷婷激情爱爱| 66色在线日韩| 五月婷婷啪啪| 婷婷91视频| 久久精品小视频| 婷婷操无码| 五月天夜夜爱夜夜操| 国产av第一专区| 久久久免费精彩视频| 九九大香蕉黄色影院| 亲子乱AV一区二区三区下载| 玖玖色综合网| 成人综合网站| 97 A I色色| 任你日视频| 色9999日韩国产| 99视频这里只有久久精品| 无语停婷丁香网| 99啪啪网| 99这里只有免费的小视频在线观看| 综合天堂AV久久久久久久| 色婷婷六月精品| 激情人妻蜜夜系列区| 丁香婷婷基地| av 一区三区四区| 久久人人添人人爽添人人片αV| 欧美黄色AA片哗啦啦啦| 色婷婷香蕉| 免费无码毛片一区二区A片| 99热这里全是精品| 五月丁香| 九色1区视频在线| 欧美在线操| 五月婷婷激情四季| 91日综合欧美| 婷婷色婷婷| 99re视频精品| 天天噜天天插| 色无婷婷| 日本色道视频网站| 99re这里只有精品视频了| 91九色国产在线| 国产AV一区二区三区最新精品 | 五月久久综合| 亚洲欧美成人在线| 婷婷干五月综合在线播放| 综合久久影院| 最新婷婷五月丁香| 五月婷婷综合在线| 色五月天电影| 色香五月天| 亚洲婷婷91丁香| 丁香五月大香蕉在线99| 激情五月婷婷丁香| 久久久精品人妻| 99热欧| 丁香五月激情网| 精品久久久久成人码免费动漫| 91ncm视频| 五月婷婷六月奇米网丁香| 超碰激情网| 七七色综合| 99热网站| 在线播放成人网站| 91精品久久久久、久五月天| 操逼福利视频| 欧美婷婷六月丁香综合色| 久久综合综合综合| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 五月天基地| 五月天久久色| 五月开心久久| 色哟哟www| A久网| 思思网站| www久| 丁香婷婷婷五月综合色情| 性按摩玩人妻HD中文字幕| 婷婷久久综合| 日本久久性| 99热免费看| 五月丁香六月婷婷免费视频| 99热在线爱| 色综合大香蕉| 伊人丁香五月婷婷潮吹| 久久五月婷综合| 中字幕视频在线永久在线观看免费| 亚洲六月婷婷| 丁香婷婷五月综合| 婷婷色色婷婷| 99国产视频网| 夜夜骑天天玩天天日| 五月天色婷婷小说| 色色永久| 麻豆科斗777| 97干在线| 亚洲综合九九| 亚洲综合色色| 亚洲AV人人操| 人人叉久| 丁香97综合| 色综合99色| 五月丁香亭亭激情操逼网| 色五月激情五月| 色五月丁香五月| 超碰免费人妻| 婷婷精品在线| 99综合久久| 五月天色丁香| 五月天国产| 五月婷婷av| 五月综合婷婷五月| 综合成人小说婷婷| 婷婷色5月激情网| 米奇影视五月天| 深爱丁香网| 激情综合网之激情五月| 九九热视频首页/这里只有精品| 黄网网站在线播放| 另类小说五月天| 大香蕉婷婷丁香| 五月丁香综合影院| 色综合中文色综合网| 国产婷婷五月天| 国产三级片91| 婷婷视频网| 天天操夜夜爽天天操| 轮奸综合网| 无码一区二区日韩| 青青五月天婷婷| 色婷婷影音| 久99热| 色香欲综合| 大香蕉久久婷婷| 欧洲毛片基地c区| 夜夜撸天天操| 极品人妻VIDEOSSS人妻| 久久免费高| 激情五月天福利| 天天干,天天操,天天射| 亚洲成人在线免费| caopeng超碰| 亚州精品色情在线观看| 久久这里只有精品视频26| 人人添人人| 九九精品在线观看视频6| 色五月AV| 性爱视频99| 亚洲第一成人无码A片| 五月婷婷黄网站大全| 欧美日韩国产一区二区| 九九色影视| 婷婷成人在线| 丁香五月激情啪啪| 婷婷五月天激情小说| 色五月激情网| 中文字幕1区2区。| 色五月97| 久久网站免费亚洲| 99久久免费精品| 亚洲综合1024| 秋霞AV吧| 99热爱爱干干日| 亚洲十月婷婷综合| 色噜噜狠狠色综合网| 极品少妇XXXX精品少妇偷拍| 欧美啪啪五月天| 丁香五月在线伊人| 五月激情站| 亚洲激情在线| 婷婷五月天午夜激情影院| 丁香 婷婷 激情 综合 五月| 丁香五月激情性色郤| 91热视频色网站| 精品久久久人妻| 激情涩播| 色哟哟精品| 五月天激情Av| 91大神操美女| 大香蕉色婷婷伊人在线| 六月婷婷AV| 婷婷五月黄色激情在线| 五月丁香六月婷婷在线| 婷婷五月天av| 九九久久精品國產| 伊人青草成人| 久久婷婷五月天| 国产偷人爽久久久久久老妇APP| 天堂在线婷婷| 99re这里只有精品免费| 少妇人妻人伦A片| 免费看欧美成人A片无码| www久久艹| 综合深爱五月| 色五月五月婷婷| 色婷婷六月| 色色色99| 开心五月网 | 天天做天天干天天综合网| 影音先锋天天日| 亚洲乱码日产精品BD| 婷婷六月久久| 九九sese| 五月婷婷在线网站| 激情丁香五月天图片| 天天做天天爱天天高潮| 亚洲AV综合在线观看| 久草热视频在线观看| 少妇高潮呻吟A片免费看软件| www.婷婷| 久久婷婷色综合| 婷婷丁香五月基地| 婷婷五月久久| 日本欧美成人片AAAA| 丁香婷婷网| 第四色五月婷婷| 色色六月| 五月婷综合网| 最新高清无码专区| 涩涩涩,com| 六月婷婷色综合| 久久久久久久久99精品| 婷婷五月天电影网| 4438全国最大视频成人网站在线观看 | 色婷婷丁香综合中文字幕| 91婷婷五月天嫩女| 97久久精品视频| 99爱免费在线视频| 中文字幕无码人妻少妇免费视频| 五月丁香日本片| 99性视频| 丁香激情网| 99热主页日本| 国产精品成人AV在线| 新激情五月天天在线网| 亚洲黄色av网站| 久久小片| Av免费网站在线| 日韩99精品| 狠狠穞A片一區二區三區| 成人性生活免费观看。| 热99精品视频| 色99久草在线| 亚洲综合色棒| 在线亚洲综合网| 婷婷五月综合激情免费| 丁香婷婷老司机久操| 99免费视频网| 91超级碰人人操| 五月丁香六月情| 手机在线视频观看9| 国产婷婷五月在线视频| 四射综合网| 婷婷丁香五月天激情| 91大屁股精品| 99re在线精品视频| 97综合在线| 亚洲色婷婷五月天| 久久精品在线| 人人艹艹艹| 五月婷婷开心亚州在线| 日韩欧美婷婷丁| 六月婷婷色综合| 色综合丁香婷婷| 色婷视频| 电影《战争与艾拉》免费观看| 777精品久无码人妻蜜桃| 激情五月婷婷伊人| 26uuu成人网| 99爱视频在线| 99热久草| 午夜一区| 开心五月色婷| 五月色婷丁香| 丁香五月手机在线| 色色欧美色色| 激情亚洲网| 九九人人自拍| 五月丁香婷婷综合网| 婷婷美女精品视频| 国产在线网址1| 99精品在线观看视频| 五月丁香色色| 丁香激情网| 久久久人妻系列| 美欧成人视频| 人人干av| 婷婷五月AV| 五月叮香啪| 色吧五月婷婷| 五月婷婷影视| 小泽玛利亚视频一区二区| 久久婷婷色| 天天综合.com| 欧美色色日韩| 五月丁香777| 这里只有免费的精品| 99九精品| 人妻久久久| 丁香婷婷综合激情五月色| 欧美日韩国产伦精品日韩人妻一| 99热这里只有精品青草| 开心五月色婷| 99久re热| 99re6在线视频精品免费| 激情五月,激情综合网| 九九久久五月天综合伊人| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 五月丁香中文字幕| 在线不卡视频| WWW色色色COM| 超碰人妻在线| 五月天激情子轮| 91久久| 一级片无码| 久久久WWW| 色五月综合婷婷| 91九色|疯狂|高潮|对白|| 色视频色综合91| 综合色影| 色婷婷色丁香色欲av| 日本色色图| 丁香五月天视频在线播放| av网址在线| 91九色PORNY大屁股| 婷婷天堂综合| 99热99热| 综合亚洲色色| 99热99| 成人综合网站| 狼人狠狠操| 另类综合网| 亚洲色色色色色色色色色| 婷婷五月丁香国产| 激情综合五月丁香| 色99色| 婷婷丁香基地在线| 99自拍视频| 婷婷色六月| 99热国品| www.色99| 天天久| 成人网站免费sxj| 大香蕉久艹| 人人操91色| 色伦专区97中文字幕| 色综合九九| 激情五月色播五月| 亚洲AAA| 伊人婷婷五月天| txt五月激情四射网综合俺也来了| www.婷婷| 婷婷在线视频| 丁香五月影院| 深爱激情网五月天| 日日操夜夜爽天天天| 色色色99| 97se视频在线| 一区二区你懂的| 激情内射人妻1区2区3区| 久操婷婷| 久久婷婷人人| 五月天精品视频| 亚洲激情视频网| 五月激情丁香五月| 97超碰在线免费观看| 红桃91人妻爽人妻爽| 一本道在线电影| 久久婷婷视频| 色婷婷在线播放| 丁香六月婷| 免费视频这里只有精品| 思思色综合网站| 五月天天天操天天爽夜夜操| 伊人干综合| 婷婷操久久| 香蕉伊人综合| 激情婷婷丁香色五月| JlZZJlZZ8JlZZ亚洲熟女| 性一交一乱一交A片久| 另类视频五月天| 色婷网| 久草视频一,二三四| 激情五月综合| 强伦轩人妻一区二区电影| 丁香五月婷婷在线视频| 亚洲婷婷六月天| 五月丁香啪啪激情| 这里只精品| 欧美成人无码一区二区三区| 亚洲综合在线伊人婷| 亚洲综合婷婷| 91九色在线| 伊人婷婷综合| 丁香蜜臀黄色婷婷五月天| 丁香五月先锋| 精品99在线| 综合性爱网| 婷婷五月天亚洲综合| 99re热在线视频观看| 中日韩狠狠色| 99久久精品国产色欲| 91视频综合网| 五月婷婷婷综合网| 91色操| www.99久| 婷婷香香五月| 丁香丁香激情网| 99热6这里之有精品| 在线VA视频| 大波美女VA网站| 很操日本7| 第一区久久网站| 久久婷婷五月综合色丁香| 久热精品视频| 五月激情婷婷在线| 激情综合网色播五月| 五月天天综合| 欧洲亚洲免费视频9| 伊人99热| 99久re热视频精品98| 九九视频在线观看视频6 | 极品人妻VIDEOSSS人妻| 综合久久十三| 日本欧美999久久久三级片| 亚洲 欧洲 国产 伦综合| 免费看成人747474九号视频在线观看| 久久婷婷五月综合成人d啪| 97碰碰视频在线观看| 久久五月天色婷婷| 天天干天天日日| 99色最新在线视频网站| 色综合伊人网| 久久久91| 九九色综合| 狠狠色综合五月人人| 五月婷久草| 强伦轩人妻一区二区电影| 五月开心婷婷极品激情| 日 日干 日日做| 天天高潮夜夜爽| 色你久久| 五月香婷婷| 99久久喉9| 日本WWW九九九| 区区久久妻| 亚洲成人电影aaaa| 五月天婷婷影院影院观看| 99九九热在线观看| 97人人干| 色激情网| 日日噜噜夜夜狠狠久久丁香六月| 亚洲精品乱码久久久久久综合| 天天日天天做天天操| 五月婷婷深深爱| 丁香五月天综合| 99在线资源视频| 激情婷婷久久| 婷婷五月丁香狠狠| 天天插天天插天天插天天插| 激情综合婷婷| 69超碰在线| 秋霞日本免费毛片A片| 丁香激惜男女| 天天狠天天叉| 99激情视频| 五月色亭丁香| 第四色激情网| 丁香五月色情| 欧美婷婷日本| 大香蕉久久视频久久视频 | 在线观看996精品| 丁香五月色播中文在线播放| 丁香色五月婷婷| 天天艹夜夜艹| 五月婷丁香久久综合| 1024日韩| 岛国AV网站| 国产激情综合五月久久| 无语停婷丁香网| 怡红院 久久| 激情丁香六月| 五月激情综合网| CAOBIBI| 99色啊| 久久视频婷婷| 黄急一级视频| 欧美影院婷婷| 婷婷激情五月色综合| 激情影院丁香五月| 超碰激情五月| 五月丁香啪啪激情| 婷婷五月天亚洲综合| 久久久国产精品黄毛片| 超碰免费99| 五月天婷婷丁香社区| 天天日天天舔| 久久婷丁香五月| 精品成人在线| 综合久| 国产性爱亚洲是图| 免费视频WWW在线观看网站| 大香蕉婷婷久久| 欧美日韩aaaa| 丰满人妻一区二区三区| 国产免费一区二区三区三州老师F1F1.CC | 色五月丁香总合网| AA久久| 超级碰碰碰久久网站| 伍月婷丁香婷| 婷婷射综合| 夜色.cnm| 丁香五月激情六月综合| 综合激情站| 色色五月天婷婷丁香| 丁香五月在线观看完整版| 丁香六月欧美| 超碰三级片| 狠狠干综合网| 亚洲第一成人无码A片| 热99这里只是精品| WWW,五月| 9久热在线精品| 九九九九九九九热| 香蕉久久国产AV一区二区| 任你爽精品免费视频6| 狠狠xx| 五月婷婷色色爱| 久久这里只有精品07 | 免费黄色片子| 色碰碰视频| 九九色色| 性爱七区| www.深爱激情| 色婷婷中文| 色婷婷综合五月| 久久婷婷热| 五月丁香激情综合| av在线激情| 激情久久丁香| 婷婷深爱五月| 婷婷激情五月天激情小说 | 波多野结衣AV无码Porn| 婷婷射丁香| 色婷婷小视频| 久久这里只有国产视频| 国产婷婷色综合AV蜜臀AV | 亚洲性爱干干| 99久久99久久综合| 伊人婷婷青青cao| 国产亚洲色婷婷久久99精品91| 大香蕉久久草| 色激情五月| WWW99视频| 久热免费视频| 91人碰| 国产精品爽爽久久久久久| 亚洲成人中文字幕| 五月婷婷激情五月| 香蕉伊人综合| 可以免费观看的AV| 久七香蕉| 伊人色综合久久久| 偷拍91九色| 极品另类| 九色91视频| 99ri精品视频在线观看| 日韩AV片| 亚洲婷婷免费| 激情视频婷婷五月花| 日日撸夜夜操| 五月激情五月丁香| 99热这里只有精品8| 久色成人| 激情婷婷狠狠干综合| 互月天综合| 五月婷婷黄网站大全| 亚洲日日操| 婷婷综合日本| 大香蕉99| 日韩成人av在线| 国产这里只有精品| 狠狠88综合久久久久噜噜噜| 国产婷婷色综合AV蜜臀AV | 操操操B| 天天爽日日爽夜夜爽| 色九九丁香九月色九九色| 另类激情五月在线视频欧美| 91网站黄| www激情| 婷婷久久夜| www...com黄在线观看| 99热亚洲精品| 中文字幕欧美久久| 五月丁香啪啪| 亚洲丁香五月天在线视频| 操操操B| 99热这里精品| 97资源欧美日韩大香蕉超碰一区| 丁香五月婷婷影院| 性 色 婷婷| 人妻视频一区而且二区| 激情网五月| 九九RE视频在线精品| h在线看免费版在线看| 日日操,天天操| 五月天丁香综合在线| 九九五月天| 色色综合日韩| 99久久偷拍视频| 国产精品电影网| 97丁香花五月天激情小说| 六月丁香VA| 影音先锋色婷婷| 亚洲激情在线| 成人精品99| 99热免费精品| 五月综合色| 日韩精品二三区| 综合久久97| 丁香狠狠色婷婷| 香蕉AV777XXX色综合一区| 成 人 色 色| 天天综合 99久久婷婷| 丁香女人五月天| 天堂中文国产| 99'无码| 97超碰99热99| 任你草| 热99热9| 色婷婷五月在线| 亚洲亚洲人成综合网络| www,天天干| 99久久婷婷国产综合精品青桔| 久久六月婷婷| 色婷婷免费观看| 99热精这里只有精品| 日本天堂免费99| 久久人妻视频| 九九精品免费| 五月天伊人av| 碰碰碰91| 无码免费人妻A片AAA毛片西瓜| 噜噜网免费视频| 五月天日日操夜夜操| 亚洲天堂制| www婷婷| 五月丁香777| 国产精品色色666| 99热在线观看99| 疯狂做受XXXX高潮A片| 播五月丁香三月婷婷| 六月色婷婷欧美| 91色吧网| 中文字幕无码AV| 激情丁香社区| 婷婷丁香在线播放| 99re热精品视频国| 色99免费视频中文| 全部老头和老太XXXXX| 99玖玖在线视频| 九九色99| 亚洲综人色综网| 中文字幕亚洲-区久久99婷婷| 精品一二三区久久AAA片| 超碰93在线观看| 久久这里只有国产视频| 久思思热视频在线观看| 激情五月婷婷啪啪| 9精品久久999| a网站免费观看| 丁香五月在线观看| 五月社区婷婷激情| 五月丁香六月婷| 色婷婷啪啪| 亚洲在线免费成人| 九九视频在线观看| 五月色综合| 人人人人人人人草| 99亚洲综合| 婷婷五月天奸女| 9色在线视频精品观看| 日日影院 | 亚洲无码色色| 视频一二区| 久久久精品色| 天天久久综合| 丁香婷婷五月激情综合| 日本三级中文字幕| 丁香五月婷婷欧美成人色图| 99热99艹在线观看| 五月色网| 久久久久9999| 丁香狠狠色婷婷| 五月天.com| 五月天激情av|