亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

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

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

PyTorch圖像識別完整實戰(zhàn):從數(shù)據(jù)處理到模型部署全流程 前陣子有個朋友問我想用PyTorch做一個圖像識別的小項目但他翻了一堆教程要么只跑通了單張圖片的預(yù)測演示要么一上來就丟一個幾百層的模型讓人直接復(fù)制。我聽完就覺得這類教程最大的問題是把“能跑”和“能落地”混為一談了。所以這篇文章我不想復(fù)述官方文檔而是把我實際做過的圖像識別完整流程拆開講從任務(wù)定義、數(shù)據(jù)準備、網(wǎng)絡(luò)選型到訓(xùn)練調(diào)參、模型評估和部署前的最后一步。文章適合正在學(xué)PyTorch、打算拿它做圖像識別的初學(xué)者也適合已經(jīng)跑過一些Demo、但不確定下一步怎么走的中級使用者。我盡量把每一步背后的“為什么”也講清楚而不是只給代碼。1. 動手前先想清楚你的圖像識別任務(wù)到底是什么1.1 先把“圖像識別”翻譯成計算機能解決的問題很多人上來就搜“PyTorch圖像識別”這個詞其實太寬泛了。圖像識別在工程上至少會分化成圖像分類、目標檢測、圖像分割、圖像檢索等好幾個分支技術(shù)方案完全不一樣。比如目標檢測要輸出“圖中某個區(qū)域內(nèi)有哪類目標”用的是邊界框回歸加分類圖像分割則要像素級標記需要U-Net這類結(jié)構(gòu)。如果你的需求只是“這張圖是什么”那就對應(yīng)單標簽多分類問題這是入門最友好的一個方向。我建議動手之前先把任務(wù)參數(shù)寫死類別數(shù)量、每類大概多少樣本、輸入圖片的尺寸、圖片里的目標是否足夠顯眼。另一個容易被忽略的點是數(shù)據(jù)來源。如果你只有幾十張圖幾百張圖就要考慮遷移學(xué)習(xí)如果每類有幾千張甚至更多從頭訓(xùn)練一個網(wǎng)絡(luò)才說得通。把這些約束列清楚后面每一步選擇都有據(jù)可依而不是憑感覺調(diào)參。1.2 為什么現(xiàn)在大多數(shù)學(xué)圖像識別的人都選PyTorchPyTorch在圖像識別領(lǐng)域流行核心原因是它的動態(tài)圖機制。簡單說你用代碼寫著寫著就能隨時打印中間張量的shape可以在中間層打斷點看數(shù)據(jù)流這對調(diào)試神經(jīng)網(wǎng)絡(luò)來說太重要了。相比之下靜態(tài)圖模式相當于先整體編譯再執(zhí)行出了問題排錯成本高很多。做圖像識別的時候張量維度稍微搞錯一點就報錯能直接print出來看每一層輸出排錯速度完全不一樣。另外PyTorch的生態(tài)對圖像任務(wù)足夠友好。torchvision集成了大量預(yù)訓(xùn)練模型、常用數(shù)據(jù)集和數(shù)據(jù)增強工具DataLoader配合Dataset能很舒服地處理圖片數(shù)據(jù)。就算后續(xù)要部署到線上PyTorch也可以導(dǎo)出成ONNX格式給其他推理引擎消費。這些細節(jié)讓我在實際項目里很少需要換框架。1.3 數(shù)據(jù)量、算力、精度目標決定你的方案選網(wǎng)絡(luò)結(jié)構(gòu)不能只看哪個模型刷榜刷得高要看你的資源和約束。我的經(jīng)驗可以分成三類情況供你參考。場景數(shù)據(jù)規(guī)模算力情況推薦方案快速驗證每類幾百張單塊中端GPU預(yù)訓(xùn)練ResNet18 / MobileNet 只訓(xùn)練分類頭常規(guī)項目每類幾千張單塊好點GPU預(yù)訓(xùn)練ResNet50微調(diào)最后幾層 數(shù)據(jù)增強從零訓(xùn)練研究每類上萬張多卡或長時間訓(xùn)練自己搭CNN或標準ResNet從頭訓(xùn)這個決策邏輯很直接遷移學(xué)習(xí)是用別人的特征提取能力來彌補自己數(shù)據(jù)不足的短板相當于一個經(jīng)驗豐富的師傅先把“看邊緣、看紋理、看形狀”的基本功練好了你只需要教它識別你的特定類別。如果你數(shù)據(jù)量夠大從頭訓(xùn)練才可能超越預(yù)訓(xùn)練權(quán)重帶來的上限。2. 環(huán)境與數(shù)據(jù)準備把底子打好2.1 環(huán)境安裝里你大概率會遇到的版本問題我見過太多人卡在環(huán)境上不是PyTorch裝不上而是裝完之后運行時才發(fā)現(xiàn)版本對不上。最穩(wěn)的流程是先創(chuàng)建一個獨立的虛擬環(huán)境避免和系統(tǒng)Python或者其他項目互相污染。如果你用conda可以這樣操作conda create -n classify python3.10 conda activate classify然后根據(jù)你是否使用GPU來安裝對應(yīng)版本。我的建議是無論你有沒有獨顯都先在終端里跑下面這些命令確認一下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浪費了大量時間。2.2 用文件夾結(jié)構(gòu)組織圖片比寫幾百行代碼還管用數(shù)據(jù)準備階段我最推薦的方式是把圖片按類別放在文件夾里訓(xùn)練集、驗證集、測試集分開目錄管理。比如data/ train/ cat/ 圖片... dog/ 圖片... bird/ 圖片... val/ cat/ dog/ bird/ test/ cat/ dog/ bird/這種結(jié)構(gòu)的好處是torchvision.datasets.ImageFolder可以直接讀取它會自動把子文件夾名稱映射成類別標簽連標簽列表都不用自己寫。如果數(shù)據(jù)是一個CSV或者數(shù)據(jù)庫里存著路徑和標簽?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里的均值和標準差。如果你用的是ImageNet預(yù)訓(xùn)練權(quán)重這三組數(shù)值幾乎是固定的如果你從頭訓(xùn)練自己的網(wǎng)絡(luò)可以用全量訓(xùn)練數(shù)據(jù)估算均值和標準差效果更貼合你的數(shù)據(jù)分布。但很多新手最容易犯的錯誤就是對預(yù)訓(xùn)練模型用了和目標數(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就減半驗證集準確率遲遲上不去就試著加大。shuffle訓(xùn)練集必須置為True否則每一輪epoch內(nèi)樣本順序不變模型可能學(xué)會記憶順序而非特征驗證集和測試集必須置為False因為評估結(jié)果不應(yīng)該受打亂樣本順序影響。num_workers數(shù)據(jù)加載用了多少個進程。這個數(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。池化層則是對特征圖做降采樣可以類比成把高清圖片縮小成縮略圖保留主要信息但丟掉冗余細節(jié)一定程度上也增強平移不變性。3.2 從零實現(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這樣你的模型對輸入尺寸的寬容度會大很多換測試圖片尺寸時不用改全連接層的維度。這個細節(jié)是我后面做跨分辨率預(yù)測時經(jīng)常用到的。3.3 遷移學(xué)習(xí)把別人訓(xùn)練好的經(jīng)驗借過來自己從零訓(xùn)練一個CNN常常需要大量數(shù)據(jù)和很長時間實際項目中我更推薦直接在預(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ù)量。我在實驗中發(fā)現(xiàn)數(shù)據(jù)量只有每類一千張左右時只訓(xùn)分類頭反而比全量微調(diào)更穩(wěn)因為全量微調(diào)容易在早期就過擬合。4. 訓(xùn)練細節(jié)準確率提升的關(guān)鍵不在網(wǎng)絡(luò)而在訓(xùn)練4.1 數(shù)據(jù)增強用更少的圖片訓(xùn)練更強的模型很多人以為數(shù)據(jù)增強只是增加訓(xùn)練樣本的手段實際上它還有很強的正則化作用。隨機裁剪、水平翻轉(zhuǎn)、顏色抖動這些變換相當于告訴模型“目標的類別不應(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]) ])注意驗證集不要加隨機增強否則每次測試結(jié)果都會因為隨機操作而抖動沒法穩(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)練后期往往有更強的泛化能力。我自己的習(xí)慣是跑通流程先用Adam學(xué)習(xí)率0.001驗證思路沒問題后再換SGD試試能否進一步提升準確率。還有一個容易被忽視的參數(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)重。一個實用的經(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也就是當驗證集準確率不再上升時把學(xué)習(xí)率降為原來的十分之一。也可以用固定步長的StepLR最簡單最省心。訓(xùn)練早期如果加一個小的“warmup”比如前面幾個epoch把學(xué)習(xí)率從零逐漸線性升到目標值可以在使用較大初始學(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有兩個細節(jié)我特別想說。第一model.train()和model.eval()必須在每個階段開始前切換因為Dropout和BatchNorm在訓(xùn)練和推理時的行為完全不同。第二驗證階段一定用with torch.no_grad()包裹否則PyTorch會構(gòu)建推理圖顯存瞬間被吃掉而且白白增加計算量。5. 模型評估與落地從測試集到真實項目5.1 不要只看準確率混淆矩陣和F1值能暴露更多問題很多初學(xué)者的唯一指標就是驗證集準確率。這個指標在類別均衡時還湊合但遇到類別不均衡的數(shù)據(jù)集準確率會非常騙人。舉個例子如果某個類占了90%的樣本你的模型就算把所有圖片都預(yù)測成這個類準確率也有90%實際一點用都沒有。我建議每次訓(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é)果和真實標簽格式為List[int] cm confusion_matrix(labels, preds) print(cm) print(classification_report(labels, preds, target_names[cat, dog, bird]))如果兩個類別在混淆矩陣里總是互相誤判我一般會懷疑兩類樣本本身存在較大的視覺相似性或者標注質(zhì)量有問題。這時候優(yōu)先檢查數(shù)據(jù)標注其次是增加對應(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)重放進去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)這里最容易翻車的點是忘了unsqueeze(0)。網(wǎng)絡(luò)默認輸入的shape是[batch, channel, height, width]單張圖片讀進來只有[channel, height, width]不加維度直接喂進去就報維度錯誤。另外一定要用softmax把輸出轉(zhuǎn)成概率分布否則你看到的就是一堆很難解釋的數(shù)值。5.3 把模型接到實際項目里導(dǎo)成ONNX交給推理引擎如果只是做實驗?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一致。能走到這一步一個圖像識別模型基本就具備了被實際服務(wù)調(diào)用的能力。6. 復(fù)現(xiàn)與效果分析我踩過的坑和最終對比6.1 最容易踩的幾個坑我按嚴重程度排了個序我梳理了自己在多個圖像識別項目里反復(fù)踩過的坑也是經(jīng)常在社區(qū)里看到新手們遇到的問題從嚴重到輕微排列如下。問題表現(xiàn)主要原因解決辦法Normalize參數(shù)用錯模型完全無法收斂loss居高不下和預(yù)訓(xùn)練模型不匹配核對來源模型標準歸一化的均值和標準差訓(xùn)練時忘了model.train()使用帶Dropout的網(wǎng)絡(luò)時驗證集很奇怪推理模式被用于訓(xùn)練每個階段切換train/eval驗證集被隨機增強每次驗證準確率波動大錯誤復(fù)用了訓(xùn)練預(yù)處理驗證集只用ResizeCenterCropNormalize隨機種子沒固定每次訓(xùn)練結(jié)果完全不同初始化、數(shù)據(jù)采樣順序隨機在代碼頂部設(shè)置random.seed、np.random.seed、手動設(shè)置torch種子batch_size太大導(dǎo)致OOM訓(xùn)練中斷顯存溢出數(shù)據(jù)量和模型參數(shù)量超出顯存減半batch_size或者混合精度其中最容易被忽視的是隨機種子。如果你實驗中發(fā)現(xiàn)連續(xù)兩次訓(xùn)練同一個模型準確率差了1到2個百分點第一件事就是固定隨機種子。下面這段代碼我?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ù)量在800到1200張之間。跑出來的趨勢很有參考價值方案訓(xùn)練輪數(shù)驗證集準確率訓(xùn)練耗時從頭訓(xùn)練SimpleCNN無增強4078%約20分鐘從頭訓(xùn)練SimpleCNN 數(shù)據(jù)增強4083%約25分鐘預(yù)訓(xùn)練ResNet18 只訓(xùn)分類頭1586%約15分鐘預(yù)訓(xùn)練ResNet18 解凍layer4 增強2089%約20分鐘這個對比的結(jié)論很清楚數(shù)據(jù)增強帶來的提升比換網(wǎng)絡(luò)結(jié)構(gòu)更明顯預(yù)訓(xùn)練模型哪怕只訓(xùn)分類頭也比從頭訓(xùn)練一個小網(wǎng)絡(luò)準確率高出不少。而最后一種方案融合了增強和微調(diào)效果是最好的。實際解決業(yè)務(wù)問題時我通常沿用這個遞進思路而不是一上來就追求最復(fù)雜的大模型。6.3 從頭復(fù)現(xiàn)這套流程的操作順序把上面內(nèi)容收攏成一個可以照著做的清單我的建議順序是定義分類任務(wù)確認類別數(shù)量和數(shù)據(jù)量。建立train/val/test目錄核對每個類別的樣本數(shù)和圖片質(zhì)量。固定隨機種子搭建DataLoader和基礎(chǔ)訓(xùn)練循環(huán)先用一個非常小的網(wǎng)絡(luò)過一遍全流程。把網(wǎng)絡(luò)換成預(yù)訓(xùn)練ResNet18先只訓(xùn)分類頭確保能收斂。加入數(shù)據(jù)增強和學(xué)習(xí)率調(diào)度提升最終準確率。用混淆矩陣和F1檢查每個類別的表現(xiàn)定位易混淆類別。保存模型導(dǎo)出ONNX接進實際應(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ù)我都會先固定隨機種子在小數(shù)據(jù)上跑幾個epoch確認流程沒問題再上全量數(shù)據(jù)。這個小習(xí)慣幫我過濾掉了大量“模型效果變差但原因卻在于流程本身出bug”的虛假實驗結(jié)論。圖像識別這個方向看起來模型很炫真正決定項目成敗的往往都是這些訓(xùn)練流程里的基本功。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产强奸乱伦xd| 精品一区二区啪啪啪| 青青久久久| 用力操死我| 婷婷视频网| av在线不卡一区二区三区| 久久线上视频免费看| 亚洲精品丝袜| 国产丰满熟夫69mpp| 久久草在线综合视频| 国产精品点击进入在线影院高清 | 亚洲色悠悠久久88| 日han少妇无码| 青青草久久一区网| 美女裸体麻豆天美蜜桃91| 欧美毛片在线网| 日韩av在线播放不卡| 天天谢天天干| 黄片aaaaa一区| 久久亚洲AV成人精品无码| 蜜乳中文字幕a在线| 好爽视频在线观看视频| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 久久久久久久久久久久久久9999| 国产精品秘 福利姬在线观看| 9久在线视频只有精品| 日韩久射综合| 精品熟妇视频一区二区| 久久久久婷婷精品av电影| 97精品第3页| 久久婷婷亚洲欧| 激情五月天校园春色网| 四虎免费在线播放| 97视频一区| 4tube欧美女厕所| 超碰视97中文| 9久精品| 超碰色大香蕉| 97啪啪| 操屄日韩| 欧美专区日本专区| 91|九色|国产熟女| 桃色五月天| 天天日夜夜| 人妻AV 中文字幕的| 亚洲经典啪啪| 乱码熟妇人妻久久久| 男人天堂日日夜夜| 亚洲AV在线资源| 公司1区2区3区精产精| 久9综合在线| 九七超碰| 人人人人插| 怡红院一区二区熟女人妻| 强奸a片网| 少妇熟女视频一区二区三区| 欧美另类自拍| 欧美少妇色图| 能看的AV| 五月天久久婷婷亚洲 | 日本一天色道久久久精品视频| 日韩精品9999| 欧美天天在线| 欧美天天| 日本性爱网址| 97久久久久久久精| 欧美+日产+中文| 插入逼91| 免费黄色A片| 狠狠欧美| 婷婷九月国产| 亚洲色系另类精品国产| 熟女人妻久久中文字幕一二区| 97 亚洲 日韩 欧美 在线| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 免费一级精品啪啪视频| 欧美日韩第一页| 婷婷三区| 亚洲人综合19| 亚洲女毛多水多21P| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 少妇无码太爽| 久操免费电影| 国产99精品一区二区三区免费| 亚洲欧美精品福利在线| 亚洲资源网| 丰满人妻-区二区三区| 亚瑟国产精品久久无码| 天天色香欲综合网| 一区二区三区看视频| 亚洲国产成人7777| 97色97好| 亚洲中文字幕精品一区| 天天日少妇逼AV| 懂色av中文字幕| 丁香五六月啪啪| 五月丁香社区婷婷日韩欧美精品影院 | 中文字幕高清20页视频| 看全色黄大色大片免费视频| 婷婷大香蕉| 死我十八禁| 国产精品原创巨作?v网站| 91久久婷婷| 嗯嗯啊啊的视频| 高清无码一区二区三区| 精品一区二区麻豆| 日韩国产精品人妻无码久久久| 国产精品青草综合久久| 国产丝袜高跟美女av免费观看| 久久精品久久久久久久久| 97人妻色| 思思性爱| 好一吊区二区| 大香蕉啪啪啪| 久久超碰com| 97操碰| 欧美黑人与女人91| 丁香婷婷大香蕉| 日日97| 717影院理论午夜伦八戒| 97一本大道亚洲一区| 超清福利精品视频在线| 亚洲欧洲无码97久久精品| 精品国产Av无码久久久亚洲| 亚洲欧洲精品成人| 欧美不卡二区| 免费国产视频| 日韩精品人妻系列无码天堂| 日本精品网站在线中文| 亚洲色图综合网| 操逼网免费无码视频| 久久激情视频| 9久久9综合| 国产精品原创巨作?v网站| 久久国产精品,久久国产| 成·人免费午夜在线观看| 东北女人的毛片| 三男一女不戴套的A片| 欧美72网页| 国产高清MV操逼视频| 人妻大香蕉| 五月天激情四射| 国产熟女精品一区二区| 黄网站黄视频网站进入口 | 天堂网 主播 亚洲| 日本中文字幕在线电影| 被男人吃奶很爽的毛片| 婷婷10月天青娱乐| 厕所偷拍在线| 一级啊性爱在线视频| 国产精品欧美在线观看| 亚洲天堂自拍| 中文字幕视频2区| 欧美伊人久久综合网| 欧美日日人人天天| 99国产天美| 日本欧美国内在线| 久久综合国产精品国产| 亚洲在线a| 懂色AV中文| 噜噜噜无码AV一级一级久久影院| 亚洲国产另类在线中文| 久久久啊啊啊| 久久免费精品96| 婷婷五月天激情网| 日韩一性一交一A片俄罗斯| 亚洲丨在线| 欧美亚洲se91| 国产AV天美| 大地资源在线观看中文第二页| 超清中文乱码字幕| 男人的天堂99| 91色射| 精品乱子一区二区三区99| 国产无马av| 又大又长又粗又爽又黄| 青青操网| 97欧美超碰| 97日韩欧美亚洲| 欧美性爱网97| 久偷拍欧美日韩三区| 人人喜人人妻| 高清无码网址| 天天影视综合网欧美精品| 久草免费在线一区二区| 中日亚韩免费视频| 中文字幕一区二区三区字幕| 26uuu最新| 天天摸天天操视频| 97伦综合| 日韩无码人妻中字久久三区四区| 亚州Av天美传媒| 国产丰满少妇久久久精品影院| 欧洲天天在线| 蜜臀少妇一区二区| 长长久久免费视频| 亚洲国产剧情少妇激情| 日韩精品人妻中文字幕久久久| 大香蕉AV丝袜| 美日韩在线不卡人妻| 99热免费精品| 欧美一二三区四五区| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 91在线超高颜值国产| 精品综合久久久久久五月天| 九九九精品成人免费视频小说| 国产精品久久久啊| 精品无码一区二区三区| 日韩操p| 国内毛片无遮挡国产| 国产福利电影| 国产a级午夜毛片| 日本精品第一视频在'| 极品色www影院| 色五月大香蕉| 日韩女优中文字幕| 狠狠躁天天躁日日躁97| 久久精品99| 日韩黄色小说| 99夜夜操| 精品中文字幕一区二区| 亚洲日韩美国人妻| 激情专区综合| 又摸又舔在线观看网站| 欧美传媒一区| 综合97| AV和黑人在线播放| 国模精品一区二区三区苹果色戒 | 五月天婷婷社区| 亚洲人综合19| 人妻干天天| 国产亚洲色婷婷久久99精品91葵花宝典| 国产麻豆福利av在线播放| 亚洲无码久久久久久久| 91色情黑丝搞鸡在线观看一区二区三区三州 | 秋霞福利网| 国产激情在线| 成人蜜乳小视频网站| 日韩人妻 中文字幕| 五月丁香婷婷啪啪| 久草资源在线视频官方总站日韩丝袜美腿 | 97伪v| 密臀国产在线| 天天躁日日躁成人字幕aⅴ| 国岛片视频| 国模一区二区三区| 色妇91| 99热一区二区三区四区| 亚洲国产日韩欧美熟妇在线| 蜜臀AV成人精品蜜臀AV久久| 亚洲 中文 欧美 日韩 在线| 日本精品中文字幕视频| 99热精品在线| 久日综合网| 亚洲欧美电影| 午夜天堂精品久久久久91| 极品内射| 亲子敌伦对白在线播放| 精品黑人一区二区| 操操操操操操| 人人妻人人玩人人澡人人爽| 国产剧情AV不卡在线观看| 欧美日不卡| 超碰97综合网| h无码动漫在线观看| 亚洲s在线观看| 中文字幕精品专区搜索结果91| 无遮挡又黄又刺激的视频| 第一高清av中文字幕| 大香蕉在线免| 18禁看网站一区| 天天看综合网| 欧美激情精品久久久久久| 日韩国产不卡在线视频| 精品v1区| 人人操欧美风骚| 色综合婷婷| 97久久国产亚洲精品超碰热| www.99中文字幕| 久久久久久大| 久久久久久久久久va| 91色艳| 九九热精品视频六| 99re国产中文字幕| 综合少妇网| 人妻精品视频一区二区| 91老熟女91老女人| 色吧综合网| 中文字幕乱码在线观看| 国产suv精品一区二区四区999| 天堂性色| 99爱久久视频频| 精品人妻中文字幕高清| 亚洲色图 欧美热图 清纯唯美 另类自拍| 国产99999| 99爱视频| 久久国产在线一区二区| 亚洲色图国产另类| 人人艹亚洲| 色妇91| 久久香蕉国产线看观看猫咪av| 九七人妻在线| 欧亚在线视频| 69一区二区三区| 久久久啊啊| 97精品一区二区视频| 粉嫩少妇自慰在线| 人人干人人操人人..com| 人妻熟女一区二区| 五月婷婷综合在线| 久久av成人无码免费| 1024午夜激情男人的天堂| 在线可观看的黄色网址| 中文字幕欧美精品亚洲日韩蜜臀| av中文在线| 国产精品视频内谢女人| 久干网| 免费视频a级毛片免费视频| 亚洲精品国产拍免费91在线| 老女人爆菊| 中国操逼无码| 日韩毛片9| 91在线综合网| 可以在线观看AV的网站| 亚洲不卡三级手机播放| 亚洲性图91| 亚洲无码色| 日韩一区二区精彩视频| 精品少妇人妻一区二区三区| 少妇一区二区三区在线观看| 一区在线国产播放| 日韩在线欧美精品一区二区| 久久精品国产97欧美精品亚洲 | 亚欧操逼片在线观看 | 欧美热图99| 另类亚洲图色| 另类图片五月| 国产亚州精品美女久久久免费| 揉揉日日日日| 人妻喷水| 蜜臀99999| 亚洲丝袜色| 黄片com.| 欧美一级AAAAAAA| 可乐操亚洲蜜911| 日韩欧美偷拍美女视频| 久操高青| 欧美久热| 婷婷丁香成人| 激情综合网五月婷婷五月天| 久久久久久人妻一区精品色欧美| 色臀AV| 天天色踪合| 久久久久久大| 图色综合网| 激情综合色| 免费亚洲黄色视频在线观看| 无遮挡又黄又刺激的视频| 偷拍新久久| 久久久男人的天堂| 日本超碰色精品| 男人的天堂.com| 麻豆国产尤物AV| 97人妻碰碰中文无码久热丝袜| 大香焦A片| 自拍偷拍 日韩欧美| 亚洲黄色AV电影| 中出20p| 搡老女人老91妇女熟女| 国产青青美女玩逼视频| B049AV在线播放| 九九拍拍精品视频在线播放| 欧美精品偷拍| 97 九色| 99九九久久| 一区二区三区日韩欧美| 久日91在线| 91夜色chaopeng| 青青草在线视频人人想人人上| 婷婷综合激情| 91碰碰| 99色热| 久操大香蕉手机视频在线看| av婷婷色网| 精品一区二区三区最新| 91麻豆天美传媒HD| 亚熟hd视频在线| 97在线无精品| 亚洲欧美91√| 成人三级片一区二区三区视频| 亚洲欧洲综合| 中英熟女操女| 国产欧美日韩一区二区三区| 精品性爱一二三区| www.色婷婷| 九九热精品免费视频| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 欧美成年人性爱视频免费观看| 国产精品免费久久久久久久久久 | 嗯嗯嗯啊啊啊操的我好爽| 又大又黄国产| 天天超级碰碰碰| 日日玩天天干| 久久只有精品| 日韩AV无码中文一区二区| 欧美性爱在线无码| 亚洲男人的天堂一区二区| 精品美女少妇一区二区三区| 国产九九九九九九| 欧美综合另类| 成人亚欧免费视频| 亚洲激情网一二三四区| 亚洲棕合电彰| 精品国产乱码久久久久久久久久毛片 | 久操网视频| 亚洲天堂99| 亚洲国产一区二区三区在线| 偷拍五区| 国产精品美女视频诱惑| 伦伦成年午夜免费视频| 天天日少妇逼AV| 亚洲精品一卡二卡三卡福利视频网站| 成人开心网在线视频| 好色综合| 国产欧美一区激情交| 嗯嗯啊啊操死我| 亚州欧美综合| 亚洲āv网址在线观看| 免费中文在线| 91五月天| 国产一区二区二区按摩精品啪视频| 翘臀vidoes| 国产家庭乱伦网址| 天天日天天干天天整| 日韩999| 17c在线成人免费A片观看| 亚洲中文国际强奸字幕| 日韩伦理久 久久 清纯 | 国产成人精品必看| 超碰性爱97| 久久久免费视频18| 超碰在线成人| 激情五月天婷婷| 亚洲男人天堂AV| 国产高清在线观看欧美| 欧美日韩国产中文精品字幕自在自线, | 日韩av情韩国爱禁区av一区二区| 一起草视频在线| 粉嫩绯色AV一区二区在线| 91 丝袜在线| 日韩小电影| 国产农村一一级特黄毛片| 成人一区二区三区四区| 国内毛片热久久思思热| 亚洲色天堂日韩中| 久久久久国色αv免费观看| 加勒比久久综合网高清| 97AV在线免费观看| 亚洲性爱免费电影| 天天舔天天日天天射| 91视频伊人| 日本三级小说中文字幕| 欧洲性爱无码区| 久操99| 91在线视频国产网站| 亚洲综合另类| 97精品网| 97中文字幕色| 国产一在线观看| 小草av不卡亚洲二区| 久久国产免费激情视频| 天天综合网1| 天天色,天天干,天天干| 国产第11页| 国产亚洲女v在线观看| 天天摸夜夜操视频| 亚洲黄色a级片| 久久久久96| 亚洲黄色影视| 91bbb| 嗯嗯嗯啊啊啊操的我好爽| 99久久久久久亚洲精品不卡| 久草草一二三四区久久| 国产精品久久久三级无码| 另类图片五月天| 色婷五月天| 国产精品美女久久久久久网站| 伊人久久亚洲中文字幕| 日日噜噜夜夜狠狠视频无| 97av,com| 人妻嗯啊啊在线播放| 狠狠婷婷亚洲中文综合久久| 91强在线播放| 国产伦精品一区二区三区在线观| 神马久久久久久| 秋霞一区二区三区四区五区六区七区| 国产偷拍自拍在线视频| 亚洲欧洲综合| 成人久久精品| 人妻久久久久久| 国产无马在线| 97久久超碰国产精品| 麻豆黄色五月天| 老熟女乱子伦中文字幕一区二区| 免费视频97| 男生女生啊啊啊啊| 丝袜美腿诱惑亚洲欧美视频在线观看 | 婷婷色香伊人| 精品96久久| 五月丁香| 97人人操人人摸| 中文字幕精品码亚洲| 天天夜夜久久| 超碰日本97美女人妻人人玩人人爱| 日韩偷拍一区二区三区| 婷婷人妻激情| 传媒免费一区二区三区| 天美麻豆精品视频99| 日韩欧美成人性爱在线| 国产深喉视频一区二区| 欧美性视频二区三区| 禁止观看美女黄| 综合色色网| 草草影院最新网址| 91 欧美| 色老大| 色www精品视频在线观看| 大香蕉123| 国产成人无码久久精品| 日本激情免费大片| 亚洲高清无毛一区二区| 国产剧情在线| 欧美亚洲今日在线| 天天在线91| 伊人精品视频| 精品美女在线视频| 91丝袜美女| 日韩国语字幕| 校园春色 男人天堂| 99热只有这里有精品| 日韩三A大片在线观看| 五月婷亚洲精品天堂| 大香蕉2017| 91美女视频电影| 国产一区二区三区,在线观看观看| 国产精品91一样| 九九亚洲| 神马福利久草| 91在线欧色| 大稥蕉免费视频这里只有精品| 极品色www影院| 牛牛aV| 伦理片秋霞免费影院| 久久夜黄色无码A级大片| 被男人添B超爽视频| 亚洲图片色图欧美另类| 亚川综合视频| 少妇3P性爱自拍| 搡老女人老妇女AAA一VU麻豆| 51久久夜色精品国产麻豆| 中国农村熟妇毛片视频| 久久久久久69国产一区二区| {男男暴菊gay无套网站| 日本免费一级AAA大片器| www.伪伪| 操逼逼无码| 久久五月视频| 精品女人999| 内射日韩大臀美女| 爱啪精品一区| 精品妇操一区二区三区| 老熟女阿 国产91| 女生久久网| 乱伦一二三| 操逼逼无码| 日韩三级一区| 久偷拍| 日本天天干天天日一区| 欧美激情在线观看视频| 日语五十路和六十路亚洲国产精品| 美国日韩黄片| 国产成人bd在线观看| 日韩在线观看中文字幕视频| 青青爽| 欧洲精品久久| 97超碰超| av网站在线观看了| www五月| 日韩少妇丰满亚洲| 中文字幕一品色图| 大屁股人妻女教师撅着屁股| 亚洲av影音先锋| 人妻熟女午夜精品在线| 亚洲精品国产精品乱码不卡| 97在线观看视频| 日韩三级伦理中文字幕| 强奸乱伦麻豆| 天天综合欧美综合| 国产丁香精品露脸视频 | 欧美91在线+|+欧美| 老鸭窝在线视频播放| 探花视频免费观看国产专区| 亚洲精品人妻吞精av| 婷婷情色综合网| 欧美综合狠| 亚洲电影中字一区二区| 91久热| 330dv亚洲成年视频网| 大鸡巴久久| 久操凹凸视频| 色一射色一射| 九九九999久久久网站| 黄色av网站在线播放| 久久精品小视频| 国产AV人人夜夜澡人人爽麻豆| 麻豆久久精品亚洲精品88| 亚洲一区二区精品福利| 国内操逼视频二区| 亚洲精品一区二区日本| www.99热| 九九久久国产精品怡红院| 在线综合 亚洲 欧美中文字幕| 久久麻豆一区二区| 蜜臀久久99精品久久久久电影| 三级特黄60分钟播放| 97国产超湿| 欧美宗合网| 无码自拍SM| 亚洲综合69| 久久久久人妻二区精品叶可怜| 激情自拍 校园春色| 96一区二区三区| 黄色毛片A片| 久久噜| 国产精品69人妻无码久久久| 日本不卡二三区| 中文字幕天堂在线| 色老汉色| 操婢日韩| 国厂麻豆77q4| 国产欧美日韩一区二区三区| 天天α片| 国产自产自拍| 啊啊啊不要嗯嗯在线观看| 亚洲一区二区三区中文字幕| 天天看特黄的免费网站| 黑人美精品 A片| 亚洲男人的天堂在线看| 欧美aa一级片| 色色青青久久| 强免费黄色网址| 国产白丝网站| 亚州少妇| 亚洲色图尤物视频| 国产精品熟妇一区二区三| 亚洲色图欧美色图日韩色图| 精品九九淫乱男| 日本在线不卡v二区| 日韩人人精品| 久碰视频| 欧美性生活男人的天堂| 国产乱码精品久久久久久| 日韩无码黄色片| 97精品视频在线| 欧美色图天堂在线| 麻豆国产精品午夜视频| 97超碰资源网| **一级毛片国产| 无码人妻一区二区三区免费九色| 超碰性爱97| 国产亚洲美日韩Aⅴ中文字幕无码成人| 中文字幕视频免费| 激情五月丁香五月| 亚洲色图欧美一区二区不卡| SS久久| 婷婷丁香五月激情啪啪| 激情色图| 久草线上视频免费看| 日本综合色图| 国内偷自视频区视频综合| 人人摸人人舔一区二区| 情侣开房子拍 日韩无码 女的很漂亮| 欧美精品23| 久久风骚城市| 日日日啊啊啊| 操99| 家庭乱伦国产| 久久无码精品| 欧美 亚洲 综合 制服 另类| 91人妻爽爽人人做人人澡| 亚洲av国产av综合av卡| 丝袜美腿91| 18岁禁 茉莉成人久久| 青娱乐日韩无码| 中文字幕黄片在线| 蜜臀99精品国产高清在线观看| 一区麻豆 高清中文字幕| 静品嫩模一区二区| AV一区观看| 神马午夜久久| 色香网| 欧美aⅴ99久久黑人专区| 天天插天天射| 女人喷水视频在线观看| 色色色日本| 日韩一级二级三级| 国产熟女高潮一区二区三区| 亚洲色图 欧美热图 清纯唯美 另类自拍| 亚洲精品aa久久伊人| A一区片| 色婷婷一区二区三区久久| 超碰是碰在线观看| 97超碰久久色| 中文字幕av久久爽Av| 五月激情小说| 久久激情视频| 欧美日韩性爱视屏免费看了| 免费啪啪av| 国产1024在线播放| 欧美乱欲| 97欧美综合网| 性感美女91影视| 91少妇通奸网站| 综合av影片| 日本不卡二三区| 久久超碰、| 污到发麻的视频 国产| 久久久人妻| 久久综合99| 99热这里是精品| 精品人妻美妇91job| 色综合av男人天堂| 久久夜黄色无码A级大片| 亚洲小电影免费涩涩成人在线高清 | 一类av片在线看| 欧美一二三级精品在线| 久久超碰国产一区二区三区| 国产一级舔足在线观看| 男人天堂网址| 亚洲天堂精品日韩电影| 国产后入| 五月天我淫我色av| 91伊人久| 精品高清一区二区三区三州| 欧美精品一区二区少妇免费A片| www.亚洲黄色| 亚洲国产奇米影视久久| 伊人影院综合是一个与深夜成人在线| 中文字幕91页| 久久性爱城| www.婷婷六月天| 天天综合色电影| 九九久久一区二区三区| 国产综合久久久鬼色| 极品粉嫩少妇视频| 日韩人妻精品| 久久综合97| 家庭乱伦麻豆| 中国国产精品一区视频| 8050午夜少妇无码| 婷婷激情五月综合| 午夜呻吟欧美| 九九热在线精品视频| 大但人体久久久久| 97Ai亚洲| 国产精品麻豆免费视频| 92午夜免费福利视频| 婷婷综合在线| 天天日天天射天天干| 国产亚洲精品美女| 九九热re99re6在线精品| 国产一国产一级毛片古装| 日韩高清黄片| 五月天激情四射| 一区二区三区四区姦女| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 中国一级操逼视频| 91一起操| 极品内射| 精品人妻一区二区三区不卡断 | 亚洲成人性爱在线观看| 丁香激情五月| 久久久久久久久久黄色网| 日韩综合第八区国产精品| 啊啊啊啊啊啊啊啊在线观看| 日本狂喷奶水在线播放212| a在线观看| 婷婷情色五月天| 9久久久久久| 免费1级a做爰片观看| 婷婷丁香久久| 伦理弟一页| 操东北女人| 粉嫩绯色AV一区二区在线| 九九九九九九亚洲| 五十路成人在线视频二区三区| 国产真实子伦对白| 99久久综合网| 曰韩少妇无码| 国产精品白丝在线播放| 9久久精品| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 91青视频| 91性网| 操婷婷逼| 97超碰免费生活| 丁香五六月啪啪| 色蜜AV| 日1区2区3区2020| 欧美日韩国产黄色片| 高清不卡视频| 人妻天堂网| 亚洲AV无码国产精品久久久久| 嗯嗯啊啊用力视频免费| 天天综合网~91| 日本女人操逼| 熟女91网| 插日本熟女视频| 久久日本熟女精品一区| 涩综合导航| 精品人妻一区二区三区-国产精品| 大逼色网站| 免费看日产一区二区三区| 亚欧美综合网。| 国产精品亚洲无码| 精品然女一区二区| 综合伊人激情| 吉田爱美AV在线| 91精品人妻偷情| 91丝袜美腿网站| 91欧洲国产成人久久精品网站| 天天插天天插| 精品国产乱码久久久久久蜜臀| 色综合久久888| 情色大香蕉| 91日韩在线| 久久久精品网| 97亚洲性爱| A级片一区| 91日日| 国产又黄又粗的视频| 国产熟女| 国产精品一区二区三区,亚洲综合| 色天堂在线观看| 日韩性爱电影一区 | 3571色综合一区二区二区| 综合色区偷拍| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 青青草字幕AV| 激情接吻视频久久久久久| 亚洲97网站| 色婷婷丁香五月| 国产精品九九九| 亚洲成人精品久久久| 亚洲成人av电影在线| 麻豆区久久久久亚| 综合色图区| 1000部熟女视频在线观看| 久久鲁夜| 激情久久av一区av二区av| 少妇淫妇久久久久久久| 亚洲成人一二三区| 日本不卡高清视频| 清纯唯美综合亚洲| 日本久久久久久久久| 亚洲日本激情| 国产丁香精品露脸视频 | 视频国产成人精品日本亚洲18| 久久精9| 亚洲天堂 视频你懂的| 78超碰| 成人熟女区| 亚洲久热| 欧美丰满少妇xx高潮| 97操碰| 欧美超碰96| 屁屁影院一区二区三区国产 | 九一综合精品视品av| 97人妻免费中文字幕| 三四中文字幕| 国产精品天干天干综合网麻豆| 婷婷色中文字幕| 婷婷干黄色| 99少妇| 97伪v| 中文字幕啊啊啊在线观看视频| 小视频国产| 大香久久| 久久偷偷色综合蜜桃| 91熟女熟妇视频网站| 国产精品视频麻豆入口| 蜜臀网 一区| 久久成人午夜狠狠| 一区二区首页| 色色99| 国产女人操逼视频| 国产精品国产亚洲区艳妇糸列| 天天综合站| 免费看污网址| 久九干| 丁香五月天社区| 欧亚性爱啪啪| 在线综合 亚洲 欧美中文字幕| 98超碰欧美| 色婷婷一区二区三区久久午夜 | 激情五月天插| 男女啪啪啪18禁网站| aV中文麻| 久久精品一区二区三区蜜桃臀| 亚洲射综合网| 成年女人一区| 婷婷五月丁香五月| 国产 日韩 另类 视频一区爱| 日本精品网站在线中文| av黄图片在线观看| 男人天堂资源| 色淫网站优优视频| 超碰9 7女人| 一级黄碟| 久久久久久久久久精| 97在线欧洲| 91在线限制级| 99久久无色码| 国产亚洲 中文欧美久久| 五月丁香激情啪啪| 色五月激情综合网| 日本人妻A片成人免费看片| 久久精品中文字幕无码l| 国产一级137片内射麻豆| 亚洲AV麻豆Aⅴ无码电影一 | 在线黄色污污网站| 亚洲色图a| 97日视频| 成人欧美日超碰| 日韩精品大香蕉伊人在线| 农村妇女精品一区二区| 超碰天天操你比| 97爱b| 久久超碰av在线| 丝袜天堂网| 97在线观看免费| 天堂亚洲精品| 国产精品久久久久久久久久久久久久吹 | 免费草草草草草视频| 久久久久久少妇| www.成人无码| 97视频免费| 免费试看60秒| 被男人吃奶很爽的毛片| 欧美精品一区二区少妇免费A片 | 精品无人区麻豆乱码1区2区图片| 深夜激情 | 婷婷综合在线| 美女啊啊啊啊pc| 青青操少妇| 香蕉色网| 少妇激情一区二区三区视频| 九九碰九九爱97超| 人人做天天爱| 国产一区二区三区导航| 婷婷99狠狠| 99re这里只有精品中心播放| 超碰在线974| 亚洲青青草| 欧美天天干| 日本操逼视频不卡直接放| 久久久无码av精| 日韩三级一区 | 国产美女在线精品免费看| 啪啪视频亚洲第一| 日本久久天堂| 日韩精品人妻中文字幕有码午| 蜜臀久久久国产| 国产精品另类| 浓厚中出中文字幕在线| 欧美成人一区二区三区在线播放| www.婷婷| 国产免费久久精品99re韩国| 精品国产乱码久久久久久免费| 中文字幕三四区| 岛国视频免费在线观看| 亚洲欧美大| 天天操天天日天天干| 78久久| 18禁美女裸体无遮挡啪啪| 另类一区| 啊v视频在线观看| www.99中文字幕| 内射夫妻三片| 亚洲天堂中文字| 黄色小视频日本txt| 亚洲成人精品久久久| 亚洲巨爆乳一区二区三区四季网| 人人干黄色| 久99久视频| 日夜干射色啊| 精品对白久久不卡| 免费伦费视频在线观看| 五月天丁香欧洲日韩| 91网站18+| 人人人摸人人| 香蕉在线一区二区三区| 亚州图片第一页| 天天夜躁日日躁狠狠2002| 99热9| 天堂射| 欧美精品久久96人妻无码| 欧美日韩性爱精品| 成人片视频| 久久 国产 无码| 熟女人妻av在线资源,黄色的资源| 久久精品电影| 色翁荡息又大又硬又粗又爽| 97人肏| 97碰碰色| 亚洲色图欧美视频| 97操在线| 无码直播久久久| 久久久久久久久久久久久9999| 亚洲精品蜜桃久久久| 亚洲国产精品无码AV在线| 一区二区三区日韩欧美 | 日本日皮视频逼| 成人在线永久| 亚洲色图尤物视频| 青青草吊丝| 亚洲欧美高清无码| 色穴精品| 天天综合网日韩| 人夜夜精品网站香蕉嫩草| 91性网| 婷婷激情五月| 日骚逼视频| 99精品在线观看| 九久久九九久视频| 久久久com| 国产999精品久久久| 国产伦精品一区二区三区在线观| 亚洲精品久久久久久| 亚洲黄网在哪免费看| 久久久91福利姬| 亚洲av无线观看| 日产成人久久| 国产精品久久久久综合| 久久久久久99999国产精品| 无码视频黄色网战| 五月天日日操夜夜操| 99热啪啪| 91久久久久久久久18| 欧美成人9797| 激情综合网亚洲| 任我爽视频在线观看| 色在线视频导航| 美女97超碰| 岛国片在线播放| 人妻内射一区二区在线视频| 久草视频观看视频在线| 加勒比海成人视频网| 天天做日日做天天欢。| 曰本道人妻久久久在线不卡色视频| 青娱乐日韩无码| 97在线免费看视频| 爱欲AV| 大香网站| 97在线免费看视频| 久久九九一区二区三区成人| 久久91视频| 国产精品伦理| 欧美久久婷| 亚洲AV操| 97精| 天天日天天屌天天操| 国产精品亚洲免费| 精品九九| 国产久久男人天堂| 91色色色| 亚洲欧洲日本精品中文a∨| 大香蕉92| 欧美色偷拍 | 久久久久密臀视频| 久久激情五月| 日产操逼| 中文字幕午夜精品久久久| 日本在线不卡123| 插穴性爱视频在线观看| 麻豆天美在线| 亚洲熟女乱熟乱熟妇综合网二区| 欧美视频边做饭边橾| 国产91 丝袜在线播放00-百度| 久久精品国产99国产精品亚洲| 噜噜噜无码AV一级一级久久影院| 凹凸视频在线一区二区| 日韩中文字幕精品一二三事国产精品| 日韩精品一区二区三区四虎影视| 男人天堂黄片| 天天射日日干| 老鸭窝日丰县女人| http://qxhbdz.com| 午夜福利免费精品视频| 在线午夜成人无码视频| 舔人妻中文免费视频| 免费网站观看www在线观| 五月天婷婷基地| 大香蕉强奸乱伦| 乱性AV| 人人操人人摸超碰| 亚洲。天堂。日本在线观看| 九九九久千久久激情蜜桃在线看| 欧美丰满熟妇XXXX性ppX人交| 情趣丝袜无码操逼视频| 国产精品久久泡妞网站| 日本顶级天天操狠狠操夜夜操中文字幕 | 国产一区96在线| 国产精品免费视频人成| 另类小说综合网| 欧美综合网| 精品日日人妻| 97在线播放 | 国产精品人妻无码久久久老鸭窝| 久久久999国产| 香蕉色网| 欧美精品久久| 99国产精品免费| 亚洲色性情三级| 欧美色图片91| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 乱欲性色| 天天α片| 1二区9| 人妻熟女一区二区三区在线| 蜜臀亚洲中文| 夜夜嗨av午夜成人| 九九热视频在线观看| 色穴精品| 伊人影院中文字幕| 色婷婷99| 色五月婷婷五月天| 九九99久久| 色色亚洲| 碰碰在线视频| 天堂蜜桃无码视频一区二区| 欧美日韩91| 六月丁香网| 五月天婷婷激情| 九九内射在线| 欧美天天插| 国产精品白虎| 亚洲91亚洲| 97er欧美性| 亚洲综合校园春色| 狠狠干2020| 欧美丝袜亚洲| 国产精品欧美在线观看| 人人操人人摸超碰| 亚洲97综| 一道α片欧美| 亚洲国产ⅴ高清在线观看| 91精品国产日韩欧美综合| 国岛片视频| 玖玖在线视频|