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热在线观看| 爱爱色五月天| 人妻丰满精品一区二区A片| 五月天色视频| AV美美午夜| 色你久久| 激情图片久久| 亚洲成人综合网在线免费观看| 激情五月婷婷综合| 991精品在线视频| 亚洲五月丁| 五月婷婷激情| 国产白丝在线一区| 在线观看996精品| 亚洲精品白浆高清久久久久久| 九九色大香蕉| 精品无吗va视频免费观看| 色五月婷婷天天干| 婷婷六月丁香在线| 色之综合网| 天天射天天干天插色综合| 婷婷丁香大香蕉| 成人无码髙潮喷水A片| 亚洲操精品| 色婷婷基地| 色五月丁香激情视频| 182TV亚洲| 丁香激情综合| av婷婷丁香| 大陆极品少妇内射AAAAAA| 丁香色五月 97干| 丁XX 成人| 综合久久人妻| 婷婷五月美女直播| 婷婷六月激情综合| 99爱爱网| 欧美色图天堂网| 激情综合网五月| 色玖玖综合| 色噜噜狠噜噜视频| 成人短视频在线| 九九成人| 色婷婷丁香| 97九色视频| 色情成人五月天| 亚洲视频图片婷婷五月| 天天日日夜夜| 思思热精品在线视频| 亚洲在线操| 日本久久人人| 五月婷婷激情| av婷婷丁香| 久久丁香网| 久热re视频在线观看网站| 青柠影视免费高清电视剧| 人妻少妇色综合| 色播五月丁香| 婷婷丁香六月天激情四射网| 伦99热| 色色丁香五月天社区| 免费超碰在线| 99自拍视频在线观看| 色欲婷婷五月天| 九九九色综合| 丁香六月婷婷高清| 五月天久久婷婷| 九九激情| 日本天天色| 国产精品VIDEOSSEX久久发布| 日韩免费视频| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 日本婷久久| 色婷婷免费观看| 婷婷五月天AV| 五月天久久小说| 狠狠色丁香婷婷| 亚洲成人av在线播放| 人人操女人| 五月玖玖| 丁香综合网| 六九色综合婷婷五月天| 另类小说五月天| 亚洲婷婷性爱| 大香蕉久艹| 激情六月五月婷婷综合网| www,婷婷五月天777me,com| 五月天激情视频网站| 深爱激情丁香| 99热在线观看| 丁香激情五月少妇| 色婷婷在线视频久| 成人网在线视频| 99热这里只有精品中文字幕| 91亚洲免费片| 色情五月天se| 91九色国产| 青青草原中文字幕| 五月天综合视频| 婷婷伊人中文字幕| 夜夜撸日日骑| 激情婷婷五月天| 97碰碰免费.视频| 五月婷婷综合久久| 丁香五月播播| 国产精产国品一二三在观看 | 色色色热| 亚洲日韩成人三级av| 激情婷婷网| 丁香五月婷婷深爱综合激情| 2025色婷婷| 热九九精品| 国产人妻777人伦精品HD| 色噜噜五月丁香婷婷| AV激情五月| 国产婷婷五月天| 91viP在线看| 7777国产盗摄农村女人| 26uuu国产色| 天天色视频| 婷婷久久久| 久久五月情| www.sd-xiangsu.cpm| 思思热99热| 成人精品视频99在线观看免费| 999精品久久久久久久| 99热免费网站| 三级黄网站| 影音先锋一区二区资源站| 五月丁香六月香香蕉| 人人人舔人人人操人人人摸人人人97| 日产精品久久久久久久蜜臀| 婷婷六月丁香激情| 日本99热| 东京热免费视频| 色停停五月天| 丁香五月激情综合久久| 丁香5月啪啪| 激情五月天视频| 婷婷综合一二三| 日在线V视频在线播放| aa久久| 久久综合9| 99re思思精品视频在线观看| 99热这里只有精品8| 丁香五月婷婷亚洲激情四射| 久久久精品色| 精品9l九九九九九77777| 99热20| 99视频在线| 久久大香免费| 丁香五月成人| 精品99在线| 99热这里只有精品免费| 婷婷99狠狠躁天天躁中文| av人人操| 日韩AV在线免费| 久久99这里只有精品视频| 另类小说五月天| 色域五月婷婷丁香| 91五月天| 丁香五月天色| AA片在线观看视频在线播放| 99热99免费| 99久热| 99在线观看视频免费| 狠狠色噜噜狠狠狠狠综合| 超级黄色片| 天天操天天操天天操天天操天天操 | 67194成I人在线观看线路1| 五月丁香六月情| 婷婷丁香精品视频在线观看| 操操操Av| 亚洲另类电影| 精品一区二区三区免费毛片爱 | 这里只有精品免费| 激情五月天开心网丁香无码| 综合色、色综合| 天天操天天爽天天爱| 五月综合视频| 色综合天天天天做夜夜| 五月丁香网站| 99热久| 婷婷伊人无码| 久综合4| 丁香六月婷婷综合在线| 香焦网五月天| 九九黄色网| 日 日干 日日做| 婷婷综合性爱网| 五月天激情.com| 欧美日韩一区二区三区四区| 91成人看片| 亚洲无线视频| 99无码视频| 97色伦另类图片小说视频| 亚洲综合五月天婷婷| 日日日日操| 婷婷玖玖丁香| 久热伊人| 色播播五月| 婷婷五月天情色| 五月天婷婷基地| 激情六月五月婷婷综合网| 热99玖玖99玖玖99九九| 五月丁香色色| 九九色99| 日本69日人视频| 成人无码精品1区2区3区免费看| 色天天狠狠干| 大伊香蕉玖玖爱| 色五月综合在线| ji'qing'luan'ren'lun| 9久热免费视频99| 亚洲天天操| 亚洲中文乱字字幕线在永久| 站长推荐无码播放| 国产一二区爆乳_1国产日韩一区二区三-成人AV | 五月丁香伊人网| 超碰免费电影| 狠狠综合| 婷婷五月天av| 久香草视频在线观看| 99热第一页| 婷婷五月天伊人| 日夜夜久久| 91色噜噜狠狠狠狠色综合| 久久激情视频| 五月天激情久久| 五月婷婷熟女| 亚洲激情av| 久久五月天激情| 丁香五月中文字幕| 婷婷金品综合视频| 玖玖精品资源| 亭亭丁香aV| 天堂网亚洲色图| 99热精品在线播放| 激情性爱五月| 天天狠天天叉| 99热骚货| 亚洲婷婷开心五月| 九九久久99| 丁香九月激情在线视频| 丁香网站| 综合久久99| 免费观看的婷婷五月视频在线| 美女五月激情| 久操人妻| 亚洲激情综合网| 五月天激情子轮| 夜色综合网| 4399无码视频| 夜精品无码A片一区二区蜜桃| 五月丁香激情综合啪啪| 五月天久久91| 五月婷婷丁香瑟瑟视频| 婷婷丁香激情五月天色色| 超碰91在线| 日本在线观看aaa 99| 色婷婷六月天| 五月综合视频| 久久综合人妻| 91人妻PORNY九色大屁股| 五月天激情亚洲| 狠狠色官网| 婷婷丁香久久| 免费婷婷| 九九久久五月天综合伊人| 91在线看片| 香蕉久久av一区二区三区| 日本99视频| 夜夜躁爽日日| 日日干夜夜干| 日本在线视频播放91| 777色色色| 人妻精品久久久久久久| 17.c黄色| 亚洲激情五月| 婷婷99热| 丁香婷婷深情五月亚洲| 五月天色丁香| 九九色色| 熟妇人妻中文字幕无码老熟妇 | 99热这里只有精品8| 99久久综合| 97碰久久| 99亚洲视频| 色狠狠五月天| 玖玖色综合| 中文无码婷婷| 婷婷和五月天| 丁香五月亭亭六月综合激情网| 九九色综合| 精品久久99码| 日本狠狠爽| 五月婷婷狠天天色综合| 天天操夜夜爱| 性综合网| 俺去也五月天婷婷| 农村熟妇高潮精品A片| 99精品久久| 噜噜在线| 殴美97色| 99热碰碰热| 激情五月天视频| 337p大胆噜噜噜噜噜91Av| 日本久久99| 99综合色色色| 天天爽夜夜爽天天爽夜夜爽| 婷婷五月天综合在线| 免费亚洲婷婷五月| 天天色综网| 99九九精品| 一起草AV入口| 久久91久久91色欲精品| 婷婷久久大香蕉| 天堂爱爱| 五月天六月色| 九九热最新| 五月丁香六月激情网站| 99综合自拍| 色狠狠五月天| WWW,五月| 99爱视频在线观看这里只有精品| 中字幕视频在线永久在线观看免费| 欧美A级成人婬片免费看理论| 久久久宗合视频88| 久草 天堂| 六月丁婷婷| 丁香五月av在线| 久热伊人9| 亚州第一A片| 丁香六月啪啪啪| 天天综合亚洲综合网天天αⅴ| 天天综合色综合| 久久免费婷婷视频| 久久激情五月婷婷| 亚洲成人无码片| 国产综合色婷婷精品久久| 日本熟女三区| 五月天 婷 欧美亚洲| 五月天丁香| 91色欲综合| 九九性视频| 天天做综合网色综合| 播五月,色五月,开心五月播放器 | 玖玖午夜视频| 欧美色色色| 在线天堂9| 精品夜夜澡人妻无码AV| 亚州操操| 五月婷婷啪| 99爱在线精品视频免费观看| 九九热青青草| 日日干夜夜撸夜夜骑| 五月婷婷成人| 9久操| 激情桃色网 | 九九久久99| 美国十月色婷婷在线观看| 亚洲乱码精品久久久久..| 久久资源综合| 99热这里只有精品一| 亚洲午夜一区二区| wwww.色婷婷| 色日本丁香婷婷| www.五月天婷婷| 99色热| 亚洲免费99| 直接看的AV网站| 色99视频| 色播综合| 黄网免费观看| 亚洲无码黄色| 日日操夜夜骑| 人五月天婷婷喷水| 白天AV月月| 久久久www| 日韩无码性爱| 韩国三级五月天婷婷。| 欧美情色电影一区二区| 天天摸天天舔天天爽| 亚洲综合草草| 另类精品视频在线观看| 色婷婷AV在线| 欧美亚洲成人在线| 天天日天天爽夜夜爽| 影音先锋91网站在线观看| 99热国品免费| 国产在这里只有精品| 久青操| 99热久| 91久久18| 日本婷婷色日| www.综合久久| 99久精品视频| 色丁香婷婷| 激情丁香九九五月综合网| 欧美日本99| 五月天社区狠狠| 另类五月激情| 丁香婷婷婷五月| 丁香激情综合| 欧州色色| 久久在线92| 日韩AAAAA| www.久久久久久久久久.com| 5月丁香啪啪啪| 五月激情婷婷偷拍| 五月天激情小说欧美激情| 久久受www免费人成| 五月婷婷开心六月激情小说| 色五月美女| 热99AV网站| 69久热| 婷婷五月天欧美| 国产黄色大片| 91久久九久久九久久九久久九久久| 人操人人| 大香蕉婷婷丁香视频在线| 亚洲无码成人| 丁香五月AV| 噜综合| 97色碰| 五月丁香六月婷婷中文版| 日韩成人不卡| 天天日综合| 激情图片久久| 丁香五月天婷婷激情| 激情综合网之激情五月| 婷婷五月丁香青青草在线| 天天免费日日夜夜夜夜| 色色五月天婷婷丁香| 在线视频你懂得| 这里只有精彩小视频视频网站| 五月天成人在线视频网站| 99热这是里只有精品| 中文字幕丰满孑伦无码专区| 日本婷婷色日| 蜜臀丁香黄色婷婷五月天| 综合色播| 99色免费观看全部| www.超碰在线| 国产精品天天狠天天看| 丁香五月天婷婷中文字幕| 成人av中文字幕| 五月婷在线观看| 97干婷婷五月天| 国产亚洲99久久精品熟女| 97人人做| 久久久精久人妻| 人人摸人人| 久久久五月婷婷| 色婷婷www| 激情五月婷婷啪啪| 97婷婷狠狠| 国产成人精品一区二三区熟女在线| 另类视频丁香五月| 日韩无码专区| 五月婷婷之综合激情在线| 色婷婷免费观看| 丁香五月天在线直播观看| 色婷婷五月天无码视频| 丁香五月天色婷婷| 丁香色五月天| 色婷婷婷综合五月天| 免费播放AV| 婷婷丁香五月天激情| 2w在线视频| 情色婷婷五月天| 91操人人操| 亚洲黄色精品| A久网| 激情五月丁香五月| 人人操人| 精品欧美一区二区三区久久久| 99精品综合视频| 伊人五月婷婷| 成人av在线电影| www,婷婷,com| 久久五月丁香| 亚州操操| 色婷婷亚洲六月婷婷中文字幕| ay2区| 婷婷五月天毛片| 欧美69久成人做爰视频| 91精品久久久久久77777| 天天日人人爽| 婷婷5月色| 99九九视频精彩在线| 国产一级视频a| 99热九九热| 五月丁香六月欧美综合网站| 大伊久久| 色国产五月| 色九月婷婷综合| 九九热内射| 丁香五月色| 久综合| www激情五月天| 婷婷五月天激情在线观看| 天天综合久久| 大香蕉九九操| 极品少妇婷婷五月| 天天狠狠干| 五月激情婷婷图片基地| 丁香婷婷网| 日韩成人电影av| 丁香婷婷老熟女综合网| 成人无码精品1区2区3区免费看| 婷婷久久五月丁香| 久久 婷婷 五月天| 婷婷中文字幕网| 婷婷性爱五月天| 天天爽夜夜爽| www夜夜操wwwcon| 欧美激情xxxXX| 五月天色导航婷婷资源婷婷| 99视频超级精品| 综合色播| 天天干,天天舔| 久久之人妻| 国产精品久久久久久白浆色欲| 五月 激情视频| 五月天婷婷久草丁香| 五月婷婷丁香综合,亚洲天堂| 丁香五月婷婷av影院| 色狠狠色噜噜AV天堂五区| 91蜜桃婷婷狠狠久久综合9色| 91久久久久久| 日韩另类| 荫道BBWBBB高潮潮喷| 99视频内射三四| 久久这里99| 色 丁香婷婷| 欧洲激情五月天| 激情五月六月婷婷综合啪啪| 天天干天天日天天插| 爱草视频在线观看| 天天日天天日天天搞| 六月天丁婷婷| 丁香婷婷视频在线| www.黄色片-久久成人国产精品在线播放-999AV | 欧在线一区| 综合激情四射一theav| 婷婷丁香综合色AV| 六月丁香色色色| 色啪影院| 色吧五月婷婷六月丁香| 操你av| 天天日天天日天天搞| 丁香九月婷婷色| 久操人| 一级二级香港秋霞欧美欧美秋霞| renre人人操国产超碰在线| 国产va在线视频| 五月天伊人日日噜影片AV| 久久久久久综合五月婷婷| 色五婷婷| 先锋资源婷婷| 超碰九色| 北京熟妇搡BBBB搡BBBB| 日噜噜色| 91偷拍视频| 色婷婷内射| 亚洲婷婷丁香五月视频| 婷婷五月天久久久| 免费AV播放| 国产精品久久久久久久久久久久 | 五月天伊人久久久久| 久久在线大香蕉| 开心五月婷婷五月| 人人操人人爱丁香五月| 91婷婷色| 无码少妇高潮喷水A片免费| 亚洲无码猫咪| 天天综合网、天天综合色| 99热这里只有精品96| 日韩三级高清无码| 国产亚洲在线观看| 色九九丁香九月色九九色| 伊九九三级区| 天天爽天天做| 五月天播播| 大香蕉久久伊人网| 大香蕉啪啪啪| 婷婷五月激情天| 婷婷导航| 激情碰碰碰| 丁香色五月婷婷17C| www.ppypp| 成人短视频在线| 91久久日日| 91色操| 国产99视频永久免费| 日日干夜夜干| 天天干天天日蜜臀av| 五月丁香无码| 精品人妻久久久久| 思思久久精品视频| 五月情婷婷| 日本五月婷| 色爱爱综合网| 五月婷婷成人网首页| 天天干天天拍| 超碰人人插| 五月6香色婷婷视频| 天天综合在线网| 99国产精品久久久久久久久久久 | 97在线/亚洲| 无码婷婷五月天| 免费婷婷| 99久久五月丁香野外| 色亚洲色宗合| 五月天婷婷成人网| 大香线蕉伊人| 婷婷性爱五月天| 风流少妇A片一区二区蜜桃| 久操大| 99久久网站| 久久综合五月天激情小说网站 | 色5月婷婷色| 香蕉99网| www.26uuu.com亚洲电影| 五月色网| www.色综合| 五月丁香啪| 啪啪五月婷婷| 五月激情基地| 精品香蕉99久久久久网站| 97干在线视频| 黄网免费看| 99久久新视频| 激情五月天激情五月天| 人人操婷婷| 婷婷五月天性| 五月丁香婷婷成人网| 婷五月丁香俺| 97热这里只有精品| 免费亚洲婷婷中文字幕| 91黄操| 日本久久超碰| 欧美日韩成人一区二区| 婷五月天丁香婷五月| 五月天婷婷婷| 久艹久| 婷婷涩涩五月天| 婷婷婷久久| 久久五月婷天天干| 婷婷五月天男人影院色色网| 四虎国产精品永久在线国在线| 天天色天天爽| 丁香六月婷婷综合| 五月天色综合服务平台| 伊人久久大香线蕉精品| 日本九九热| 婷婷香蕉精品| 婷婷丁香在线播放| 综合久久久婷| 色99日韩| 婷婷丁香色五月亚洲| 色五月激情婷婷| 伊人91| 日本狠狠色| 久久亚洲网| 色色热| 色狠狠伊人久久五月丁香| 少妇被下春药玩弄A片| 这里只有精品视频看看| 31色区视频免费看| 婷婷大乡焦噜噜| 久久久999精品| www久久99| 综合激情综合啪啪| 九九爱精品网站| 中文av网站| 一级精品999WWW| 欧美黄色AA片哗啦啦啦| 久草久青福利| 97伦乱| 婷婷中文字幕| 精品视频这里只有精品| 久久久久久久久久久-久五月天婷婷| 五月天婷婷五月| 综合久久六月| 五月丁香婷婷色色| 欧美日韩大黄| 国产精品A片在线| www.五月天色色.com| 婷婷色色五月天| 日韩中文字幕| 婷婷五月天成人网| 激情五月天婷婷免费观看| 色色欧美色色色| 涩综合婷婷| 99re热在线视频| 强辱丰满人妻HD中文字幕| 五月丁香啪啪综合| 日本高清久久| 99色人| 九九久久五月天| 千人斩操逼| 婷婷色情五月| 伊人综合网站| 五月丁香六月婷| 亚洲色爽| 五月香蕉婷婷| 国产午夜成人AV在线播放| 欧洲亚洲精品| 亚洲色五月天在线| 欧美性爱一区| 乱精品一区字幕二区| 色婷婷亚洲婷婷| 婷五月天在线草| 丁香视频| 九九九激情综合| 亚洲AV网址| 久色网五月| 超碰人人操在线| 丁香亭亭激情四射| 亚洲天堂久久| 五月丁香久人妻中文| 99这里只有精品在线| 久久 婷婷 五月天| 久久久久久久久久久jjjj| 99热综合网| 久热只有精品| 青青草婷婷综合五月| 97丁香婷婷| 秋霞九九无码| 成人国产欧美大片一区| 美欧日韩国产成人在战| 狠狠色噜噜色狠狠狠综合久久成人波| 99热免费精品热久久66| 五月天激情四射网站| 99日热在线视频| 99久久9| 超碰a女人的天堂| 激情五月com| 丁香亭亭久久| 九洲一级A片| 色色丁香五月天社区| 欧美日韩精品人妻狠狠躁免费视频| 九九精品自拍| 国产美女视频久| 五月丁香婷在线| 激情婷婷五六月天| 亚洲九九夜夜| 激情爱爱网站超大免费| 九色porny在线观看激情四射| 日日日日日| 久久五月天婷婷| 97干网站| 婷婷狠狠18禁久久| 五月婷在线观看| 欧美草久久五月天91| 天天操天天爽天天爱| 五月天婷婷色在线视频免费观看 | 婷婷五月天成人五月天| av网址在线| 激情性爱五月| 天天肏天天肏天天肏| 大香人妻| 九九激情| 久久一级免费黄色片| 婷婷五月丁香成人网| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 亚洲成av人影院| 久久婷婷六月综合综合| 九九激情综合| 另类图片天天影视在线观看| 欧美日本国产欧美日本韩国99| 婷婷丁香五月网| 中文字幕 中文字幕明步| 99热这里有精力| 五月激情六月宗合| 婷婷五月丁香综合激情| 泰州成人视频| 激情综合色婷婷啪啪六月天| 色噜噜狠狠色综无码久久合欧美| 狠狠五月天| 五月天婷婷小说| 91日视频| 九九五月天| 亚洲综合在线视频| 亚洲精品视频在线播放| 日日干日日| 香蕉久久国产AV一区二区| av一级棒av| 丁香五月综合网| 五月婷婷久久网| 99视频极品在线香蕉| 六月丁香婷婷大香蕉| 日本黄色在线观看| 中文字幕在线播放视频| 久草热在线视频| 婷婷91| 婷婷五月天网| 爱久久小说下载网| 琪琪狠狠干| 久久一级片| 五月婷亚洲精品AV天堂| 五月天另类小说亚洲| 激情网狠狠干| 亚洲免费99| 日本色爽| 大香蕉久久| 成人综合网站| 香蕉99网| 久婷| 狠狠干在线视频| 蜜乳中文字| 在线视频激情网站| 色偷偷综合| 男同91| se色综合网| 色色色999| 99热这里有精品24| 丁香五月欧美午夜视频| 九九热精品| 99re资源在线视频导航| 91九色在线视频| 深爱 五月天| 五月婷婷网五月在线| 久久久久久久久99精品| 99热这里是精品| 青青操日本摸摸看看| 色色色综合色| 这里只有精品在线播放| 中文成人在线| EEUSS鲁片一区二区三区| 天色色综合网| 婷婷第六色| 日日夜夜天天综合| 九九在线精点品| 亚洲性爱AV| 亚洲综人色综网| 久久丁香久久| www.夜夜操| 五月丁香久久婷| www.夜夜操.con| 99热在线只有精品| 丁香五月成人| 久久久久网站| 伊人狠狠操| 色婷婷亚洲精品天天综| 激情超碰网| 久热这里这里有精品| 五月婷婷激情中文字幕| 国产SUV精品一区二区883| 婷婷五月丁香花综合| 五月天激情国产综合AV| 五月婷啪| 99视频日韩| 亚洲色色爱| 综激情网| 东北熟女视频99| 婷婷六月综合在线| WWW.婷婷五月天.COM| 67194线路二在线观看| 亚洲sesesese| 五月婷婷色五月| 91男人操女人视频| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 婷婷五月天久草在线| 成人短视频在线观看| 天天草天天摸| 日韩国产在线精品| 色六月天天激情综合网| 久久婷婷五月综合色奶水99啪| 亚洲激情四射色| 99久久a线观| 亚洲成人免费在线| 大香蕉狠狠爱主页| 日韩乱玛久久| 亚洲亚洲人成综合网络| 激情五月综合网| 激情综合国产| 婷婷99丁香| 色色哒五月婷婷六月丁香| 国产在线aaa片一区二区99| 亚洲中文字幕av| 天堂综合久久| 五月天色色色色色| 直接看的AV网站| 丁香88AV五月婷婷| 开心婷婷五月花| 激情五月丁香五月| 久久伊人大香蕉| 97婷婷狠狠| 99色在线观看视频| 99精品视频网| 夫妻超碰在线| 六月丁香VA| 婷婷9月天| 六月亭亭久久综合激情| 中文字幕丰满孑伦无码专区| 色久婷婷网| 丁香色婷婷| 天天插天天狠| 这里只有精品视频免费在线观看| 丁香色五月 97干| 97操视频| 另类A片| 97在线视频人妻九色| 久久精品91视频| 成人AV中文字幕| 99人人操人人爱久久久| 久久九九国产精品怡红院| 99内射视频| 五月天婷婷色色网| 久久婷婷91| 亚洲区视频| 97干在线| 亚洲综合新99视频| 伊人久久婷婷| 婷婷五月天伦理| 国产,欧美,学生妹,视频| 热99这里只有精品视频| 婷婷99综合| 五月天婷婷丁香社区| 狠狠干狠狠操狠狠爱| 丁香婷婷成人网站| 欧美三级黄色片久久| 中美日韩成人在线| 婷婷精品| 极品人妻VIDEOSSS人妻| 婷婷免费无视频| 色9999综合久久| 日本婷婷| 在线播放中文字幕| 天天做天天爱天天高潮| 婷婷免费无视频| 婷婷综合伊人| 91婷婷丁香五月| 欧美婷婷六月丁香综合色| 五月天婷婷色| 99热亚洲精品66| 九月激情综合婷婷| 欧美日韩99| 激情婷婷亚洲五月| 日日夜夜亚洲一区| 婷婷五月天天爽| 激情综合网丁香| 亚洲欧美在线观看| 热思思| 婷婷色情网| 荡乳尤物3HP1V5| 五月天另类图片| 大香蕉婷婷丁香| 五月丁香影院| 激情五月综合网最新| 精品人妻在线| 夜夜干天天操| 色另类五月天| 在线播放成人| 九九色婷婷| 五月天久久成人| 丁香五月777| 99色视频| 草综合14| 少妇激情基地| 久久您您综合网| 婷婷 伊人 久久| 激情五月天啪啪视频| 丁香av网| 激情五月丁香五月| 岛国av电影网站| 久99久视频免费观看| 色色婷婷丁香| 日韩视频99| 久久婷婷激情五月天一区二区| yw国产AV| 色五月激情五月天| 丁香网五月天激情| 九九色综合| 六月丁香婷婷爱| 99热这里有精力| 五月好婷婷| 五月丁香六月婷婷综合在线| 七七久久婷婷| 亚洲中文字幕av| 99热这里只有精品在线| 人人操Av| av成人在线播放| 成人国产欧美大片一区| 精品久久这里热66| 亚洲看av的网站| 草一草avb| 亚洲成人丁香花| 9色在线| 色色五月婷婷久久| 我要看激情五月天| 亚洲国产色婷婷| 国产午夜精品一区二区| 国产伦亲子伦亲子视频观看| 中文字幕视频在线播放| 天天操天天操天天操天天操天天操天天操 | 久久98热re| www.99精品日操伊人乱碰在线| 婷婷色五月丁香六月欧美啪| 激情综合网五月激情| 99在线免费视| 婷婷的99视频网站| 91传媒无码人妻精| 国产AV一区二区三区最新精品| 色综合com| 99热97| 女力报到正好爱上你| 欧洲亚洲最新精品| 日韩另类| 亚洲国产99| 99色爱| 日日操夜夜爽天天天| 婷婷九月色| 99精品久久久久| 丁香激情五月天| 婷婷五月天国产传媒| 97色色色| 九九热在线观看视频| 99在线视频精品| 丁香六月激情综合| 五月情色天| 六月婷婷国产| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 成人在线精品| 丁香五月天电影| 26uuu亚洲精品国产| 深爱激情久久| 91免费在线视频6| 中文字幕婷婷五月天| 成人视频一区| 成人五月丁香社区| 婷婷五月综激情| 久久大香蕉视频| 毛v一区二区视频| 婷婷五月综合网激情| 情色五月天 网站| 婷婷最新地址| 99婷婷狠狠成为人免费视频| 嫩BBB槡BBBB搡BBBB| 9久久精品| 婷婷五月色天| 天天干天天拍| 色色综合网站| 日韩成人精品中文字幕| 久久小视频| 五月婷婷六月丁香| 玖玖婷婷五月天| 超碰久热| 综合色99| 天天色粽合合合合合合合| 国产一级片| 专区无日本视频高清8| 成人精品视频99在线观看免费| 婷婷五月天激情网| 国自产拍偷拍精品啪啪一区二区| 国产精产国品一二三在观看| 成人精品视频99在线观看免费| 欧美大片| 国产麻豆视频| 综合久久十| 日本理论久久| 97精品自拍视频| 99热这里只有精品1025| 久久久人妻人伦| 婷婷色播色五月五色五月天色妇| 六月丁香五月婷婷首页| 97激情五月天| 色婷婷先锋| 丁香六月五月天| 日本高清久| 激情五月影院| 人妻丰满精品一区二区A片| 97碰碰久久| 色综合偷拍| 丁香六月啪| 激情丁香五月婷| 五月开心激情网| 色狠狠婷婷| 丝袜人妻| 五月丁香啪| 91人妻九色大屁股| 91视频久久久| 思思99热这里只有精品| 欧美天天综合网站上去吧| 思思久热6| 亚洲色夜| 日韩啪啪网| 婷婷碰碰| 99在线视频精品| 九九热在视频| 天天色综合图片| 激情综合九月| 国产美女无遮挡裸体毛片A片| 玖玖@三月天天丁香婷婷| 九九热re99re6在线精品| 丁香五月婷婷无码AV| 天天看夜夜看| 翔田千里 50岁 无码| 男妓跪趴把舌头伸进我的嘴巴| 日韩人人操| 亚洲av免费在线| 亚洲 无码 中文字幕 中出| 97性高潮久久久| 综合激情五月丁香| 婷婷综合六| 99激情在线| 激情五月婷婷老师| 亚洲综合无码| 久久久五月激| 久久狠狠干| 熟女少妇内射日韩亚洲| 4399在线观看免费毛片| 精品无码av丁香五月激情| 色停停五月天| 五月婷婷丁香六月| 日韩操啪| 夜夜骑日日操| 色婷婷六月天| 丰满少妇乱A片无码| 97婷婷丁香| 亚洲综合婷婷| 五月婷在线观看| 99综合色色色| www.婷婷| 婷婷五月天激情免费在线观看| 日日夜夜狠狠| 色婷婷影| www.五月婷婷久久.com| 日韩欧洲亚洲| 亚洲视频在线网| 都市激情蜜桃婷婷五月天| 久久激情五月| 欧美三级巜人妻互换| 欧美人人操| 日韩九九| 人妻丰满精品一区二区A片| AV成人在线播放| 天天干天天操天天爱| 五月丁香六月婷婷网| 97婷婷在线视频| 五月婷婷无码专区| 九热...av| 欧美Va在线| 深爱五月激情| 久热伊人9| 五月婷六月丁香| 99色在线视频| 色情婷婷。| 日韩色五月| 国产精品美女久久久久AV超清| 成人短视频在线| 婷婷五月天伊人| 性色九九| 婷婷丁香久久五月综合| 97资源碰碰| 伊人五月天97| 五月天激情啪啪| 人与禽A片啪啪| 无码地址| 丁香五月天激情| 9999热在线免费观看| 婷婷六月情| 久久久天堂国产精品女人| 亚洲婷婷五月天综合| 99自拍视频网站| 欧美精品A片一区在线观看| 九色色| 婷婷香草网| 丁香五月色播中文在线播放| 五月婷婷丁香在线| 九九99精品视频| 超碰97免费在线| 色涩影院六月丁香| 天天草天天摸| 超级碰碰99| 99综合一区| 五月天丁香久久综合| 91操操操| 中文幕无线码中文字蜜桃| 久久成人性爱| 天天综合精品| 在线,国产,色,热视频| 99精品视频免费观看| 超碰av在线| 九九热超碰| 日韩影院三级| 91碰视频| 91色综合| 久色资源| 狠狠色五月激情| 日日干夜夜干| ...婷婷国产成人亚洲日韩| 免费看欧美成人A片无码| 亚洲AV激情五月综合网| 国产成人精品一区二三区熟女在线| 小视频在线亚洲| 国产亚洲精品久久久久久郑州| 色五月av伊人| 日本不卡高字幕在线2019| 26UUU在线观看| 色婷婷中文| 999热在线视频| 吾爱AV导航| 成人va视频| 99啪| 精品婷婷| 天天操夜夜玩!| 五月久久丁香| 开心五月网| 991精品在线视频| 国产激情久久| 五月婷婷五月天激情视频| 精品国产乱码久久久久久免费| 开心五月丁香啪| 婷婷丁香色女人| 激情开心五月天| 五月婷婷六月天| 91丨九色丨东北熟女| 97涩涩丁香五月天| 久久3级片| 99免费在线视频| 色综合色综合网| 国自产拍偷拍精品啪啪一区二区 | 国产综合81p| 国产在线中文字幕| 色99亚洲| 丁香花综合永久入口| 婷婷久久综合| 色色五月婷婷| 天天肏在线| 26uuu在线观看| 91性高潮久久久久久久久| 成人做爰A片免费看视频| 思思久久99热只有频精品66| 91好好热日本在线| 久久这里只有精品99| 激情纯色婷婷五月天在线不卡视频| 99操网站| 操一区| 亚洲综合婷婷五月天| 偷偷操99| 北京熟妇搡BBBB搡BBBB| 丁香六月婷婷激情| 色色色色色色色色五月先| 思思久久99热只有频精品66| 日日夜夜婷婷| 日韩色色色色色| 欧美黄色一级录像| www.99热| 99热国产这里只有| 亚州第一A片| 日本狠狠色| 岛国AV网站| 五月丁香六月久久| 在线一起草av| 色丁香五月| 丁香六月色婷婷| 激情综合啪啪啪| 九九久久腿| 色五月婷婷综合| 五月亚洲| 九九热这里精品| 吊色AV男人的天堂| 亚洲天堂婷婷丁香|